/* =========================================================================
   Fences & Firepits — Design System v2 (staging)
   Matches the Deck Company of Charlotte design language (Ron's sister brand):
   dark brown #0B0B0B / #111111 · amber #CDB06A · cream #F4F4F2 · white
   Type: Figtree (v8 override below; originally Saira + Archivo)
   Square corners, heavy uppercase headings, amber buttons.
   ========================================================================= */
:root{
  --ink:#111111; --black:#0A0A0A; --paper:#FFFFFF; --stone:#E6E6E6; --forest:#0B0B0B; --brass:#CDB06A;
  --brown:#0B0B0B; --brown-2:#1C1C1C; --amber:#CDB06A; --amber-hover:#DCC688; --cream:#F4F4F2; --white:#fff;
  --brass-ink:#75602C; /* AA amber for small text on white/cream */
  --brass-soft:#E8DCAE;
  --paper-2:#F4F4F2; --line:rgba(8,8,8,.14); --line-d:rgba(255,255,255,.16);
  --muted:#484848; --muted-d:#D4D4D4;
  --font-display:'Saira','Arial Black',Arial,sans-serif; --font-body:'Archivo','Helvetica Neue',Arial,sans-serif;
  --t-xs:clamp(.78rem,.75rem + .1vw,.84rem); --t-sm:clamp(.9rem,.87rem + .1vw,.96rem);
  --t-base:clamp(1rem,.97rem + .15vw,1.0625rem); --t-lg:clamp(1.08rem,1.02rem + .3vw,1.22rem);
  --t-xl:clamp(1.35rem,1.15rem + .8vw,1.75rem); --t-2xl:clamp(1.9rem,1.35rem + 2.1vw,2.9rem);
  --t-3xl:clamp(2.2rem,1.4rem + 3.2vw,4rem); --t-hero:clamp(2rem,1.2rem + 2.9vw,3.4rem);
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--s24:6rem;--s32:8rem;
  --r-sm:0;--r-md:0;--r-lg:0;--r-xl:0;
  --wrap:1180px; --wrap-n:880px; --gutter:clamp(1.1rem,4vw,2.5rem);
  --ease:cubic-bezier(.16,1,.3,1); --header-h:112px;
  --shadow:0 1px 2px rgba(8,8,8,.06),0 14px 34px -16px rgba(8,8,8,.25);
  --shadow-lg:0 30px 80px -30px rgba(4,4,4,.5);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--t-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.08;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty;max-width:68ch}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-100px;z-index:999;background:var(--ink);color:var(--paper);padding:.75rem 1rem;border-radius:var(--r-md)}
.skip:focus{top:1rem}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- Layout ---------- */
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.wrap-n{width:min(100% - 2*var(--gutter),var(--wrap-n));margin-inline:auto}
.section{padding-block:clamp(4rem,9vw,8rem)}
.section-sm{padding-block:clamp(3rem,6vw,5rem)}
.dark{background:var(--ink);color:var(--paper)}
.black{background:var(--black);color:var(--paper)}
.stone{background:var(--paper-2)}
.forest{background:var(--forest);color:var(--paper)}
.dark p,.black p,.forest p{color:var(--muted-d)}
.grid{display:grid;gap:var(--s6)}
.split{display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:1fr}
@media(min-width:960px){.split{grid-template-columns:1.05fr .95fr;align-items:center}.split.rev>*:first-child{order:2}}

/* ---------- Type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:var(--s5)}
.dark .eyebrow,.black .eyebrow,.forest .eyebrow,.hero .eyebrow{color:var(--brass)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}
.h-hero{font-family:var(--font-display);font-size:var(--t-hero);font-weight:400;letter-spacing:-.015em;line-height:.98;text-transform:uppercase}
.h1{font-family:var(--font-display);font-size:var(--t-3xl);font-weight:400;letter-spacing:-.015em}
.h2{font-family:var(--font-display);font-size:var(--t-2xl);font-weight:400;letter-spacing:-.01em}
.h3{font-family:var(--font-display);font-size:var(--t-xl);font-weight:400}
.h4{font-size:var(--t-lg);font-weight:600;line-height:1.3}
.lead{font-size:var(--t-lg);line-height:1.55;color:var(--muted)}
.dark .lead,.black .lead,.hero .lead{color:#D5D5D5}
.caps{text-transform:uppercase;letter-spacing:.14em;font-size:var(--t-xs);font-weight:600}
.muted{color:var(--muted)} .dark .muted,.black .muted{color:var(--muted-d)}
.fine{font-size:var(--t-xs);color:var(--muted);line-height:1.5}
.dark .fine,.black .fine{color:#9F9F9F}
.answer{font-size:var(--t-lg);line-height:1.6;border-top:1px solid var(--line);padding-top:var(--s6);max-width:62ch}
.section-head{display:grid;gap:var(--s4);margin-bottom:clamp(2rem,5vw,4rem);max-width:760px}
.section-head.row{max-width:none}
@media(min-width:900px){.section-head.row{grid-template-columns:1fr auto;align-items:end}}

/* ---------- Buttons ---------- */
.btn{--bg:var(--ink);--fg:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.9rem 1.6rem;border-radius:999px;border:1px solid var(--bg);background:var(--bg);color:var(--fg);font-size:var(--t-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .3s var(--ease),background .25s,color .25s,border-color .25s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-brass{--bg:var(--brass);--fg:var(--black)}
.btn-brass:hover{--bg:#c8ab76}
.btn-light{--bg:var(--paper);--fg:var(--ink)}
.btn-ghost{background:transparent;color:currentColor;border-color:currentColor}
.btn-ghost:hover{background:currentColor}
.btn-ghost:hover>*{color:var(--ink)}
.dark .btn-ghost:hover,.black .btn-ghost:hover,.hero .btn-ghost:hover{color:var(--paper);background:rgba(247,246,242,.12)}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:rgba(17,19,21,.35)}
.btn-ghost-dark:hover{border-color:var(--ink);background:rgba(17,19,21,.04)}
.btn-sm{min-height:42px;padding:.55rem 1.1rem;font-size:var(--t-xs)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.link{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:var(--t-sm);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.link:hover{color:var(--brass-ink)} .dark .link:hover,.black .link:hover{color:var(--brass)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.arrow{transition:transform .3s var(--ease)} a:hover .arrow,button:hover .arrow{transform:translateX(4px)}

/* ---------- Staging banner ---------- */
.staging{background:var(--brass);color:var(--black);font-size:var(--t-xs);text-align:center;padding:.4rem 1rem;font-weight:600;letter-spacing:.04em;position:relative;z-index:60}

/* ---------- Header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(247,246,242,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.hdr.scrolled{box-shadow:0 8px 30px -18px rgba(10,11,12,.35)}
.hdr-in{display:flex;align-items:center;gap:var(--s6);height:var(--header-h)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}
.brand img{width:44px;height:auto}
.brand-name{font-family:var(--font-display);font-size:1.28rem;line-height:1;letter-spacing:-.005em}
.brand-sub{display:block;font-family:var(--font-body);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.nav{display:none;margin-left:auto}
.nav>ul{display:flex;list-style:none;margin:0;padding:0;gap:.15rem}
.nav>ul>li>a,.nav>ul>li>button{display:flex;align-items:center;gap:.35rem;height:44px;padding:0 .8rem;background:none;border:0;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:999px}
.nav>ul>li>a:hover,.nav>ul>li>button:hover,.nav>ul>li>button[aria-expanded=true]{background:rgba(17,19,21,.06)}
.nav [aria-current=page]{color:var(--brass-ink)}
.hdr-cta{display:none;align-items:center;gap:.6rem;margin-left:var(--s4)}
.hdr-phone{font-weight:600;text-decoration:none;font-size:.86rem;letter-spacing:.04em;white-space:nowrap}
.menu-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer}
@media(min-width:1180px){.nav{display:block}.hdr-cta{display:flex}.menu-btn{display:none}}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(10,11,12,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .35s var(--ease),visibility .25s}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega-in{display:grid;grid-template-columns:1.2fr 1fr 340px;gap:var(--s10);padding-block:var(--s10)}
.mega h3{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);font-weight:600;margin-bottom:var(--s4)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.mega ul.cols2{grid-template-columns:1fr 1fr;column-gap:var(--s6)}
.mega a{display:block;padding:.45rem 0;text-decoration:none;font-size:1rem}
.mega a:hover{color:var(--brass-ink)}
.mega a small{display:block;color:var(--muted);font-size:.8rem}
.mega-feature{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:240px;color:var(--paper);text-decoration:none;display:flex;align-items:flex-end}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mega-feature:hover img{transform:scale(1.04)}
.mega-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,11,12,.85))}
.mega-feature span{position:relative;z-index:1;padding:var(--s5);font-family:var(--font-display);font-size:1.35rem;line-height:1.15}
.mega-feature em{display:block;font-style:normal;font-family:var(--font-body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:.3rem}

/* drawer */
.drawer{position:fixed;inset:0;z-index:80;background:var(--black);color:var(--paper);transform:translateX(100%);transition:transform .45s var(--ease);overflow-y:auto;padding:var(--s5) var(--gutter) 7rem;visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s6)}
.drawer .menu-btn{border-color:var(--line-d);color:var(--paper);margin:0}
.drawer details{border-bottom:1px solid var(--line-d)}
.drawer summary,.drawer .d-link{display:flex;justify-content:space-between;align-items:center;padding:1.05rem 0;font-family:var(--font-display);font-size:1.6rem;cursor:pointer;list-style:none;text-decoration:none}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";font-family:var(--font-body);color:var(--brass)}
.drawer details[open] summary::after{content:"–"}
.drawer details ul{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem}
.drawer details a{display:block;padding:.55rem 0;color:#D5D5D5;text-decoration:none}
.drawer .d-link{border-bottom:1px solid var(--line-d)}
.drawer .btn-row{margin-top:var(--s8)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh - var(--header-h),940px);display:flex;align-items:flex-end;color:var(--paper);overflow:hidden;background:var(--black)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroIn 2.4s var(--ease) forwards}
@keyframes heroIn{to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,11,12,.82) 0%,rgba(10,11,12,.45) 50%,rgba(10,11,12,.1) 100%),linear-gradient(0deg,rgba(10,11,12,.75) 0%,transparent 45%)}
.hero-in{position:relative;z-index:2;padding-block:clamp(5rem,12vh,8rem) clamp(2.5rem,7vh,5rem)}
.hero h1{max-width:13ch;margin-bottom:var(--s6)}
.hero .lead{max-width:56ch;margin-bottom:var(--s8)}
.hero-secondary{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-top:var(--s6)}
.hero-secondary a{color:#E5E5E5;font-size:var(--t-sm);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}
.hero-secondary a:hover{border-color:var(--brass);color:var(--paper)}
.hero-float{position:absolute;z-index:2;right:var(--gutter);top:clamp(1.5rem,5vh,3rem);display:none;align-items:center;gap:.7rem;padding:.7rem 1rem .7rem .8rem;border:1px solid rgba(247,246,242,.22);border-radius:999px;background:rgba(10,11,12,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.hero-float i{width:8px;height:8px;border-radius:50%;background:#A3A3A3;box-shadow:0 0 0 4px rgba(163,163,163,.2)}
@media(min-width:900px){.hero-float{display:flex}}
.concept-tag{position:absolute;z-index:3;left:.75rem;bottom:.75rem;font-size:.68rem;letter-spacing:.06em;color:rgba(247,246,242,.82);background:rgba(10,11,12,.5);padding:.25rem .55rem;border-radius:999px;pointer-events:none}
.hero .concept-tag{left:auto;right:var(--gutter);bottom:1rem}
.media .concept-tag{left:.6rem;bottom:.6rem}
.trust{position:relative;z-index:2;border-top:1px solid rgba(247,246,242,.16);background:rgba(10,11,12,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.trust-in{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.trust-item{padding:var(--s5) var(--s4);border-right:1px solid rgba(247,246,242,.12)}
.trust-item:nth-child(2n){border-right:0}
.trust-item b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);line-height:1;color:var(--paper)}
.trust-item span{display:block;margin-top:.35rem;font-size:var(--t-xs);color:#C6C6C6;letter-spacing:.06em}
@media(min-width:900px){.trust-in{grid-template-columns:repeat(4,1fr)}.trust-item{border-right:1px solid rgba(247,246,242,.12)!important}.trust-item:last-child{border-right:0!important}}

/* page hero (inner) */
.phero{position:relative;background:var(--ink);color:var(--paper);overflow:hidden}
.phero-in{display:grid;gap:var(--s10);padding-block:clamp(3.5rem,8vw,6.5rem);position:relative;z-index:2}
@media(min-width:1000px){.phero-in{grid-template-columns:1.1fr .9fr;align-items:end}}
.phero h1{margin-bottom:var(--s5)}
.phero .media{aspect-ratio:4/3;border-radius:var(--r-lg)}
.crumbs{font-size:var(--t-xs);letter-spacing:.08em;color:#A5A5A5;margin-bottom:var(--s6)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:#6d6b66}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--brass)}

/* ---------- Media ---------- */
.media{position:relative;overflow:hidden;border-radius:var(--r-lg);background:#1b1d1f}
.media img{width:100%;height:100%;object-fit:cover}
.ratio-43{aspect-ratio:4/3}.ratio-169{aspect-ratio:16/9}.ratio-11{aspect-ratio:1}.ratio-34{aspect-ratio:3/4}.ratio-54{aspect-ratio:5/4}

/* ---------- Reveal ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-d1{transition-delay:.08s}.js .rv-d2{transition-delay:.16s}.js .rv-d3{transition-delay:.24s}

/* ---------- Explorer ---------- */
.explorer{display:grid;gap:var(--s8)}
.tabs{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tab{flex-shrink:0;min-height:46px;padding:.6rem 1.15rem;border-radius:999px;border:1px solid var(--line-d);background:transparent;color:var(--paper);font-size:var(--t-sm);font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tab:hover{border-color:rgba(247,246,242,.4)}
.tab[aria-selected=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ex-panel{display:grid;gap:var(--s8)}
@media(min-width:960px){.ex-panel{grid-template-columns:1.15fr .85fr;align-items:stretch}}
.ex-media{aspect-ratio:4/3;border-radius:var(--r-lg)}
.ex-media img{transition:opacity .45s,transform 1.2s var(--ease)}
.ex-media.swap img{opacity:0;transform:scale(1.03)}
.ex-body h3{margin-bottom:var(--s4)}
.spec-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line-d);margin:var(--s6) 0}
.spec-list div{padding:.9rem 0;border-bottom:1px solid var(--line-d)}
.spec-list div:nth-child(odd){padding-right:1rem}
.spec-list dt{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:#9F9F9F;margin-bottom:.25rem}
.spec-list dd{margin:0;font-size:var(--t-sm);color:var(--paper)}
.meter{display:flex;gap:4px;margin-top:.35rem}.meter i{width:22px;height:4px;border-radius:2px;background:rgba(247,246,242,.18)}.meter i.on{background:var(--brass)}
.light .spec-list{border-color:var(--line)}.light .spec-list div{border-color:var(--line)}.light .spec-list dt{color:var(--muted)}.light .spec-list dd{color:var(--ink)}.light .meter i{background:rgba(17,19,21,.12)}

/* ---------- Studio preview (home) ---------- */
.studio-teaser{position:relative;border-radius:var(--r-xl);overflow:hidden;background:#15181a;min-height:420px;border:1px solid var(--line-d)}
.studio-teaser canvas{width:100%;height:100%;display:block}
.studio-teaser .chips{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;z-index:2}
.chip{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line-d);background:rgba(10,11,12,.55);color:var(--paper);font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(6px)}
.chip[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.chip i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.4)}

/* ---------- Feature/why cards ---------- */
.why{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(min-width:700px){.why{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.why{grid-template-columns:repeat(4,1fr)}}
.why-card{background:var(--paper);padding:var(--s8) var(--s6);min-height:230px;display:flex;flex-direction:column;gap:var(--s3);transition:background .35s}
.why-card:hover{background:#fff}
.why-card .num{font-family:var(--font-display);font-size:.95rem;color:var(--brass-ink)}
.why-card h3{font-size:1.15rem;font-weight:600;line-height:1.3;margin-top:auto}
.why-card p{font-size:var(--t-sm);color:var(--muted);margin:0}
.why-card.wide{background:var(--forest);color:var(--paper)}
.why-card.wide p{color:#cfd6d1}
.why-card.wide .num{color:var(--brass)}

/* ---------- Before/after ---------- */
.ba{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;user-select:none;touch-action:pan-y;background:#222}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba .ba-after{clip-path:inset(0 0 0 var(--pos,50%))}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--paper);transform:translateX(-1px);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--paper);box-shadow:0 8px 24px rgba(0,0,0,.35);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111315' stroke-width='2'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:22px}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-label{position:absolute;top:1rem;z-index:2;font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:rgba(10,11,12,.6);color:var(--paper);padding:.35rem .7rem;border-radius:999px}
.ba-label.l{left:1rem}.ba-label.r{right:1rem}

/* ---------- Project cards ---------- */
.pgrid{display:grid;gap:var(--s6)}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;group:1}
.pcard .media{aspect-ratio:4/5;margin-bottom:var(--s4)}
.pcard .media img{transition:transform 1s var(--ease)}
.pcard:hover .media img{transform:scale(1.045)}
.pcard .meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.dark .pcard .meta,.black .pcard .meta{color:#9F9F9F}
.pcard h3{font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1.15}
.pcard[hidden]{display:none}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--s8)}
.fsel{display:grid;gap:.25rem}
.fsel label{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fsel select{min-height:46px;padding:.5rem 2.2rem .5rem .9rem;border-radius:999px;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111315' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .8rem center/14px;appearance:none;-webkit-appearance:none;font-size:var(--t-sm)}

/* ---------- Reviews ---------- */
.rgrid{display:grid;gap:var(--s5)}
@media(min-width:800px){.rgrid{grid-template-columns:repeat(3,1fr)}}
.rcard{padding:var(--s8) var(--s6);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s4)}
.dark .rcard,.black .rcard{background:#17191b;border-color:var(--line-d)}
.rcard blockquote{margin:0;font-family:var(--font-display);font-size:1.18rem;line-height:1.45}
.rcard footer{margin-top:auto;font-size:var(--t-xs);letter-spacing:.08em;color:var(--muted)}
.dark .rcard footer,.black .rcard footer{color:#9F9F9F}
.stars{color:var(--brass);letter-spacing:.2em;font-size:.9rem}

/* ---------- Quiz ---------- */
.quiz{border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}
.quiz-progress{height:3px;background:var(--paper-2);border-radius:3px;overflow:hidden;margin-bottom:var(--s8)}
.quiz-progress i{display:block;height:100%;background:var(--forest);width:0;transition:width .5s var(--ease)}
.opts{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin:var(--s6) 0}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0}
.opt span{display:flex;align-items:center;min-height:56px;padding:.8rem 1rem;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);cursor:pointer;font-weight:500;transition:border-color .2s,background .2s}
.opt input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.opt input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.opt input:disabled+span{opacity:.45;cursor:not-allowed}
.opt span small{display:block;font-size:.72rem;opacity:.75;font-weight:400}
.quiz-nav{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s6)}
.result-card{display:grid;gap:var(--s6)}
@media(min-width:900px){.result-card{grid-template-columns:.9fr 1.1fr;align-items:start}}

/* ---------- Forms ---------- */
.form-shell{border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);padding:clamp(1.25rem,4vw,2.75rem);box-shadow:var(--shadow);color:var(--ink)}
.steps-nav{display:flex;gap:.4rem;margin-bottom:var(--s6)}
.steps-nav i{flex:1;height:3px;border-radius:3px;background:var(--paper-2);transition:background .3s}
.steps-nav i.on{background:var(--forest)}
.fstep[hidden]{display:none}
.fgrid{display:grid;gap:var(--s4)}
@media(min-width:640px){.fgrid.two{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:.4rem}
.field label,.field legend{font-size:var(--t-sm);font-weight:600}
.field .hint{font-size:var(--t-xs);color:var(--muted)}
.input,.field select,.field textarea{width:100%;min-height:52px;padding:.8rem 1rem;border-radius:var(--r-md);border:1px solid rgba(17,19,21,.22);background:var(--paper);font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(27,27,27,.18)}
.field.err .input,.field.err select,.field.err textarea{border-color:#a3362a}
.ferr{color:#a3362a;font-size:var(--t-xs);font-weight:600;min-height:1em}
fieldset{border:0;margin:0;padding:0;min-width:0}
.pillset{display:flex;flex-wrap:wrap;gap:.5rem}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0}
.pill span{display:inline-flex;align-items:center;min-height:46px;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(17,19,21,.2);background:var(--paper);cursor:pointer;font-size:var(--t-sm);font-weight:500}
.pill input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pill input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.pill input:disabled+span{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--t-xs);color:var(--muted);line-height:1.5}
.check input{width:20px;height:20px;margin-top:.1rem;flex-shrink:0;accent-color:var(--forest)}
.hp{position:absolute;left:-9999px}
.form-actions{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap}
.prefill{background:var(--paper-2);border-radius:var(--r-md);padding:var(--s4);font-size:var(--t-sm);margin-bottom:var(--s5)}
.prefill b{display:block;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:.35rem}
.notice{border-radius:var(--r-md);padding:var(--s4) var(--s5);font-size:var(--t-sm);line-height:1.55}
.notice.ok{background:#e7efe9;color:#333333}
.notice.warn{background:#EEEEEE;color:#484848}
.notice.bad{background:#f7e3df;color:#353535}
.dropzone{border:1.5px dashed rgba(17,19,21,.28);border-radius:var(--r-md);padding:var(--s6);text-align:center;background:var(--paper);cursor:pointer;font-size:var(--t-sm)}
.dropzone.drag{border-color:var(--forest);background:#eef3ef}
.thumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.thumbs figure{margin:0;position:relative;width:72px;height:72px;border-radius:var(--r-sm);overflow:hidden}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(10,11,12,.75);color:#fff;cursor:pointer;font-size:14px;line-height:1}

/* ---------- Tool layout (studio / calculator / planner) ---------- */
.tool{display:grid;gap:var(--s6)}
@media(min-width:1080px){.tool{grid-template-columns:400px 1fr;align-items:start}}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s6)}
.panel h2{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--brass-ink);margin-bottom:var(--s4)}
.stage{position:relative;border-radius:var(--r-xl);overflow:hidden;background:#0f1214;min-height:420px}
@media(min-width:1080px){.stage{position:sticky;top:calc(var(--header-h) + 16px);min-height:620px}}
.stage canvas{display:block;width:100%;height:100%}
.stage-bar{position:absolute;left:0;right:0;top:0;display:flex;flex-wrap:wrap;gap:.5rem;padding:.9rem;z-index:2;justify-content:space-between;pointer-events:none}
.stage-bar>*{pointer-events:auto}
.stage-group{display:flex;gap:.35rem;flex-wrap:wrap}
.stage-hint{position:absolute;left:1rem;bottom:1rem;z-index:2;font-size:var(--t-xs);color:#C6C6C6;background:rgba(10,11,12,.5);padding:.35rem .7rem;border-radius:999px;pointer-events:none}
.stage-spec{position:absolute;right:1rem;bottom:1rem;z-index:2;max-width:280px;background:rgba(10,11,12,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--paper);border:1px solid var(--line-d);border-radius:var(--r-md);padding:.8rem 1rem;font-size:var(--t-xs);line-height:1.5;display:none}
@media(min-width:700px){.stage-spec{display:block}}
.stage-spec b{display:block;font-family:var(--font-display);font-weight:400;font-size:1.1rem;margin-bottom:.2rem}
.acc{border-top:1px solid var(--line)}
.acc:first-of-type{border-top:0}
.acc-h{display:flex;align-items:center;gap:.8rem;width:100%;padding:1rem 0;background:none;border:0;text-align:left;cursor:pointer}
.acc-h .n{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}
.acc-h .t{font-weight:600}
.acc-h .v{margin-left:auto;font-size:var(--t-xs);color:var(--muted);text-align:right}
.acc.done .acc-h .n{background:var(--forest);border-color:var(--forest);color:#fff}
.acc-b{padding:0 0 1.2rem}
.acc-b[hidden]{display:none}
.swatches{display:flex;flex-wrap:wrap;gap:.6rem}
.sw{position:relative}
.sw input{position:absolute;opacity:0;inset:0}
.sw span{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.72rem;cursor:pointer;width:76px;text-align:center;line-height:1.2}
.sw span i{width:44px;height:44px;border-radius:50%;border:1px solid rgba(17,19,21,.2);box-shadow:inset 0 -6px 12px rgba(0,0,0,.12)}
.sw input:checked+span i{outline:2px solid var(--ink);outline-offset:3px}
.sw input:focus-visible+span i{outline:2px solid var(--brass);outline-offset:3px}
.sw input:disabled+span{opacity:.4;cursor:not-allowed}
.compare-strip{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:var(--s4)}
.compare-strip figure{margin:0;border-radius:var(--r-md);overflow:hidden;background:#111;position:relative;aspect-ratio:16/10}
.compare-strip figure img{width:100%;height:100%;object-fit:cover}
.compare-strip figcaption{position:absolute;left:.4rem;bottom:.4rem;font-size:.68rem;background:rgba(10,11,12,.7);color:#fff;padding:.2rem .5rem;border-radius:999px}
.out-big{font-family:var(--font-display);font-size:clamp(2.2rem,1.6rem + 2.5vw,3.6rem);line-height:1;letter-spacing:-.01em}
.summary-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.summary-table th,.summary-table td{padding:.65rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.summary-table th{font-weight:500;color:var(--muted);width:44%}
.dark .summary-table th{color:#9F9F9F}.dark .summary-table th,.dark .summary-table td{border-color:var(--line-d)}
.complexity{display:flex;gap:4px}.complexity i{flex:1;height:6px;border-radius:3px;background:rgba(17,19,21,.1)}.complexity i.on{background:var(--brass)}

/* data table */
.data-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:var(--t-sm)}
.data-table th,.data-table td{padding:.8rem .6rem;border-bottom:1px solid var(--line);text-align:left}
.data-table thead th{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* compare center */
.cmp-pick{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s8)}
.cmp-table{width:100%;border-collapse:collapse;min-width:640px}
.cmp-table th,.cmp-table td{padding:1rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:var(--t-sm)}
.cmp-table thead th{font-family:var(--font-display);font-size:1.4rem;font-weight:400}
.cmp-table tbody th{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;width:180px}
.cmp-table .meter i{background:rgba(17,19,21,.1)}

/* prose */
.prose{font-size:var(--t-base)}
.prose h2{font-family:var(--font-display);font-size:var(--t-xl);font-weight:400;margin:2.4rem 0 .9rem}
.prose h3{font-size:var(--t-lg);font-weight:600;margin:1.8rem 0 .6rem}
.prose ul,.prose ol{padding-left:1.2rem;max-width:68ch}
.prose li{margin-bottom:.5rem}
.prose a{color:var(--forest);text-decoration-thickness:1px;text-underline-offset:3px}
.prose table{max-width:100%}

/* style cards */
.scards{display:grid;gap:var(--s4)}
@media(min-width:700px){.scards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.scards{grid-template-columns:repeat(3,1fr)}}
.scard{padding:var(--s6);border-radius:var(--r-lg);border:1px solid var(--line);background:#fff}
.scard h3{font-size:1.05rem;font-weight:600;margin-bottom:.4rem}
.scard p{font-size:var(--t-sm);color:var(--muted);margin:0}

/* process */
.process{counter-reset:p;display:grid;gap:0;border-top:1px solid var(--line)}
.process li{list-style:none;display:grid;grid-template-columns:64px 1fr;gap:var(--s4);padding:var(--s6) 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.process li{grid-template-columns:120px 280px 1fr}}
.process li::before{counter-increment:p;content:"0" counter(p);font-family:var(--font-display);font-size:1.6rem;color:var(--brass-ink)}
.process h3{font-size:1.1rem;font-weight:600}
.process p{margin:0;color:var(--muted);grid-column:2}
@media(min-width:900px){.process p{grid-column:auto}}
.dark .process,.dark .process li{border-color:var(--line-d)}
.dark .process li::before{color:var(--brass)}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;cursor:pointer;font-weight:600;font-size:var(--t-lg);line-height:1.35;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;color:var(--brass-ink);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding-bottom:1.25rem;margin:0}

/* CTA band */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--forest);color:var(--paper);padding:clamp(2rem,6vw,5rem)}
.cta-band h2{max-width:18ch;margin-bottom:var(--s5)}
.cta-band p{color:#cfd6d1}
.cta-band .btn-row{margin-top:var(--s8)}

/* links grid */
.lgrid{display:grid;gap:0;border-top:1px solid var(--line)}
@media(min-width:700px){.lgrid{grid-template-columns:repeat(2,1fr);column-gap:var(--s8)}}
@media(min-width:1100px){.lgrid{grid-template-columns:repeat(3,1fr)}}
.lgrid a{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--font-display);font-size:1.3rem}
.lgrid a:hover{color:var(--brass-ink)}
.lgrid a small{font-family:var(--font-body);font-size:var(--t-xs);color:var(--muted);letter-spacing:.08em}
.dark .lgrid,.dark .lgrid a{border-color:var(--line-d)}.dark .lgrid a:hover{color:var(--brass)}

/* gallery strip */
.gstrip{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media(min-width:900px){.gstrip{grid-template-columns:repeat(4,1fr)}}
.gstrip button{padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--r-md);overflow:hidden;aspect-ratio:1}
.gstrip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gstrip button:hover img{transform:scale(1.05)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,11,12,.96);display:none;align-items:center;justify-content:center;touch-action:pan-y}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:82vh;width:auto;height:auto;border-radius:var(--r-md)}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-d);background:rgba(23,25,27,.8);color:#fff;cursor:pointer;font-size:1.3rem}
.lb .x{top:1rem;right:1rem}.lb .pv{left:1rem;top:50%;transform:translateY(-50%)}.lb .nx{right:1rem;top:50%;transform:translateY(-50%)}
.lb .cap{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:#C6C6C6;font-size:var(--t-sm)}

/* assistant */
.asst-fab{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:70;display:inline-flex;align-items:center;gap:.6rem;min-height:52px;padding:.6rem 1.1rem .6rem .7rem;border-radius:999px;border:1px solid rgba(157,157,157,.5);background:var(--ink);color:var(--paper);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-lg)}
.asst-fab img{width:30px;height:auto}
@media(max-width:899px){.asst-fab{bottom:calc(84px + env(safe-area-inset-bottom));padding:.5rem;}.asst-fab span{display:none}}
.asst{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:90;width:min(400px,calc(100vw - 2rem));height:min(620px,calc(100svh - 2rem));display:none;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}
.asst.open{display:flex}
.asst-h{display:flex;align-items:center;gap:.7rem;padding:1rem 1.1rem;background:var(--ink);color:var(--paper)}
.asst-h b{font-family:var(--font-display);font-weight:400;font-size:1.15rem;display:block;line-height:1.1}
.asst-h small{font-size:.7rem;color:#B6B6B6}
.asst-h button{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-d);background:transparent;color:#fff;cursor:pointer}
.asst-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem}
.msg{max-width:88%;padding:.7rem .9rem;border-radius:14px;font-size:var(--t-sm);line-height:1.5}
.msg p{margin:0 0 .5em}.msg p:last-child{margin:0}
.msg.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.msg.me{align-self:flex-end;background:var(--forest);color:#fff;border-bottom-right-radius:4px}
.msg a{color:var(--forest);font-weight:600}
.msg .qs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.msg .qs button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.35rem .7rem;font-size:.75rem;cursor:pointer;min-height:34px}
.asst-f{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--line);background:#fff}
.asst-f input{flex:1;min-height:46px;border-radius:999px;border:1px solid var(--line);padding:0 1rem;background:var(--paper)}
.asst-f button{min-height:46px;padding:0 1rem}
.asst-disc{font-size:.68rem;color:var(--muted);padding:.4rem 1rem .6rem;background:#fff;line-height:1.4}

/* mobile action bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:1px;background:var(--line-d);border-top:1px solid rgba(157,157,157,.35);padding-bottom:env(safe-area-inset-bottom);background-color:var(--black)}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:64px;background:var(--black);color:var(--paper);text-decoration:none;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mbar a svg{width:20px;height:20px}
.mbar a.pri{background:var(--brass);color:var(--black)}
@media(min-width:900px){.mbar{display:none}}
@media(max-width:899px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}

/* footer */
.ftr{background:var(--black);color:#C6C6C6;padding-block:clamp(4rem,8vw,6rem) 2rem;font-size:var(--t-sm)}
.ftr-top{display:grid;gap:var(--s10);padding-bottom:var(--s12);border-bottom:1px solid var(--line-d)}
@media(min-width:1000px){.ftr-top{grid-template-columns:1.3fr repeat(4,1fr)}}
.ftr h2{font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:var(--s4)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ftr a{text-decoration:none}.ftr a:hover{color:var(--paper)}
.ftr-brand .brand-name{color:var(--paper);font-size:1.6rem}
.ftr-brand p{color:#9F9F9F;margin-top:var(--s4)}
.ftr-big{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);color:var(--paper);text-decoration:none;display:inline-block;margin-top:.4rem}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);padding-top:var(--s6);font-size:var(--t-xs);color:#8B8B8B}

/* misc */
.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:rgba(157,157,157,.16);color:var(--brass-ink)}
.dark .badge,.black .badge{color:var(--brass)}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s6)}
@media(min-width:900px){.stat-row{grid-template-columns:repeat(4,1fr)}}
.stat b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--t-2xl);line-height:1}
.stat span{font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dark .stat span{color:#9F9F9F}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.4rem;font-size:var(--t-sm)}
.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}
.dark .kv dt{color:#9F9F9F}
.planner-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;background:#1b1e20;border:1px solid var(--line)}
.planner-wrap canvas{display:block;width:100%;touch-action:none;cursor:crosshair}
.toolbar{display:flex;flex-wrap:wrap;gap:.4rem}
.tbtn{min-height:44px;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;cursor:pointer}
.tbtn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:var(--t-xs);color:var(--muted)}
.legend i{display:inline-block;width:18px;height:4px;border-radius:2px;vertical-align:middle;margin-right:.35rem}
.hr{height:1px;background:var(--line);border:0;margin:var(--s8) 0}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{font-size:.72rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.dark .tag{border-color:var(--line-d);color:#C6C6C6}
@media print{.hdr,.ftr,.mbar,.asst-fab,.asst,.staging,.no-print{display:none!important}body{background:#fff}}

/* ---------- Build additions ---------- */
@media(max-width:1079px){.tool .stage{min-height:0;aspect-ratio:4/3;max-height:62svh}}
@media(min-width:1080px){.tool .stage{order:2}}
.stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.stage .chip{min-height:40px}
.studio-teaser canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.ba .before{position:absolute;inset:0}
.lgrid span{border-color:var(--line)}
.prose .data-table td,.prose .data-table th{vertical-align:top}
.tool-intro{padding-block:clamp(2rem,5vw,3.5rem) var(--s6);background:var(--ink);color:var(--paper)}
.tool-intro .crumbs{margin-bottom:var(--s4)}
.tool-intro h1{margin-bottom:var(--s3)}
.disclaimer{border-left:3px solid var(--brass);padding:.25rem 0 .25rem 1rem;font-size:var(--t-sm);color:var(--muted);max-width:72ch}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.checklist li{display:flex;gap:.7rem;align-items:flex-start}
.checklist li::before{content:"";flex-shrink:0;width:18px;height:18px;margin-top:.2rem;border:1.5px solid var(--forest);border-radius:4px}
.ftr-brand .brand img{width:52px}
.err-hero{min-height:60vh;display:flex;align-items:center}

/* QA fixes */
@media(max-width:1179px){.mega{display:none}}
html,body{overflow-x:clip}
@media(min-width:1180px) and (max-width:1439px){.hdr-cta{margin-left:var(--s3);gap:.4rem}.hdr-cta .btn{padding-inline:.85rem}.nav>ul>li>a,.nav>ul>li>button{padding-inline:.55rem;letter-spacing:.09em}}
.nav>ul>li>a,.nav>ul>li>button{white-space:nowrap}
@media(min-width:1180px) and (max-width:1439px){.hdr .brand-sub{display:none}}
.acc-b{min-width:0}
.acc-b .btn-row{flex-direction:column;align-items:stretch}
.acc-b .btn{width:100%;max-width:100%;white-space:normal;text-align:center;justify-content:center}
@media(min-width:1180px) and (max-width:1439px){.nav>ul>li>a,.nav>ul>li>button{padding-inline:.5rem;font-size:.72rem;letter-spacing:.07em}.hdr-phone{font-size:.8rem}.brand img{width:38px;height:auto}}
.phero .lead,.dark .lead,.sec-dark .lead,.cta-band .lead{color:#CCCCCC}
.menu-btn{flex-shrink:0}
.menu-btn svg{width:22px;height:22px}
@media(max-width:600px){.h-hero{font-size:clamp(2rem,10.4vw,3.2rem)}}
.fgrid>*,.field,.form-shell,.tool>*{min-width:0}
.input,select.input,.fsel{max-width:100%;width:100%}
@media(max-width:899px){body:has(input:focus,select:focus,textarea:focus) .asst-fab{opacity:0;pointer-events:none}}
.brand{min-width:0}
@media(max-width:440px){.hdr .brand-sub{font-size:.58rem;letter-spacing:.12em}.hdr .brand-name{font-size:1.15rem}.hdr .brand img{width:34px;height:auto}}
@media(max-width:600px){.h-hero{font-size:clamp(1.9rem,9.6vw,3.2rem)}}
@media(min-width:1180px) and (max-width:1319px){.nav{display:none}.hdr-cta{display:flex}.menu-btn{display:inline-flex;margin-left:var(--s3)}}
@media(min-width:1320px) and (max-width:1719px){.hdr .brand-sub{display:none}.nav>ul>li>a,.nav>ul>li>button{padding-inline:.5rem;font-size:.72rem;letter-spacing:.07em}.hdr-cta{margin-left:var(--s3);gap:.4rem}.hdr-phone{font-size:.8rem}.hdr-cta .btn{padding-inline:.9rem}}
@media(max-width:340px){.hdr .brand-sub{display:none}}
.mega a.mega-feature{display:flex;padding:0;align-items:flex-end;color:var(--paper)}


/* =========================================================================
   v2 THEME LAYER — Deck Company of Charlotte design language
   ========================================================================= */
body{background:#fff;color:var(--ink)}
p{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:0;line-height:1.06}
.h-hero,.h1,.h2,.h3,.display{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;letter-spacing:0}
.h-hero{font-size:var(--t-hero);line-height:1.08}
.h1{font-size:var(--t-3xl);line-height:1.04}
.h2{font-size:var(--t-2xl);line-height:1.06}
.h3{font-size:var(--t-xl)}
.lead{color:var(--muted)}
.eyebrow{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:.86rem;letter-spacing:0;color:var(--brass-ink);margin-bottom:.7rem}
.eyebrow::before{display:none}
.dark .eyebrow,.black .eyebrow,.forest .eyebrow,.brown .eyebrow,.hero2 .eyebrow,.phero .eyebrow,.est-band .eyebrow{color:var(--amber)}
.section-head{gap:.2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head.center{margin-inline:auto;text-align:center;max-width:900px;justify-items:center}
.section-head .sub,.sub{font-size:var(--t-lg);line-height:1.55;max-width:62ch;margin:1rem auto 0;color:var(--muted)}
.center{text-align:center}.btn-row.center{justify-content:center}
.section-t{padding-block:clamp(4rem,8vw,6.5rem) clamp(2rem,4vw,3rem)}
.cream,.stone{background:var(--cream)}
.brown{background:var(--brown);color:var(--paper)}
.dark{background:linear-gradient(180deg,var(--brown) 0%,var(--black) 100%);color:var(--paper)}
.black{background:var(--black)}
.brown p,.dark p{color:var(--muted-d)}
.brown .sub{color:#DDDDDD}
.fine{color:var(--muted)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:0}

/* Buttons: square, heavy, amber */
.btn{border-radius:0;font-family:var(--font-display);font-stretch:112%;font-weight:900;letter-spacing:0;font-size:.95rem;min-height:52px;padding:.85rem 1.4rem;box-shadow:none}
.btn:hover{transform:none}
.btn-brass,.btn:not([class*="btn-"]){--bg:var(--amber);--fg:#000;border-color:var(--amber)}
.btn-brass:hover,.btn:not([class*="btn-"]):hover{--bg:var(--amber-hover);border-color:var(--amber-hover)}
.btn-dark{--bg:var(--brown);--fg:#fff;border-color:var(--brown)}
.btn-dark:hover{--bg:var(--ink)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--ink)}
.btn-outline-dark{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff}
.btn-light{--bg:#fff;--fg:var(--ink);border-color:#fff}
.btn-ghost{border-width:2px}
.btn-sm{min-height:44px;padding:.55rem 1rem;font-size:.82rem}
.link{font-family:var(--font-display);font-stretch:112%;font-weight:800;letter-spacing:0;border-bottom:0;color:var(--brass-ink)}
.link:hover{color:var(--ink)}
.dark .link,.brown .link{color:var(--amber)}

/* Staging banner */
.staging{background:#000;color:var(--amber);font-family:var(--font-body)}

/* Top bar */
.topbar{background:var(--brown);color:#fff;border-bottom:3px solid var(--amber);font-family:var(--font-body);font-weight:700;font-size:.86rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}
.topbar a{color:#fff;text-decoration:none}.topbar a:hover{color:var(--amber)}
.tb-l{color:var(--amber);font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.8rem}
.tb-r{display:flex;align-items:center;gap:.8rem;margin-left:auto}
.tb-r i{width:1px;height:18px;background:rgba(255,255,255,.6)}
@media(max-width:899px){.tb-l,.tb-r a[href^=mailto],.tb-r i{display:none}.topbar-in{justify-content:center;min-height:34px}.tb-r{margin:0}}

/* Header */
.hdr{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;box-shadow:0 1px 0 rgba(8,8,8,.08)}
.hdr.scrolled{box-shadow:0 10px 30px -18px rgba(8,8,8,.45)}
.hdr-in{height:var(--header-h);gap:1.25rem}
.brand img{width:auto;height:92px}
.nav>ul>li>a,.nav>ul>li>button{font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:.92rem;letter-spacing:0;color:var(--ink);border-radius:0;padding:0 .55rem;height:48px}
.nav>ul>li>a:hover,.nav>ul>li>button:hover,.nav>ul>li>button[aria-expanded=true]{background:transparent;color:var(--brass-ink)}
.nav [aria-current=page]{color:var(--brass-ink)}
.nav>ul>li>a[aria-current=page]{color:var(--brass-ink)}
.hdr-cta{gap:.5rem}
.hdr-cta .btn{min-height:48px;font-size:.84rem;padding:.6rem 1rem}
.hdr .btn-outline.hdr-phone{color:var(--ink);border-color:var(--ink)}
.hdr .btn-outline.hdr-phone:hover{background:var(--ink);color:#fff}
.menu-btn{border-radius:0;border:2px solid var(--ink);color:var(--ink)}
@media(min-width:1320px) and (max-width:1519px){.nav>ul>li>a,.nav>ul>li>button{font-size:.8rem;padding-inline:.42rem;letter-spacing:0}.hdr-cta .btn{font-size:.76rem;padding-inline:.7rem}.brand img{height:80px}}
@media(max-width:1179px){:root{--header-h:84px}.brand img{height:66px}}
@media(max-width:600px){:root{--header-h:72px}.brand img{height:56px}}
.hdr .brand-sub{display:none}

/* Mega menu */
.mega{background:#fff;border-top:3px solid var(--amber);border-bottom:0;box-shadow:0 30px 60px -30px rgba(8,8,8,.45)}
.mega h3{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:.9rem;color:var(--brass-ink);letter-spacing:0}
.mega a{font-family:var(--font-body);font-weight:600}
.mega a:hover{color:#9A8040}
.mega-feature{border-radius:0}
.mega-feature span{font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:1.1rem}
.mega-feature em{color:var(--amber);font-family:var(--font-display);font-weight:800}

/* Drawer */
.drawer{background:linear-gradient(180deg,var(--brown),var(--black))}
.drawer summary,.drawer .d-link{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:1.2rem}
.drawer .menu-btn{border-color:rgba(255,255,255,.5);color:#fff}
.drawer summary::after{color:var(--amber)}
.drawer .btn-ghost{color:#fff}

/* Home hero (split) */
.hero2{position:relative;display:grid;grid-template-columns:1fr;background:linear-gradient(180deg,var(--brown) 0%,var(--black) 100%);color:#fff}
.hero2-media{position:relative;min-height:340px;overflow:hidden}
.hero2-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero2-body{padding:clamp(2.5rem,6vw,4.5rem) var(--gutter) clamp(7rem,12vw,9rem)}
.hero2 h1{color:#FFFFFF;margin-bottom:1.2rem;max-width:16ch}
.hero2 .lead{color:#ECECEC;font-size:var(--t-lg);max-width:54ch;margin-bottom:1.6rem}
.hero2 .hero-secondary{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.hero2 .hero-secondary a{color:#ECECEC;font-weight:600;font-size:var(--t-sm);text-decoration:none;border-bottom:1px solid rgba(205,176,106,.6);padding-bottom:2px}
.hero2 .hero-secondary a:hover{color:var(--amber)}
.hero2 .hero-float{position:absolute;left:var(--gutter);bottom:1.25rem;top:auto;right:auto;z-index:2;display:inline-flex;align-items:center;gap:.6rem;margin:0;padding:.55rem .9rem;border-radius:0;border:0;background:var(--amber);color:#000;font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:.78rem;letter-spacing:0;text-transform:uppercase;backdrop-filter:none}
.hero2 .hero-float i{width:8px;height:8px;border-radius:50%;background:#000;box-shadow:none}
@media(min-width:1000px){
  .hero2{grid-template-columns:1fr 1fr;min-height:640px}
  .hero2-media{min-height:0}
  .hero2-body{padding:clamp(3rem,5vw,4.5rem) max(var(--gutter),calc((100vw - var(--wrap))/2)) 9rem clamp(2rem,3.5vw,3.5rem);align-self:center}
  .hero2 .hero-float{bottom:7.5rem}
}

/* Amber pillar band */
.pillars{position:relative;z-index:3;margin-top:-90px}
.pillars-h{background:var(--amber);color:#111111;text-align:center;font-size:clamp(1.05rem,.8rem + 1.1vw,1.75rem);padding:1rem 1.25rem;line-height:1.15}
.pillars-grid{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;padding:1.75rem .75rem}
.pillar{text-align:center;padding:1rem .9rem;display:flex;flex-direction:column;align-items:center}
.pillar+.pillar{border-left:1px solid rgba(8,8,8,.14)}
.pillar:nth-child(3){border-left:0}
.pillar h3{font-size:.92rem;margin:.9rem 0 .35rem}
.pillar p{font-size:.88rem;line-height:1.45;margin:0;color:var(--muted)}
@media(min-width:900px){.pillars-grid{grid-template-columns:repeat(4,1fr);padding:2rem 1rem}.pillar:nth-child(3){border-left:1px solid rgba(8,8,8,.14)}}
.hex{width:62px;height:70px;display:grid;place-items:center;color:var(--amber);background:var(--amber);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);position:relative}
.hex::before{content:"";position:absolute;inset:3px;background:linear-gradient(180deg,#1C1C1C,#000);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hex svg{position:relative;width:28px;height:28px}

/* About split w/ offset block */
.about-split .split{align-items:center}
.offset-media{position:relative;padding:0 0 2.2rem 2.2rem}
.offset-media::before{content:"";position:absolute;left:0;bottom:0;width:78%;height:78%;background:var(--brown)}
.offset-media img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover}
.about-split p{color:var(--muted);font-size:var(--t-base)}
.about-split .btn{margin-top:.6rem}

/* Service cards */
.svc-grid{display:grid;gap:2rem 1.25rem}
@media(min-width:700px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit}
.svc-card .media{width:100%;aspect-ratio:3/2;margin-bottom:1.1rem;border-radius:0}
.svc-card .media img{transition:transform .8s var(--ease)}
.svc-card:hover .media img{transform:scale(1.04)}
.svc-card h3{font-size:1.15rem;margin-bottom:.5rem}
.svc-card p{font-size:.95rem;color:var(--muted);margin:0 0 .8rem;max-width:40ch}
.svc-card .more{font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:.85rem;color:var(--brass-ink)}
.svc-card:hover .more{color:var(--ink)}

/* Explorer on light */
.explorer.light .tab{border-radius:0;border:0;background:var(--brown);color:#fff;font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:.85rem;min-height:48px;padding:.6rem 1.3rem}
.explorer.light .tab:hover{background:#343434}
.explorer.light .tab[aria-selected=true]{background:var(--amber);color:#000}
.explorer.light .tabs{justify-content:center;flex-wrap:wrap}
.explorer.light .ex-body p{color:var(--muted)}
.explorer.light .spec-list{border-color:var(--line)}
.explorer.light .spec-list div{border-color:var(--line)}
.explorer.light .spec-list dt{color:var(--brass-ink);font-family:var(--font-display);font-weight:800;letter-spacing:0}
.explorer.light .spec-list dd{color:var(--ink)}
.explorer.light .ex-panel{background:#fff;padding:clamp(1rem,2.5vw,1.75rem);box-shadow:var(--shadow)}
.ex-media,.media{border-radius:0}
.tab{border-radius:0}

/* Studio teaser */
.studio-teaser{border-radius:0;border:0;box-shadow:var(--shadow-lg)}
.chip{border-radius:0;font-family:var(--font-body)}
.chip[aria-pressed=true]{background:var(--amber);color:#000;border-color:var(--amber)}
.ticks{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:.55rem}
.ticks li{display:flex;gap:.6rem;align-items:center;font-weight:600}
.ticks li::before{content:"";width:10px;height:10px;background:var(--amber);flex-shrink:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* Why choose us */
.why2-in{display:grid;gap:2.5rem}
@media(min-width:960px){.why2-in{grid-template-columns:.85fr 1.15fr;align-items:start}}
.why2-in>div:first-child p{color:var(--muted);margin:1rem 0 1.6rem}
.why2-grid{display:grid;grid-template-columns:1fr}
@media(min-width:600px){.why2-grid{grid-template-columns:1fr 1fr}}
.why2-item{padding:1.6rem 1.4rem}
@media(min-width:600px){.why2-item:nth-child(odd){border-right:1px solid var(--line)}.why2-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:599px){.why2-item+.why2-item{border-top:1px solid var(--line)}}
.circ{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#1C1C1C,#000);color:var(--amber);margin-bottom:1rem}
.circ svg{width:28px;height:28px}
.why2-item h3{font-size:.98rem;margin-bottom:.5rem}
.why2-item p{font-size:.92rem;color:var(--muted);margin:0}

/* Project gallery (dark brown) */
.gfilters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}
.gfilters button{min-height:48px;padding:.6rem 1.3rem;border:0;border-radius:0;background:#2C2C2C;color:#fff;font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:.85rem;cursor:pointer}
.gfilters button:hover{background:#3B3B3B}
.gfilters button[aria-pressed=true]{background:var(--amber);color:#000}
.ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:900px){.ggrid{grid-template-columns:repeat(4,1fr);gap:1rem}}
.ggrid button{position:relative;padding:0;border:0;background:#000;cursor:zoom-in;aspect-ratio:3/2;overflow:hidden}
.ggrid button[hidden]{display:none}
.ggrid img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),opacity .3s}
.ggrid button:hover img{transform:scale(1.05);opacity:.85}
.ggrid span{position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);color:#fff;font-size:.75rem;font-weight:600;text-align:left}

/* Process (hex timeline) */
.process2-wrap{display:grid;gap:2.5rem}
@media(min-width:960px){.process2-wrap{grid-template-columns:.8fr 1.2fr;align-items:start}}
.process2-wrap>div:first-child p{color:var(--muted);margin:1rem 0 1.6rem}
.process2{list-style:none;margin:0;padding:0}
.process2 li{position:relative;display:grid;grid-template-columns:62px 1fr;gap:1.1rem;padding-bottom:2rem}
.process2 li:not(:last-child)::after{content:"";position:absolute;left:30px;top:76px;bottom:6px;width:2px;background:var(--amber)}
.hexn{width:62px;height:70px;display:grid;place-items:center;background:var(--amber);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);position:relative;font-family:var(--font-display);font-stretch:125%;font-weight:900;color:#FFFFFF;font-size:1.2rem}
.hexn::before{content:"";position:absolute;inset:3px;background:linear-gradient(180deg,#1C1C1C,#000);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);z-index:-1}
.hexn{isolation:isolate}
.process2 h3{font-size:1.1rem;margin:.6rem 0 .35rem}
.process2 p{margin:0;color:var(--muted);font-size:.95rem}

/* Service areas */
.sa2{display:grid;gap:2rem}
@media(min-width:900px){.sa2{grid-template-columns:1fr 1fr;align-items:start}}
.sa2 p{color:var(--muted)}
.pins{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.5rem}
.pins a{display:flex;align-items:center;gap:.55rem;padding:.55rem 0;text-decoration:none;font-weight:700;color:var(--ink)}
.pins a:hover{color:var(--brass-ink)}
.pins svg{width:20px;height:20px;color:#9A8040;flex-shrink:0}

/* Reviews */
.rcard{border-radius:0;border:0;border-top:4px solid var(--amber);box-shadow:var(--shadow)}
.rcard blockquote{font-family:var(--font-body);font-size:1.02rem;font-weight:500}
.stars{color:#B8985A}
.rcard footer{color:var(--muted)}

/* FAQ */
.faq summary{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(1rem,.9rem + .5vw,1.3rem);align-items:center;padding:1.4rem 0}
.faq summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font-family:var(--font-body);font-size:1.1rem;font-weight:700}
.faq details[open] summary::after{content:"–";background:var(--amber);color:#000}
.faq details{border-bottom:1px solid rgba(8,8,8,.18)}
.faq details p{color:var(--ink);font-size:var(--t-base)}

/* Estimate band (photo bg + boxed) */
.est-band{position:relative;padding-block:clamp(3rem,7vw,5rem);border-bottom:4px solid var(--amber)}
.est-bg{position:absolute;inset:0;overflow:hidden}
.est-bg img{width:100%;height:100%;object-fit:cover}
.est-bg::after{content:"";position:absolute;inset:0;background:rgba(4,4,4,.35)}
.est-box{position:relative;z-index:1;background:rgba(244,244,244,.97);padding:clamp(1.75rem,4vw,3rem) clamp(1.1rem,5vw,4.5rem);text-align:center}
.est-box h2{color:var(--ink);margin-bottom:.6rem}
.est-sub{max-width:60ch;margin:0 auto 1.6rem;color:var(--muted)}
.est-box .form-shell{text-align:left;box-shadow:none;border:0;background:transparent;padding:0}
.est-box [data-estimate]{max-width:880px;margin-inline:auto}

/* Inner page hero (split, image left / dark panel right) */
.phero{background:linear-gradient(180deg,var(--brown) 0%,var(--black) 100%);color:#fff}
.phero .h1{color:#FFFFFF}
.phero .lead{color:#E9E9E9}
.phero-body .btn-row{margin-top:1.6rem}
.phero .crumbs{color:#CECECE}
.phero .crumbs a:hover{color:var(--amber)}
.split-hero{display:grid;grid-template-columns:1fr}
.split-hero .phero-media{position:relative;min-height:260px;overflow:hidden}
.split-hero .phero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-hero .phero-body{padding:clamp(2.5rem,6vw,4.5rem) var(--gutter)}
@media(min-width:1000px){.split-hero{grid-template-columns:1fr 1fr;min-height:520px}.split-hero .phero-media{min-height:0}.split-hero .phero-body{align-self:center;padding:4rem max(var(--gutter),calc((100vw - var(--wrap))/2)) 4rem clamp(2rem,4vw,4rem)}}
.phero-in{grid-template-columns:1fr!important;padding-block:clamp(3rem,7vw,5rem)}
.split-hero .concept-tag{left:.75rem;bottom:.75rem}
.tool-intro{background:linear-gradient(180deg,var(--brown),var(--black))}
.tool-intro h1{color:#FFFFFF}

/* Cards / panels / forms: square corners, warm palette */
.pcard .media{border-radius:0}
.pcard h3{font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:1.05rem;text-transform:uppercase}
.pcard .meta{color:var(--brass-ink);font-weight:700}
.brown .pcard .meta,.dark .pcard .meta{color:var(--amber)}
.scard{border-radius:0;border:0;border-top:4px solid var(--amber);box-shadow:var(--shadow)}
.scard h3{font-size:.98rem}
.why-card .num{color:var(--brass-ink)}
.why-card.wide{background:var(--brown)}
.form-shell,.panel,.quiz{border-radius:0}
.quiz{border:0;border-top:4px solid var(--amber)}
.quiz-progress i,.steps-nav i.on{background:var(--amber)}
.opt span,.pill span,.input,.field select,.field textarea,.fsel select,.tbtn,.asst-f input,.msg .qs button{border-radius:0}
.input,.field select,.field textarea{background:#fff;border-color:rgba(8,8,8,.25)}
.opt input:checked+span,.pill input:checked+span,.tbtn[aria-pressed=true]{background:var(--brown);border-color:var(--brown);color:#fff}
.input:focus,.field select:focus,.field textarea:focus{border-color:#9A8040;box-shadow:0 0 0 3px rgba(205,176,106,.3)}
.acc.done .acc-h .n{background:var(--amber);border-color:var(--amber);color:#000}
.check input{accent-color:#9A8040}
.prefill b{color:var(--brass-ink)}
.stage,.planner-wrap,.ba,.compare-strip figure,.thumbs figure,.gstrip button{border-radius:0}
.stage-spec,.stage-hint{border-radius:0}
.sw span i{border-radius:0}
.badge,.tag{border-radius:0}
.cmp-table thead th,.out-big,.stage-spec b,.ftr-big,.stat b,.trust-item b{font-family:var(--font-display);font-stretch:125%;font-weight:900}
.prose h2{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem)}
.prose h3{font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:1.05rem}
.prose a{color:#5F4D22}
.answer{border-top:4px solid var(--amber)}
.lgrid a{font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:1rem}
.lgrid a:hover{color:var(--brass-ink)}
.process li::before{font-family:var(--font-display);font-stretch:125%;font-weight:900;color:#9A8040}
.dark .process li::before{color:var(--amber)}
.process h3{font-size:1rem}
.cta-band{border-radius:0;background:var(--brown)}
.disclaimer{border-left-color:var(--amber)}
.checklist li::before{border-color:#9A8040;border-radius:0}
.data-table thead th{font-family:var(--font-display);font-weight:800;letter-spacing:0;color:var(--brass-ink)}
.concept-tag{border-radius:0;background:rgba(0,0,0,.6)}
.lb img,.lb button{border-radius:0}

/* Assistant + mobile bar */
.asst-fab{border-radius:0;background:var(--brown);border:2px solid var(--amber);color:#fff;font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:.8rem}
.asst{border-radius:0}
.asst-h{background:linear-gradient(180deg,var(--brown),var(--black))}
.asst-h b{font-family:var(--font-display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:1rem}
.msg{border-radius:0}
.msg.me{background:var(--brown)}
.msg a{color:#5F4D22}
.mbar{background:#000;border-top:3px solid var(--amber)}
.mbar a{background:var(--brown);font-family:var(--font-display);font-stretch:112%;font-weight:900;letter-spacing:0;font-size:.7rem}
.mbar a.pri{background:var(--amber);color:#000}

/* Footer */
.ftr{background:linear-gradient(180deg,#000 0%,#212121 100%);color:#fff;border-top:0;font-size:.95rem}
.ftr-top{grid-template-columns:1fr;gap:2.25rem;border-bottom:1px solid rgba(255,255,255,.6)}
@media(min-width:700px){.ftr-top{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.ftr-top{grid-template-columns:1.1fr .8fr .9fr .95fr 1.3fr}}
.ftr h2{font-family:var(--font-display);font-stretch:125%;font-weight:900;color:#fff;font-size:1.25rem;letter-spacing:0;text-transform:uppercase;margin-bottom:1rem}
.ftr ul{gap:.6rem}
.ftr a{color:#fff}.ftr a:hover{color:var(--amber)}
.ftr-brand{display:flex;flex-direction:column;align-items:center}
.ftr-brand img{width:180px;height:auto}
.ftr-social{display:flex;gap:1rem;margin-top:1.25rem}
.ftr-social a{color:var(--amber)}
.ftr-social svg{width:24px;height:24px}
.ftr-contact li{line-height:1.5}
.ftr-areas{grid-template-columns:1fr 1fr;column-gap:1rem}
.ftr-bot{color:#fff;justify-content:center;text-align:center;font-size:.9rem}
.ftr-bot span{color:#fff}
@media(max-width:699px){.ftr-brand{align-items:flex-start}}
[hidden]{display:none!important}
.ex-panel>*{min-width:0}
.ex-media{width:100%}
.ex-media img{position:absolute;inset:0}
p.center,.fine.center,.section-head.center p{margin-inline:auto}
@media(min-width:900px){.est-box .fgrid{grid-template-columns:repeat(3,1fr)}.est-box .fgrid>.field:has(textarea),.est-box .fgrid>.wide,.est-box .fgrid>.check{grid-column:1/-1}}
.est-box .field label{font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.78rem}
.spec-list.light{border-top-color:var(--line)}
.spec-list.light div{border-bottom-color:var(--line)}
.spec-list.light dt{color:var(--brass-ink);font-family:var(--font-display);font-weight:800;font-stretch:112%}
.spec-list.light dd{color:var(--ink)}

/* ===================== v3 DESIGN POLISH ===================== */
.section{padding-block:clamp(3.5rem,6.5vw,6.25rem)}
.section-t{padding-top:clamp(3.5rem,6.5vw,6.25rem)}
.h2{line-height:1.02}
.h2+p,.h2+.lead{margin-top:1rem}

/* hero trust row */
.hero-trust{list-style:none;margin:2rem 0 0;padding:1.4rem 0 0;border-top:1px solid rgba(205,176,106,.28);display:flex;flex-wrap:wrap;gap:1rem 2rem}
.hero-trust li{display:flex;align-items:center;gap:.7rem;color:#E0E0E0;font-size:.85rem;line-height:1.25}
.hero-trust svg{width:30px;height:30px;color:var(--amber);flex-shrink:0}
.hero-trust b{display:block;color:#fff;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.82rem;letter-spacing:.02em}
.hero2-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,0) 70%,rgba(8,8,8,.35));pointer-events:none}

/* service cards: lift + zoom */
.svc-card .media{overflow:hidden}
.svc-card .media img{transition:transform .6s var(--ease)}
.svc-card:hover .media img{transform:scale(1.05)}
.svc-card{transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(8,8,8,.35)}
@media(prefers-reduced-motion:reduce){.svc-card,.svc-card .media img{transition:none}.svc-card:hover{transform:none}.svc-card:hover .media img{transform:none}}

/* process: horizontal timeline */
.process-band{background:#fff}
@media(min-width:1000px){
  .process2.h{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;position:relative}
  .process2.h::before{content:"";position:absolute;left:10%;right:10%;top:31px;height:2px;background:var(--amber)}
  .process2.h li{display:block;text-align:center;padding:0}
  .process2.h li::after{display:none}
  .process2.h .hexn{margin:0 auto 1.1rem;position:relative;z-index:1}
  .process2.h h3{margin:0 0 .5rem;font-size:1rem}
  .process2.h p{font-size:.9rem}
}

/* quiz */
.quiz-split{align-items:start!important}
@media(min-width:960px){.quiz-aside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.quiz-photo{position:relative;margin-top:2rem;aspect-ratio:4/3;overflow:hidden;box-shadow:14px 14px 0 var(--amber)}
.quiz-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:959px){.quiz-photo{display:none}}

/* reviews */
.rcard{position:relative;padding-top:2.6rem}
.rcard::before{content:"\201C";position:absolute;top:.2rem;right:1.2rem;font-family:Georgia,serif;font-size:5rem;line-height:1;color:var(--amber);opacity:.55}
.rcard .stars{color:#9A8040;font-size:1rem;letter-spacing:.15em}

/* service-area cards */
.pins.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.pins.cards a{background:#fff;padding:.9rem 1rem;border-left:4px solid var(--amber);box-shadow:0 6px 18px -12px rgba(8,8,8,.35);text-transform:uppercase;font-family:var(--font-display);font-stretch:112%;font-weight:800;font-size:.85rem;transition:background .2s,color .2s}
.pins.cards a:hover{background:var(--brown);color:#fff}
.pins.cards a:hover svg{color:var(--amber)}

/* FAQ two-column */
.faq-wrap{display:grid;gap:2rem}
@media(min-width:960px){.faq-wrap{grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}.faq-aside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.faq-aside .h2{margin-bottom:1.5rem}
.faq-help{background:linear-gradient(160deg,var(--brown),var(--black));color:#E6E6E6;padding:1.75rem;border-top:4px solid var(--amber)}
.faq-help .h-sm{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;color:#fff;font-size:1.15rem;margin:0 0 .5rem}
.faq-help p{margin:0 0 1.25rem;font-size:.95rem}
.faq details:first-child{border-top:1px solid rgba(8,8,8,.18)}
@media(max-width:959px){.faq-help{display:none}}

/* gallery tiles: caption reveal + zoom */
.ggrid button{overflow:hidden}
.ggrid button img{transition:transform .6s var(--ease)}
.ggrid button:hover img,.ggrid button:focus-visible img{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.ggrid button img{transition:none}.ggrid button:hover img{transform:none}}
@media(min-width:1000px){
  .hero2 .h-hero{font-size:clamp(2.6rem,1.2rem + 2.6vw,3.9rem);line-height:1.04;max-width:none}
  .hero2-body{padding-top:3rem!important;padding-bottom:8rem!important}
  .hero2 .lead{font-size:1.08rem;margin-bottom:1.4rem}
  .hero-trust{margin-top:1.6rem;padding-top:1.2rem}
}
.hero2-body{container-type:inline-size}
@media(min-width:1000px){.hero2 .h-hero{font-size:min(9.7cqi,4rem)}}
@media(max-width:999px){.hero2 .h-hero{font-size:min(9.7cqi,3.6rem)}}
@media(min-width:1180px) and (max-width:1319px){.hdr-cta{margin-left:auto}}
@media(min-width:900px){.sa2{grid-template-columns:.8fr 1.2fr;gap:3rem}}
.pins.cards{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))}
.pins.cards a{font-size:.8rem;white-space:nowrap}
.about-pillars{background:#fff;box-shadow:var(--shadow)}
.pillar .hex b{font-family:var(--font-display);font-stretch:112%;font-weight:900;color:var(--amber);font-size:1rem}

/* ===== v3 dropdown panels: compact, anchored under the trigger ===== */
.mega{left:16px;right:auto;width:max-content;max-width:calc(100vw - 32px);top:calc(100% - 6px);border-top:0;background:#fff;box-shadow:0 24px 50px -18px rgba(8,8,8,.45),0 0 0 1px rgba(8,8,8,.06)}
.mega::before{content:"";position:absolute;top:-7px;left:var(--caret,40px);width:14px;height:14px;background:var(--amber);transform:translateX(-50%) rotate(45deg)}
.mega::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--amber)}
.mega-in{display:grid;grid-auto-flow:column;grid-auto-columns:auto;gap:1.75rem;padding:1.6rem 1.6rem 1.4rem;max-width:none;align-items:stretch}
.mega-in>div{min-width:200px}
.mega h3{margin:0 0 .55rem .75rem;font-size:.78rem;letter-spacing:.04em}
.mega ul{gap:0}
.mega ul.cols2{column-gap:.25rem}
.mega li a{padding:.55rem .75rem;border-left:3px solid transparent;transition:background .15s,border-color .15s;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.84rem;letter-spacing:.01em;color:var(--ink)}
.mega li a:hover,.mega li a:focus-visible{background:var(--cream);border-left-color:var(--amber);color:var(--ink)}
.mega li a small{font-family:var(--font-body);font-stretch:100%;font-weight:400;text-transform:none;font-size:.8rem;letter-spacing:0;margin-top:.1rem}
.mega .mega-feature{width:230px;min-height:0;align-self:stretch}
.mega-1 .mega-feature{width:210px}
.mega-feature span{padding:1rem;font-size:1rem}
.mega-foot{display:flex;align-items:center;gap:1.25rem;padding:.8rem 1.6rem;background:var(--brown);color:#E0E0E0;font-size:.85rem}
.mega-foot span{margin-right:auto}
.mega-foot a{display:inline-flex;align-items:center;gap:.4rem;color:#fff;text-decoration:none;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.78rem;padding:0;border:0}
.mega-foot a:hover{color:var(--amber);background:none}
.mega-foot svg{width:16px;height:16px;color:var(--amber)}
.mega-foot a:last-child{background:var(--amber);color:#111111;padding:.5rem .8rem}
.mega-foot a:last-child:hover{background:#DCC688;color:#111111}
.mega-in{grid-template-columns:none}
.mega-1 .mega-foot span{display:none}
.mega-1 .mega-foot{justify-content:flex-end}

/* ===== v4 HERO: copy + real-photo mosaic ===== */
.hero3{grid-template-columns:1fr;overflow:hidden;background:
  radial-gradient(60% 80% at 100% 0%,rgba(205,176,106,.16),transparent 60%),
  repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 46px),
  linear-gradient(160deg,var(--brown) 0%,#1C1C1C 55%,var(--black) 100%)}
.hero3 .hero2-body{padding:2.5rem var(--gutter) 2rem}
.hero3 .eyebrow{display:flex;align-items:center;gap:.7rem}
.hero3 .eyebrow::before{content:"";width:34px;height:3px;background:var(--amber)}
.hero-mosaic{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(300px,78vw,460px);margin:0 var(--gutter) 0;padding-bottom:110px}
.hero-mosaic figure{position:relative;margin:0;overflow:hidden;background:#1C1C1C}
.hero-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-a{grid-row:1/3}
.hm-a img{object-position:40% 60%}
.hero-mosaic figcaption{position:absolute;left:0;bottom:0;padding:.35rem .6rem;background:rgba(8,8,8,.82);color:#ECECEC;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.hero3 .hero-float{position:absolute;left:auto;right:-6px;top:-14px;bottom:auto;font-size:.68rem;padding:.5rem .8rem;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.hm-note{position:absolute;left:0;bottom:84px;margin:0;color:#C0C0C0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.hm-note::before{content:"";display:inline-block;width:8px;height:8px;margin-right:.5rem;background:var(--amber);vertical-align:1px}
.hero3 .hero-trust{display:grid;grid-template-columns:1fr;gap:.9rem}
@media(min-width:600px){.hero3 .hero-trust{grid-template-columns:repeat(3,auto);justify-content:start;gap:1rem 1.8rem}}
@media(min-width:1000px){
  .hero3{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:0;align-items:stretch}
  .hero3 .hero2-body{padding:3.25rem clamp(1.5rem,3vw,3rem) 8.5rem max(var(--gutter),calc((100vw - var(--wrap))/2))!important;align-self:center}
  .hero-mosaic{height:auto;margin:3.25rem max(var(--gutter),calc((100vw - var(--wrap))/2)) 8.5rem 0;padding:0}
  .hero-mosaic::before{content:"";position:absolute;inset:22px -14px -14px 22px;border:3px solid var(--amber);pointer-events:none;z-index:0}
  .hero-mosaic figure{z-index:1}
  .hm-note{bottom:-2.6rem;left:22px}
  .hero3 .hero-float{right:auto;left:-18px;top:auto;bottom:28px;font-size:.74rem}
}
@media(min-width:1000px) and (max-width:1179px){.hero3 .hero-trust{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:no-preference){.hero-mosaic img{transition:transform .8s var(--ease)}.hero-mosaic figure:hover img{transform:scale(1.04)}}
@media(min-width:1000px){
  .hero3{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .hero3 .hero2-body{padding-top:2.5rem!important;padding-bottom:7.5rem!important}
  .hero3 .h-hero{font-size:min(7.4cqi,3.6rem);line-height:1.02;margin-bottom:1rem}
  .hero3 .lead{margin-bottom:1.3rem}
  .hero3 .hero-secondary{margin-top:1.1rem}
  .hero3 .hero-trust{margin-top:1.3rem;padding-top:1.1rem}
  .hero-mosaic{margin-top:2.5rem;margin-bottom:7.5rem}
  .hero3 .hero-float{top:-16px;bottom:auto;left:-18px}
  .hm-a img{object-position:50% 85%}
}
.hero-mosaic figcaption{white-space:nowrap}
@media(min-width:1000px){.hm-note{display:none}}
@media(min-width:1000px) and (max-width:1179px){.hero3 .hero-trust{grid-template-columns:repeat(3,auto);gap:1rem 1.2rem}.hero3 .hero-trust li{font-size:.78rem}.hero3 .hero-trust b{font-size:.74rem}.hero-mosaic figcaption{font-size:.6rem;letter-spacing:.03em}}
@media(max-width:999px){.hero-mosaic{height:calc(min(86vw,520px) + 110px);margin-top:1.2rem}.hero3 .hero-float{right:auto;left:-6px}}
@media(max-width:599px){.hero-mosaic{grid-template-columns:1fr 1fr;gap:8px}.hero-mosaic figcaption{font-size:.56rem;letter-spacing:.02em;padding:.3rem .45rem}.hero3 .hero-float{font-size:.6rem;padding:.45rem .65rem}}
.tool-intro .lead,.tool-intro p{color:#ECECEC}
.tool-intro .eyebrow{color:var(--amber)}
.tool-intro .crumbs,.tool-intro .crumbs a{color:#E0E0E0}

/* ===== v4 CONTACT + ESTIMATE FORM ===== */
.contact-hero{padding-bottom:clamp(2rem,4vw,3rem)}
.ch-in{display:grid;gap:1.75rem;align-items:end}
.contact-hero .lead{margin:0}
.ch-cards{display:grid;gap:.6rem}
.ch-card{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;background:rgba(255,255,255,.06);border:1px solid rgba(205,176,106,.28);color:#fff;text-decoration:none;min-width:0}
.ch-card svg{width:26px;height:26px;color:var(--amber);flex-shrink:0}
.ch-card small{display:block;color:#CDCDCD;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.ch-card b{display:block;font-family:var(--font-display);font-stretch:112%;font-weight:800;font-size:1rem;overflow-wrap:anywhere}
a.ch-card:hover{background:rgba(205,176,106,.14);border-color:var(--amber)}
.ch-call{background:var(--amber);border-color:var(--amber);color:#111111}
.ch-call svg,.ch-call small{color:#111111}
a.ch-call:hover{background:#DCC688}
.ch-call b{font-size:1.25rem}
@media(min-width:1000px){.ch-in{grid-template-columns:1fr auto}.ch-cards{grid-template-columns:repeat(3,auto)}}

.contact-main{background:var(--cream)}
.contact-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:1000px){.contact-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:2.5rem}.contact-aside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.contact-form .form-shell{box-shadow:0 18px 50px rgba(8,8,8,.12);border:0;border-top:5px solid var(--amber)}
.contact-aside{display:grid;gap:1.25rem}
.ca-card{padding:1.6rem}
.ca-dark{background:linear-gradient(170deg,var(--brown),var(--black));color:#ECECEC}
.ca-dark .eyebrow{color:var(--amber)}
.ca-dark h2{color:#fff;margin:.2rem 0 .6rem}
.ca-dark p{color:#E0E0E0}
.ca-call{display:flex;justify-content:center;gap:.6rem;width:100%;margin:1.1rem 0 1.25rem}
.ca-call svg{width:20px;height:20px}
.ca-list{list-style:none;margin:0;padding:1.1rem 0 0;border-top:1px solid rgba(205,176,106,.25);display:grid;gap:.9rem}
.ca-list li{display:flex;gap:.75rem;font-size:.92rem;line-height:1.4}
.ca-list svg{width:20px;height:20px;color:var(--amber);flex-shrink:0;margin-top:.15rem}
.ca-list small{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#C0C0C0}
.ca-list a,.ca-social a{color:#fff;text-decoration:underline;text-decoration-color:rgba(205,176,106,.6);text-underline-offset:3px;overflow-wrap:anywhere}
.ca-social{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.2rem 0 0;font-size:.85rem}
.ca-next{background:#fff;border-left:4px solid var(--amber)}
.ca-next ol{list-style:none;counter-reset:n;margin:1rem 0 0;padding:0;display:grid;gap:1rem}
.ca-next li{counter-increment:n;position:relative;padding-left:2.6rem}
.ca-next li::before{content:counter(n);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;display:grid;place-items:center;background:var(--brown);color:var(--amber);font-family:var(--font-display);font-weight:900;font-size:.85rem}
.ca-next b{font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.85rem}
.ca-next p{margin:.25rem 0 0;font-size:.88rem;color:#484848}

.fhead{margin-bottom:1.4rem}
.fhead .eyebrow{color:var(--amber-ink,#75602C);margin:0 0 .3rem}
.fhead h2{margin:0 0 .35rem}
.fhead p{margin:0;color:#484848;font-size:.95rem}
.fsteps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0 0 1.6rem;padding:0;counter-reset:none}
.fsteps li{display:flex;align-items:center;gap:.55rem;padding:.6rem .7rem;background:#EFEFEF;color:#5A5A5A;font-family:var(--font-display);font-stretch:112%;font-weight:800;font-size:.74rem;text-transform:uppercase;border-bottom:3px solid transparent;min-width:0}
.fsteps li span{width:1.6rem;height:1.6rem;display:grid;place-items:center;background:#DCDCDC;color:#5A5A5A;flex-shrink:0;font-size:.8rem}
.fsteps li.on{background:#FAF5E4;color:#111111;border-bottom-color:var(--amber)}
.fsteps li.on span{background:var(--amber);color:#111111}
.fsteps li.done{color:#111111}
.fsteps li.done span{background:var(--brown);color:var(--amber);font-size:0}
.fsteps li.done span::after{content:"✓";font-size:.85rem}
@media(max-width:480px){.fsteps li{font-size:.62rem;padding:.5rem;gap:.4rem}.fsteps li span{width:1.35rem;height:1.35rem}}
.is-full .field>label,.is-full .field>legend,.is-full .field>.caps{font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.02em;color:#111111;margin-bottom:.45rem;padding:0}
.is-full fieldset.field{border:0;margin:0;padding:0;min-width:0}
.mat-tiles{margin-bottom:1.4rem!important}
.mt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media(min-width:700px){.mt-grid{grid-template-columns:repeat(5,1fr)}}
.mtile{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid rgba(8,8,8,.16);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.mtile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.mt-img{position:relative;display:block;aspect-ratio:16/11;background:#E7E7E7;overflow:hidden}
.mt-img img{width:100%;height:100%;object-fit:cover;display:block}
.mt-img em{position:absolute;left:0;bottom:0;background:rgba(8,8,8,.8);color:#fff;font-style:normal;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .35rem}
.mt-q{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:2rem;color:var(--amber-ink,#75602C)}
.mt-txt{display:block;padding:.55rem .6rem .65rem}
.mt-txt b{display:block;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.78rem}
.mt-txt small{display:block;font-size:.72rem;line-height:1.3;color:#4F4F4F;margin-top:.15rem}
.mt-check{position:absolute;top:.4rem;right:.4rem;width:1.4rem;height:1.4rem;background:#fff;border:1.5px solid rgba(8,8,8,.3);border-radius:50%}
.mtile:hover{border-color:#9A8040}
.mtile:has(input:checked){border-color:var(--amber);box-shadow:0 0 0 2px var(--amber)}
.mtile:has(input:checked) .mt-check{background:var(--amber);border-color:var(--amber)}
.mtile:has(input:checked) .mt-check::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:.8rem;font-weight:900;color:#111111}
.mtile:has(input:focus-visible){outline:3px solid #111111;outline-offset:2px}
.pill-grid{display:grid;gap:1.1rem 1.5rem;margin-bottom:1.4rem}
@media(min-width:700px){.pill-grid{grid-template-columns:1fr 1fr}}
.pills-row{display:flex;flex-wrap:wrap;gap:.4rem}
.fpill{position:relative;cursor:pointer}
.fpill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.fpill span{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1.5px solid rgba(8,8,8,.2);background:#fff;font-size:.9rem;font-weight:600;transition:all .15s}
.fpill:hover span{border-color:#9A8040}
.fpill input:checked+span{background:var(--brown);border-color:var(--brown);color:#fff}
.fpill input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.is-full .fgrid{grid-template-columns:1fr}
@media(min-width:640px){.is-full .fgrid{grid-template-columns:1fr 1fr}}
.is-full .form-actions{border-top:1px solid rgba(8,8,8,.1);padding-top:1.25rem}
.ftrust{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.1rem 0 0;padding:0;font-size:.8rem;color:#484848}
.ftrust li::before{content:"✓";color:#75602C;font-weight:900;margin-right:.4rem}
.is-full .dropzone{background:#F8F8F8;border-color:rgba(123,123,123,.5);padding:1.5rem}
.is-full .prefill{border-left:4px solid var(--amber);background:#FAF5E4}

.tools-band{background:#fff}
.tb-head{margin-bottom:1.5rem}
.tb-head .eyebrow{color:var(--amber-ink,#75602C)}
.tb-grid{display:grid;gap:1rem}
@media(min-width:800px){.tb-grid{grid-template-columns:repeat(3,1fr)}}
.tb-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1.5px solid rgba(8,8,8,.12);background:var(--cream);color:#111111;text-decoration:none;transition:border-color .15s,transform .15s}
.tb-card:hover{border-color:var(--amber)}
.tb-ic{width:3rem;height:3rem;display:grid;place-items:center;background:var(--brown);color:var(--amber);flex-shrink:0}
.tb-ic svg{width:24px;height:24px}
.tb-card b{display:block;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.88rem}
.tb-card small{display:block;color:#484848;font-size:.85rem;margin-top:.2rem}
.tb-go{margin-left:auto;color:#75602C;font-weight:900;font-size:1.2rem}
@media(min-width:1000px){.ch-in{grid-template-columns:1fr;gap:1.5rem}.ch-cards{grid-template-columns:1.1fr 1.2fr 1fr;max-width:980px}}
@media(min-width:640px) and (max-width:999px){.ch-cards{grid-template-columns:1fr 1fr}.ch-call{grid-column:1/-1}}
.fpill span{padding:0 .85rem}
@media(min-width:700px){.pill-grid>.pillset:nth-child(-n+2){grid-column:1/-1}}
@media(min-width:1000px){.ch-cards{grid-template-columns:repeat(3,auto);justify-content:start;max-width:none}.ch-card{padding:.9rem 1.4rem}}
@media(max-width:699px){.mt-unsure{grid-column:1/-1;flex-direction:row;align-items:center}.mt-unsure .mt-img{width:64px;aspect-ratio:1;flex-shrink:0}.mt-unsure .mt-q{font-size:1.5rem}}

/* ===== logo: single source of truth for sizing (keeps 716:614 ratio) ===== */
.hdr .brand img,.brand img{width:auto!important;height:var(--logo-h,92px)!important;aspect-ratio:716/614;object-fit:contain;max-width:none;image-rendering:auto}
:root{--logo-h:92px}
@media(min-width:1320px) and (max-width:1519px){:root{--logo-h:82px}}
@media(max-width:1179px){:root{--logo-h:70px}}
@media(max-width:600px){:root{--logo-h:62px}}
.ftr-brand img{width:180px;height:auto;aspect-ratio:716/614}

/* ===== v5 SERVICE + SERVICE AREA PAGES ===== */
.svc-hero .phero-body{container-type:inline-size}
.svc-hero .h1{font-size:clamp(2rem,min(8.2cqi,3.3rem),3.3rem);line-height:1.02}
.svc-hero .lead{max-width:52ch;font-size:1.02rem;margin-top:.2rem}
@media(min-width:1000px){.svc-hero{min-height:560px}.svc-hero .phero-media::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--amber)}}
.hchips{list-style:none;margin:1.6rem 0 0;padding:1.2rem 0 0;border-top:1px solid rgba(205,176,106,.28);display:flex;flex-wrap:wrap;gap:.55rem .6rem}
.hchips li>*{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border:1px solid rgba(205,176,106,.4);background:rgba(0,0,0,.22);color:#ECECEC;font-size:.8rem;font-weight:600;text-decoration:none;line-height:1.2}
.hchips a:hover{border-color:var(--amber);color:#fff}
.hchips svg{width:16px;height:16px;color:var(--amber);flex-shrink:0}

/* intro + at a glance */
.svc-intro-in{display:grid;gap:2.5rem}
@media(min-width:1000px){.svc-intro-in{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:4rem;align-items:start}}
.svc-intro .answer{border-top:0;padding-top:0;font-size:clamp(1.1rem,1.6vw,1.3rem);color:#1F1F1F;border-left:4px solid var(--amber);padding-left:1.4rem;margin:.6rem 0 0}
.svc-intro .eyebrow,.svc-hub .eyebrow,.rel-sec .eyebrow,.svc-page .stone .eyebrow,.county-sec .eyebrow,.guide-sec .eyebrow{color:var(--amber-ink,#75602C)}
.ca-dark .eyebrow,.glance .eyebrow{color:var(--amber)}
.fit-h{margin:2.2rem 0 1rem;color:#484848}
.fit-grid{display:grid;gap:1rem}
@media(min-width:700px){.fit-grid{grid-template-columns:repeat(3,1fr)}}
.fit{display:grid;gap:.7rem;padding:1.2rem;background:var(--paper-2);border-top:3px solid var(--amber)}
.fit-ic{width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--brown);color:var(--amber)}
.fit-ic svg{width:22px;height:22px}
.fit h3{font-size:.95rem;margin:0 0 .3rem}
.fit p{margin:0;font-size:.9rem;color:#484848;line-height:1.5}
.glance{background:linear-gradient(170deg,var(--brown),var(--black));color:#E7E7E7;padding:2rem;box-shadow:0 24px 50px -28px rgba(8,8,8,.6);position:relative}
.glance::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--amber)}
.glance h2{color:#fff;margin:.2rem 0 1.1rem}
.gl-price{padding:1rem 1.1rem;background:rgba(205,176,106,.12);border:1px solid rgba(205,176,106,.35);margin-bottom:1.2rem}
.gl-price small{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#C9C9C9}
.gl-price b{display:block;font-family:var(--font-display);font-stretch:112%;font-weight:900;font-size:1.45rem;color:var(--amber);margin:.2rem 0}
.gl-price span{font-size:.8rem;color:#CCCCCC}
.gl-dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
.gl-dl>div{padding:.75rem 0;border-bottom:1px solid rgba(205,176,106,.18)}
.gl-dl>div:nth-child(odd):not(.full){padding-right:1rem}
.gl-dl .full{grid-column:1/-1}
.gl-dl dt{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#C0C0C0;margin-bottom:.2rem}
.gl-dl dd{margin:0;color:#fff;font-size:.92rem;line-height:1.45}
.gl-p{color:#E0E0E0;margin:0 0 1rem}
.gl-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.gl-link{display:inline-block;margin-top:1rem;color:#fff;font-size:.88rem;text-decoration:underline;text-decoration-color:rgba(205,176,106,.6);text-underline-offset:3px}
.gl-link:hover{color:var(--amber)}

/* style options */
.sopt-grid{display:grid;gap:1.1rem}
@media(min-width:640px){.sopt-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.sopt-grid{grid-template-columns:repeat(3,1fr)}}
.sopt{position:relative;background:#fff;padding:1.6rem 1.5rem 1.5rem;border:1px solid rgba(8,8,8,.08);border-bottom:3px solid transparent;transition:border-color .2s,transform .2s,box-shadow .2s}
.sopt:hover{border-bottom-color:var(--amber);transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(8,8,8,.45)}
.sopt-n{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;background:var(--brown);color:var(--amber);font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:.9rem;margin-bottom:1rem}
.sopt h3{font-size:1.05rem;margin:0 0 .45rem}
.sopt p{margin:0;color:#484848;font-size:.93rem;line-height:1.55}

/* detail + sticky aside */
.svc-detail{display:grid;gap:2.5rem}
@media(min-width:1000px){.svc-detail{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:4rem;align-items:start}.svc-aside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.svc-prose .answer{margin-bottom:2rem}
.sp-block{display:grid;grid-template-columns:3.2rem 1fr;gap:1.2rem;padding:1.6rem 0;border-top:1px solid var(--line)}
.sp-block:first-child{border-top:0;padding-top:0}
.sp-n{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:1.5rem;color:var(--amber);line-height:1}
.sp-block h2{font-size:clamp(1.2rem,2vw,1.5rem);margin:0 0 .6rem}
.sp-block p{margin:0;color:#303030;line-height:1.7;max-width:64ch}
.svc-aside{display:grid;gap:1.1rem}
.sa-card .h3{font-size:1.35rem}
.sa-list{list-style:none;margin:1rem 0 1.3rem;padding:0;display:grid;gap:.55rem}
.sa-list li{display:flex;gap:.6rem;align-items:center;font-size:.92rem;color:#E7E7E7}
.sa-list svg{width:18px;height:18px;color:var(--amber);flex-shrink:0}
.sa-btn{display:flex;justify-content:center;gap:.55rem;width:100%;margin-top:.6rem}
.sa-btn svg{width:18px;height:18px}
.sa-fine{font-size:.8rem;color:#C0C0C0!important;text-align:center;margin:.8rem 0 0}
.sa-tools{background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber)}
.sa-tools .h-sm{margin:0 0 .6rem}
.sa-tools>a{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--line);color:#111111;text-decoration:none;font-weight:600;font-size:.92rem}
.sa-tools>a svg{width:20px;height:20px;color:var(--amber-ink,#75602C)}
.sa-tools>a b{margin-left:auto;color:var(--amber-ink,#75602C)}
.sa-tools>a:hover span{text-decoration:underline}

/* related / photo cards */
.rel-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:1000px){.rel-grid{grid-template-columns:repeat(4,1fr)}}
.rel-card{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--brown);color:#fff;text-decoration:none}
.rel-card picture,.rel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.rel-card:hover img{transform:scale(1.05)}
.rel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,0) 35%,rgba(8,8,8,.88) 100%);pointer-events:none}
.rel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem;display:block}
.rel-cap small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-weight:700}
.rel-cap b{display:block;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:clamp(.85rem,1.3vw,1rem);line-height:1.2;margin-top:.2rem}
.rel-card .concept-tag{top:.6rem;left:.6rem;bottom:auto;z-index:3}
.rel-card:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

/* services hub */
.xsvc-grid{display:grid;gap:1.25rem}
@media(min-width:640px){.xsvc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.xsvc-grid{grid-template-columns:repeat(3,1fr)}}
.xsvc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);color:#111111;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.xsvc-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(8,8,8,.55);border-color:var(--amber)}
.xsvc-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.xsvc-media picture,.xsvc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xsvc-n{position:absolute;right:0;bottom:0;background:var(--amber);color:#111111;font-family:var(--font-display);font-stretch:125%;font-weight:900;padding:.4rem .7rem;font-size:.9rem;z-index:2}
.xsvc-media .concept-tag{top:.6rem;left:.6rem;bottom:auto}
.xsvc-body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1}
.xsvc-body .caps{color:var(--amber-ink,#75602C);margin:0 0 .3rem}
.xsvc-body h3{font-size:1.1rem;margin:0 0 .5rem}
.xsvc-body p{margin:0 0 1rem;color:#484848;font-size:.9rem;line-height:1.5}
.xsvc-go{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;color:var(--brown)}
.xsvc-go svg{width:16px;height:16px;transition:transform .2s}
.xsvc-card:hover .xsvc-go svg{transform:translateX(4px)}

/* service areas */
.county-grid{display:grid;gap:1.25rem}
@media(min-width:900px){.county-grid{grid-template-columns:repeat(3,1fr);align-items:start}}
.county{background:#fff;border:1px solid rgba(8,8,8,.08);border-top:4px solid var(--amber)}
.county-h{display:flex;gap:.9rem;align-items:center;padding:1.3rem 1.4rem;background:linear-gradient(170deg,var(--brown),var(--black));color:#fff}
.county-h h3{color:#fff;margin:0;font-size:1.1rem}
.county-h small{color:#C9C9C9;font-size:.8rem}
.county-ic{width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid rgba(205,176,106,.5);color:var(--amber);flex-shrink:0}
.county-ic svg{width:20px;height:20px}
.county-list{list-style:none;margin:0;padding:.5rem 1.4rem 1rem}
.county-list li{border-bottom:1px solid var(--line)}
.county-list li:last-child{border-bottom:0}
.county-list li>span,.county-list li>a{display:flex;align-items:center;gap:.6rem;padding:.8rem 0;font-weight:600;color:#111111;text-decoration:none}
.county-list li>span svg{width:16px;height:16px;color:var(--amber-ink,#75602C)}
.county-list .flag a{justify-content:space-between;margin:.3rem -.7rem;padding:.75rem .7rem;background:var(--paper-2);border-left:3px solid var(--amber)}
.county-list .flag a span{font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.92rem}
.county-list .flag small{font-size:.75rem;color:var(--amber-ink,#75602C);font-weight:700}
.county-list .flag a:hover{background:#E3E3E3}
.area-note{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:space-between;padding:1.5rem 1.6rem;background:#fff;border-left:4px solid var(--amber)}
.area-note .h-sm{margin:0 0 .3rem}
.area-note p{margin:0;color:#484848;font-size:.92rem;max-width:62ch}
.area-note .btn{display:inline-flex;gap:.5rem;align-items:center}
.area-note .btn svg{width:18px;height:18px}
.guide-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:1000px){.guide-grid{grid-template-columns:repeat(5,1fr)}}
.guide{aspect-ratio:3/4}

/* nearby chips */
.nchips{display:flex;flex-wrap:wrap;gap:.5rem}
.nchip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1px solid var(--line);background:var(--paper-2);font-size:.85rem;font-weight:600;color:#111111;text-decoration:none}
.nchip svg{width:14px;height:14px;color:var(--amber-ink,#75602C)}
.nchip b{color:var(--amber-ink,#75602C)}
.nchip.flag{border-color:var(--amber);background:#fff}
.nchip.all{background:var(--brown);color:#fff;border-color:var(--brown)}
.nchip.all b{color:var(--amber)}
a.nchip:hover{border-color:var(--amber-ink,#75602C);text-decoration:underline}
@media(max-width:599px){.glance{padding:1.5rem}.gl-dl{grid-template-columns:1fr}.gl-dl>div:nth-child(odd):not(.full){padding-right:0}.sp-block{grid-template-columns:2.4rem 1fr;gap:.8rem}.hchips li>*{font-size:.75rem}.rel-cap{padding:.7rem}}
.fit{align-content:start}
.rel-card::after{background:linear-gradient(180deg,rgba(8,8,8,0) 25%,rgba(8,8,8,.92) 100%)}
.xsvc-help{display:flex;flex-direction:column;justify-content:center;padding:2rem;background:linear-gradient(170deg,var(--brown),var(--black));color:#E0E0E0;border-top:5px solid var(--amber)}
.xsvc-help .eyebrow{color:var(--amber)!important}
.xsvc-help h3{color:#fff;margin:.3rem 0 .7rem}
.xsvc-help p{margin:0 0 1.3rem;max-width:52ch}
.xsvc-help .btn{display:inline-flex;gap:.5rem;align-items:center}
.xsvc-help .btn svg{width:18px;height:18px}
@media(min-width:1100px){.xsvc-help{grid-column:span 2}}
@media(max-width:599px){.gl-price b{font-size:1.15rem}}
.sp-block{grid-template-columns:3.2rem minmax(0,1fr)}
.sp-block h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:599px){.sp-block{grid-template-columns:2.2rem minmax(0,1fr)}.sp-block h2{font-size:1.08rem}.sp-n{font-size:1.15rem}
 .rel-card .concept-tag{top:.4rem;left:.4rem;right:.4rem;font-size:.58rem;padding:.2rem .35rem;line-height:1.25;white-space:normal}
 .rel-card{aspect-ratio:1/1}.rel-cap b{font-size:.78rem}.rel-cap small{font-size:.6rem}}
.sp-n{color:var(--amber-ink,#75602C)}
.sp-chips{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sp-chips li{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;background:var(--paper-2);border:1px solid var(--line);font-size:.85rem;font-weight:600;color:#111111}
.sp-chips li svg{width:15px;height:15px;color:var(--amber-ink,#75602C)}
.sp-chips a{color:#111111;text-decoration:none}
.sp-chips a:hover{text-decoration:underline}
.sp-link{margin-top:.8rem!important}
@media(min-width:1000px){.sopt-grid.four{grid-template-columns:repeat(4,1fr)}}
.sopt-cta{display:flex;flex-direction:column;background:linear-gradient(170deg,var(--brown),var(--black));color:#E0E0E0;text-decoration:none;border-color:transparent}
.sopt-cta .sopt-n{background:var(--amber)!important;color:var(--brown)!important}
.sopt-cta .sopt-n svg{width:20px;height:20px}
.sopt-cta h3{color:#fff}
.sopt-cta p{color:#E0E0E0}
.sopt-go{margin-top:auto;padding-top:1rem;font-family:var(--font-display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:.78rem;color:var(--amber)}
.gl-rates dd{color:var(--amber);font-weight:700}
.more-h{margin:2.2rem 0 1rem}

/* ===== v6: trust, gallery, lightbox, story ===== */
@media(min-width:1000px){.process2.h{grid-template-columns:repeat(6,1fr)!important;gap:1.1rem}.process2.h::before{left:8%;right:8%}}
.pg-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.75rem}
.pg-f{font:600 .82rem/1 var(--f-head,inherit);letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1rem;min-height:44px;border:1px solid #BFBFBF;background:#fff;color:#111111;cursor:pointer}
.pg-f span{display:inline-block;margin-left:.35rem;font-weight:500;color:#75602C}
.pg-f[aria-pressed="true"]{background:#0B0B0B;border-color:#0B0B0B;color:#fff}.pg-f[aria-pressed="true"] span{color:#CDB06A}
.pg-f:hover{border-color:#0B0B0B}.pg-f:focus-visible,.pg-item:focus-visible{outline:3px solid #CDB06A;outline-offset:2px}
.pg-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
@media(min-width:700px){.pg-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}
@media(min-width:1100px){.pg-grid{grid-template-columns:repeat(4,1fr)}}
.pg-grid li[hidden]{display:none}
.pg-item{display:block;width:100%;padding:0;border:0;background:#ddd;cursor:zoom-in;aspect-ratio:1/1;overflow:hidden}
.pg-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pg-item:hover img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.pg-item img{transition:none}.pg-item:hover img{transform:none}}
.pg-more{text-align:center;margin-top:2rem}.pg-more[hidden]{display:none}
.ba.ba-real{aspect-ratio:5/4}
.rv-src{display:inline-flex;align-items:center;gap:.3rem;color:#75602C;font-weight:600;font-size:.82rem}.rv-src svg{width:15px;height:15px}
.why2-grid .why2-item{border-bottom:0}
@media(min-width:600px){.why2-item:nth-child(-n+4){border-bottom:1px solid var(--line)}}
.about-facts{list-style:none;padding:0;margin:1.25rem 0 1.5rem;display:grid;gap:.9rem}
.about-facts li{display:grid;grid-template-columns:40px 1fr;gap:.8rem;align-items:start}
.about-facts svg{width:40px;height:40px;padding:8px;background:#F4F4F2;color:#0B0B0B}
.about-facts b{display:block;font-family:var(--f-head,inherit);color:#111111}
.about-facts span{color:var(--muted);font-size:.95rem}
.about-story .split{align-items:center}
.story-card{background:#111111;color:#EAEAEA;padding:2rem}
.story-card .eyebrow{color:#CDB06A}
.story-card ul{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}
.story-card blockquote{margin:.5rem 0 0;font-size:1.05rem;line-height:1.55;border-left:3px solid #CDB06A;padding-left:1rem}
.ftr-trust{color:#CDB06A;font-weight:600}
@media(min-width:900px){.about-pillars{grid-template-columns:repeat(3,1fr)}.about-pillars .pillar{padding-bottom:1.5rem}}
/* ===== v7: scale — site read as "zoomed out" on laptops/desktops ===== */
html{font-size:106.25%}
@media(min-width:1200px){html{font-size:112.5%}:root{--wrap:1280px}}
@media(min-width:1600px){:root{--wrap:1360px}}
/* keep the full desktop nav on common laptop widths (1180–1319) instead of a hamburger */
@media(min-width:1180px) and (max-width:1319px){.nav{display:block}.menu-btn{display:none!important}.hdr-phone{display:none}.hdr-cta{margin-left:.75rem}
  .nav>ul>li>a,.nav>ul>li>button{font-size:.74rem;padding-inline:.45rem;letter-spacing:.02em}}
@media(min-width:1320px) and (max-width:1519px){.nav>ul>li>a,.nav>ul>li>button{font-size:.78rem;padding-inline:.5rem}}
/* ===== v8: brand typeface Figtree (same family as the Bohanan Construction build) ===== */
:root{--font-display:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--font-body:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*{font-stretch:normal!important}
h1,h2,.h-hero,.h1,.h2,.h3,.display,.pillars-h{font-weight:800;letter-spacing:-.01em}
@media(min-width:1180px) and (max-width:1319px){.nav>ul>li>a,.nav>ul>li>button{font-size:.8rem}}
@media(min-width:1320px) and (max-width:1519px){.nav>ul>li>a,.nav>ul>li>button{font-size:.86rem}}
.nav>ul>li>a,.nav>ul>li>button,.btn{letter-spacing:.03em}
.nav>ul>li>button svg{flex:none;width:12px;height:12px;max-width:none}
/* v9: calmer hero */
.hero3 .hero-trust li{align-items:center}
.hero3 .hero-trust b{margin:0}
.hero3 .hero-secondary a{border-bottom-color:transparent;opacity:.9}
.hero3 .hero-secondary a:hover{border-bottom-color:currentColor;opacity:1}
