@import url('assets/fonts.css');

:root{--ink:#173c5b;--ink-2:#205a85;--deep:#1c6d3e;--paper:#f7faf7;--white:#ffffff;--muted:#687983;--line:#dbe5df;--brass:#ed982a;--brass-light:#f4bd58;--sage:#83ad86;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1360px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:12px;z-index:99}.skip-link:focus{left:8px}
.site-header{height:88px;padding:0 clamp(24px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:var(--white);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(21,39,37,.08)}
.brand{display:flex;align-items:center;gap:11px;min-width:230px}.brand-mark{width:39px;height:39px;position:relative;display:block;flex:0 0 auto;overflow:hidden;border-radius:50%;background:#fff;border:1px solid rgba(21,39,37,.08)}.brand-mark img{position:absolute;width:278%;height:auto;max-width:none;left:-89%;top:-18%;display:block}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.04em}.brand-copy small{font-size:8px;letter-spacing:.12em;font-weight:700;margin-top:7px;color:#79847b}
.main-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font-size:12px;font-weight:600;color:#4c5952}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:not(.nav-cta):hover{color:#a3874c}.nav-cta{background:var(--ink);color:white;padding:13px 18px;letter-spacing:.01em;transition:background .2s}.nav-cta:hover{background:#31514c}.nav-cta span{color:var(--brass-light);padding-left:13px}.menu-toggle{display:none}
.hero{background:var(--deep);color:var(--white);min-height:700px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.03fr .97fr;padding:72px clamp(24px,8vw,120px) 76px;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(67,100,85,.24),transparent 48%),linear-gradient(110deg,rgba(255,255,255,.015),transparent 54%);pointer-events:none}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(220,211,189,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(220,211,189,.18) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(90deg,transparent 20%,black 100%)}
.hero-content{position:relative;z-index:2;padding-bottom:20px}.eyebrow,.intro-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;display:flex;align-items:center;gap:11px}.eyebrow{color:#d8cba9;margin:0 0 25px}.eyebrow-line{width:32px;height:1px;background:var(--brass)}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(55px,6.4vw,90px);line-height:1.04;letter-spacing:-.045em;margin:0;max-width:700px}.hero h1 em,.section-pad h2 em{font-weight:500;color:var(--brass-light)}.hero-lede{max-width:490px;color:rgba(250,248,239,.7);font-size:15px;line-height:1.85;margin:25px 0 31px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:15px 19px;font-size:11px;font-weight:700;letter-spacing:.04em;min-height:51px;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-brass{background:var(--brass);color:#182724}.button-brass:hover{background:var(--brass-light)}.button-ghost{color:#f5f3ed;border-color:rgba(244,240,228,.28)}.button-ghost:hover{border-color:var(--brass);color:var(--brass-light)}.hero-note{margin-top:53px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b6c0b5;display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;border-radius:50%;background:#b4c9a6;box-shadow:0 0 0 4px rgba(180,201,166,.12)}.note-divider{color:var(--brass);margin:0 3px}.hero-art{position:relative;z-index:1;min-height:510px;display:grid;place-items:center}.house-art{width:min(100%,660px);height:auto;position:relative;z-index:1;filter:drop-shadow(0 20px 50px rgba(0,0,0,.08))}.art-orbit{border:1px solid rgba(218,204,167,.15);border-radius:50%;position:absolute;aspect-ratio:1}.orbit-one{width:76%;transform:scaleY(.62) rotate(-19deg)}.orbit-two{width:96%;transform:scaleY(.65) rotate(22deg)}.art-caption{position:absolute;right:2%;top:8%;font-size:8px;letter-spacing:.17em;color:rgba(245,241,227,.5);display:flex;gap:22px}.art-stamp{position:absolute;right:0;bottom:15%;width:105px;height:105px;border:1px solid rgba(207,180,116,.42);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--brass-light);transform:rotate(-11deg);z-index:2}.art-stamp span{font-family:var(--serif);font-size:27px;line-height:1}.art-stamp small{font-size:7px;letter-spacing:.14em;line-height:1.5;margin-top:6px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,8vw,120px);border-top:1px solid rgba(240,235,218,.12);font-size:8px;letter-spacing:.17em;color:rgba(243,239,226,.45);z-index:3}.hero-bottom span:last-child{color:var(--brass-light)}
.section-pad{padding:clamp(70px,9vw,128px) clamp(24px,8vw,120px)}.intro{background:var(--paper)}.intro-kicker{color:#7f887f}.section-number{color:#b08f50;font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:0;margin-right:7px}.intro-main{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-top:36px}.section-pad h2{font-family:var(--serif);font-weight:500;font-size:clamp(39px,4.5vw,61px);line-height:1.1;letter-spacing:-.035em;margin:0}.intro .section-pad h2,.intro h2,.section-heading h2,.process h2,.assistant h2,.contact h2{color:var(--ink)}.intro h2 em,.section-heading h2 em,.process h2 em,.assistant h2 em,.contact h2 em{color:#9e8350}.intro-copy{max-width:470px;padding-bottom:5px}.intro-copy p{color:#69736d;font-size:14px;line-height:1.9;margin:0 0 18px}.text-link{font-size:11px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid #bca66f;padding-bottom:7px}.text-link span{color:#9b7e44;margin-left:16px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;border-top:1px solid var(--line)}.principles article{padding:22px 26px 0 0;position:relative}.principles article+article{padding-left:28px;border-left:1px solid var(--line)}.principle-index{font-size:9px;letter-spacing:.14em;color:#aa8c54}.principles h3{font-family:var(--serif);font-weight:500;font-size:21px;margin:16px 0 6px}.principles p{font-size:12px;color:#778078;max-width:290px;margin:0;line-height:1.8}
.expertise{background:#ebe9e1}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:43px}.section-heading h2{margin-top:32px}.section-heading>p{max-width:320px;color:#747d75;font-size:13px;line-height:1.85;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d5ca;border:1px solid #d8d5ca}.service-card{background:var(--white);min-height:253px;padding:25px 26px 22px;display:flex;flex-direction:column;transition:background .25s,transform .25s}.service-card:hover{background:#fbfaf6;transform:translateY(-2px);position:relative;z-index:1}.service-card-featured{background:var(--ink);color:white}.service-card-featured:hover{background:#203b37}.service-card-top{display:flex;justify-content:space-between;align-items:center;color:#a38b54}.service-number{font-size:9px;letter-spacing:.12em}.service-icon{font-family:var(--serif);font-size:29px;line-height:1;color:#ab9360}.service-card h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:30px 0 8px;letter-spacing:-.02em}.service-card p{font-size:12px;color:#7b827b;line-height:1.8;margin:0;max-width:310px}.service-card-featured p{color:rgba(245,244,237,.66)}.service-card>a{margin-top:auto;padding-top:22px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.service-card>a span{color:#a98e55;margin-left:12px}
.process{background:#f8f7f1}.process-top{display:flex;justify-content:space-between}.process-aside{font-family:var(--serif);font-style:italic;color:#85877e;font-size:17px;margin:0}.process h2{margin-top:33px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:27px;margin-top:62px;border-top:1px solid #d8d5ca}.process-steps article{padding-top:22px;position:relative}.process-steps article:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--brass);border-radius:50%}.process-steps article>span{font-size:9px;color:#a58a52;letter-spacing:.16em}.process-steps h3{font-family:var(--serif);font-size:18px;line-height:1.3;font-weight:500;max-width:200px;margin:17px 0 8px}.process-steps p{font-size:11px;line-height:1.8;color:#82867d;max-width:220px;margin:0}
.work{background:var(--ink);color:var(--white)}.work .intro-kicker{color:#b8c1b7}.work .section-heading>p{color:#aeb9af}.work .section-heading h2{color:var(--white)}.work .section-heading h2 em{color:var(--brass-light)}.project-placeholders{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:19px}.project-placeholder{min-width:0}.placeholder-visual{height:320px;position:relative;overflow:hidden;background:#263d38;display:flex;align-items:center;justify-content:center}.project-wide .placeholder-visual{height:385px}.visual-label{position:absolute;top:17px;left:17px;z-index:2;font-size:8px;letter-spacing:.16em;color:#dae0d5;border:1px solid rgba(231,224,205,.35);padding:6px 8px}.visual-house{background:radial-gradient(ellipse at 50% 110%,#59685b 0,#2d433d 48%,#1f3532 100%)}.placeholder-lines{position:absolute;width:68%;height:65%;bottom:0;left:16%;border:1px solid rgba(215,194,147,.38);clip-path:polygon(0 31%,50% 0,100% 31%,100% 100%,0 100%)}.placeholder-lines:before{content:"";position:absolute;left:16%;right:16%;top:34%;bottom:0;border:1px solid rgba(215,194,147,.28)}.visual-site{background:radial-gradient(ellipse at 50% 115%,#727665 0,#4a564b 43%,#273c38 100%)}.site-lines{width:70%;height:1px;background:rgba(224,207,166,.55);box-shadow:0 -34px 0 rgba(224,207,166,.22),0 -68px 0 rgba(224,207,166,.18),0 -102px 0 rgba(224,207,166,.14);transform:rotate(-13deg)}.site-lines:after{content:"";display:block;width:150px;height:130px;border-left:1px solid rgba(224,207,166,.32);border-right:1px solid rgba(224,207,166,.32);transform:translate(55px,-105px) skewY(13deg)}.visual-detail{background:radial-gradient(ellipse at 50% 120%,#8b7653 0,#504b3d 48%,#263b37 100%)}.detail-shape{width:45%;height:74%;border:1px solid rgba(226,207,165,.42);transform:perspective(280px) rotateY(-22deg) rotateX(7deg);box-shadow:20px 0 rgba(226,207,165,.03),40px 0 rgba(226,207,165,.03)}.detail-shape:before,.detail-shape:after{content:"";position:absolute;left:17%;right:17%;height:1px;background:rgba(226,207,165,.35)}.detail-shape:before{top:33%}.detail-shape:after{top:60%}.placeholder-caption{position:absolute;bottom:23px;left:21px;font-family:var(--serif);font-size:20px;color:#f3f0e6;z-index:2;line-height:1.25}.placeholder-caption small{font-family:var(--sans);font-size:9px;letter-spacing:.06em;color:rgba(238,235,222,.62)}.placeholder-meta{display:flex;justify-content:space-between;gap:10px;padding-top:13px;color:#9ea99f;font-size:8px;letter-spacing:.13em}.placeholder-meta span:last-child{text-align:right;color:#cdb77f}
.assistant{background:#e8e5dc;display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,8vw,120px);align-items:start}.assistant-tag{margin:30px 0 15px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#8e7445;display:flex;align-items:center;gap:8px}.sparkle{font-size:16px}.assistant h2{font-size:clamp(42px,4.5vw,60px)}.assistant-lede{color:#707970;max-width:400px;font-size:13px;line-height:1.9;margin:24px 0}.assistant-note{border-top:1px solid #cfcbc0;padding-top:15px;display:flex;align-items:center;gap:12px;color:#6d776d;font-size:10px}.note-icon{width:25px;height:25px;border:1px solid #ad9560;border-radius:50%;display:grid;place-items:center;color:#9a804c}.project-form{background:var(--white);padding:clamp(25px,4vw,46px);box-shadow:0 16px 48px rgba(28,43,38,.08)}.form-heading{display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:.16em;color:#79827a;border-bottom:1px solid #e7e3d9;padding-bottom:15px;margin-bottom:24px}.project-form label{display:block;font-size:11px;font-weight:700;color:#2b3c35;margin:17px 0 7px}.project-form label i{font-size:8px;font-style:normal;font-weight:500;color:#9b9f96;float:right}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid #dcd9d0;background:#fbfaf6;padding:12px 13px;border-radius:0;color:#34433c;font-size:11px;outline:none}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#a28a57;box-shadow:0 0 0 2px rgba(207,180,116,.13)}.project-form input::placeholder,.project-form textarea::placeholder{color:#9ba096}.project-form select:disabled{color:#a1a39a;background:#f0eee8}.project-form textarea{resize:vertical;min-height:80px}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#35524b}.form-submit{margin-top:20px;width:100%;cursor:pointer;justify-content:space-between}.form-footnote{font-size:9px;color:#899087;line-height:1.6;margin:11px 0 0}.form-footnote strong{color:#59645b}
.contact{background:#132522;color:white;padding-bottom:65px}.contact .intro-kicker{color:#adb8ae}.contact h2{font-size:clamp(48px,6vw,78px);color:white;margin:31px 0 0}.contact h2 em{color:var(--brass-light)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(232,226,208,.18);margin-top:46px;padding-top:27px}.contact-bottom p{font-family:var(--serif);font-size:18px;color:#d4d6ca;line-height:1.5;margin:0}.contact-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:rgba(238,233,218,.17);border:1px solid rgba(238,233,218,.17)}.contact-lines a{min-height:91px;background:#182d29;padding:18px 19px;display:grid;grid-template-columns:1fr auto;align-content:center;transition:background .2s}.contact-lines a:hover{background:#243d37}.contact-lines a span{font-size:8px;letter-spacing:.15em;color:#a8b2a7;grid-column:1}.contact-lines a strong{font-family:var(--serif);font-size:19px;font-weight:500;color:#f3f0e7;grid-column:1;grid-row:2}.contact-lines a b{grid-column:2;grid-row:1/3;align-self:center;color:var(--brass-light);font-size:17px;font-weight:400}
.site-footer{background:#101d1b;color:#c5c9bf;padding:34px clamp(24px,8vw,120px) 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:center}.footer-brand{color:#f2eee2}.footer-brand .brand-mark{color:#d6c28f}.site-footer>p{font-family:var(--serif);font-size:14px;color:#aab2a8;line-height:1.5;margin:0;text-align:center}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:8px;letter-spacing:.12em;color:#89968b}.footer-meta span:last-child{color:#c0ad7b}
@media(max-width:1000px){.hero{grid-template-columns:1fr .85fr;padding-left:6vw;padding-right:6vw;min-height:640px}.hero h1{font-size:clamp(51px,7vw,78px)}.hero-art{min-height:420px}.house-art{width:115%}.section-pad{padding-left:6vw;padding-right:6vw}.site-header{padding:0 5vw}.main-nav{gap:19px}.service-card{padding:22px}.contact-lines{grid-template-columns:1fr}.contact-lines a{min-height:70px}.contact-lines a strong{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:72px}.site-header{height:72px}.brand{min-width:0}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:19px}.menu-toggle{width:42px;height:42px;border:1px solid #dedbd1;background:transparent;display:grid;align-content:center;justify-items:center;gap:6px;cursor:pointer}.menu-toggle span{width:17px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{position:absolute;left:0;right:0;top:71px;background:var(--white);padding:15px 24px 25px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(23,39,35,.08)}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid #ece9e0}.main-nav .nav-cta{text-align:center;margin-top:15px}.hero{display:block;padding:65px 24px 75px;min-height:0}.hero-content{padding-bottom:0}.eyebrow{font-size:8px}.hero h1{font-size:clamp(50px,13vw,74px)}.hero-lede{font-size:13px;max-width:460px}.hero-art{min-height:320px;margin:15px -6px -10px}.house-art{width:100%}.art-stamp{width:80px;height:80px;right:4%;bottom:9%}.art-stamp span{font-size:22px}.art-caption{top:1%;right:6%;font-size:7px}.hero-note{font-size:8px;margin-top:30px;flex-wrap:wrap}.hero-bottom{height:42px;padding:0 24px;font-size:7px}.hero-bottom span:nth-child(2),.hero-bottom span:nth-child(3){display:none}.section-pad{padding:72px 24px}.intro-main{display:block;margin-top:29px}.intro-main h2,.section-pad h2{font-size:42px}.intro-copy{margin-top:23px}.principles{grid-template-columns:1fr;margin-top:45px}.principles article,.principles article+article{padding:20px 0;border-left:0;border-top:1px solid var(--line)}.principles h3{margin-top:8px}.principles p{max-width:440px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-top:25px}.section-heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:218px;padding:22px}.service-card h3{margin-top:22px}.process-top{display:block}.process-aside{margin-top:17px;font-size:15px}.process h2{margin-top:27px}.process-steps{grid-template-columns:1fr 1fr;gap:24px 16px;margin-top:39px}.process-steps h3{font-size:17px}.process-steps p{font-size:10px}.project-placeholders{grid-template-columns:1fr;gap:28px}.project-wide .placeholder-visual,.placeholder-visual{height:290px}.work .section-heading>p{margin-top:15px}.assistant{grid-template-columns:1fr;gap:34px}.assistant h2{font-size:45px}.project-form{padding:24px 19px}.form-two-col{grid-template-columns:1fr;gap:0}.contact h2{font-size:54px}.contact-bottom{display:block;margin-top:31px}.contact-bottom .button{margin-top:21px;width:100%}.contact-lines{margin-top:34px}.site-footer{grid-template-columns:1fr;gap:18px;padding:29px 24px 23px}.site-footer>p{text-align:left}.footer-meta{align-items:flex-start;border-top:1px solid rgba(232,226,208,.12);padding-top:15px;margin-top:2px}}
@media(max-width:390px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{justify-content:space-between}.hero-note{letter-spacing:.04em}.process-steps{grid-template-columns:1fr}.placeholder-meta{font-size:7px}.contact h2{font-size:47px}}

/* Codus-inspired direction: segmented forest-green navigation and a full-bleed editorial hero. */
.site-header{height:86px;padding:0;display:grid;grid-template-columns:minmax(225px,280px) 1fr;background:#15332d;border-bottom:1px solid rgba(241,239,226,.22)}
.site-header .brand{height:86px;min-width:0;padding:0 clamp(18px,3.6vw,46px);border-right:1px solid rgba(241,239,226,.24);color:#f4f3ec;gap:12px}
.site-header .brand-copy strong{color:#f4f3ec;font-size:20px}
.site-header .brand-copy small{color:#c1cbbd;letter-spacing:.09em;font-size:7px}
.main-nav{height:86px;display:flex;align-items:stretch;justify-content:space-between;gap:0;color:#f0f0e8;font-size:11px}
.main-nav>a:not(.nav-cta){height:100%;display:flex;align-items:center;padding:0 clamp(12px,1.8vw,26px);border-right:1px solid rgba(241,239,226,.19);color:#f0f0e8;white-space:nowrap}
.main-nav>a:not(.nav-cta):hover{color:#ddc98e;background:rgba(255,255,255,.035)}
.main-nav .nav-cta{height:100%;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 clamp(16px,2vw,29px);background:#e4e4d9;color:#1b342e;white-space:nowrap}
.main-nav .nav-cta:hover{background:#f4f2e8}
.site-header .menu-toggle{border-color:rgba(242,241,233,.42)}
.site-header .menu-toggle span{background:#f4f3ec}
.hero{display:block;min-height:max(660px,calc(100svh - 86px));height:min(820px,calc(100svh - 86px));padding:0;position:relative;overflow:hidden;background:#18332e;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:0}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,32,28,.79) 0%,rgba(13,32,28,.61) 33%,rgba(13,32,28,.21) 66%,rgba(13,32,28,.10) 100%),linear-gradient(0deg,rgba(11,29,25,.68) 0%,transparent 36%,rgba(11,29,25,.08) 100%)}
.hero-content{position:absolute;z-index:2;left:clamp(28px,8vw,122px);bottom:clamp(128px,17vh,176px);max-width:min(780px,67vw);padding:0}
.hero-eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 23px;color:#e0ce9c;font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.hero-eyebrow span{width:28px;height:1px;background:#d9c28a}
.hero h1{max-width:800px;margin:0;color:#fff;font-family:var(--serif);font-size:clamp(55px,7.1vw,94px);font-weight:500;line-height:1.01;letter-spacing:-.045em}
.hero h1 em{color:#e4d3a5;font-weight:500}
.hero-lede{max-width:590px;margin:24px 0 27px;color:rgba(250,248,239,.84);font-size:14px;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:11px}
.hero .button-brass{background:#e7e5da;color:#18332e}
.hero .button-brass:hover{background:#fff}
.hero .button-ghost{border-color:rgba(250,248,239,.6);color:#fff;background:rgba(15,35,30,.08)}
.hero .button-ghost:hover{background:rgba(255,255,255,.13);border-color:#fff;color:#fff}
.hero-location{position:absolute;z-index:2;right:clamp(28px,8vw,122px);bottom:142px;padding:12px 0 12px 17px;border-left:1px solid rgba(228,211,165,.72);display:grid;gap:5px;text-align:left;color:#fff}
.hero-location span{font-size:7px;font-weight:700;letter-spacing:.16em;color:#dfcf9f}
.hero-location strong{font-size:10px;font-weight:500;letter-spacing:.035em}
.hero-bottom{height:64px;padding:0 clamp(28px,8vw,122px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(14,31,28,.73);border-top:1px solid rgba(241,239,226,.28);font-size:8px;letter-spacing:.12em;color:rgba(245,244,236,.76);z-index:3}
.hero-bottom a{color:#eadcb6;font-weight:700;white-space:nowrap}
.hero-bottom a b{font-size:12px;padding-left:9px;color:#fff}
.hero-grid,.hero-art{display:none}
@media(max-width:1000px){.site-header{grid-template-columns:200px 1fr}.site-header .brand{padding:0 16px}.main-nav>a:not(.nav-cta){padding:0 11px;font-size:10px}.main-nav .nav-cta{padding:0 13px}.hero-content{max-width:72vw}.hero-location{right:6vw}}
@media(max-width:760px){.site-header{height:72px;display:flex;justify-content:space-between}.site-header .brand{height:72px;border-right:0;padding:0 18px}.site-header .brand-mark{width:34px;height:34px}.site-header .brand-copy strong{font-size:19px}.site-header .brand-copy small{font-size:6px}.site-header .menu-toggle{margin-right:18px}.main-nav{position:absolute;left:0;right:0;top:71px;height:auto;background:#15332d;padding:12px 22px 22px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid rgba(241,239,226,.25);box-shadow:0 12px 20px rgba(10,25,22,.25)}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){height:auto;padding:14px 4px;border-right:0;border-bottom:1px solid rgba(241,239,226,.14);font-size:12px}.main-nav .nav-cta{height:49px;margin-top:15px;justify-content:space-between;padding:0 15px}.hero{height:auto;min-height:690px;min-height:max(690px,calc(100svh - 72px));padding:0}.hero-image{object-position:59% center}.hero-scrim{background:linear-gradient(90deg,rgba(13,32,28,.75),rgba(13,32,28,.43)),linear-gradient(0deg,rgba(11,29,25,.74) 0%,rgba(11,29,25,.14) 74%)}.hero-content{left:24px;right:24px;bottom:130px;max-width:none}.hero-eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:18px}.hero h1{font-size:clamp(47px,12vw,68px);line-height:1.03}.hero-lede{font-size:12px;line-height:1.75;margin:17px 0 21px;max-width:440px}.hero-actions{align-items:stretch;flex-direction:column;max-width:340px}.hero-actions .button{justify-content:space-between;min-height:48px}.hero-location{right:22px;top:23px;bottom:auto;padding:8px 0 8px 11px}.hero-location span{font-size:6px}.hero-location strong{font-size:8px}.hero-bottom{height:48px;padding:0 20px;gap:12px;font-size:7px}.hero-bottom span:nth-child(2),.hero-bottom span:nth-child(3){display:none}.hero-bottom a{margin-left:auto;font-size:7px}.section-pad{padding-left:24px;padding-right:24px}}
@media(max-width:390px){.hero{min-height:650px}.hero-bottom{padding:0 15px}.hero-bottom a{font-size:6px}.hero-location{right:15px}}

/* White-first Namveedu palette and CRED-inspired editorial section rhythm. */
body{background:#fff;color:#173c5b}
.site-header{background:#fff;border-bottom:1px solid #e3eae5;box-shadow:0 4px 18px rgba(22,62,87,.035)}
.site-header .brand{color:#173c5b;border-right:1px solid #e2e9e4}
.site-header .brand-copy strong{color:#173c5b}
.site-header .brand-copy small{color:#3d8e4d}
.main-nav{color:#34556c}
.main-nav>a:not(.nav-cta){color:#34556c;border-color:#e2e9e4}
.main-nav>a:not(.nav-cta):hover{color:#19713d;background:#f5faf5}
.main-nav .nav-cta{background:#278c47;color:#fff}
.main-nav .nav-cta:hover{background:#1e733b}
.site-header .menu-toggle{border-color:#ccdbd2}
.site-header .menu-toggle span{background:#173c5b}
.hero-scrim{background:linear-gradient(90deg,rgba(15,43,37,.82) 0%,rgba(15,43,37,.59) 36%,rgba(15,43,37,.18) 69%,rgba(15,43,37,.08) 100%),linear-gradient(0deg,rgba(12,39,31,.7) 0%,transparent 38%,rgba(10,30,24,.03) 100%)}
.hero h1 em{color:#f2b753}
.hero-eyebrow{color:#eef0e4}
.hero-eyebrow span{background:#f0a339}
.hero .button-brass{background:#278f48;color:#fff}
.hero .button-brass:hover{background:#33a553}
.hero-location{border-color:#f0a339}
.hero-location span{color:#f5bd5d}
.hero-bottom{background:rgba(18,79,49,.88);border-color:rgba(255,255,255,.27);color:rgba(255,255,255,.88)}
.hero-bottom a{color:#fff}
.hero-bottom a b{color:#f8bd58}
.section-pad h2 em{color:#2f8c4a}
.intro{background:#fff}
.intro-kicker{color:#6e7d84}
.section-number{color:#e79527}
.intro h2,.section-heading h2,.process h2,.assistant h2,.contact h2{color:#173c5b}
.principles{border-color:#dce7df}
.principles article+article{border-color:#dce7df}
.principle-index{color:#3c9152}
.expertise{background:#f2f8f2}
.service-grid{background:#dce8df;border-color:#dce8df}
.service-card{background:#fff}
.service-card:hover{background:#fbfefb}
.service-card-featured{background:#1d6b3d;color:#fff}
.service-card-featured:hover{background:#185a34}
.service-card-featured .service-icon,.service-card-featured .service-number{color:#f7c267}
.service-card>a span{color:#df8d27}
.process{background:#fff}
.process-steps{border-color:#dce7df}
.process-steps article:before{background:#3c9652}
.process-steps article>span{color:#da8c24}
.work{background:#edf4f8;color:#173c5b}
.work .section-heading h2{color:#173c5b}
.work .section-heading h2 em{color:#2f8c4a}
.work .section-heading>p{color:#647883}
.work .intro-kicker{color:#637984}
.work .project-placeholder .placeholder-meta{color:#536c7a}
.assistant{background:#f1f7f2}
.assistant .assistant-tag{color:#247d41}
.assistant h2 em{color:#2f8c4a}
.assistant-note{border-color:#d8e4da;color:#60747c}
.project-form{border:1px solid #e1e9e1;box-shadow:0 18px 48px rgba(26,70,83,.08)}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#2f8f4b;box-shadow:0 0 0 2px rgba(47,143,75,.12)}
.button-dark{background:#1f5d8b;color:#fff}
.button-dark:hover{background:#164970}
.form-footnote strong{color:#216b40}
.contact{background:linear-gradient(118deg,#145b91 0%,#1c783f 100%);color:#fff}
.contact .intro-kicker{color:#dbe9e1}
.contact h2{color:#fff}
.contact h2 em{color:#ffd273}
.contact-bottom{border-color:rgba(255,255,255,.3)}
.contact-bottom p{color:#edf4ee}
.contact .button-brass{background:#fff;color:#174c76}
.contact .button-brass:hover{background:#f4f8f4}
.contact-lines{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.26)}
.contact-lines a{background:rgba(17,67,76,.28)}
.contact-lines a:hover{background:rgba(10,53,60,.42)}
.contact-lines a strong{color:#fff}
.contact-lines a span{color:#d9e8df}
.site-footer{background:#153f61;color:#e5eee8}
.site-footer>p{color:#d3e1e6}
.footer-meta{color:#c1d0d5}
.footer-meta span:last-child{color:#f6c05d}
@media(max-width:760px){.main-nav{background:#fff;border-bottom:1px solid #dce7df;box-shadow:0 12px 20px rgba(22,62,87,.09)}.main-nav>a:not(.nav-cta){color:#34556c;border-bottom-color:#e4ebe5}.main-nav .nav-cta{background:#278c47;color:#fff}.hero-location strong{color:#fff}.hero-bottom{background:rgba(18,79,49,.92)}}

/* Real project photo journal */
.work{overflow:hidden}
.project-gallery{max-width:1240px;margin:50px auto 0}
.gallery-stage{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate}
.gallery-slide{grid-area:1/1;display:grid;grid-template-rows:clamp(330px,52vw,620px) auto;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(18px);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.gallery-slide.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.gallery-image-wrap{position:relative;display:grid;place-items:center;overflow:hidden;background:#e7eee8;border:1px solid #dce6de;border-radius:4px 4px 0 0;isolation:isolate}
.gallery-image-wrap:before{position:absolute;inset:-20px;z-index:-1;content:"";background-image:linear-gradient(rgba(22,52,44,.18),rgba(22,52,44,.18)),var(--gallery-image-url);background-position:center;background-size:cover;filter:blur(18px);transform:scale(1.04)}
.gallery-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:rgba(245,248,244,.24)}
.gallery-caption{min-height:126px;padding:23px 27px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid #dce6de;border-top:0}
.gallery-category{display:block;margin-bottom:9px;color:#478653;font-size:8px;font-weight:700;letter-spacing:.15em}
.gallery-caption h3{margin:0;color:#173c5b;font-family:var(--serif);font-size:clamp(23px,3vw,35px);font-weight:500;line-height:1.1;letter-spacing:-.025em}
.gallery-caption p{max-width:690px;margin:8px 0 0;color:#61747c;font-size:12px;line-height:1.65}
.gallery-count{align-self:flex-end;flex:0 0 auto;color:#173c5b;font-family:var(--serif);font-size:24px;letter-spacing:-.04em}
.gallery-count i{color:#9aa9a1;font-family:var(--sans);font-size:11px;font-style:normal;letter-spacing:0}
.gallery-controls{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dce6de}
.gallery-dots,.gallery-actions{display:flex;align-items:center;gap:9px}
.gallery-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#bfd0c2;cursor:pointer;transition:width .25s ease,background .25s ease}
.gallery-dot.is-current{width:26px;border-radius:9px;background:#298447}
.gallery-actions{gap:8px}
.gallery-play,.gallery-arrow{height:37px;min-width:42px;padding:0 12px;border:1px solid #cfdcd1;border-radius:2px;background:#fff;color:#194c38;cursor:pointer;font-family:var(--sans);font-size:11px;transition:background .2s ease,border-color .2s ease,color .2s ease}
.gallery-play:hover,.gallery-arrow:hover{border-color:#278c47;background:#278c47;color:#fff}
.gallery-note{margin:15px 0 0;color:#72817d;font-size:10px;line-height:1.6}
.gallery-dot:focus-visible,.gallery-play:focus-visible,.gallery-arrow:focus-visible{outline:2px solid #e79527;outline-offset:3px}
@media(max-width:760px){.project-gallery{margin-top:32px}.gallery-slide{grid-template-rows:clamp(300px,112vw,490px) auto}.gallery-caption{min-height:120px;padding:20px 17px;gap:14px}.gallery-category{font-size:7px}.gallery-caption h3{font-size:26px}.gallery-caption p{font-size:11px}.gallery-count{font-size:20px}.gallery-count i{font-size:9px}.gallery-controls{min-height:58px;gap:10px}.gallery-dots{gap:6px}.gallery-dot{width:6px;height:6px}.gallery-dot.is-current{width:19px}.gallery-play,.gallery-arrow{min-width:35px;height:34px;padding:0 8px}.gallery-actions{gap:5px}}
@media(max-width:400px){.gallery-caption{align-items:flex-start}.gallery-count{align-self:center}.gallery-dots{gap:5px}.gallery-dot{width:5px;height:5px}.gallery-dot.is-current{width:15px}}
@media(prefers-reduced-motion:reduce){.gallery-slide,.gallery-dot,.gallery-play,.gallery-arrow{transition:none}}

/* Improve legibility of the primary navigation. */
.main-nav{font-size:15px}
.main-nav>a:not(.nav-cta){font-size:15px}
.main-nav .nav-cta{font-size:14px}
@media(max-width:1000px) and (min-width:761px){.main-nav{font-size:13px}.main-nav>a:not(.nav-cta){font-size:13px}.main-nav .nav-cta{font-size:13px}}
@media(max-width:760px){.main-nav>a:not(.nav-cta){font-size:15px}.main-nav .nav-cta{font-size:14px}}

/* Unified typography: one readable type scale used across every section. */
:root{--fs-label:13px;--fs-small:15px;--fs-body:17px;--fs-lead:19px;--fs-h3:24px;--fs-h2:clamp(36px,4.4vw,54px);--fs-h1:clamp(44px,6.2vw,80px);--text:#2f4a5c;--text-soft:#4d6472}
body{font-size:var(--fs-body);line-height:1.65;color:var(--ink)}

/* Headings: serif, one weight */
.hero h1{font-size:var(--fs-h1);font-weight:600;line-height:1.06;letter-spacing:-.03em}
.section-pad h2,.assistant h2,.contact h2{font-size:var(--fs-h2);font-weight:600;line-height:1.12;letter-spacing:-.025em}
.hero h1 em,.section-pad h2 em{font-weight:600}
.principles h3,.service-card h3,.process-steps h3,.gallery-caption h3{font-family:var(--serif);font-size:var(--fs-h3);font-weight:600;line-height:1.25;letter-spacing:-.01em}

/* Small uppercase labels */
.hero-eyebrow,.intro-kicker,.assistant-tag,.principle-index,.service-number,.process-steps article>span,.gallery-category,.form-heading,.hero-location span,.contact-lines a span,.footer-meta,.hero-bottom,.hero-bottom a{font-family:var(--sans);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em}
.section-number{font-family:var(--sans);font-size:var(--fs-label);font-weight:700}

/* Body copy: sans-serif, readable size and contrast */
.hero-lede{font-size:var(--fs-lead);line-height:1.7;color:rgba(255,255,255,.92)}
.intro-copy p,.section-heading>p,.assistant-lede{font-size:var(--fs-body);line-height:1.75;color:var(--text)}
.principles p,.service-card p,.process-steps p,.gallery-caption p{font-size:var(--fs-small);line-height:1.7;color:var(--text-soft)}
.service-card-featured p{color:rgba(255,255,255,.88)}
.work .section-heading>p{color:var(--text)}
.process-aside,.contact-bottom p,.site-footer>p{font-family:var(--sans);font-style:normal;font-size:var(--fs-lead);line-height:1.6}
.process-aside{color:var(--text-soft)}
.assistant-note,.gallery-note,.form-footnote{font-size:var(--fs-small);line-height:1.6;color:var(--text-soft)}
.hero-location strong{font-size:var(--fs-small)}
.contact-lines a strong{font-family:var(--sans);font-size:20px;font-weight:700}

/* Navigation, buttons, links */
.site-header .brand-copy strong{font-size:22px}
.site-header .brand-copy small{font-size:11px;letter-spacing:.08em}
.main-nav,.main-nav>a:not(.nav-cta),.main-nav .nav-cta{font-size:16px;font-weight:600}
.button,.text-link,.service-card>a{font-size:var(--fs-small);font-weight:700;letter-spacing:.03em}
.service-card>a{text-transform:none}
.gallery-play,.gallery-arrow{font-size:var(--fs-small)}
.gallery-count{font-family:var(--sans);font-size:22px;font-weight:700;letter-spacing:0}
.gallery-count i{font-size:var(--fs-small)}

/* Contact form */
.project-form label{font-size:var(--fs-small)}
.project-form label i{font-size:var(--fs-label);color:#6d7f88}
.project-form input,.project-form select,.project-form textarea{font-size:16px;padding:13px 14px}
.project-form input::placeholder,.project-form textarea::placeholder{color:#7d8d94}

@media(max-width:1000px) and (min-width:761px){.main-nav,.main-nav>a:not(.nav-cta),.main-nav .nav-cta{font-size:14px}.main-nav>a:not(.nav-cta){padding:0 9px}}
@media(max-width:760px){
  :root{--fs-label:12px;--fs-small:15px;--fs-body:16px;--fs-lead:17px;--fs-h3:22px;--fs-h2:34px;--fs-h1:clamp(38px,10.5vw,52px)}
  .hero h1{font-size:var(--fs-h1)}
  .section-pad h2,.intro-main h2,.assistant h2,.contact h2{font-size:var(--fs-h2)}
  .process-steps h3,.gallery-caption h3{font-size:var(--fs-h3)}
  .process-steps p,.gallery-caption p{font-size:var(--fs-small)}
  .hero-eyebrow,.hero-location span,.gallery-category{font-size:var(--fs-label);letter-spacing:.08em}
  .hero-lede{font-size:var(--fs-lead)}
  .hero-location strong{font-size:14px}
  .hero-bottom,.hero-bottom a{font-size:12px}
  .site-header .brand-copy strong{font-size:20px}
  .site-header .brand-copy small{font-size:10px}
  .main-nav>a:not(.nav-cta),.main-nav .nav-cta{font-size:17px}
  .contact-lines a strong{font-size:18px}
  .gallery-count{font-size:19px}
  .gallery-count i{font-size:13px}
  .process-steps{grid-template-columns:1fr}
}
@media(max-width:390px){.hero-bottom,.hero-bottom a{font-size:11px}.contact h2{font-size:32px}}
