:root{--ink:#20292f;--muted:#5f696f;--gold:#cfab45;--paper:#fff;--soft:#f3f4f3;--line:#dce0e0;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a87605;outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,5.1vw,5.1rem)}h2{font-size:clamp(2rem,3.5vw,3.3rem)}h3{font-size:1.45rem;letter-spacing:-.025em}p{margin-top:1.15rem;color:var(--muted)}em{font-style:normal;color:var(--gold)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8e9e9}.nav-wrap{max-width:1440px;margin:auto;padding:0 48px;min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:218px;flex-shrink:0}.brand img{width:100%;height:94px;object-fit:contain}nav{display:flex;align-items:center;gap:29px}nav a{font-size:14px;font-weight:600;padding:36px 0 31px;border-bottom:3px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--gold)}nav a:last-child{background:var(--ink);color:#fff;padding:12px 19px;border:0}nav a:last-child:hover{background:#38434b}.menu-toggle{display:none}.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.17em;line-height:1.5;margin-bottom:22px;color:#8a6a18}.home-hero{height:min(780px,calc(100svh - 98px));min-height:630px;position:relative;background:var(--ink);color:#fff;overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,28,.94) 0%,rgba(16,24,29,.78) 32%,rgba(16,24,29,.12) 75%),linear-gradient(0deg,rgba(12,22,28,.75),transparent 28%)}.hero-content{position:relative;padding-top:70px}.hero-content .eyebrow{color:var(--gold)}.hero-content h1{font-size:clamp(3.7rem,5.8vw,5.6rem);line-height:1.02;letter-spacing:-.055em}.hero-content p{color:#e1e5e5;max-width:470px;font-size:18px;line-height:1.6}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 23px;background:var(--gold);border:1px solid var(--gold);color:var(--ink);font-weight:700;font-size:14px;line-height:1.5;transition:background .2s,transform .2s;min-height:50px}.button:hover{background:#dfbd5c;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button.outline{background:transparent;color:inherit;border-color:#b1b7b9}.button.outline:hover{background:#ffffff12}.button.dark{background:var(--ink);border-color:var(--ink);color:#fff}.button.line{padding:11px 0;background:transparent;border:0;border-bottom:1px solid var(--gold)}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;border-top:1px solid #ffffff40;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.08em}.hero-bottom a{font-size:14px;letter-spacing:0}.intro-section{padding-top:95px;padding-bottom:95px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.lead{font-size:21px;line-height:1.6;margin-top:0;color:#47545c}.split .button{margin-top:26px}.section{padding-top:95px;padding-bottom:95px}.soft{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.section-heading .button{flex-shrink:0}.cards{display:grid;gap:25px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s}.service-card:hover{box-shadow:0 12px 30px #17232b15}.card-image{overflow:hidden;aspect-ratio:1.65}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover img,.project-card:hover img{transform:scale(1.025)}.card-content{padding:27px;display:flex;flex:1;flex-direction:column}.card-number{font-size:12px;letter-spacing:.14em;color:#77632d;display:block;margin-bottom:22px;font-weight:700}.card-content h3{line-height:1.2}.card-content p{font-size:16px;line-height:1.65;flex:1}.text-link{display:flex;justify-content:space-between;align-items:center;margin-top:27px;font-size:14px;font-weight:700}.project-card{display:block;overflow:hidden}.project-card>img{width:100%;aspect-ratio:1.7;object-fit:cover;transition:transform .6s}.project-card>div{padding:23px 0 25px;border-bottom:1px solid #cbd0d1}.project-card .eyebrow{margin-bottom:12px}.project-card h3{font-size:1.8rem}.project-card .text-link{margin-top:18px;display:block}.dark-section{background:var(--ink);color:white}.dark-section p{color:#bdc6cb}.dark-section .eyebrow{color:var(--gold)}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid #ffffff28}.steps li:first-child{padding-top:0}.steps li>span{font-size:14px;color:var(--gold)}.steps h3{font-size:1.25rem}.steps p{margin-top:8px;font-size:16px}.cta{background:var(--gold);padding:62px 0}.cta>.wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta .eyebrow{color:#4c3c14;margin-bottom:16px}.cta h2{font-size:clamp(2.2rem,3.6vw,3.6rem)}footer{background:#182228;color:#fff;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.2fr;gap:45px}.footer-logo{display:block;background:white;width:185px}.footer-logo img{height:88px;width:100%;object-fit:contain}footer h3{font-size:16px;letter-spacing:0;margin-bottom:22px;font-weight:600}footer p{color:#b7c0c4;font-size:15px;margin:18px 0}footer .footer-grid>div>a:not(.footer-logo):not(.button){display:block;color:#b7c0c4;font-size:14px;margin:10px 0}footer a:hover{color:var(--gold)}footer .button{font-size:13px;padding:12px 16px;gap:18px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:55px;padding:23px 0;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#a7b1b7}.page-hero{padding:55px 0 60px;background:var(--ink);color:#fff}.page-hero-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:65px;align-items:center}.page-hero .eyebrow{color:var(--gold)}.page-hero p{color:#c1cbd1;font-size:18px;max-width:570px}.page-hero-grid>img{width:100%;height:375px;object-fit:cover}.wide{max-width:900px;margin-top:30px}.expertise{display:flex;flex-wrap:wrap;gap:13px;margin-top:38px}.expertise span{padding:12px 20px;border:1px solid #ffffff40;font-size:14px}.principle{margin-top:28px}.principle article{padding:30px 0;border-top:2px solid var(--gold)}.models{margin-top:40px}.models article{border-top:1px solid #bac2c5;padding:25px 0}.models h3{font-size:1.3rem}.note,.source-note{font-size:14px;line-height:1.6}.source-note a,.references a{text-decoration:underline;text-underline-offset:4px}.note{margin-top:30px}.feature-panel{padding:38px;background:var(--soft);border-top:3px solid var(--gold)}.feature-panel h3{line-height:1.25}.check-list{list-style:none;margin:25px 0;padding:0}.check-list li{padding:13px 0 13px 24px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#8a6a18}.fit{margin-top:33px}.fit .eyebrow{margin-bottom:10px}.fit p{margin:0}.project-disclosure{border-left:3px solid var(--gold);padding:12px 0 12px 22px;margin:0 0 45px;max-width:960px;font-size:15px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.filters button{border:1px solid #c4cccf;background:white;color:var(--ink);padding:10px 20px;font-size:14px;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-item{padding:0;background:var(--soft);border:0;text-align:left;color:var(--ink);overflow:hidden}.gallery-item img{width:100%;height:235px;object-fit:cover}.gallery-item span{display:flex;justify-content:space-between;align-items:center;padding:19px;font-size:14px;font-weight:600;gap:15px}.gallery-item b{font-size:22px;font-weight:400}.gallery-item[hidden]{display:none}dialog{border:0;background:#152127;color:white;padding:50px 24px 18px;width:min(1100px,95vw);max-height:95svh}dialog::backdrop{background:#081014eb}dialog>img{width:100%;height:75svh;object-fit:contain}dialog p{color:white;text-align:center;margin-top:12px;font-size:14px}.close-dialog{position:absolute;right:12px;top:4px;border:0;background:transparent;color:white;font-size:32px;width:44px;height:44px;line-height:1}.contact-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:85px}.contact-layout aside p{max-width:420px}.contact-note{margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}.contact-note h3{font-size:19px}.contact-note p{font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-grid label{font-size:14px;font-weight:600;display:block}.form-grid label>span{color:#866815}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bac3c8;background:#fff;border-radius:0;color:var(--ink);font-size:16px;min-height:48px}.form-grid textarea{resize:vertical}.full{grid-column:1/-1}form>.button{margin-top:25px}#form-status{color:#31583b}#contact-details a{text-decoration:underline;overflow-wrap:anywhere}.references{max-width:900px}.references>.lead{margin-top:25px}.references article{border-top:1px solid var(--line);padding-top:35px;margin-top:40px;scroll-margin-top:130px}.references article h2{font-size:26px;letter-spacing:-.02em}.references article a{display:inline-block;margin-top:15px;overflow-wrap:anywhere}.skip{position:fixed;top:-100px;left:16px;background:var(--gold);padding:12px 20px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.home-hero{height:820px;max-height:900px}.hero-content{padding-top:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.nav-wrap{padding:0 28px;gap:20px}nav{gap:18px}.brand{width:180px}.split{gap:50px}.footer-grid{gap:25px}.contact-layout{gap:45px}.page-hero-grid{gap:35px}.cards{gap:18px}.card-content{padding:23px}.hero-content h1{font-size:4.9rem}}
@media(max-width:850px){.nav-wrap{min-height:82px}.brand{width:170px}.brand img{height:78px}.menu-toggle{display:flex;gap:12px;align-items:center;padding:8px 12px;min-height:44px;background:white;border:1px solid #c8cfd2;color:var(--ink);font-size:14px}.menu-toggle span{font-size:20px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px 28px 28px;box-shadow:0 12px 20px #18222815}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}nav a[aria-current]{color:#8a6a18}nav a:last-child{margin-top:15px;text-align:center}.home-hero{height:720px;min-height:650px}.hero-content h1{font-size:4.7rem}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero-grid{grid-template-columns:1fr 1fr;gap:30px}.page-hero-grid>img{height:330px}.page-hero h1{font-size:2.9rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.split{gap:35px}.contact-layout{grid-template-columns:1fr}.contact-layout aside p{max-width:650px}.section,.intro-section{padding-top:65px;padding-bottom:65px}.section-heading h2{font-size:2.5rem}.hero-shade{background:linear-gradient(90deg,#10181dec,#10181d9c 55%,#10181d28),linear-gradient(0deg,#0c161cbf,transparent 30%)}}
@media(max-width:580px){.wrap{width:calc(100% - 40px)}.nav-wrap{padding:0 20px}.home-hero{height:auto;min-height:760px;padding-bottom:90px}.hero-photo{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#10181dd9,#10181d75),linear-gradient(0deg,#10181dbe,transparent 40%)}.hero-content{padding-top:53px}.hero-content h1{font-size:clamp(3rem,11.6vw,4.4rem);line-height:1.08}.hero-content .eyebrow{font-size:11px;letter-spacing:.13em}.hero-content p{font-size:17px;max-width:340px;margin-top:24px}.actions{gap:12px;align-items:flex-start;flex-direction:column}.button{font-size:14px;padding:14px 20px}.hero-bottom{font-size:10px;letter-spacing:.07em;bottom:22px;align-items:center}.hero-bottom>span{max-width:150px}.hero-bottom a{font-size:13px}.split,.cards.three,.cards.two,.page-hero-grid,.gallery-grid{grid-template-columns:1fr}.split{gap:28px}.eyebrow{font-size:11px;margin-bottom:18px}.lead{font-size:19px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}.section-heading h2{font-size:2.2rem}.section,.intro-section{padding-top:52px;padding-bottom:52px}.card-image{aspect-ratio:1.7}.cards{gap:25px}.card-content{padding:26px}.project-card h3{font-size:1.65rem}.cta{padding:45px 0}.cta>.wrap{align-items:flex-start;flex-direction:column;gap:28px}.cta h2{font-size:2.5rem}.page-hero{padding:40px 0}.page-hero-grid{gap:32px}.page-hero h1{font-size:2.8rem}.page-hero p{font-size:17px}.page-hero-grid>img{height:240px}.footer-grid{gap:33px 22px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;column-gap:23px}.footer-bottom span:last-child{display:none}.feature-panel{padding:26px}.expertise{gap:8px}.expertise span{font-size:13px;padding:9px 12px}.form-grid{grid-template-columns:1fr;gap:18px}.contact-layout{gap:35px}.filters{gap:7px}.filters button{padding:9px 13px;font-size:13px}.gallery-item img{height:240px}dialog{padding:48px 12px 18px}dialog>img{height:65svh}.references article h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header,footer,.cta,.actions,.filters{display:none}.home-hero,.page-hero,.dark-section{background:white;color:black}.hero-photo,.hero-shade{display:none}.home-hero{height:auto;min-height:0}.hero-content{padding:20px 0}.hero-content p,.page-hero p,.dark-section p{color:black}.wrap{width:100%}.section{padding:25px 0}}

/* Version 2: preserve original identity and add accessible slideshow / contact. */
.hero-slide{opacity:0;transition:opacity 1.1s ease;pointer-events:none}.hero-slide.is-active{opacity:1}
.slideshow-controls{position:absolute;left:0;right:0;bottom:91px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#fff}
.slideshow-controls button{height:44px;min-width:44px;border:1px solid #ffffff65;background:#182228b8;color:white;font-size:24px;display:inline-flex;align-items:center;justify-content:center}
.slideshow-controls button:hover{border-color:var(--gold);background:#182228}.slide-dots{display:flex;gap:2px}.slide-dots button{border:0;background:transparent;min-width:32px;width:32px}.slide-dots span{width:8px;height:8px;border-radius:50%;background:#ffffff70}.slide-dots [aria-pressed=true] span{background:var(--gold);width:11px;height:11px}.slideshow-controls .slide-pause{font-size:14px;padding:0 13px}.slide-counter{font-size:13px;letter-spacing:.1em;margin-left:8px}
.contact-cards{margin-top:32px}.contact-cards>div{padding:20px 0;border-top:1px solid var(--line)}.contact-cards .eyebrow{margin-bottom:6px;font-size:12px}.contact-cards a,.contact-cards [data-contact-email]{font-size:22px;overflow-wrap:anywhere}.contact-cards a:hover{color:#876818}.map-panel{min-width:0;background:var(--soft);align-self:start;border:1px solid var(--line)}.map-panel iframe{display:block;border:0;width:100%;height:440px}.map-caption{padding:22px;display:flex;flex-direction:column;gap:8px;font-size:14px}.map-caption a{text-decoration:underline;text-underline-offset:4px}.leadership-intro{margin-top:24px}
@media(max-width:850px){.slideshow-controls{justify-content:flex-start;bottom:82px}.map-panel iframe{height:360px}}
@media(max-width:580px){.home-hero{min-height:830px;padding-bottom:170px}.slideshow-controls{bottom:94px;gap:4px}.slide-counter{margin-left:2px;font-size:12px}.slide-dots button{min-width:27px;width:27px}.slideshow-controls .slide-pause{padding:0 10px}.map-panel iframe{height:320px}.contact-cards a,.contact-cards [data-contact-email]{font-size:20px}}
