:root{--gold:#C8A97A;--bg:#0D0D0C;--panel:#151412;--line:#2B2925;--text:#F3EFE8;--muted:#A8A39A;--pad:clamp(20px,4vw,64px);--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;font-size:18px;line-height:1.6;font-weight:300;overflow-x:hidden}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#0D0D0C;padding:10px 16px;z-index:200}
.skip:focus{left:8px}
.wrap{max-width:1360px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-size:13px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase}
.serif{font-family:var(--serif)}
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:background .2s,color .2s,border-color .2s;min-height:48px}
.btn-gold{background:var(--gold);color:#0D0D0C;padding:0 32px;font-weight:600}
.btn-gold:hover{background:#DABD8E}
.btn-ghost{border:1px solid #CFC9BE;padding:0 28px}
.btn-ghost:hover{background:var(--text);color:var(--bg);border-color:var(--text)}

/* HERO + HEADER */
.hero{position:relative;min-height:860px;min-height:max(760px,100svh);display:flex;flex-direction:column}
.hero-slides{position:absolute;inset:0;overflow:hidden;background:#0D0D0C}
.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1.4s ease,transform 9s ease-out}
.hero-slides img.on{opacity:1;transform:scale(1.06)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.72) 0%,rgba(13,13,12,.38) 28%,rgba(13,13,12,.72) 56%,rgba(13,13,12,.97) 100%)}
.hero h1,.phero h1,.hero-cta p,.phero .lead,.hero .eyebrow,.phero .eyebrow{text-shadow:0 2px 18px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.5)}
header{position:relative;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:0 32px}
.logo{display:block;padding:24px 0;line-height:0}
.logo img{display:block;height:46px;width:auto}
.nav{display:flex;align-items:stretch;gap:0 clamp(18px,2.4vw,38px);font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.nav a,.nav button{padding:34px 0 30px;border-bottom:1px solid transparent;background:none;border-top:0;border-left:0;border-right:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}
.nav a:hover,.nav button:hover{color:var(--gold)}
.nav button[aria-expanded="true"]{border-bottom-color:var(--gold)}
.bar .quote{border:1px solid #CFC9BE;padding:12px 24px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.bar .quote:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.burger{display:none;width:48px;height:48px;background:none;border:1px solid rgba(243,239,232,.45);color:var(--text);cursor:pointer;padding:0;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:currentColor;transition:transform .25s,opacity .2s,top .25s}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:24px}.burger span:nth-child(3){top:30px}
.burger[aria-expanded="true"] span:nth-child(1){top:24px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:24px;transform:rotate(-45deg)}

/* mega menu (desktop) */
.mega{display:none;position:absolute;top:100%;left:0;right:0;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--gold);box-shadow:0 20px 40px rgba(0,0,0,.3)}
.mega.open{display:block}
.mega-in{max-width:1360px;margin:0 auto;padding:44px var(--pad) 52px;display:flex;flex-wrap:wrap;gap:40px 56px}
.mega-col{flex:1 1 200px;min-width:0}
.mega-pic{display:block;position:relative;overflow:hidden;background:#1B1917}
.mega-col .mega-pic{aspect-ratio:16/9;margin-bottom:20px}
.mega-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.mega-pic:hover img{transform:scale(1.06)}
.mega-h{font-size:12px;letter-spacing:.24em;color:var(--gold);margin-bottom:14px;text-transform:uppercase}
.mega-link{display:block;padding:8px 0;font-size:16px;color:var(--text)}
.mega-link:hover{color:var(--gold);padding-left:6px;transition:padding .15s}
.mega-note{font-size:15px;color:var(--muted);max-width:300px;margin-top:6px}
.mega-link.lead{font-family:var(--serif);font-size:24px;font-weight:500}
.mega-feat{flex:1 1 320px;min-width:0;min-height:340px;display:flex;align-items:flex-end}
.mega-feat img{position:absolute;inset:0;object-position:50% 40%}
.mega-feat .sh{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,13,12,.92) 0%,rgba(13,13,12,.2) 55%,transparent 100%)}
.mega-feat .tx{position:relative;padding:24px;display:flex;flex-direction:column;gap:6px}
.mega-feat .tx b{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.1}

/* mobile drawer */
.drawer{display:none}

/* hero content */
.hero-body{position:relative;flex:1;display:flex;align-items:flex-end}
.hero-body .wrap{width:100%;padding-bottom:28px}
.hero h1{max-width:980px;font-family:var(--serif);font-weight:400;font-size:clamp(44px,6.4vw,100px);line-height:1;letter-spacing:-.01em}
.hero-cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px}
.hero-cta p{max-width:520px;font-size:19px;color:#DDD8CE}
.hero-cta .btns{display:flex;flex-wrap:wrap;gap:16px}
.ctrl{margin-top:56px;border-top:1px solid rgba(243,239,232,.25);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 32px}
.ctrl .cap{padding:14px 0;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#DDD8CE}
.ctrl .cap b{color:var(--gold);font-weight:300}
.dots{display:flex;align-items:center;gap:6px;flex:1 1 200px;max-width:360px}
.dots button{flex:1;background:none;border:0;padding:20px 0;cursor:pointer}
.dots button i{display:block;height:2px;background:rgba(243,239,232,.35);transition:background .4s}
.dots button[aria-current="true"] i{background:var(--gold)}
.arrows{display:flex;gap:8px;padding:6px 0}
.arrows button{width:44px;height:44px;border:1px solid rgba(243,239,232,.45);background:none;color:var(--text);font:inherit;font-size:18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.arrows button:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.arrows button.pp{font-size:11px}

/* sections */
.creds{background:linear-gradient(180deg,#171513,#100F0E);border-top:1px solid #34302A;border-bottom:1px solid var(--line)}
.creds .wrap{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.creds .gold{color:var(--gold)}
.statement{position:relative;overflow:hidden;padding:clamp(72px,9vw,150px) var(--pad)}
.statement .grid{position:absolute;inset:0;background-image:radial-gradient(60% 90% at 50% 0%,rgba(200,169,122,.16),transparent 70%),linear-gradient(rgba(243,239,232,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(243,239,232,.04) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.6) 55%,transparent);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.6) 55%,transparent)}
.statement .in{position:relative;max-width:1100px;margin:0 auto;text-align:center}
.statement h2{margin-top:28px;font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,68px);line-height:1.12;letter-spacing:-.01em}
.statement h2 em{color:var(--gold);font-weight:300}
.statement p.sub{margin:36px auto 0;max-width:640px;color:var(--muted)}
.services{padding:0 var(--pad)}
.services .grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.svc{position:relative;display:flex;align-items:flex-end;min-height:560px;overflow:hidden;background:var(--panel);box-shadow:0 18px 36px -24px rgba(0,0,0,.6),inset 0 0 0 1px rgba(243,239,232,.08)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.svc:hover img{transform:scale(1.05)}
.svc .sh{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,13,12,.94) 0%,rgba(13,13,12,.5) 42%,rgba(13,13,12,.05) 75%)}
.svc .tx{position:relative;padding:36px;display:flex;flex-direction:column;gap:12px}
.svc .num{font-size:12px;letter-spacing:.28em;color:var(--gold)}
.svc h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,44px);line-height:1.05}
.svc .d{font-size:16px;color:#DDD8CE;max-width:380px}
.svc .more{margin-top:8px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.work{margin-top:clamp(72px,9vw,150px);background:linear-gradient(180deg,#0D0D0C,#171513 18%,#171513 82%,#0D0D0C);padding:clamp(56px,7vw,110px) var(--pad)}
.work .row{max-width:1360px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:48px 80px}
.work .pic{flex:1 1 520px;min-width:0;position:relative}
.work .pic .frame{position:absolute;inset:18px -14px -18px 14px;border:1px solid rgba(200,169,122,.55)}
.work .pic .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--panel);box-shadow:0 20px 40px -26px rgba(0,0,0,.6)}
.work .pic img{display:block;width:100%;height:100%;object-fit:cover}
.work .txt{flex:1 1 360px;min-width:0}
.work h2{margin-top:24px;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,58px);line-height:1.05}
.work .txt>p.d{margin-top:24px;max-width:460px;color:var(--muted)}
.facts{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px}
.facts small{display:block;font-size:12px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.facts span{display:block;margin-top:4px;font-size:16px}
.link-u{display:inline-block;margin-top:36px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--gold);padding-bottom:6px}
.process{background:radial-gradient(70% 45% at 50% 85%,rgba(200,169,122,.07),transparent 100%);padding:clamp(40px,5vw,80px) var(--pad) clamp(56px,7vw,110px)}
.process .in{max-width:1360px;margin:0 auto}
.process h2{max-width:760px;font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,64px);line-height:1.08}
.steps{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.step{border-top:1px solid var(--gold);padding:28px 28px 32px;background:linear-gradient(180deg,rgba(243,239,232,.06),rgba(243,239,232,.012));box-shadow:inset 1px 0 0 rgba(243,239,232,.05),inset -1px 0 0 rgba(243,239,232,.05)}
.step .n{font-family:var(--serif);font-size:48px;line-height:1;color:var(--gold);font-weight:300}
.step h3{margin:20px 0 10px;font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.step p{font-size:16px;color:var(--muted)}
.reviews{padding:clamp(72px,9vw,150px) var(--pad) 0}
.reviews .box{max-width:1360px;margin:0 auto;background:radial-gradient(60% 120% at 0% 0%,rgba(200,169,122,.12),transparent 60%),linear-gradient(135deg,#1D1A17,#121110 65%);border:1px solid #34302A;box-shadow:0 20px 40px -28px rgba(0,0,0,.6),inset 0 1px 0 rgba(243,239,232,.07);padding:clamp(32px,5vw,72px);display:flex;flex-wrap:wrap;align-items:center;gap:40px 64px}
.reviews .l{flex:1 1 320px;min-width:0}
.reviews h2{margin-top:20px;font-family:var(--serif);font-weight:300;font-size:clamp(52px,7vw,108px);line-height:.95}
.reviews .l p.s{margin-top:20px;color:var(--muted);max-width:360px}
.reviews .r{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:20px}
.placeholder{border:1px dashed #5A564D;padding:28px;font-size:14px;letter-spacing:.08em;color:var(--muted)}
.areas{margin-top:clamp(72px,9vw,150px);background:radial-gradient(55% 75% at 50% 50%,rgba(200,169,122,.09),transparent 70%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(64px,8vw,120px) var(--pad);text-align:center}
.areas h2{margin:24px auto 0;max-width:820px;font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.1}
.cities{margin-top:48px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px;font-family:var(--serif);font-size:clamp(24px,2.6vw,38px);font-weight:400}

.faq{padding:clamp(72px,9vw,150px) var(--pad) 0}
.faq .in{max-width:1100px;margin:0 auto}
.faq h2{margin-bottom:48px;font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,64px);line-height:1.08}
.faq .list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:28px 0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);font-weight:400;line-height:1.2}
summary::-webkit-details-marker{display:none}
summary .plus{font-family:'DM Sans',sans-serif;font-size:32px;line-height:1;font-weight:200;color:var(--gold);transition:transform .2s;flex:none}
details[open] .plus{transform:rotate(45deg)}
details p{margin-top:18px;max-width:760px;color:var(--muted)}
.contact{margin-top:clamp(72px,9vw,150px);position:relative;overflow:hidden}
.contact>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.contact .sh{position:absolute;inset:0;background:radial-gradient(70% 90% at 12% 100%,rgba(200,169,122,.22),transparent 65%),linear-gradient(180deg,rgba(13,13,12,.9),rgba(13,13,12,.8))}
.contact .in{position:relative;max-width:1360px;margin:0 auto;padding:clamp(64px,8vw,128px) var(--pad);display:flex;flex-wrap:wrap;gap:56px 96px}
.contact .l{flex:1 1 380px;min-width:0}
.contact h2{margin-top:24px;font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.2vw,80px);line-height:1.02}
.contact .l>p{margin-top:28px;max-width:440px;font-size:19px;color:#DDD8CE}
.reach{margin-top:44px;display:flex;flex-direction:column;gap:6px;font-family:var(--serif);font-size:30px;font-weight:400}
.reach .mail{font-family:'DM Sans',sans-serif;font-size:18px;margin-top:8px;word-break:break-word}
.reach .addr{margin-top:20px;font-family:'DM Sans',sans-serif;font-size:17px;color:#DDD8CE}
form{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.f{display:flex;flex-direction:column;gap:8px}
.f-row{display:flex;flex-wrap:wrap;gap:22px}
.f-row .f{flex:1 1 200px}
label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
input,select,textarea{width:100%;min-height:52px;padding:0 16px;background:rgba(13,13,12,.6);border:1px solid #6E695E;color:var(--text);font:inherit;font-size:17px;border-radius:0}
select{background:#151412;padding:0 12px}
textarea{padding:12px 16px}
form button{min-height:56px;background:var(--gold);color:#0D0D0C;border:0;font:inherit;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .2s}
form button:hover{background:#DABD8E}
.thanks{display:none;border:1px solid var(--gold);padding:18px;color:var(--text);font-size:16px}
footer{background:#080807;border-top:1px solid var(--line)}
.foot{max-width:1360px;margin:0 auto;padding:64px var(--pad) 32px;display:flex;flex-wrap:wrap;gap:40px 64px;justify-content:space-between}
.foot .brand{flex:1 1 300px;min-width:0;max-width:420px}
.foot .brand img{display:block;height:42px;width:auto}
.foot .brand p{margin-top:16px;font-size:16px;color:var(--muted)}
.foot .soc{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.foot nav{flex:0 1 220px}
.foot h2{margin-bottom:16px;font-size:12px;letter-spacing:.24em;font-weight:500;color:var(--gold)}
.foot .col{display:flex;flex-direction:column;gap:10px;font-size:16px}
.foot a:hover{color:var(--gold)}
.foot .ct{flex:0 1 280px;font-size:16px}
.legal{max-width:1360px;margin:0 auto;padding:24px var(--pad) 40px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em;color:var(--muted)}
.sticky{display:none}

/* ============ TABLET / MOBILE ============ */
@media (max-width:1023px){
  .nav,.bar .quote,.mega{display:none!important}
  .burger{display:block}
  .logo{padding:18px 0}
  .logo img{height:38px}
  .drawer{display:block;position:fixed;inset:0;z-index:100;background:#0D0D0C;transform:translateY(-100%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .drawer.open{transform:none;visibility:visible;transition:transform .35s ease}
  .drawer-top{display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line)}
  .drawer-top .burger{display:block}
  .dnav{padding:8px var(--pad) 120px}
  .dnav>a,.dnav>details>summary{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.1}
  .dnav>details{padding:0;border:0}
  .dnav>details>summary{font-size:32px}
  .dnav>details[open]>summary{border-bottom-color:var(--gold)}
  .dnav .sub{padding:8px 0 16px;border-bottom:1px solid var(--line)}
  .dnav .sub h3{margin:18px 0 4px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.24em;font-weight:500;color:var(--gold);text-transform:uppercase}
  .dnav .sub a{display:block;padding:11px 0;font-size:17px;color:var(--text)}
  .dnav .sub a.lead{font-family:var(--serif);font-size:22px;font-weight:500}
  .dnav .sub .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
  .dnav .sub .thumbs a{padding:0;position:relative;aspect-ratio:1;overflow:hidden}
  .dnav .sub .thumbs img{width:100%;height:100%;object-fit:cover;display:block}
  .dnav .cta{display:flex;flex-direction:column;gap:12px;margin-top:28px}
  .dnav .cta .btn{width:100%}
  .dnav .tel{margin-top:22px;font-family:var(--serif);font-size:28px;display:block}
  .sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(13,13,12,.96);border-top:1px solid var(--line);padding:10px var(--pad);padding-bottom:calc(10px + env(safe-area-inset-bottom));gap:10px}
  .sticky a{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
  .sticky .c{border:1px solid #CFC9BE;font-weight:500}
  .sticky .q{background:var(--gold);color:#0D0D0C}
  footer{padding-bottom:70px}
}
@media (max-width:700px){
  body{font-size:17px}
  .hero{min-height:max(640px,100svh)}
  .hero h1{font-size:clamp(38px,11.2vw,52px);line-height:1.02}
  .hero .eyebrow{font-size:11px;letter-spacing:.22em}
  .hero-body .wrap{padding-bottom:88px}
  .hero-cta{margin-top:26px;gap:22px}
  .hero-cta p{font-size:17px}
  .hero-cta .btns{width:100%;flex-direction:column;gap:12px}
  .hero-cta .btns .btn{width:100%;min-height:52px}
  .hero-cta .btns .btn-ghost{display:none}
  .ctrl{margin-top:28px}
  .ctrl .cap{width:100%;font-size:11px;letter-spacing:.16em;padding:12px 0 0}
  .dots{order:2;max-width:none}
  .arrows{order:3}
  .arrows .pp{display:none}
  .creds .wrap{flex-direction:column;gap:10px;font-size:12px;letter-spacing:.16em;text-align:center;align-items:center}
  .statement{padding:72px var(--pad)}
  .statement .grid{background-size:auto,48px 48px,48px 48px}
  .services .grid{grid-template-columns:1fr;gap:16px}
  .svc{min-height:440px}
  .svc .tx{padding:26px 24px}
  .work .pic .frame{inset:12px -8px -12px 8px}
  .work .pic{padding-right:8px;padding-bottom:12px}
  .steps{margin-top:36px;gap:16px}
  .step{padding:22px 22px 26px}
  .step .n{font-size:40px}
  .reviews .box{padding:32px 24px}
  .areas{padding:64px var(--pad)}
  .cities{gap:6px 28px;margin-top:32px}
  details{padding:22px 0}
  summary .plus{font-size:28px}
  .contact .in{gap:44px}
  .reach{font-size:28px}
  .f-row{gap:22px}
  input,select,textarea{font-size:16px}
  .foot{padding-top:48px;gap:36px}
  .foot nav,.foot .ct{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.hero-slides img.on{transform:none}html{scroll-behavior:auto}}

/* ============ INNER PAGES ============ */
.phero{position:relative;min-height:clamp(440px,60vh,600px);display:flex;flex-direction:column}
.phero>.bg{position:absolute;inset:0;overflow:hidden;background:#0D0D0C}
.phero>.bg img{width:100%;height:100%;object-fit:cover;display:block}
.phero-body{position:relative;flex:1;display:flex;align-items:flex-end}
.phero-body .wrap{width:100%;padding-bottom:clamp(36px,5vw,72px)}
.crumbs{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#DDD8CE;margin-bottom:22px}
.crumbs a:hover{color:var(--gold)}
.crumbs span{opacity:.5;margin:0 8px}
.phero h1{max-width:900px;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.6vw,84px);line-height:1.02;letter-spacing:-.01em}
.phero .lead{margin-top:22px;max-width:640px;font-size:clamp(17px,1.5vw,20px);color:#DDD8CE}
.sec{padding:clamp(64px,8vw,130px) var(--pad)}
.sec.alt{background:linear-gradient(180deg,#0D0D0C,#171513 14%,#171513 86%,#0D0D0C)}
.sec>.in{max-width:1360px;margin:0 auto}
.sec-h{max-width:780px;margin-bottom:clamp(36px,4vw,64px)}
.sec-h h2,.h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,58px);line-height:1.08;margin-top:18px}
.sec-h p.d{margin-top:20px;color:var(--muted);max-width:640px}
.split{display:flex;flex-wrap:wrap;align-items:center;gap:40px clamp(40px,6vw,96px);scroll-margin-top:24px}
.split+.split{margin-top:clamp(56px,7vw,110px)}
.split .pic{flex:1 1 440px;min-width:0;position:relative}
.split .pic .ph{aspect-ratio:4/3;overflow:hidden;background:var(--panel);box-shadow:0 18px 36px -24px rgba(0,0,0,.6),inset 0 0 0 1px rgba(243,239,232,.08)}
.split .pic img{display:block;width:100%;height:100%;object-fit:cover}
.split .pic .frame{position:absolute;inset:16px -12px -16px 12px;border:1px solid rgba(200,169,122,.45)}
.split .pic .ph{position:relative}
.split .txt{flex:1 1 360px;min-width:0}
.split.rev{flex-direction:row-reverse}
.split .txt h2,.split .txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.06;margin-top:16px}
.split .txt p{margin-top:20px;color:var(--muted);max-width:520px}
.split .txt p.first{color:#DDD8CE}
.checks{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.checks li{display:flex;gap:12px;align-items:baseline}
.checks li:before{content:"";flex:none;width:6px;height:6px;background:var(--gold);transform:translateY(-3px)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.card{border-top:1px solid var(--gold);padding:28px 28px 32px;background:linear-gradient(180deg,rgba(243,239,232,.06),rgba(243,239,232,.012));box-shadow:inset 1px 0 0 rgba(243,239,232,.05),inset -1px 0 0 rgba(243,239,232,.05);scroll-margin-top:24px}
.card .n{font-family:var(--serif);font-size:40px;line-height:1;color:var(--gold);font-weight:300}
.card h3{margin:16px 0 10px;font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.1}
.card p{font-size:16px;color:var(--muted)}
.card ul{margin:14px 0 0;padding:0;list-style:none;font-size:15px;color:#DDD8CE;display:grid;gap:6px}
.card .go{display:inline-block;margin-top:20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--gold);padding-bottom:4px}
a.card:hover h3{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid #4A463F;padding:10px 18px;font-size:14px;letter-spacing:.08em;color:#DDD8CE}
button.chip{background:none;font:inherit;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--text)}
button.chip:hover,button.chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
.band{margin:0 var(--pad);}
.cta-band{position:relative;overflow:hidden;max-width:1360px;margin:0 auto;border:1px solid #34302A;background:radial-gradient(60% 140% at 0% 0%,rgba(200,169,122,.14),transparent 60%),linear-gradient(135deg,#1D1A17,#121110 65%);padding:clamp(36px,5vw,72px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px 48px}
.cta-band h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.05;max-width:620px}
.cta-band .btns{display:flex;flex-wrap:wrap;gap:14px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px 24px}
.proj{display:block}
.proj .ph{aspect-ratio:4/3;overflow:hidden;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(243,239,232,.08)}
.proj .ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.proj:hover .ph img{transform:scale(1.05)}
.proj .meta{margin-top:16px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.proj h3{margin-top:8px;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1}
.proj p{margin-top:6px;font-size:15px;color:var(--muted)}
.proj[hidden]{display:none}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{padding:36px 28px;border-left:1px solid var(--line)}
.stats>div:first-child{border-left:0}
.stats b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.6vw,52px);line-height:1;color:var(--gold)}
.stats span{display:block;margin-top:10px;font-size:15px;color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.person{display:flex;gap:24px;align-items:flex-start;padding:32px;border:1px solid #34302A;background:linear-gradient(135deg,#1D1A17,#121110 70%)}
.avatar{flex:none;width:84px;height:84px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:30px;color:var(--gold)}
.person h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.person .role{margin-top:4px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.person p.b{margin-top:14px;font-size:16px;color:var(--muted)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.post{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:22px}
.post:hover h3{color:var(--gold)}
.post .tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.post .date{margin-top:6px;font-size:13px;color:var(--muted)}
.post h3{margin-top:12px;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.15}
.post p{margin-top:12px;font-size:15px;color:var(--muted)}
.post .go{margin-top:auto;padding-top:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.featpost{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:center;border:1px solid #34302A;padding:clamp(28px,4vw,56px);background:radial-gradient(60% 120% at 0% 0%,rgba(200,169,122,.12),transparent 60%),linear-gradient(135deg,#1D1A17,#121110 65%);margin-bottom:clamp(40px,5vw,72px)}
.featpost .l{flex:1 1 360px}
.featpost h2{margin-top:16px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,52px);line-height:1.06}
.featpost p.d{margin-top:18px;color:var(--muted);max-width:520px}
.contact-page{display:flex;flex-wrap:wrap;gap:56px clamp(48px,7vw,110px)}
.contact-page .l{flex:1 1 360px;min-width:0}
.contact-page form{flex:1 1 440px}
.info{display:grid;gap:28px;margin-top:8px}
.info h3{font-size:12px;letter-spacing:.24em;font-weight:500;color:var(--gold);text-transform:uppercase;margin-bottom:8px}
.info p,.info a{font-size:18px;color:#DDD8CE}
.info .tel{display:block;font-family:var(--serif);font-size:28px;color:var(--text);line-height:1.25}
.info .tel small{display:block;font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.info a:hover{color:var(--gold)}
.steps4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;counter-reset:s}
.sub-note{margin-top:20px;font-size:14px;color:var(--muted)}
@media (max-width:1023px){
  .phero{min-height:480px}
  .split.rev{flex-direction:row}
}
@media (max-width:700px){
  .phero{min-height:520px}
  .phero h1{font-size:clamp(36px,10.4vw,48px)}
  .sec{padding:56px var(--pad)}
  .split .pic .frame{inset:12px -8px -12px 8px}
  .split .pic{padding-right:8px;padding-bottom:12px}
  .stats>div{border-left:0;border-top:1px solid var(--line);padding:24px 8px}
  .stats>div:first-child{border-top:0}
  .person{flex-direction:column;padding:24px}
  .pgrid{grid-template-columns:1fr}
  .cta-band .btns,.cta-band .btns .btn{width:100%}
  .cards{grid-template-columns:1fr}
}
.phero .hero-shade{background:linear-gradient(180deg,rgba(13,13,12,.78) 0%,rgba(13,13,12,.36) 28%,rgba(13,13,12,.72) 60%,rgba(13,13,12,.97) 100%)}
.phero .crumbs,.phero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.6)}

/* gallery + project pages */
.gal{column-count:3;column-gap:16px}
.g-item{display:block;break-inside:avoid;margin-bottom:16px;position:relative;overflow:hidden;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(243,239,232,.08)}
.g-item img{display:block;width:100%;height:auto;transition:transform .8s ease}
.g-item:hover img{transform:scale(1.04)}
.g-item[hidden]{display:none}
.proj-head{display:flex;flex-wrap:wrap;gap:32px 64px;align-items:flex-start;justify-content:space-between}
.proj-head .l{flex:1 1 420px}
.nextp{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nextp a:hover{color:var(--gold)}
.lb{position:fixed;inset:0;z-index:300;background:rgba(8,8,7,.96);display:none;align-items:center;justify-content:center;padding:56px 16px}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lb button{position:absolute;background:none;border:1px solid rgba(243,239,232,.45);color:var(--text);width:48px;height:48px;font:inherit;font-size:20px;cursor:pointer}
.lb button:hover{background:var(--text);color:var(--bg)}
.lb .x{top:12px;right:12px}.lb .pv{left:12px;top:50%;transform:translateY(-50%)}.lb .nx{right:12px;top:50%;transform:translateY(-50%)}
.lb .cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:14px;color:#DDD8CE;padding:0 72px}
@media (max-width:1023px){.gal{column-count:2}}
@media (max-width:560px){.gal{column-count:1}.lb .pv,.lb .nx{top:auto;bottom:12px;transform:none}.lb .cap{bottom:70px}}

.proj-head .facts{min-width:0}
@media (max-width:700px){.proj-head .facts{flex-basis:100%!important}}
.hero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.7)}
@media (max-width:700px){.hero-shade,.phero .hero-shade{background:linear-gradient(180deg,rgba(13,13,12,.8) 0%,rgba(13,13,12,.55) 28%,rgba(13,13,12,.8) 58%,rgba(13,13,12,.98) 100%)}}

/* v3 additions */
.mega-in{flex-wrap:nowrap;gap:40px}
.mega-col{flex:1 1 0}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}
.legal .lnk{display:flex;flex-wrap:wrap;gap:8px 28px}
.legal a:hover{color:var(--gold)}
.legal .lnk a:last-child{color:var(--text)}
.insights{max-width:1360px;margin:0 auto;padding:clamp(72px,9vw,150px) var(--pad) 0}
.insights .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:40px}
.insights h2{margin-top:16px;font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.1}
.careers-band{margin:clamp(72px,9vw,150px) auto 0;max-width:1360px;padding:0 var(--pad)}
.careers-box{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:440px;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(243,239,232,.08)}
.careers-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.careers-box .sh{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,12,.92) 0%,rgba(13,13,12,.65) 45%,rgba(13,13,12,.1) 100%)}
.careers-box .tx{position:relative;padding:clamp(28px,5vw,64px);max-width:640px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.careers-box h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1.08}
.careers-box p.d{color:#DDD8CE}
.areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.cities a{border-bottom:1px solid transparent}.cities a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.legaldoc{max-width:820px;margin:0 auto}
.legaldoc h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,36px);margin:48px 0 14px}
.legaldoc p,.legaldoc li{color:var(--muted);margin-bottom:14px}
.legaldoc ul{padding-left:22px}
.legaldoc a{color:var(--gold);border-bottom:1px solid var(--gold)}
.note{border:1px solid var(--gold);padding:18px 22px;color:var(--text);background:rgba(200,169,122,.08);margin-bottom:32px;font-size:15px}
.team3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.disc{padding:28px;border:1px solid #34302A;background:linear-gradient(135deg,#1D1A17,#121110 70%)}
.disc .avatar{width:64px;height:64px;font-size:24px;margin-bottom:18px}
.disc h3{font-family:var(--serif);font-weight:500;font-size:24px}
.disc p{margin-top:8px;font-size:15px;color:var(--muted)}
.jobs{display:grid;gap:16px}
.job{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;align-items:center;padding:24px 28px;border:1px solid #34302A}
.job h3{font-family:var(--serif);font-weight:500;font-size:26px}
.job span{color:var(--muted);font-size:15px}
@media(max-width:1023px){.mega-in{flex-wrap:wrap}}
@media(max-width:700px){.careers-box{min-height:520px}.careers-box .sh{background:linear-gradient(0deg,rgba(13,13,12,.94) 0%,rgba(13,13,12,.6) 60%,rgba(13,13,12,.2) 100%)}}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.sfig{aspect-ratio:4/3;overflow:hidden;background:#1B1917}
.sfig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.sfig:hover img{transform:scale(1.05)}
html,body{overflow-x:clip}
.services .grid.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1023px){.services .grid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.services .grid.g3{grid-template-columns:1fr}}
.sfig{margin:0}
.soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #3A3630;color:var(--text);transition:all .2s}
.soc a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.dnav .dsoc{margin-top:18px}

/* v5: one content width everywhere (1360px of content, padding outside) */
.wrap,.mega-in,.foot,.legal,.insights,.careers-band,.contact .in{max-width:calc(1360px + 2 * var(--pad))}
/* FAQ: two columns, aligned to the grid */
.faq .in{max-width:1360px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px 80px;align-items:start}
.faq h2{margin:16px 0 0}
.faq-h{position:sticky;top:32px}
.faq-h p.d{margin-top:20px;color:var(--muted);max-width:360px}
.faq .list details:first-child{padding-top:24px}

.sec:not(.alt)+.faq{padding-top:clamp(16px,2vw,32px)}
.faq+.band{margin-top:clamp(64px,8vw,130px)}
@media(max-width:900px){.faq .in{grid-template-columns:1fr}.faq-h{position:static}}

/* v6: Google rating */
.gstars{position:relative;display:inline-block;color:#4A4439;letter-spacing:.12em;line-height:1;white-space:nowrap}
.gstars .on{position:absolute;left:0;top:0;overflow:hidden;color:var(--gold)}
.gbadge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:20px;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.gbadge .gstars{font-size:15px}
.gbadge b{color:var(--text);font-weight:500;font-size:15px}
.gbadge:hover span{color:var(--gold)}
.gbadge.lg{margin-top:0}
.reviews h2{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px}
.reviews h2 .gstars{font-size:clamp(26px,3vw,40px);letter-spacing:.08em}
.reviews .links{margin-top:28px}
.reviews .r{border-left:1px solid #34302A;padding-left:clamp(28px,4vw,64px)}
.reviews .yrs{margin-top:14px;font-family:var(--serif);font-weight:300;font-size:clamp(40px,4.4vw,64px);line-height:1}
.reviews .award .s{margin:14px 0 22px;color:var(--muted);max-width:360px}
.creds a.gold:hover{color:var(--text)}
@media(max-width:700px){.reviews .r{border-left:0;padding-left:0;border-top:1px solid #34302A;padding-top:32px}}
/* v8 reviews */
.rsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.rbox{display:block;border-top:1px solid var(--gold);padding:32px 28px 34px;background:linear-gradient(180deg,rgba(243,239,232,.06),rgba(243,239,232,.012));color:var(--text);text-decoration:none}
.rbox .big{font-family:var(--serif);font-size:clamp(56px,6vw,84px);line-height:1;color:var(--text)}
.rbox .stars{color:var(--gold);letter-spacing:.12em;font-size:18px;margin-top:10px}
.rbox .gstars{font-size:18px;margin-top:10px}
.rbox .l{margin-top:14px;font-size:16px;color:var(--text)}
.rbox .s{margin-top:6px;font-size:14px;color:var(--muted)}
.rbox.note{display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.rbox.note .l{margin-top:0;color:var(--muted);font-size:16px;line-height:1.6}
.rbox.note .btn{align-self:flex-start}
a.rbox:hover .s{color:var(--gold)}
.revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.rev{border-top:1px solid var(--gold);padding:28px;background:linear-gradient(180deg,rgba(243,239,232,.06),rgba(243,239,232,.012))}
.rev .stars{color:var(--gold);letter-spacing:.12em;font-size:15px}
.rev h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;margin-top:12px}
.rev p{margin-top:14px;color:var(--muted);line-height:1.65}
.rev .who{margin-top:18px;font-size:14px;color:var(--muted)}.rev .who b{color:var(--text);font-weight:500}.rev .who span{color:var(--gold)}
.hswrap{background:#fff;border-top:1px solid var(--gold);max-width:1000px}
.hswrap iframe{display:block;width:100%;height:860px;border:0}
@media (max-width:700px){.hswrap iframe{height:720px}.rev h3{font-size:23px}}
