:root{
  --cream:#f6f3ed;--paper:#eee9df;--sand:#c5b49f;--taupe:#8b8172;--olive:#42483a;--deep:#30362c;--ink:#262823;--body:#585a52;--line:#d9d5ca;--white:#fff;--font-serif:Georgia,'Times New Roman',serif;--font-sans:Arial,Helvetica,sans-serif;--radius:0px
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#c5b49f;color:#24251f}
.container{max-width:1390px;padding-inline:clamp(22px,5.4vw,82px);margin-inline:auto}
.section{padding-block:clamp(85px,10.8vw,152px)}
.skip-link{position:absolute;z-index:300;left:12px;top:-100px;padding:10px 16px;background:#fff;border:2px solid var(--deep)}.skip-link:focus{top:12px}
.site-header{height:94px;background:rgba(246,243,237,.96);border-bottom:1px solid rgba(66,72,58,.12);position:relative;z-index:20;backdrop-filter:blur(14px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{width:245px;flex:0 0 auto;display:flex;align-items:center}.brand img{width:100%;height:auto;mix-blend-mode:multiply}
.primary-nav{display:flex;align-items:center;gap:clamp(16px,2.7vw,38px)}
.primary-nav>a{font-size:12px;letter-spacing:.055em;font-weight:600;color:#4e514a;transition:color .18s}
.primary-nav>a:hover,.primary-nav>a:focus-visible{color:#9b8065}
.primary-nav .nav-contact{background:var(--deep);color:#fff;padding:16px 21px;display:inline-flex;gap:28px;align-items:center;transition:background .2s}
.primary-nav .nav-contact:hover{background:#606a50;color:white}
.menu-toggle{display:none;border:0;background:none;padding:10px}
.hero{background:var(--cream)}.hero-shell{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;padding-right:0}
.hero-copy{padding:clamp(66px,6.2vw,104px) clamp(30px,5vw,72px) 40px 0;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow,.kicker,.card-number,.card-foot,.hero-index,.hero-visual-caption,.art-note,.contact-detail>span,.footer-bottom{font-size:10px;letter-spacing:.17em;font-weight:700}
.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#777667}.eyebrow-rule{height:1px;width:27px;background:#b6a486}.eyebrow-dot{color:#aaa08d}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-serif);font-weight:400;letter-spacing:-.038em}em{font-weight:400;color:#777c68}
h1{font-size:clamp(43px,4.15vw,66px);line-height:1.115;max-width:710px;margin:27px 0 24px}h1 em{font-style:italic}
.hero-desc{max-width:470px;font-size:16px;line-height:1.9;color:var(--body);margin-bottom:28px}
.hero-actions{display:flex;gap:29px;align-items:center;flex-wrap:wrap}
.button{font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:19px 23px;min-height:54px;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{color:white;background:var(--deep)}.button-dark:hover{background:#626d53}.button span{font-size:18px;font-weight:400}
.text-link{font-size:12px;font-weight:700;letter-spacing:.045em;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #a8a18f;padding-bottom:8px;transition:gap .2s}.text-link:hover{gap:22px}.text-link span{font-size:15px;font-weight:400}
.hero-index{display:flex;align-items:center;gap:16px;color:#8b887f;margin-top:72px;font-size:9px}.hero-index span:first-child{color:#a89a81}.hero-index .line{display:block;width:62px;height:1px;background:var(--line)}
/* Temporary hero photo/illustration. Replace assets/structural-study.webp when imagery is finalized. */
.hero-visual{background:linear-gradient(180deg,rgba(19,24,18,.02),rgba(20,24,17,.12)),url('assets/structural-study.webp') center center/cover no-repeat;min-height:610px;position:relative}
.visual-frame{position:absolute;inset:22px;outline:1px solid rgba(255,255,255,.33);pointer-events:none}.hero-visual-caption{position:absolute;right:0;bottom:0;background:rgba(43,51,38,.93);padding:20px 28px;color:#f4f1e9;font-size:9px;display:flex;gap:16px;align-items:center}.tiny-rule{height:1px;width:32px;background:#c8baa4}
.pillars{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#505449;letter-spacing:.25em;font-size:10px;font-weight:700}.pillars i{height:4px;width:4px;background:#c4b8a6;transform:rotate(45deg)}
.kicker{color:var(--taupe);display:flex;gap:13px;align-items:center;margin-bottom:30px}.kicker span{font-family:var(--font-serif);letter-spacing:0;font-size:15px;color:var(--olive);font-weight:400}.kicker.light{color:#aeb6a3}.kicker.light span{color:#d2c6ae}
h2{font-size:clamp(38px,4.1vw,60px);line-height:1.13}h2 em{font-style:italic}
.section-heading-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:58px}.section-heading-grid h2{max-width:780px;margin-bottom:23px}.section-lead{color:var(--body);font-size:16px;line-height:1.9;max-width:740px;margin:0}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}.service-card{border:1px solid var(--line);border-left:0;padding:30px 26px 28px;min-height:365px;display:flex;flex-direction:column;transition:background .25s,transform .25s}.service-card:hover{background:#ece7dd;transform:translateY(-4px)}.card-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:65px}.card-number{color:#989382;font-size:9px}.card-top svg{width:40px;height:40px;stroke:#858e77;stroke-width:1.35}.service-card h3{font:400 25px/1.22 var(--font-serif);letter-spacing:-.035em;margin-bottom:14px}.service-card p{color:#65675e;font-size:13px;line-height:1.78;margin:0 0 28px}.card-foot{font-size:9px;margin-top:auto;color:#87887e}
.solutions-section{background:var(--paper)}.solutions-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,8vw,150px)}.solutions-heading{position:relative}.solutions-heading h2{max-width:400px;margin-bottom:24px}.solutions-heading p:not(.kicker){max-width:380px;color:var(--body);line-height:1.9;font-size:15px;margin-bottom:27px}.solutions-list{border-top:1px solid #c5c0b5}.solution-row{display:grid;grid-template-columns:42px 1fr 30px;gap:14px;padding:24px 0 20px;border-bottom:1px solid #c5c0b5;align-items:start}.solution-number{font-size:10px;color:#999482;margin-top:8px;letter-spacing:.07em}.solution-row h3{font:400 25px var(--font-serif);margin-bottom:7px}.solution-row p{font-size:13px;line-height:1.6;color:#77766e;margin:0}.solution-mark{justify-self:end;font-size:19px;color:#a7a48f}
.belief-section{background:var(--deep);color:#f7f4ec;overflow:hidden}.belief-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,110px);align-items:center;min-height:610px}.belief-art{position:relative;height:100%;min-height:530px;display:flex;align-items:center;justify-content:center}.belief-art:before,.belief-art:after{position:absolute;content:'';width:420px;height:420px;border:1px solid rgba(244,241,232,.12);transform:rotate(45deg)}.belief-art:after{width:300px;height:300px;border-color:rgba(244,241,232,.09)}.symbol{position:relative;width:220px;height:270px;z-index:2;display:flex;align-items:center;justify-content:center}.symbol-left,.symbol-right{height:225px;width:100px;border:14px solid #bca88e;display:block;transform:skewY(-21deg)}.symbol-left{border-right:0;border-radius:0 0 0 80px;filter:brightness(.88)}.symbol-right{border-left:0;border-radius:0 0 80px 0;transform:skewY(21deg);border-color:#ddd0b9}.art-note{position:absolute;bottom:40px;left:0;color:#a8af9d;font-size:9px}.belief-copy{padding:90px 0}.belief-copy h2{max-width:510px;margin-bottom:27px}.belief-copy h2 em{color:#cbb89e}.belief-copy p:not(.kicker){max-width:490px;font-size:15px;line-height:1.9;color:#c7cbbc}.button-outline{border:1px solid rgba(244,241,232,.5);color:#f7f4ec;margin-top:17px}.button-outline:hover{background:#f4f1e8;color:var(--deep)}
.approach-heading{max-width:800px;margin-bottom:65px}.approach-heading h2{max-width:730px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.step-header{display:flex;align-items:center;gap:25px;margin-bottom:35px;color:#92846f;font:400 28px var(--font-serif)}.step-line{height:1px;background:#c8c1b5;flex:1}.approach-step h3{font:400 29px var(--font-serif);letter-spacing:-.028em;margin-bottom:16px}.approach-step p{color:#696b62;line-height:1.85;font-size:14px;max-width:345px}
/* Temporary About section image: assets/architecture-wide.webp. */
.about-section{background:#e8e3d9}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(52px,8vw,122px);align-items:center}.about-image{min-height:590px;background:url('assets/architecture-wide.webp') 59% center/cover no-repeat;position:relative}.about-image-index{position:absolute;bottom:0;left:0;padding:17px 28px;font-size:10px;letter-spacing:.2em;background:#e8e3d9;color:#6b6c61}.about-copy h2{max-width:565px}.about-copy p:not(.kicker){font-size:15px;line-height:1.85;color:#62665c;margin-bottom:20px}.about-copy .text-link{margin-top:18px}
.contact-section{background:#444a3d;color:#f3f0e7;padding-block:clamp(90px,9vw,135px)}.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(65px,10vw,160px)}.contact-left h2{max-width:680px}.contact-left h2 em{color:#d1bca0}.contact-left p:not(.kicker){max-width:530px;color:#d6d9cf;line-height:1.9;font-size:15px;margin:25px 0 30px}.button-light{background:#f2eee5;color:#31372d}.button-light:hover{background:#d9c8b1}.contact-details{border-top:1px solid rgba(244,244,232,.32);margin-top:5px}.contact-detail{border-bottom:1px solid rgba(244,244,232,.32);padding:22px 0 25px;display:flex;flex-direction:column;gap:13px}.contact-detail>span{color:#bac2af;font-size:9px}.contact-detail a,.contact-detail strong{font:400 23px var(--font-serif);letter-spacing:-.012em;overflow-wrap:anywhere}.contact-detail a:hover{text-decoration:underline;text-underline-offset:6px}
.site-footer{background:var(--cream)}.footer-top{padding-top:59px;padding-bottom:38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:25px}.footer-brand{width:270px}.footer-brand img{height:auto;mix-blend-mode:multiply}.footer-nav{display:flex;gap:32px;flex-wrap:wrap}.footer-nav a{font-size:12px;color:#66675e}.footer-nav a:hover{color:#9c856f}.footer-bottom{min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8b8a81;font-size:9px;letter-spacing:.07em}.footer-bottom a{color:#40463b}.footer-dot{padding-inline:5px}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js .reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1080px){
 .site-header{height:82px}.brand{width:214px}.primary-nav{gap:17px}.primary-nav .nav-contact{gap:12px;padding:14px}.hero-shell{min-height:560px}.hero-visual{min-height:560px}.hero-copy{padding-top:70px;padding-bottom:45px}.services-grid{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.service-card{min-height:315px;border-top:0}.services-grid .service-card:nth-child(3){border-left:1px solid var(--line)}.solutions-layout{gap:60px}.belief-layout{min-height:540px}.about-image{min-height:520px}
}
@media(max-width:760px){
 html{scroll-padding-top:76px}.container{padding-inline:25px}.section{padding-block:86px}.site-header{height:73px}.brand{width:206px}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:45px;height:45px;z-index:40}.menu-toggle span{display:block;background:#3b4037;width:21px;height:1px;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .primary-nav{display:none;position:absolute;left:0;right:0;top:73px;background:#f6f3ed;box-shadow:0 16px 20px rgba(24,29,23,.08);padding:20px 25px 28px;gap:0;flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.primary-nav>a{font-size:15px;padding:15px 0;border-bottom:1px solid #e1dbce}.primary-nav .nav-contact{margin-top:20px;padding:17px;justify-content:space-between}
 .hero-shell{display:flex;flex-direction:column;padding-right:25px;min-height:0}.hero-copy{padding:60px 0 48px}.eyebrow{font-size:9px;line-height:1.7;gap:8px}h1{font-size:clamp(40px,10vw,58px);margin:24px 0}.hero-desc{font-size:15px;line-height:1.8}.hero-actions{gap:24px}.hero-index{margin-top:48px}.hero-visual{min-height:410px;background-position:center 52%}.visual-frame{inset:14px}.hero-visual-caption{font-size:8px;padding:16px}.pillars{min-height:66px;letter-spacing:.1em;font-size:9px;gap:8px}.pillars i{width:3px;height:3px}
 .section-heading-grid{display:block;margin-bottom:43px}h2{font-size:clamp(36px,9vw,52px)}.section-heading-grid .kicker{margin-bottom:20px}.section-lead{font-size:15px}.services-grid{grid-template-columns:1fr;border-left:1px solid var(--line)}.service-card{border-left:0!important;min-height:260px;padding:26px}.card-top{margin-bottom:40px}.service-card h3{font-size:25px}
 .solutions-layout{grid-template-columns:1fr;gap:46px}.solutions-heading h2{max-width:600px}.solutions-heading p:not(.kicker){max-width:610px}.solution-row{grid-template-columns:30px 1fr 20px;gap:10px}.solution-row h3{font-size:23px}.solution-row p{font-size:12px}
 .belief-layout{grid-template-columns:1fr;gap:0}.belief-art{min-height:270px;order:2;overflow:hidden}.belief-art:before{width:270px;height:270px}.belief-art:after{width:190px;height:190px}.symbol{transform:scale(.65)}.art-note{bottom:26px;left:15px}.belief-copy{padding:80px 0 32px;order:1}.belief-copy h2{max-width:550px}.belief-copy p:not(.kicker){font-size:14px}
 .approach-heading{margin-bottom:50px}.approach-grid{grid-template-columns:1fr;gap:40px}.step-header{margin-bottom:18px}.approach-step p{max-width:600px}
 .about-layout{grid-template-columns:1fr;gap:52px}.about-image{min-height:360px}.about-copy{order:-1}.about-copy p:not(.kicker){font-size:14px}
 .contact-layout{grid-template-columns:1fr;gap:58px}.contact-left h2{max-width:650px}.contact-detail a,.contact-detail strong{font-size:24px}
 .footer-top{align-items:flex-start;flex-direction:column;gap:28px}.footer-brand{width:245px}.footer-nav{gap:14px 25px}.footer-bottom{flex-wrap:wrap;align-items:flex-start;padding-block:25px;line-height:1.7;gap:11px}.footer-bottom>span:nth-child(2){display:none}
}
@media(max-width:390px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{min-height:350px}.pillars{font-size:8px}.contact-detail a{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.button,.service-card,.text-link{transition:none}}
