
/* Layout: graphite hero and footer bands, chalk working sections; condensed display type does the shouting, mono carries the numbers */
:root{
  --graphite:#1B2229; --hivis:#F2B01E; --steel:#5B6B78; --chalk:#F1F2EF; --ink:#14191E;
  --bg:var(--chalk); --fg:var(--ink); --card:#FFFFFF; --line:#D5D9D6; --muted:#5A6570; --dim:#AEB6BC;
  --band:var(--graphite); --band-fg:#EEF0EE; --band-muted:#9EA9B2; --band-line:#2F3942;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:6px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#12171B; --fg:#E8EBE9; --card:#1A2127; --line:#2B343C; --muted:#9AA5AE; --dim:#4A555E;
  --band:#0B0F12; --band-line:#232C33; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#12171B; --fg:#E8EBE9; --card:#1A2127; --line:#2B343C; --muted:#9AA5AE; --dim:#4A555E;
  --band:#0B0F12; --band-line:#232C33; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--body);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--band)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);margin:0;line-height:.98;text-wrap:balance}
h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:850;font-stretch:72%;letter-spacing:-.01em}
h3{font-size:1.3rem;font-weight:750;font-stretch:88%;line-height:1.1}
p{margin:0;max-width:62ch}
.eyebrow{font:500 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.band{background:var(--band);color:var(--band-fg)}
.band .eyebrow{color:var(--hivis)}
.tape{height:10px;background:repeating-linear-gradient(-45deg,var(--hivis) 0 14px,var(--graphite) 14px 28px)}
section{padding-block:clamp(64px,10vw,120px)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 1rem var(--body);padding:14px 22px;border-radius:var(--r);border:0;cursor:pointer;text-decoration:none;background:var(--hivis);color:var(--graphite);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s}
.btn:hover{background:#FFC53A}
.btn.ghost{background:transparent;color:currentColor;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.ghost:hover{background:rgba(127,127,127,.12)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--hivis);outline-offset:3px}
.arrow{display:inline-block;transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:transparent;transition:background .3s,box-shadow .3s}
header.solid{background:color-mix(in srgb,var(--band) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--band-line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;color:var(--band-fg)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{font:900 1.7rem/1 var(--display);font-stretch:68%;letter-spacing:.02em;transition:font-size .3s}
header.solid .logo b{font-size:1.4rem}
.logo i{width:8px;height:26px;background:var(--hivis);border-radius:2px;transform:skewX(-12deg)}
.logo small{font:500 .66rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted);max-width:11ch}
.links{display:flex;gap:26px;align-items:center;font-size:.95rem}
.links a{text-decoration:none;color:var(--band-muted);transition:color .2s}
.links a:hover{color:var(--band-fg)}
.links .btn{padding:10px 16px;font-size:.9rem;color:var(--graphite)}
@media (max-width:820px){.links a:not(.btn){display:none}.logo small{display:none}}

/* hero */
.hero{background:var(--band);color:var(--band-fg);margin-top:-72px;padding-top:72px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;padding-block:clamp(56px,9vw,110px) 64px}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-grid>*{min-width:0}
.headline{position:relative}
.hero h1{position:relative;z-index:4;font-size:clamp(3.2rem,9.5vw,8.4rem);font-weight:900;font-stretch:64%;line-height:.86;letter-spacing:-.015em;text-transform:uppercase}
.hero h1 .hl{color:var(--hivis)}
.hero-grid{position:relative}
.grime{position:absolute;inset:-12px -20px;z-index:5;pointer-events:none;background:
  radial-gradient(60% 40% at 30% 40%,rgba(120,110,90,.55),transparent 70%),
  radial-gradient(50% 50% at 75% 70%,rgba(90,90,80,.6),transparent 70%),
  rgba(27,34,41,.72);backdrop-filter:blur(7px) saturate(.4);-webkit-backdrop-filter:blur(7px) saturate(.4);
  clip-path:inset(0 0 0 0);animation:wipe 1.5s cubic-bezier(.65,0,.25,1) .5s forwards}
.blade{position:absolute;top:-24px;bottom:-24px;left:-20px;width:14px;pointer-events:none;z-index:6;
  background:linear-gradient(90deg,var(--hivis) 0 60%,#111 60% 100%);border-radius:3px;box-shadow:0 0 30px rgba(242,176,30,.5);
  animation:blade 1.5s cubic-bezier(.65,0,.25,1) .5s forwards}
@keyframes wipe{to{clip-path:inset(0 0 0 100%)}}
@keyframes blade{0%{left:-20px;opacity:1}92%{opacity:1}100%{left:calc(100% + 20px);opacity:0}}
.stand{display:flex;flex-direction:column;gap:24px;margin-top:32px}
.stand p{font-size:1.15rem;color:var(--band-muted)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* hero photo with schedule overlapping it */
.hero-visual{position:relative;min-width:0;padding-bottom:40px}
.photo{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-height:620px;max-width:100%;margin-left:auto;width:min(100%,460px);background:#0c1013}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);animation:settle 2.6s cubic-bezier(.2,.8,.2,1) .3s forwards;will-change:transform}
@keyframes settle{to{transform:scale(1.02)}}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,15,18,.85))}
.photo figcaption{position:absolute;left:16px;top:16px;z-index:2;font:500 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--hivis);color:var(--graphite);padding:6px 9px;border-radius:4px}
.hero-visual .sched{position:absolute;left:0;bottom:0;width:min(400px,92%);background:color-mix(in srgb,var(--graphite) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);z-index:3}
.hero-visual .row{grid-template-columns:1.7fr .9fr .5fr}
.hero-visual .row span:nth-child(2){display:none}
@media (max-width:900px){.photo{margin-left:0;width:100%;aspect-ratio:4/3}.hero-visual .sched{position:relative;width:100%;margin-top:-80px}}

/* contract schedule panel */
.sched{border:1px solid var(--band-line);border-radius:var(--r);background:rgba(255,255,255,.025);font-family:var(--mono);font-size:.82rem;overflow:hidden}
.sched-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--band-line);color:var(--band-muted);gap:12px;flex-wrap:wrap}
.sched-h span:first-child{color:var(--hivis);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}
.row{display:grid;grid-template-columns:1.6fr .8fr .9fr .6fr;gap:8px;padding:9px 16px;border-bottom:1px dashed var(--band-line);font-variant-numeric:tabular-nums;animation:tick .5s both}
.row.head{color:var(--band-muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border-bottom-style:solid;animation:none}
.row span:not(:first-child){text-align:right}
.row:nth-child(3){animation-delay:1.9s}.row:nth-child(4){animation-delay:2.05s}.row:nth-child(5){animation-delay:2.2s}.row:nth-child(6){animation-delay:2.35s}.row:nth-child(7){animation-delay:2.5s}.row:nth-child(8){animation-delay:2.65s}
@keyframes tick{from{transform:translateX(-10px);color:var(--hivis)}to{transform:none}}
.sched-f{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.bar{height:8px;background:var(--band-line);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;width:78%;background:var(--hivis);transform-origin:left;animation:grow 1.2s cubic-bezier(.2,.8,.2,1) 2.7s both}
@keyframes grow{from{transform:scaleX(0)}}
.sched-f div:first-child{display:flex;justify-content:space-between;color:var(--band-fg)}

/* marquee */
.marquee{background:var(--band);color:var(--band-fg);border-top:1px solid var(--band-line);overflow:hidden;padding-block:18px}
.track{display:flex;gap:44px;width:max-content;animation:slide 38s linear infinite;font:700 1.35rem var(--display);font-stretch:72%;text-transform:uppercase;letter-spacing:.02em}
.track span{display:flex;align-items:center;gap:44px;white-space:nowrap}
.track span::after{content:"";width:9px;height:9px;background:var(--hivis);transform:rotate(45deg)}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}

/* statement */
.statement p{font:700 clamp(1.6rem,3.6vw,2.8rem)/1.18 var(--display);font-stretch:85%;max-width:30ch;letter-spacing:-.005em}
.statement .w{transition:color .35s}
.js .statement .w{color:var(--dim)}
.js .statement .w.on{color:var(--fg)}
.js .statement .w.key.on{color:var(--fg);background:linear-gradient(transparent 62%,color-mix(in srgb,var(--hivis) 70%,transparent) 62%)}

/* sideways gallery pinned while you scroll down */
.hgal{position:relative;background:var(--band);color:var(--band-fg)}
.hgal-pin{position:relative;overflow-x:auto;padding-block:56px}
.js .hgal.pinned{height:var(--hgal-h,300vh)}
.js .hgal.pinned .hgal-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:72px 40px}
.hgal-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.hgal-track{display:flex;gap:20px;width:max-content;padding-left:max(20px,calc((100vw - 1180px)/2 + 20px));padding-right:20px;will-change:transform}
.shot{position:relative;margin:0;height:min(62vh,520px);border-radius:var(--r);overflow:hidden;flex:none;background:#0c1013}
.shot.w{aspect-ratio:3/2}.shot.t{aspect-ratio:3/4}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.15);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.shot:hover img{transform:scale(1.05)}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,11,13,.85))}
.shot figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:10px}
.shot figcaption b{font:850 clamp(1.4rem,2.6vw,2.1rem)/.95 var(--display);font-stretch:70%;text-transform:uppercase;color:#fff}
.shot figcaption span{font:500 .7rem var(--mono);letter-spacing:.1em;color:var(--hivis)}
.hgal-prog{height:2px;background:var(--band-line);margin-top:28px;position:relative}
.hgal-prog i{position:absolute;inset:0 auto 0 0;width:0;background:var(--hivis)}

/* full-width photo band */
.pband{position:relative;min-height:min(80vh,640px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#0c1013}
.pband img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.pband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,15,18,.88) 0,rgba(11,15,18,.5) 55%,rgba(11,15,18,.15))}
.pband .wrap{position:relative;z-index:2;padding-block:72px;width:100%}
.pband p.big{font:850 clamp(2rem,5.4vw,4.4rem)/.96 var(--display);font-stretch:68%;text-transform:uppercase;max-width:16ch;color:#fff}
.pband p.big em{font-style:normal;color:var(--hivis)}

/* what buyers pay for */
.side-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;max-width:100%;margin-top:8px;clip-path:inset(0 0 0 0);transition:clip-path 1.1s cubic-bezier(.65,0,.25,1)}
.js .side-photo:not(.in){clip-path:inset(0 0 0 0)}
.side-photo img{width:100%;height:100%;object-fit:cover;display:block}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split>*{min-width:0}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.tiles{grid-template-columns:1fr}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .2s;transform-style:preserve-3d;min-width:0}
.tile:hover{border-color:var(--hivis)}
.tile .k{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
.tile .k em{font-style:normal;color:var(--steel)}
.tile p{color:var(--muted);font-size:.95rem}

/* estimator */
.est{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--r);overflow:hidden;border:1px solid var(--band-line)}
@media (max-width:860px){.est{grid-template-columns:1fr}}
.est>*{min-width:0}
.est-in{background:var(--card);color:var(--fg);padding:clamp(22px,4vw,40px);display:flex;flex-direction:column;gap:26px}
.field{display:flex;flex-direction:column;gap:10px}
.field label,.field legend{font:600 .95rem var(--body)}
.field .val{font:600 1.3rem var(--mono);font-variant-numeric:tabular-nums}
.field .hint{font-size:.85rem;color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--hivis);height:28px}
fieldset{border:0;padding:0;margin:0}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
@media (max-width:480px){.seg{grid-template-columns:1fr}}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{font:500 .88rem/1.3 var(--body);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}
.seg input:checked+label{border-color:var(--fg);background:color-mix(in srgb,var(--hivis) 22%,transparent)}
.seg input:focus-visible+label{outline:3px solid var(--hivis);outline-offset:2px}
.est-out{background:var(--band);color:var(--band-fg);padding:clamp(22px,4vw,40px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden}
.est-out::before{content:"";position:absolute;inset:0;background:url("/img/mop-bucket.jpg") right center/cover no-repeat;opacity:.22;filter:grayscale(.2)}
.est-out>*{position:relative}
.est-out .range{font:900 clamp(2.4rem,6vw,4.4rem)/.95 var(--display);font-stretch:66%;font-variant-numeric:tabular-nums;color:var(--hivis)}
.est-out .range small{display:block;color:var(--band-fg);font-size:.45em;font-stretch:80%;margin-block:6px}
.est-out p{color:var(--band-muted)}
.gauge{display:flex;gap:3px;height:34px;align-items:flex-end}
.gauge i{flex:1;background:var(--band-line);border-radius:2px;transition:background .3s,height .3s}
.gauge i.on{background:var(--hivis)}

/* stacking steps */
.steps{display:flex;flex-direction:column;gap:22px;margin-top:48px}
.step{position:sticky;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,4vw,36px);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:start;box-shadow:0 -14px 30px -18px rgba(0,0,0,.25);min-height:200px}
.step:nth-child(1){top:96px}.step:nth-child(2){top:114px}.step:nth-child(3){top:132px}.step:nth-child(4){top:150px}.step:nth-child(5){top:168px}
.step .n{font:900 4.2rem/.8 var(--display);font-stretch:62%;color:var(--hivis);-webkit-text-stroke:1.5px var(--fg)}
.step .body{display:flex;flex-direction:column;gap:10px;min-width:0}
.step .body p{color:var(--muted)}
.step .t{font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
@media (max-width:640px){.step{grid-template-columns:1fr;gap:12px}.step .n{font-size:3rem}}

/* listings */
.list-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.scroller{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:36px 18px;cursor:grab;scrollbar-width:thin;overscroll-behavior-x:contain}
.scroller.drag{cursor:grabbing;scroll-snap-type:none}
.scroller::-webkit-scrollbar{height:6px}.scroller::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.card{color:var(--fg);flex:0 0 min(340px,82vw);scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;user-select:none}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(0,0,0,.35)}
.card-top{background:var(--graphite);color:#EEF0EE;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:200px;position:relative;isolation:isolate}
.card-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.card-top::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,15,18,.55),rgba(11,15,18,.15) 40%,rgba(11,15,18,.9))}
.card:hover .card-top img{transform:scale(1.07)}
.card-top .ref{font:500 .7rem var(--mono);letter-spacing:.1em;color:#9EA9B2;display:flex;justify-content:space-between;gap:8px}
.card-top h3{color:#EEF0EE;font-size:1.25rem}
.tag{position:absolute;right:14px;bottom:-12px;font:600 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:4px;background:var(--hivis);color:var(--graphite)}
.tag.sold{background:repeating-linear-gradient(-45deg,var(--hivis) 0 8px,var(--graphite) 8px 16px);color:transparent;width:74px}
.tag.sold::after{content:"Sold";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:600;text-shadow:0 0 3px #000}
.kv{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.kv div{padding:14px 18px;min-width:0}
.kv div:first-child{border-right:1px solid var(--line)}
.kv span{display:block;font:500 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kv b{font:600 1.1rem var(--mono);font-variant-numeric:tabular-nums}
.card p{padding:14px 18px 18px;font-size:.92rem;color:var(--muted)}

/* buyers */
.buyers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--band-line)}
@media (max-width:900px){.buyers{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.buyers{grid-template-columns:1fr}}
.buyer{padding:28px 24px 28px 0;border-bottom:1px solid var(--band-line);display:flex;flex-direction:column;gap:12px;min-width:0;position:relative}
.buyer::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--hivis);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.buyer:hover::before{width:70%}
.buyer h3{color:var(--band-fg)}
.buyer p{color:var(--band-muted);font-size:.95rem}

/* fees + faq */
.fees{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:720px){.fees{grid-template-columns:1fr}}
.fee{border:1.5px solid var(--fg);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.fee .big{font:900 2.4rem/1 var(--display);font-stretch:68%;text-transform:uppercase}
.fee p{color:var(--muted)}
.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font:700 1.25rem var(--display);font-stretch:88%}
summary::-webkit-details-marker{display:none}
summary .pm{width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid var(--fg);position:relative;transition:transform .3s,background .3s}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--fg);transform:translate(-50%,-50%)}
summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
details[open] summary .pm{background:var(--hivis);border-color:var(--hivis)}
details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
details p{padding-bottom:24px;color:var(--muted)}

/* footer */
footer{background:var(--band);color:var(--band-fg);overflow:hidden}
.foot-cta{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;padding-block:80px 40px}
.foot-cta h2{max-width:14ch}
.giant{font:900 clamp(7rem,32vw,26rem)/.78 var(--display);font-stretch:62%;letter-spacing:-.02em;color:var(--band-line);text-transform:uppercase;user-select:none;white-space:nowrap;transform:translateY(12%);
  background:url("/img/wet-floor-signs.jpg") center 40%/cover;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:saturate(.9) brightness(.95);transition:background-position 1.2s cubic-bezier(.2,.8,.2,1)}
footer:hover .giant{background-position:center 65%}
/* floating image on buyer hover */
.peek{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-3deg);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);display:none}
.peek img{width:100%;height:100%;object-fit:cover}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}
@media (pointer:fine){.peek{display:block}}
.foot-meta{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:20px;border-top:1px solid var(--band-line);font:400 .8rem var(--mono);color:var(--band-muted)}
.contact-line{font:600 1.1rem var(--mono);user-select:all}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid var(--hivis);pointer-events:none;z-index:100;transition:width .25s,height .25s,margin .25s,background .25s;mix-blend-mode:difference;display:none}
.cursor.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(242,176,30,.2)}
@media (pointer:fine){.cursor{display:block}}

.lift{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.js .lift:not(.in){transform:translateY(26px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .grime,.blade{display:none}
  .js .lift:not(.in){transform:none}
  .cursor{display:none!important}
  html{scroll-behavior:auto}
}

/* ── inner pages ─────────────────────────────────────────── */
.page-hero{background:var(--band);color:var(--band-fg);margin-top:-72px;padding-top:72px;position:relative;overflow:hidden}
.page-hero .wrap{padding-block:clamp(48px,7vw,88px) clamp(40px,6vw,64px);display:flex;flex-direction:column;gap:20px}
.page-hero h1{font-size:clamp(2.6rem,6.4vw,5.4rem);font-weight:900;font-stretch:66%;line-height:.9;text-transform:uppercase;max-width:16ch}
.page-hero .stand{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--band-fg);max-width:60ch;line-height:1.55}
.page-hero .fresh{font:500 .78rem var(--mono);color:var(--band-muted)}
.crumbs{font:500 .74rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--band-muted);text-decoration:none}.crumbs a:hover{color:var(--hivis)}
.page-hero .ctas{margin-top:6px}
.hero-mark{position:absolute;right:-40px;bottom:-60px;width:min(40vw,460px);aspect-ratio:1;background:repeating-linear-gradient(-45deg,rgba(242,176,30,.10) 0 18px,transparent 18px 36px);border-radius:50%;pointer-events:none}

.tool-band{background:var(--bg);padding-block:clamp(40px,6vw,72px) 0}
.article{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding-block:clamp(48px,7vw,88px)}
@media (max-width:960px){.article{grid-template-columns:1fr;gap:24px}.toc{position:static!important}}
.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.toc b{font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.toc a{color:var(--muted);text-decoration:none;border-left:2px solid var(--line);padding:4px 0 4px 12px;transition:color .2s,border-color .2s}
.toc a:hover,.toc a.on{color:var(--fg);border-color:var(--hivis)}
.prose{min-width:0;display:flex;flex-direction:column;gap:56px}
.prose section{display:flex;flex-direction:column;gap:18px;scroll-margin-top:96px}
.prose h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:850;font-stretch:72%;text-transform:none;max-width:22ch}
.prose p,.prose li{font-size:1.05rem;line-height:1.7;max-width:70ch}
.prose ul,.prose ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:8px}
.prose a{color:var(--fg);text-decoration-thickness:2px;text-decoration-color:var(--hivis);text-underline-offset:3px}
.prose strong{background:linear-gradient(transparent 60%,color-mix(in srgb,var(--hivis) 45%,transparent) 60%)}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tablewrap{overflow-x:auto;max-width:100%}
.prose th{font:600 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 80%,var(--bg))}
.prose td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.prose tr:last-child td{border-bottom:0}
.faq-block h2{margin-bottom:6px}
.sources{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:6px}
.sources a{color:var(--muted)}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.rel{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .3s cubic-bezier(.2,.8,.2,1)}
.rel:hover{border-color:var(--hivis);transform:translateY(-3px)}
.rel span{font:600 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rel b{font:800 1.25rem/1.05 var(--display);font-stretch:80%}
.cta-band{background:var(--band);color:var(--band-fg)}
.cta-band .wrap{padding-block:64px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.8rem,4vw,3rem);max-width:18ch}
.cta-band p{color:var(--band-muted)}

/* calculators */
.calc{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
@media (max-width:860px){.calc{grid-template-columns:1fr}}
.calc>*{min-width:0}
.calc-in{background:var(--card);padding:clamp(22px,4vw,36px);display:flex;flex-direction:column;gap:24px}
.calc-out{background:var(--band);color:var(--band-fg);padding:clamp(22px,4vw,36px);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.calc-out::before{content:"";position:absolute;inset:0;background:url("/img/mop-bucket.jpg") right center/cover no-repeat;opacity:.16}
.calc-out>*{position:relative}
.calc-out .range{font:900 clamp(2.4rem,6vw,4.2rem)/.95 var(--display);font-stretch:66%;color:var(--hivis);font-variant-numeric:tabular-nums}
.calc-out .range small{display:block;color:var(--band-fg);font-size:.42em;font-stretch:80%;margin-block:6px}
.calc-out p{color:var(--band-muted)}
.field{display:flex;flex-direction:column;gap:10px;border:0;padding:0;margin:0}
.field label,.field legend{font:600 .95rem var(--body);padding:0}
.field .val{font:600 1.3rem var(--mono);font-variant-numeric:tabular-nums}
.field .hint{font-size:.85rem;color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--hivis);height:28px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:480px){.seg{grid-template-columns:1fr}}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{font:500 .88rem/1.3 var(--body);border:1.5px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}
.seg input:checked+label{border-color:var(--fg);background:color-mix(in srgb,var(--hivis) 22%,transparent)}
.seg input:focus-visible+label{outline:3px solid var(--hivis);outline-offset:2px}

/* lead forms */
.lead{display:flex;flex-direction:column;gap:12px}
.lead .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.lead .row2{grid-template-columns:1fr}}
.lead input[type=text],.lead input[type=email],.lead input[type=tel],.lead select,.lead textarea{width:100%;font:500 1rem var(--body);padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);color:var(--fg)}
.on-dark .lead input,.on-dark .lead select,.on-dark .lead textarea{background:rgba(255,255,255,.06);border-color:var(--band-line);color:var(--band-fg)}
.lead label{font:600 .82rem var(--body);display:flex;flex-direction:column;gap:6px}
.lead .req{color:var(--hivis)}
.lead .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead .msg{font-size:.9rem;min-height:1.2em}
.lead .tick{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500}
.lead .tick input{margin-top:3px;accent-color:var(--hivis)}

/* listings */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filters button{font:600 .82rem var(--body);padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}
.filters button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.lcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;color:var(--fg);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.lcard:hover{transform:translateY(-5px);box-shadow:0 22px 40px -22px rgba(0,0,0,.35)}
.lcard .top{position:relative;min-height:170px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;color:#EEF0EE;isolation:isolate;background:#0c1013}
.lcard .top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.lcard .top::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,15,18,.55),rgba(11,15,18,.1) 45%,rgba(11,15,18,.9))}
.lcard .ref{font:500 .7rem var(--mono);letter-spacing:.1em;display:flex;justify-content:space-between;color:#C9D0D5}
.lcard h3{font-size:1.25rem;color:#fff}
.lcard dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-bottom:1px solid var(--line)}
.lcard dl div{padding:12px 16px;border-right:1px solid var(--line);border-top:1px solid var(--line)}
.lcard dl div:nth-child(2n){border-right:0}
.lcard dt{font:500 .64rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lcard dd{margin:0;font:600 1rem var(--mono);font-variant-numeric:tabular-nums}
.lcard p{padding:14px 16px;font-size:.9rem;color:var(--muted);flex:1}
.lcard .foot{padding:0 16px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.badge{font:600 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:4px;background:var(--hivis);color:var(--graphite)}
.example-note{font:500 .8rem var(--mono);color:var(--muted);margin-bottom:14px}

/* dialog */
dialog.modal{border:0;border-radius:var(--r);padding:0;max-width:520px;width:calc(100% - 32px);background:var(--card);color:var(--fg);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
dialog.modal::backdrop{background:rgba(11,15,18,.6);backdrop-filter:blur(3px)}
.modal .mh{background:var(--graphite);color:#EEF0EE;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.modal .mh h3{color:#EEF0EE}
.modal .mb{padding:22px}
.modal .x{background:none;border:0;color:#EEF0EE;font-size:1.5rem;cursor:pointer;line-height:1}

/* footer links */
.foot-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;padding-block:28px;border-top:1px solid var(--band-line)}
.foot-links b{font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hivis);display:block;margin-bottom:10px}
.foot-links a{display:block;color:var(--band-muted);text-decoration:none;font-size:.92rem;padding:3px 0}
.foot-links a:hover{color:var(--band-fg)}
header.solid-always{background:color-mix(in srgb,var(--band) 92%,transparent);backdrop-filter:blur(10px)}
.page-hero .eyebrow{color:var(--hivis)}
.badge{white-space:nowrap}
.lcard h3{min-width:0}
.sent{padding:14px 0;font-size:1rem}

/* newsletter band (footer) */
.nl-band{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;padding:40px 0 8px;border-bottom:1px solid var(--band-line)}
@media (max-width:820px){.nl-band{grid-template-columns:1fr}}
.nl-copy{display:flex;flex-direction:column;gap:10px}
.nl-copy p{color:var(--band-muted);max-width:52ch}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.nl-form label{flex:1 1 220px;display:flex}
.nl-form input[type=email]{width:100%;font:500 1rem var(--body);padding:13px 14px;border-radius:var(--r);border:1.5px solid var(--band-line);background:rgba(255,255,255,.06);color:var(--band-fg)}
.nl-msg{flex-basis:100%;font-size:.88rem;color:var(--band-muted);min-height:1.2em;margin:0}
.nl-done{color:var(--band-fg);font-weight:600}
.sr{position:relative}.sr>input{flex:1}
.svm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* sign-up pop-up and stepped questions */
.svm{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(11,15,18,.62);backdrop-filter:blur(3px)}
.svm.show{display:flex}
.svm-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);color:var(--fg);border-radius:var(--r);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.svm-tape{height:8px;background:repeating-linear-gradient(-45deg,var(--hivis) 0 12px,var(--graphite) 12px 24px)}
.svm-x{position:absolute;top:14px;right:14px;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}
.svm-pane{padding:26px 26px 24px;display:flex;flex-direction:column;gap:14px}
.svm-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:850;font-stretch:76%;line-height:1.02;padding-right:24px}
.svm-h{font:750 1.15rem var(--display);font-stretch:88%;margin:0}
.svm-big{font-size:1.6rem;font-stretch:76%;padding-right:24px}
.svm-p,.svm-pane p{margin:0;color:var(--muted)}
.svm-p b{color:var(--fg)}
.svm-q{font-weight:600;color:var(--fg)!important}
.svm-fine{font-size:.82rem}
.svm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.svm-row{grid-template-columns:1fr}}
.svm-pane label{font:600 .82rem var(--body);display:flex;flex-direction:column;gap:6px;color:var(--fg)}
.svm-pane input:not([type=checkbox]),.svm-pane select{width:100%;font:500 1rem var(--body);padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);color:var(--fg)}
.svm-tick{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important}
.svm-tick input{margin-top:3px;accent-color:var(--hivis)}
.svm-opts{display:flex;flex-wrap:wrap;gap:8px}
.svm-opt{font:600 .9rem var(--body);padding:10px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;text-align:left}
.svm-opt[aria-pressed=true]{background:var(--graphite);border-color:var(--graphite);color:#EEF0EE}
.svm-kicker{display:flex;justify-content:space-between;font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:28px}
.svm-prog{display:flex;gap:4px}.svm-prog span{flex:1;height:4px;border-radius:2px;background:var(--line)}.svm-prog span.done{background:var(--hivis)}
.svm-step{display:none;flex-direction:column;gap:12px}.svm-step.on{display:flex}
.svm-steps,.svm-f2,.svm-pop{display:flex;flex-direction:column;gap:14px}
.svm-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.svm-link{background:none;border:0;font:600 .9rem var(--body);color:var(--muted);cursor:pointer;text-decoration:underline}
.svm-msg{flex:1;font-size:.88rem;color:#B5462F!important;text-align:center}
.svm-offer,.svm-after{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-left:4px solid var(--hivis);border-radius:var(--r);background:var(--bg)}
.svm-after{margin-top:14px}
.svm-btns{display:flex;gap:10px;flex-wrap:wrap}
.form-ok .sent{margin:0}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.prose h3{font-size:1.35rem;font-weight:800;font-stretch:84%;margin-top:6px}
.nl-fine{flex-basis:100%;font-size:.8rem;color:var(--band-muted);margin:0}

/* ═══ 25 Oct 2026 review changes ═══ */
/* logo: sentence-case strapline with a highlighter behind "cleaning companies" (SV3) */
.logo small{font:600 .8rem/1.3 var(--display);font-stretch:100%;letter-spacing:0;text-transform:none;color:#C9D0D5;max-width:none;white-space:nowrap;margin-left:4px}
.logo small mark{background:linear-gradient(transparent 55%,rgba(242,176,30,.55) 55%);color:#EEF0EE;padding:0 2px}
@media (max-width:1100px){.logo small{display:none}}

/* navigation with dropdowns */
.links{gap:4px}
.links .top-link,.dd-b{font:500 .95rem var(--body);color:var(--band-muted);background:none;border:0;cursor:pointer;padding:10px 12px;border-radius:var(--r);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.links .top-link:hover,.dd-b:hover,.dd.open .dd-b{color:var(--band-fg)}
.dd{position:relative}
.dd-b i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.dd.open .dd-b i{transform:rotate(225deg) translateY(-1px)}
.dd-m{position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:var(--graphite);border:1px solid var(--band-line);border-radius:var(--r);padding:8px;display:none;flex-direction:column;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);z-index:60}
.dd-m::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd-m a{color:var(--band-muted);text-decoration:none;padding:9px 12px;border-radius:4px;font-size:.92rem;white-space:nowrap}
.dd-m a:hover{background:rgba(255,255,255,.06);color:var(--band-fg)}
.dd-m .nav-reg{color:var(--hivis);border-top:1px solid var(--band-line);margin-top:4px;padding-top:12px;border-radius:0}
@media (hover:hover) and (min-width:1001px){.dd:hover .dd-m,.dd:focus-within .dd-m{display:flex}}
.dd.open .dd-m{display:flex}
.links .nav-cta{margin-left:10px;padding:10px 16px;font-size:.9rem}
.burger{display:none;width:44px;height:44px;border:1px solid var(--band-line);border-radius:var(--r);background:none;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:18px;height:2px;background:var(--band-fg);content:"";transition:transform .25s,top .25s,opacity .2s}
.burger span{top:21px}.burger span::before{left:0;top:-6px}.burger span::after{left:0;top:6px}
.menu-open .burger span{background:transparent}.menu-open .burger span::before{top:0;transform:rotate(45deg)}.menu-open .burger span::after{top:0;transform:rotate(-45deg)}
@media (max-width:1000px){
  .burger{display:block}
  .links{position:fixed;inset:72px 0 0 0;background:var(--graphite);flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 40px;overflow-y:auto;display:none}
  .links a:not(.btn){display:block}
  .menu-open .links{display:flex}
  .links .top-link,.dd-b{width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--band-line);border-radius:0;font-size:1.05rem;color:var(--band-fg)}
  .dd-m{position:static;box-shadow:none;border:0;padding:4px 0 10px 8px;min-width:0}
  .links .nav-cta{margin:18px 0 0;justify-content:center}
  header.menu-open{background:var(--graphite)}
}
html.no-scroll{overflow:hidden}

/* home hero: live listing card in place of the example schedule */
.hero-grid{padding-block:clamp(48px,7vw,88px) 48px}
.hero-visual{padding-bottom:28px}
.sched.live{display:block;text-decoration:none;color:var(--band-fg);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.sched.live:hover{transform:translateY(-4px)}
.sched.live .sched-h span:first-child{color:var(--band-muted)}
.live-t{padding:14px 16px 8px;font:800 1.25rem/1.1 var(--display);font-stretch:85%;color:#fff}
.live-t small{display:block;font:500 .75rem var(--mono);color:var(--band-muted);margin-top:6px;letter-spacing:.04em}
.kr{display:flex;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px dashed var(--band-line);font-variant-numeric:tabular-nums}
.kr span{color:var(--band-muted)}.kr b{font-weight:600}
.st{font:600 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:4px}
.st-sold{background:var(--hivis)!important;color:var(--graphite)!important}
.st-under-offer{background:#E4683A!important;color:#fff!important}
.st-live{background:#2E9A5B!important;color:#fff!important}
.marquee{padding-block:14px}
.track{animation-duration:46s;font-size:1.2rem}

/* statement and section heads */
.statement{padding-block:clamp(56px,8vw,96px)}
.statement .wrap{display:flex;flex-direction:column;gap:22px}
.sec-head{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:end}
.sec-head p{max-width:46ch}
@media (max-width:860px){.sec-head{grid-template-columns:1fr;gap:16px}}

/* what adds to the price: hairline spec list */
.spec{list-style:none;margin:0;padding:0;border-top:2px solid var(--fg)}
.spec li{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.spec .sn{font:900 3.2rem/.8 var(--display);font-stretch:62%;color:transparent;-webkit-text-stroke:1.5px var(--fg);transition:color .3s}
.spec li:hover .sn{color:var(--hivis)}
.spec h3{font-size:1.55rem;font-stretch:80%;margin-bottom:8px}
.spec p{color:var(--muted)}

/* gallery cards are links now */
.shot{display:block;text-decoration:none}
.shot .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:8px}
.shot .cap b{font:850 clamp(1.4rem,2.6vw,2.1rem)/.95 var(--display);font-stretch:70%;text-transform:uppercase;color:#fff}
.shot .cap span{font:600 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hivis);opacity:.85;transition:opacity .2s,transform .3s}
.shot:hover .cap span{opacity:1;transform:translateX(4px)}

/* steps */
.how .steps{margin-top:40px}
.step{min-height:0}

/* recent sales carousel */
.list-ctl{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}
.arrows{display:flex;gap:8px}
.arr{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--band-line);background:none;color:var(--band-fg);font-size:1.2rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.arr:hover{background:var(--hivis);border-color:var(--hivis);color:var(--graphite)}
#listings{padding-bottom:56px}

/* buyers: numbered columns, no hover photos */
.buyer .bn{font:600 .75rem var(--mono);color:var(--hivis);letter-spacing:.1em}

/* trade cards: photo on the left, the number it is priced on underneath */
.trades{padding-block:clamp(64px,9vw,104px)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
@media (max-width:400px){.tgrid{grid-template-columns:1fr}}
.tcard{display:grid;grid-template-columns:120px 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg);transition:border-color .2s,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.tcard:hover{border-color:var(--fg);transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(0,0,0,.35)}
.tc-img{position:relative;overflow:hidden;background:#0c1013}
.tc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tcard:hover .tc-img img{transform:scale(1.06)}
.tc-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;border-left:4px solid var(--hivis)}
.tc-k{font:600 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tc-body b{font:800 1.3rem/1.05 var(--display);font-stretch:80%}
.tc-f{font-size:.88rem;color:var(--muted)}
.tc-go{font:600 .85rem var(--body);margin-top:4px}.tc-go i{font-style:normal;display:inline-block;transition:transform .25s}.tcard:hover .tc-go i{transform:translateX(4px)}
.tools{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tools a{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;padding:16px 18px 16px 0;text-decoration:none;color:var(--fg);font:700 1.05rem var(--display);font-stretch:88%}
.tools a span{font:600 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tools a:hover{color:var(--steel)}

/* fees band */
.fees-band{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(56px,8vw,96px)}
.fee-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-radius:var(--r);overflow:hidden}
@media (max-width:720px){.fee-pair{grid-template-columns:1fr}}
.fp{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:12px}
.fp .big{font:900 clamp(3.4rem,8vw,6rem)/.9 var(--display);font-stretch:62%}
.fp-dark{background:var(--graphite);color:var(--band-fg)}.fp-dark .eyebrow{color:var(--hivis)}.fp-dark p{color:var(--band-muted)}
.fp-hi{background:var(--hivis);color:var(--graphite)}.fp-hi .eyebrow{color:var(--graphite)}
.inline-link{color:var(--fg);font-weight:600;text-decoration-thickness:2px;text-decoration-color:var(--hivis);text-underline-offset:4px}

/* FAQ */
.faq-sec{padding-block:clamp(64px,9vw,104px)}
.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:56px;align-items:start}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px}}
.faq-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
@media (max-width:900px){.faq-side{position:static}}
.faq-sec summary{font-size:1.15rem;padding:18px 0}

/* footer wordmark: solid, no photo */
.giant{background:none!important;-webkit-text-fill-color:var(--band-line)!important;color:var(--band-line);filter:none}
.contact-line{color:var(--band-fg);text-decoration:none}

/* inner page hero: compact, content starts on first scroll */
.page-hero .wrap.ph-grid{padding-block:28px 34px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:center}
.page-hero:not(.has-img) .ph-grid{grid-template-columns:1fr}
.ph-text{display:flex;flex-direction:column;gap:14px}
.ph-meta{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:.92;max-width:20ch}
.page-hero .stand{font-size:1.08rem;color:var(--band-muted);max-width:62ch}
.page-hero .fresh{font:500 .72rem var(--mono);letter-spacing:.06em;color:var(--band-muted);text-transform:uppercase}
.ph-img{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;max-height:260px;background:#0c1013}
.ph-img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.page-hero .wrap.ph-grid{grid-template-columns:1fr;padding-block:22px 28px}.ph-img{display:none}}
.tool-band{padding-block:40px 0}
.lede{font-size:1.15rem!important;color:var(--fg)}

/* article layout: tighter sections, smaller contents list, a card under it */
.article{grid-template-columns:220px minmax(0,1fr);gap:48px;padding-block:48px 64px}
.side{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:22px}
@media (max-width:960px){.side{position:static}.side-card{display:none}}
.toc{position:static;gap:0;font-size:.84rem}
.toc b{margin-bottom:6px}
.toc a{padding:3px 0 3px 10px;line-height:1.35}
.side-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.side-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.side-card>div{padding:14px;display:flex;flex-direction:column;gap:8px}
.side-card b{font:800 1.1rem var(--display);font-stretch:85%}
.side-card p{font-size:.85rem;color:var(--muted)}
.side-card .btn{padding:9px 12px;font-size:.85rem;justify-content:center}
.prose{gap:40px}
.prose section{gap:14px}
.prose .hl2{background:linear-gradient(transparent 68%,color-mix(in srgb,var(--hivis) 55%,transparent) 68%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 3px}

/* read next with pictures */
.rel-img{padding:0;overflow:hidden;gap:0}
.rel-img .ri{aspect-ratio:16/9;overflow:hidden;background:#0c1013}
.rel-img .ri img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.rel-img:hover .ri img{transform:scale(1.05)}
.rel-img .rt{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}

/* dialogs: photo header, labels on one line */
.modal .mh{position:relative;isolation:isolate;align-items:flex-start;padding:26px 22px 20px;min-height:120px;background:var(--graphite)}
.modal .mh::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--mh-img,none) center/cover}
.modal .mh::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,22,27,.94),rgba(17,22,27,.6))}
.modal .mh h3{font-size:1.7rem;font-stretch:76%}
.modal .mh p{color:#C9D0D5;font-size:.92rem;margin-top:8px}
.modal .mh>div{display:flex;flex-direction:column}
.modal{max-height:calc(100vh - 32px)}
.lead .lt{display:block}
.lead .lt .req{margin-left:2px}
.form-note{font-size:.85rem;color:var(--muted)}

/* contact page: form beside the intro, above the fold */
.contact-hero .ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-block:36px 56px;align-items:start}
@media (max-width:900px){.contact-hero .ct-grid{grid-template-columns:1fr;gap:28px}}
.ct-list{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--band-line)}
.ct-list li{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--band-line)}
.ct-list b{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hivis);padding-top:3px}
.ct-list span{color:var(--band-muted)}.ct-list a{color:var(--band-fg)}
.ct-card{background:var(--card);color:var(--fg);border-radius:var(--r);padding:clamp(20px,3vw,30px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}

.hero{padding-bottom:0}
.hero-visual{z-index:5}
.page-hero{padding-block:72px 0}
.page-hero .stand{margin-top:0;display:block}
.foot-cta h2{max-width:18ch}
.prose section{padding-block:0}
.prose .hl2{background:linear-gradient(transparent 78%,color-mix(in srgb,var(--hivis) 70%,transparent) 78%,color-mix(in srgb,var(--hivis) 70%,transparent) 94%,transparent 94%)}

/* trade cards: option A, photo on top (chosen 25 Oct 2026) */
.tgrid{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.tgrid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.tgrid{grid-template-columns:1fr}}
.tcard{display:flex;flex-direction:column;grid-template-columns:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg)}
.tcard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tcard:hover img{transform:scale(1.04)}
.tcard>div{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1;background:var(--card);position:relative}
.tcard b{font:800 1.35rem/1.05 var(--display);font-stretch:80%}
.tcard span{font-size:.88rem;color:var(--muted)}
.tcard em{font:600 .85rem var(--body);font-style:normal;margin-top:auto;padding-top:6px}.tcard em i{font-style:normal;display:inline-block;transition:transform .25s}.tcard:hover em i{transform:translateX(4px)}
/* logo lockup wrapper */
.logo .lw{display:flex;align-items:center;gap:10px}
/* logo lockup: option 4 with yellow text (chosen 25 Oct 2026) */
.logo .lw{flex-direction:column;align-items:flex-start;gap:4px}
.logo i{height:44px;width:9px}
.logo small{display:block!important;margin-left:0;font-size:.74rem;line-height:1.2;color:#C9D0D5}
.logo small mark{background:none;color:var(--hivis);padding:0;font-weight:700}
header.solid .logo i{height:38px}
@media (max-width:420px){.logo small{font-size:.68rem}}

.fm-links{display:flex;gap:16px}.fm-links a{color:var(--band-muted)}
.svc{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:250;max-width:560px;margin-left:auto;background:var(--graphite);color:#EEF0EE;border:1px solid var(--band-line);border-top:4px solid var(--hivis);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.svc p{font-size:.92rem;color:#C9D0D5}.svc a{color:#EEF0EE}
.svc-b{display:flex;gap:10px}.svc .btn{padding:10px 18px;font-size:.9rem}.svc .btn.ghost{color:#EEF0EE}
