@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#090909;--charcoal:#121212;--panel:#191919;--ivory:#f4f0e8;--muted:#b5afa4;--gold:#c8a466;--gold2:#e0c181;--line:rgba(200,164,102,.28);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:20;background:#090909}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:56px;height:56px;border:1px solid var(--gold);display:block;overflow:hidden;border-radius:50%;background:#050505;box-shadow:0 0 0 3px rgba(200,164,102,.08)}.brand-mark img{width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:scale(1.08)}.brand b{display:block;font:600 21px var(--serif);letter-spacing:.08em;text-transform:uppercase;line-height:1}.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.36em;text-transform:uppercase;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{font-size:14px;color:#d9d4cb}.site-header nav a:hover{color:var(--gold2)}.nav-cta{border:1px solid var(--gold);padding:10px 18px;color:var(--gold2)!important}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ivory);padding:9px 13px;font:500 14px var(--sans)}
.hero{min-height:760px;display:grid;grid-template-columns:1.02fr 1fr}.hero-copy{padding:clamp(90px,11vw,160px) clamp(26px,7vw,110px);align-self:center}.kicker{color:var(--gold2);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 20px}.hero h1,.page-hero h1,.detail-hero h1,.city-hero h1{font:500 clamp(58px,7.2vw,112px)/.92 var(--serif);letter-spacing:-.035em;margin:0}.hero h1 em,.city-hero h1 em{color:var(--gold2);font-weight:500}.lede{max-width:610px;color:#c9c4ba;font-size:18px;margin:30px 0 36px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:1px solid var(--gold);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.button.gold{background:var(--gold);color:#111}.button.gold:hover{background:var(--gold2)}.button.outline{color:var(--gold2)}.button.outline:hover{background:var(--gold);color:#111}.text-link{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:4px}.hero-visual{position:relative;min-height:640px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.03)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,9,.38),transparent 38%),linear-gradient(0deg,rgba(9,9,9,.38),transparent 50%)}.logo-seal{position:absolute;z-index:2;right:5%;bottom:5%;width:170px;height:170px;background:#0b0b0b;border:1px solid var(--line);overflow:hidden;box-shadow:0 22px 45px #0008}.logo-seal img{width:100%;height:100%;object-fit:cover;object-position:center 36%}
.signature{background:var(--ivory);color:#141414;padding:clamp(72px,9vw,130px) clamp(24px,8vw,120px);display:grid;grid-template-columns:.6fr 1.1fr;gap:40px 90px}.signature .kicker{color:#86662f}.signature h2,.section-heading h2,.split-showcase h2,.process h2,.area-section h2,.consultation h2,.detail-content h2,.related h2,.city-focus h2{font:500 clamp(40px,5vw,72px)/1 var(--serif);letter-spacing:-.025em;margin:0 0 22px}.signature>div>p{max-width:720px;color:#4f4a43;font-size:18px}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cec5b5;margin-top:30px}.stats div{padding:30px 24px 0 0;border-right:1px solid #cec5b5}.stats div:last-child{border:0;padding-left:30px}.stats b{display:block;font:600 31px var(--serif);color:#9a7437}.stats span{color:#5c574f;font-size:14px}
.section{padding:clamp(80px,9vw,140px) clamp(24px,6vw,96px)}.section.dark{background:var(--charcoal)}.section-heading{display:grid;grid-template-columns:.6fr 1.2fr auto;gap:30px;align-items:end;margin-bottom:54px}.section-heading h2{margin:0}.section-heading>a{color:var(--gold2);font-size:14px;padding-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.25s}.service-card:hover{background:#20201f;transform:translateY(-3px)}.service-card>span{color:var(--gold);font:500 14px var(--serif)}.service-card h3{font:500 32px/1.05 var(--serif);margin:48px 0 14px}.service-card p{color:var(--muted);margin:0 0 28px}.service-card b{margin-top:auto;color:var(--gold2);font-size:13px}.split-showcase{display:grid;grid-template-columns:1.12fr .88fr;min-height:690px;background:#0c0c0c}.split-showcase>img{width:100%;height:100%;object-fit:cover}.split-showcase>div{padding:clamp(70px,8vw,120px);align-self:center}.split-showcase>div>p:not(.kicker){color:var(--muted);margin-bottom:35px;max-width:580px}
.process{background:var(--ivory);color:#131313;padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px)}.process .kicker{color:#87672d}.process ol{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccc2b0}.process li{padding:28px 26px 0 0;border-right:1px solid #ccc2b0;min-height:220px}.process li+li{padding-left:28px}.process li:last-child{border:0}.process li span{font:500 15px var(--serif);color:#9a7437}.process li h3{font:600 27px var(--serif);margin:35px 0 10px}.process li p{color:#5f5a52;font-size:14px}.process.compact ol{grid-template-columns:repeat(3,1fr)}
.area-section{padding:clamp(80px,9vw,140px) clamp(24px,7vw,110px);display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;background:#111}.area-section>div>p:not(.kicker){color:var(--muted);max-width:540px}.city-list-panel{min-width:0}.city-list{display:grid;grid-template-columns:1fr 1fr}.city-list a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);margin-right:34px;color:#ddd7cc}.city-list a:hover{color:var(--gold2)}.city-list span{color:var(--gold)}.city-disclosure{margin-top:22px;border-top:1px solid var(--line)}.city-disclosure summary,.areas-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.city-disclosure summary::-webkit-details-marker,.areas-disclosure summary::-webkit-details-marker{display:none}.city-disclosure summary{padding:20px 0;color:var(--gold2)}.city-disclosure summary span,.areas-disclosure summary span{font:400 28px/1 var(--serif);transition:transform .25s ease}.city-disclosure[open] summary span,.areas-disclosure[open] summary span{transform:rotate(45deg)}.city-disclosure .city-list{margin-top:2px}.consultation{text-align:center;padding:clamp(90px,12vw,170px) 24px;background:radial-gradient(circle at 50% 0,#252017 0,#0a0a0a 50%)}.consultation h2{max-width:780px;margin:0 auto 20px}.consultation>p:not(.kicker){color:var(--muted);max-width:690px;margin:0 auto 34px}
.page-hero,.city-hero{padding:clamp(100px,12vw,170px) clamp(24px,8vw,125px);background:linear-gradient(125deg,#090909 45%,#201b13)}.page-hero h1,.city-hero h1{font-size:clamp(56px,7vw,100px)}.page-hero>p:last-child,.city-hero>p:not(.kicker){color:#c3bdb2;max-width:760px;font-size:19px;margin-top:28px}.areas-section{padding-bottom:80px;background:var(--ivory);color:#131313}.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:80px clamp(24px,6vw,96px);background:var(--ivory);color:#131313}.areas-grid>a{padding:38px 34px;border-right:1px solid #cdc2b0;border-bottom:1px solid #cdc2b0;min-height:285px}.areas-grid>a:hover{background:#ebe3d5}.areas-grid span{font-size:11px;color:#84652e;letter-spacing:.18em;text-transform:uppercase}.areas-grid h2{font:600 36px var(--serif);margin:35px 0 12px}.areas-grid p{font-size:14px;color:#5d584f}.areas-grid b{font-size:13px;color:#87672e}.featured-areas{padding-bottom:38px}.areas-disclosure{margin:0 clamp(24px,6vw,96px);border-top:1px solid #cdc2b0}.areas-disclosure summary{padding:24px 4px;color:#7d5c26}.areas-disclosure .additional-areas{padding:12px 0 0}
.location-finder{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:70px clamp(24px,8vw,125px);background:#141414;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.location-finder h2{font:500 clamp(38px,4.5vw,62px)/1 var(--serif);margin:0 0 18px}.location-finder p{color:var(--muted);max-width:630px}.location-finder>div:last-child{align-self:center}.location-finder button:disabled{opacity:.55;cursor:wait}.location-finder #location-status{font-size:14px;margin:14px 0}.nearest-city{display:block;padding:20px;border:1px solid var(--line);background:#1d1b17}.nearest-city span{display:block;font:600 28px var(--serif);color:var(--gold2)}.nearest-city b{font-size:12px;color:#bbb3a6;font-weight:500}
.detail-hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr}.detail-hero>div{padding:clamp(85px,9vw,145px) clamp(24px,7vw,110px);align-self:center}.detail-hero h1{font-size:clamp(54px,6vw,90px)}.detail-hero>div>p:not(.kicker){color:var(--muted);max-width:620px;font-size:18px;margin:28px 0 34px}.detail-hero>img{width:100%;height:100%;object-fit:cover;max-height:760px}.detail-content,.city-focus{padding:clamp(80px,10vw,150px) clamp(24px,8vw,125px);display:grid;grid-template-columns:1fr 1fr;gap:90px;background:var(--ivory);color:#151515}.detail-content .kicker,.city-focus .kicker{color:#84642c}.detail-content>div>p:last-child,.city-focus>div>p:not(.kicker){color:#58534b}.detail-content ul{list-style:none;padding:0;margin:0;border-top:1px solid #cfc5b4}.detail-content li{padding:22px 0;border-bottom:1px solid #cfc5b4;font:500 23px var(--serif)}.related{padding:90px clamp(24px,7vw,110px);background:#0f0f0f}.related>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:40px}.related>div>a{padding:30px;border-right:1px solid var(--line)}.related h3{font:500 28px var(--serif)}.related p{color:var(--muted);font-size:14px}.related b{color:var(--gold2);font-size:13px}.city-focus>img{width:100%;height:520px;object-fit:cover}.mini-services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.mini-services a{display:flex;justify-content:space-between;padding:20px 12px;border-bottom:1px solid var(--line);font:500 23px var(--serif)}.mini-services span{color:var(--gold)}
.site-footer{padding:70px clamp(24px,7vw,110px) 30px;display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:55px;background:#060606;border-top:1px solid var(--line)}.footer-brand{font:600 34px var(--serif);color:var(--gold2);letter-spacing:.12em}.site-footer p{color:#918b82;font-size:14px}.site-footer h2{font:600 19px var(--serif);color:var(--gold2)}.site-footer a{display:block;color:#a9a39a;font-size:14px;margin:9px 0}.copyright{grid-column:1/-1;border-top:1px solid #222;padding-top:24px;margin-top:25px}
.project-intro{background:var(--ivory);color:#151515;padding:clamp(80px,9vw,130px) clamp(24px,7vw,110px);display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.project-intro .kicker{color:#84642c}.project-intro h2,.detail-banner h2{font:500 clamp(42px,5.2vw,76px)/.98 var(--serif);letter-spacing:-.025em;margin:0 0 22px}.project-intro>div:first-child>p:not(.kicker){color:#5a554d;margin-bottom:34px}.project-intro .button{color:#7c5b24}.project-triptych{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:250px 250px;gap:12px}.project-triptych img{width:100%;height:100%;object-fit:cover}.project-triptych img:first-child{grid-row:1/3}.mosaic-preview{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:2px;background:#050505;padding:2px}.gallery-card{position:relative;display:block;border:0;padding:0;background:#111;color:white;overflow:hidden;cursor:zoom-in;text-align:left;min-height:360px}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease}.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.74),transparent 52%)}.gallery-card>span{position:absolute;z-index:1;left:28px;right:28px;bottom:24px;font:500 28px/1.05 var(--serif);color:#fff}.gallery-card:hover img{transform:scale(1.025);filter:brightness(.9)}.gallery-hero em{color:var(--gold2);font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:430px;gap:3px;padding:3px;background:#050505}.gallery-grid .gallery-card{min-height:0}.gallery-grid .gallery-card.featured{grid-column:span 2}.gallery-grid .gallery-card>span{display:flex;flex-direction:column;gap:7px}.gallery-grid .gallery-card b{font:500 30px/1 var(--serif)}.gallery-grid .gallery-card small{font:500 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#d7cfc1}.detail-banner{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:clamp(80px,10vw,150px) clamp(24px,8vw,125px);background:var(--ivory);color:#151515;align-items:center}.detail-banner .kicker{color:#84642c}.detail-banner>p{color:#5c574e;font-size:18px}.lightbox{width:min(1180px,94vw);max-width:none;border:1px solid var(--line);padding:0;background:#080808;color:white;box-shadow:0 35px 90px #000b}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{width:100%;max-height:82vh;object-fit:contain}.lightbox p{margin:0;padding:18px 60px 22px;font:500 25px var(--serif);color:var(--gold2)}.lightbox-close{position:absolute;right:16px;top:14px;z-index:2;width:42px;height:42px;border:1px solid #ffffff55;background:#090909dd;color:#fff;font:300 30px/1 var(--sans);cursor:pointer}.lightbox-close:hover{border-color:var(--gold)}
.stone-feature{display:grid;grid-template-columns:.78fr 1.22fr;background:#0b0b0b;min-height:760px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stone-feature-copy{padding:clamp(80px,9vw,140px) clamp(24px,7vw,110px);align-self:center}.stone-feature h2{font:500 clamp(44px,5.4vw,78px)/.96 var(--serif);letter-spacing:-.025em;margin:0 0 24px}.stone-feature-copy>p:not(.kicker){color:var(--muted);font-size:17px;margin-bottom:34px}.stone-feature-images{display:grid;grid-template-columns:1.15fr .85fr;gap:3px;background:#050505}.stone-feature-images img{width:100%;height:100%;object-fit:cover}.stone-services{background:linear-gradient(145deg,#111 0,#1d1912 52%,#101010 100%)}.stone-services .service-card:hover{background:#292219}.stone-services .service-card>span,.stone-services .service-card b{color:var(--gold2)}
.inspiration-section{padding:clamp(80px,9vw,140px) clamp(24px,6vw,96px);background:linear-gradient(145deg,#111 0,#201a11 58%,#0d0d0d 100%)}.inspiration-section .section-heading{grid-template-columns:1fr 1fr;align-items:start}.inspiration-section .section-heading>p{color:var(--muted);margin:0;max-width:700px}.inspiration-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3px}.inspiration-grid .gallery-card{min-height:520px}.inspiration-grid .gallery-card:first-child{min-height:620px}.inspiration-grid .gallery-card>span{display:flex;flex-direction:column;gap:8px}.inspiration-grid .gallery-card b{font:500 29px/1.05 var(--serif)}.inspiration-grid .gallery-card small{font:500 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#d7cfc1}
@media(max-width:980px){.hero,.detail-hero,.split-showcase{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:540px}.hero-copy{padding-top:90px;padding-bottom:90px}.signature,.area-section,.detail-content,.city-focus,.location-finder,.project-intro,.detail-banner,.stone-feature{grid-template-columns:1fr;gap:45px}.stone-feature{gap:0}.stone-feature-images{min-height:600px}.section-heading,.inspiration-section .section-heading{grid-template-columns:1fr}.service-grid,.areas-grid{grid-template-columns:1fr 1fr}.process ol{grid-template-columns:1fr 1fr}.process li:nth-child(2){border-right:0}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid #cec5b5;padding:22px 0}.stats div:last-child{padding-left:0}.site-header nav{display:none;position:absolute;left:0;right:0;top:88px;background:#090909;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-toggle{display:block}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}.mosaic-preview{grid-template-columns:1fr 1fr}.mosaic-preview .wide{grid-column:1/-1}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-card.featured{grid-column:span 2}.inspiration-grid{grid-template-columns:1fr 1fr}.inspiration-grid .gallery-card:first-child{grid-column:1/-1}}
@media(max-width:640px){.site-header{height:76px;padding:0 18px}.brand-mark{width:46px;height:46px}.brand b{font-size:17px}.site-header nav{top:76px}.hero h1,.page-hero h1,.detail-hero h1,.city-hero h1{font-size:52px}.hero-visual{min-height:420px}.logo-seal{width:120px;height:120px}.service-grid,.areas-grid,.process ol,.process.compact ol,.city-list,.mini-services,.related>div{grid-template-columns:1fr}.service-card{min-height:250px}.process li,.process li+li{border-right:0;border-bottom:1px solid #ccc2b0;padding:24px 0}.split-showcase>img{min-height:440px;object-fit:cover}.city-focus>img{height:360px}.site-footer{grid-template-columns:1fr}.site-footer>div:first-child{grid-column:auto}.related>div>a{border-right:0;border-bottom:1px solid var(--line)}.project-triptych{grid-template-columns:1fr;grid-template-rows:repeat(3,280px)}.project-triptych img:first-child{grid-row:auto}.mosaic-preview,.gallery-grid,.inspiration-grid{grid-template-columns:1fr}.mosaic-preview .wide,.gallery-grid .gallery-card.featured,.inspiration-grid .gallery-card:first-child{grid-column:auto}.gallery-card{min-height:340px}.gallery-grid{grid-auto-rows:390px}.inspiration-grid .gallery-card,.inspiration-grid .gallery-card:first-child{min-height:420px}.detail-banner{gap:10px}.stone-feature-images{grid-template-columns:1fr;min-height:auto}.stone-feature-images img{height:380px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.site-header{padding-left:clamp(24px,3vw,54px);padding-right:clamp(24px,3vw,54px)}
.site-header nav{gap:clamp(14px,1.6vw,26px)}
.site-header nav a{font-size:13px;white-space:nowrap}
.brand-wordmark{display:block;padding-left:16px;border-left:2px solid var(--gold)}
.brand-wordmark b{font-size:24px;letter-spacing:.12em}
.brand-wordmark small{letter-spacing:.48em}
.nav-ai{border:1px solid var(--gold);padding:10px 16px;color:#111!important;background:linear-gradient(110deg,#b78a42,#f0dca8,#a87936);font-weight:700}
.nav-ai:hover{filter:brightness(1.08)}
.nav-cta{border:0;border-bottom:1px solid var(--gold);padding:10px 0}
.brand-mark img{object-position:center 42%;transform:scale(1.12)}
.ai-guide{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding:clamp(80px,9vw,135px) clamp(24px,7vw,110px);background:radial-gradient(circle at 15% 20%,#2b2317 0,#111 42%,#080808 80%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ai-guide h2{font:500 clamp(44px,5.2vw,76px)/.98 var(--serif);letter-spacing:-.025em;margin:0 0 22px}
.ai-guide>div>p:not(.kicker){color:var(--muted);font-size:17px;max-width:720px;margin-bottom:32px}
.ai-guide ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ai-guide li{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.ai-guide li span{color:var(--gold2);font:500 14px var(--serif)}
.ai-guide li b{font:500 25px var(--serif)}
@media(max-width:980px){.ai-guide{grid-template-columns:1fr;gap:45px}.site-header nav a{font-size:14px}.nav-ai,.nav-cta{padding:12px 16px;text-align:center;border:1px solid var(--gold)}}
@media(max-width:640px){.brand-wordmark{padding-left:12px}.brand-wordmark b{font-size:20px}.brand-wordmark small{letter-spacing:.38em}}
.service-showcase{display:grid;grid-template-columns:1.2fr .8fr;min-height:660px;background:#0d0d0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-showcase.reverse{grid-template-columns:.9fr 1.1fr}
.service-showcase.reverse img{order:2}
.service-showcase img{width:100%;height:100%;min-height:660px;object-fit:cover}
.service-showcase>div{align-self:center;padding:clamp(60px,7vw,110px)}
.service-showcase h2{font:500 clamp(42px,5vw,72px)/.98 var(--serif);letter-spacing:-.025em;margin:0 0 22px}
.service-showcase>div>p:not(.kicker){color:var(--muted);font-size:17px;max-width:560px}
@media(max-width:900px){.service-showcase,.service-showcase.reverse{grid-template-columns:1fr;min-height:0}.service-showcase.reverse img{order:0}.service-showcase img{min-height:480px}.service-showcase>div{padding:64px 24px}}
@media(max-width:640px){.service-showcase img{min-height:360px}}
.button,.button.gold,.button.outline,.project-intro .button{position:relative;overflow:hidden;border:1px solid #e5c77f;border-radius:999px;color:#110e08;background:linear-gradient(115deg,#9f6d28 0%,#d5aa58 32%,#f2dda5 52%,#bd8534 78%,#8d5e20 100%);box-shadow:0 8px 24px rgba(178,126,44,.2),inset 0 1px 0 rgba(255,255,255,.48);font-weight:700;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.button:hover,.button.gold:hover,.button.outline:hover,.project-intro .button:hover{color:#0d0b07;background:linear-gradient(115deg,#ad7830 0%,#e0b865 32%,#f8e8ba 52%,#c9913e 78%,#986624 100%);filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 12px 30px rgba(190,139,55,.3),inset 0 1px 0 rgba(255,255,255,.58)}
.button:focus-visible,.nav-ai:focus-visible,.nav-cta:focus-visible{outline:3px solid rgba(240,211,143,.42);outline-offset:3px}
.nav-ai,.nav-cta{border:1px solid #e5c77f;border-radius:999px;padding:10px 17px;color:#110e08!important;background:linear-gradient(115deg,#9f6d28 0%,#d5aa58 34%,#f2dda5 54%,#b77e2f 100%);box-shadow:0 7px 20px rgba(178,126,44,.18),inset 0 1px 0 rgba(255,255,255,.45);font-weight:700;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.nav-ai:hover,.nav-cta:hover{color:#0d0b07!important;filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 24px rgba(190,139,55,.28),inset 0 1px 0 rgba(255,255,255,.55)}
.city-focus.city-focus-text{grid-template-columns:minmax(0,860px);justify-content:center;text-align:center;background:linear-gradient(135deg,#f4f0e8 0%,#ece2d1 50%,#f7f4ed 100%)}
.city-focus.city-focus-text>div{max-width:860px;margin:auto}
.image-zoom-trigger{position:relative;display:block;width:100%;height:100%;min-height:0;border:0;padding:0;overflow:hidden;background:#080808;color:#fff;cursor:zoom-in;text-align:left}
.image-zoom-trigger img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.image-zoom-trigger:hover img{transform:scale(1.018);filter:brightness(.94)}
.image-zoom-trigger:focus-visible{outline:3px solid var(--gold2);outline-offset:-3px}
.image-zoom-icon{position:absolute;z-index:3;right:18px;bottom:18px;width:46px;height:46px;border:1px solid rgba(236,204,137,.72);border-radius:50%;background:rgba(8,8,8,.78);box-shadow:0 9px 24px rgba(0,0,0,.34);backdrop-filter:blur(8px);transition:transform .22s ease,background .22s ease}
.image-zoom-icon:before{content:'';position:absolute;width:14px;height:14px;border:2px solid #f0d79c;border-radius:50%;left:13px;top:11px}
.image-zoom-icon:after{content:'';position:absolute;width:10px;height:2px;background:#f0d79c;transform:rotate(45deg);left:25px;top:27px;border-radius:2px}
.image-zoom-trigger:hover .image-zoom-icon{transform:scale(1.06);background:rgba(151,103,31,.92)}
.hero-visual>.image-zoom-trigger{min-height:640px}
.hero-visual:after{pointer-events:none}
.stone-feature-images .image-zoom-trigger,.project-triptych .image-zoom-trigger{min-height:0}
.project-triptych>.image-zoom-trigger:first-child{grid-row:1/3}
.detail-hero>.image-zoom-trigger{min-height:690px;max-height:760px}
.service-showcase>.image-zoom-trigger{min-height:660px}
.service-showcase.reverse>.image-zoom-trigger{order:2}
.image-viewer{width:min(1420px,96vw);height:min(940px,94vh);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid rgba(224,193,129,.5);border-radius:18px;background:#080808;color:#fff;box-shadow:0 40px 110px rgba(0,0,0,.8);overflow:hidden}
.image-viewer::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(6px)}
.image-viewer-bar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 20px;border-bottom:1px solid rgba(224,193,129,.22);background:rgba(12,12,11,.96)}
.image-viewer-controls{display:flex;align-items:center;gap:8px}
.image-viewer button{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid rgba(224,193,129,.34);border-radius:999px;background:#171511;color:#f1ddb1;font:600 16px var(--sans);cursor:pointer}
.image-viewer button:hover{border-color:#e0c181;background:#292218;color:#fff}
.image-viewer [data-zoom-reset]{min-width:72px;font-size:12px}
.image-viewer-close{font-size:28px!important;font-weight:300!important}
.image-viewer-stage{height:calc(100% - 118px);overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at center,#211d17 0,#070707 70%);scrollbar-color:#b5853c #141414}
.image-viewer-stage img{display:block;width:100%;height:auto;max-width:none;transform-origin:center top;transition:width .18s ease}
.image-viewer-caption{height:50px;margin:0;padding:13px 20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8c7a4;background:#0d0c0a;font-size:13px;text-align:center}
@media(max-width:980px){.hero-visual>.image-zoom-trigger{min-height:540px}.detail-hero>.image-zoom-trigger{min-height:500px}.service-showcase>.image-zoom-trigger{min-height:480px}.service-showcase.reverse>.image-zoom-trigger{order:0}.project-triptych>.image-zoom-trigger:first-child{grid-row:1/3}}
@media(max-width:640px){.hero-visual>.image-zoom-trigger{min-height:420px}.detail-hero>.image-zoom-trigger{min-height:420px}.service-showcase>.image-zoom-trigger{min-height:360px}.project-triptych>.image-zoom-trigger:first-child{grid-row:auto}.image-zoom-icon{width:42px;height:42px;right:12px;bottom:12px}.image-zoom-icon:before{left:11px;top:9px}.image-zoom-icon:after{left:23px;top:25px}.image-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.image-viewer-bar{height:62px;padding-left:10px}.image-viewer-stage{height:calc(100% - 108px)}.image-viewer-caption{height:46px;padding:11px 14px;font-size:12px}}

/* Unified animated gold controls */
@keyframes gold-flow{0%,16%{background-position:100% 50%}58%,100%{background-position:0% 50%}}
.button,.button.gold,.button.outline,.project-intro .button,.site-header nav>a,.nav-services-toggle,.nav-ai,.nav-cta,.menu-toggle{
  position:relative;
  overflow:hidden;
  border:1px solid #efd795;
  border-radius:999px;
  color:#100c06!important;
  background:linear-gradient(112deg,#865318 0%,#c68a2d 17%,#f6e2a8 36%,#bf8128 54%,#f1d186 72%,#8b581d 100%);
  background-size:260% 100%;
  box-shadow:0 8px 24px rgba(190,137,48,.24),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(91,54,11,.34);
  animation:gold-flow 5.2s ease-in-out infinite;
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;
}
.site-header nav>a,.nav-services-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;font:700 13px var(--sans);white-space:nowrap;text-align:center;cursor:pointer}
.site-header nav>a:nth-of-type(2){animation-delay:-.35s}.site-header nav>a:nth-of-type(3){animation-delay:-.7s}.site-header nav>a:nth-of-type(4){animation-delay:-1.05s}
.button:hover,.button.gold:hover,.button.outline:hover,.project-intro .button:hover,.site-header nav>a:hover,.nav-services-toggle:hover,.nav-ai:hover,.nav-cta:hover,.menu-toggle:hover{
  color:#090704!important;
  filter:brightness(1.09) saturate(1.06);
  transform:translateY(-2px);
  box-shadow:0 13px 32px rgba(208,153,57,.36),inset 0 1px 0 rgba(255,255,255,.72),0 0 18px rgba(230,185,99,.18);
}
.site-header nav>a:focus-visible,.nav-services-toggle:focus-visible,.menu-toggle:focus-visible{outline:3px solid rgba(240,211,143,.5);outline-offset:3px}
.menu-toggle{font-weight:700;min-width:84px}
.nav-services{position:static}
.nav-services-toggle i{width:8px;height:8px;margin-left:10px;border-right:2px solid #171006;border-bottom:2px solid #171006;transform:rotate(45deg) translateY(-2px);transition:transform .22s ease}
.nav-services.open .nav-services-toggle i{transform:rotate(225deg) translate(-1px,-1px)}
.nav-services-panel{position:absolute;z-index:30;top:calc(100% + 1px);right:clamp(24px,3vw,54px);width:min(820px,calc(100vw - 48px));display:grid;grid-template-columns:1fr 1fr;gap:0 34px;padding:30px 32px 24px;border:1px solid rgba(225,193,126,.48);border-radius:0 0 22px 22px;background:linear-gradient(145deg,rgba(20,18,14,.99),rgba(7,7,7,.99));box-shadow:0 28px 70px rgba(0,0,0,.64);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.nav-services.open .nav-services-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nav-services-group p{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--gold2);font:600 19px var(--serif);letter-spacing:.06em}
.site-header .nav-services-panel a{display:flex;align-items:center;min-height:0;padding:7px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#ddd6ca!important;font-size:13px;font-weight:500;text-align:left;animation:none;transform:none;transition:color .18s ease,padding-left .18s ease}
.site-header .nav-services-panel a:hover{color:var(--gold2)!important;padding-left:5px;filter:none;box-shadow:none;transform:none}
.nav-services-all{grid-column:1/-1;justify-content:space-between!important;margin-top:20px;padding:15px 18px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:rgba(200,164,102,.08)!important;color:var(--gold2)!important;font-weight:700!important}
.nav-services-all span{font-size:20px}
@media(max-width:1200px) and (min-width:981px){.site-header{padding-left:24px;padding-right:24px}.site-header nav{gap:8px}.site-header nav>a,.nav-services-toggle{padding:8px 11px;font-size:11px}.brand-wordmark b{font-size:21px}}
@media(max-width:980px){.site-header nav{gap:14px;padding:24px 40px 34px;max-height:calc(100vh - 76px);overflow-y:auto}.site-header nav>a,.nav-services,.nav-services-toggle,.nav-ai,.nav-cta{width:100%}.site-header nav>a,.nav-services-toggle,.nav-ai,.nav-cta{min-height:56px;padding:12px 18px;font-size:15px}.nav-services{position:relative}.nav-services-panel{position:static;width:100%;display:none;grid-template-columns:1fr;margin-top:10px;padding:22px;border-radius:16px;opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-services.open .nav-services-panel{display:grid}.nav-services-group+.nav-services-group{margin-top:22px}.nav-services-all{grid-column:auto}.menu-toggle{display:block;padding:10px 17px}}
@media(prefers-reduced-motion:reduce){.button,.button.gold,.button.outline,.project-intro .button,.site-header nav>a,.nav-services-toggle,.nav-ai,.nav-cta,.menu-toggle{animation:none;background-position:50% 50%}}

/* Interactive project planner */
.project-planner{display:grid;grid-template-columns:minmax(0,.84fr) minmax(430px,1.16fr);gap:clamp(48px,8vw,120px);padding:clamp(82px,10vw,150px) clamp(24px,8vw,125px);background:radial-gradient(circle at 15% 20%,#302615 0,#11100d 38%,#080808 78%);border-top:1px solid var(--line)}
.project-planner-intro{align-self:start;position:sticky;top:44px}
.project-planner h2{max-width:680px;margin:0 0 26px;font:500 clamp(46px,5.4vw,78px)/.96 var(--serif);letter-spacing:-.03em}
.project-planner-intro>p:not(.kicker){max-width:610px;margin:0;color:var(--muted);font-size:17px}
.planner-privacy{display:flex;gap:12px;align-items:flex-start;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);color:#918b80;font-size:13px}
.planner-privacy span{color:var(--gold2);font-size:10px;margin-top:5px}.planner-privacy p{margin:0}
.planner-form{display:grid;gap:20px;padding:clamp(26px,4vw,52px);border:1px solid rgba(224,193,129,.34);border-radius:24px;background:linear-gradient(145deg,rgba(30,27,21,.95),rgba(12,12,10,.98));box-shadow:0 30px 80px rgba(0,0,0,.32)}
.planner-form label{display:grid;gap:10px}.planner-form label>span{color:#d8cbb4;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.planner-form select{width:100%;min-height:58px;padding:0 46px 0 18px;border:1px solid #4a4236;border-radius:14px;color:#f2eadc;background:#14120f;font:500 16px var(--sans);outline:none}
.planner-form select:focus{border-color:var(--gold2);box-shadow:0 0 0 4px rgba(212,174,100,.13)}
.planner-submit{width:100%;margin-top:10px;gap:14px}.planner-submit span{font-size:20px}
.planner-result{margin-top:10px;padding:28px;border:1px solid rgba(224,193,129,.4);border-radius:18px;background:rgba(206,164,86,.08)}
.planner-result .kicker{margin-bottom:12px}.planner-result h3{margin:0 0 10px;color:#f3e5c7;font:600 clamp(30px,3.4vw,46px)/1.05 var(--serif)}
.planner-result>p:not(.kicker){margin:0;color:#bdb5a8}.planner-result>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.planner-result .button{min-height:48px;font-size:11px}.planner-result .planner-ai{color:#f2ddb0!important;background:transparent;animation:none;box-shadow:none}.planner-result .planner-ai:hover{color:#100c06!important;background:#d7ad62}
@media(max-width:980px){.project-planner{grid-template-columns:1fr}.project-planner-intro{position:static}.planner-form{max-width:760px}}
@media(max-width:640px){.project-planner{gap:38px}.project-planner h2{font-size:48px}.planner-form{padding:24px 18px;border-radius:18px}.planner-result{padding:23px 18px}.planner-result>div{display:grid}.planner-result .button{width:100%;padding:0 18px;text-align:center}}
