/* Self-hosted web fonts (previously loaded from Google Fonts). Variable woff2 files, latin and latin-ext subsets.
   Plus Jakarta Sans covers weights 400-800; Bodoni Moda covers weights 600-700 with its optical-size axis. */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600 700;font-display:swap;src:url("/fonts/bodoni-moda-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:600 700;font-display:swap;src:url("/fonts/bodoni-moda-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url("/fonts/plus-jakarta-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ============================================================
   Iron Stake — marketplace UI
   Conventions borrowed from Airbnb / VRBO / Furnished Finder:
   white ground, photo-forward cards, pill search, single
   type family with weight hierarchy, generous card radii.
   ============================================================ */

:root{
  --bg:#ffffff;
  --bg-2:#f5f5f4;
  --bg-3:#eaeae8;
  --ink:#17191c;
  --ink-2:#565c64;
  --ink-3:#878e96;
  --line:#dddddd;
  --line-2:#ebebeb;

  --brand:#4a525c;
  --brand-dark:#2f353d;
  --brand-tint:#eceef1;
  --accent:#3f4650;
  --accent-tint:#edeff1;
  --danger:#b23c26;
  --danger-tint:#fbe9e5;

  --r-sm:8px;
  --r:12px;
  --r-lg:16px;
  --r-pill:999px;

  --sh-1:0 1px 2px rgba(0,0,0,.08);
  --sh-2:0 2px 12px rgba(0,0,0,.10);
  --sh-3:0 8px 28px rgba(0,0,0,.14);

  --hdr-h:78px;
  --wide:1360px;
  --prose:820px;

  --display:"Bodoni Moda",Didot,Georgia,serif;
  --font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--ink);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--font);line-height:1.1;letter-spacing:-.035em;text-wrap:balance;font-weight:800}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wide{max-width:var(--wide);margin:0 auto;padding:0 40px}
.prose{max-width:var(--prose);margin:0 auto;padding:0 24px}
.tabnum{font-variant-numeric:tabular-nums}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:.95rem;border-radius:var(--r-sm);
  padding:12px 20px;transition:background .16s,color .16s,border-color .16s,transform .12s;
  white-space:nowrap;
}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-outline{border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.btn-outline:hover{border-color:var(--ink);background:var(--bg-2)}
.btn-lg{padding:15px 26px;font-size:1rem}
.btn-block{width:100%}

/* ---------- Header ---------- */
.hdr{
  position:sticky;top:0;z-index:200;background:var(--bg);
  border-bottom:1px solid var(--line-2);
}
.hdr-in{
  max-width:var(--wide);margin:0 auto;padding:0 40px;
  height:var(--hdr-h);display:flex;align-items:center;gap:24px;
}
.brand{display:flex;align-items:center;gap:9px;flex:none}
.brand{align-items:flex-end;gap:7px}
.brand .nail{width:15px;height:44px;flex:none;fill:var(--ink);margin-bottom:-2px}
.brand .wm{font-family:var(--display);font-weight:700;font-size:1.34rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1;display:inline-flex;align-items:baseline;gap:.42em}
.brand .wm i{font-style:normal;color:var(--brand)}
.phold{
  font-size:.56rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent);background:var(--accent-tint);border:1px dashed #c3c8ce;
  border-radius:4px;padding:2px 6px;white-space:nowrap;
}

/* pill search — Airbnb-style segmented control */
.pill{
  display:flex;align-items:center;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-pill);
  box-shadow:var(--sh-1);margin:0 auto;transition:box-shadow .18s;
}
.pill:hover{box-shadow:var(--sh-2)}
.pill .seg{
  display:flex;flex-direction:column;justify-content:center;
  padding:9px 18px;border-right:1px solid var(--line-2);min-width:0;
}
.pill .seg:first-child{padding-left:22px}
.pill .seg:last-of-type{border-right:none}
.pill .seg label{font-size:.7rem;font-weight:800;letter-spacing:.01em;color:var(--ink)}
.pill .seg input,.pill .seg select{
  border:none;outline:none;font:inherit;font-size:.85rem;color:var(--ink-2);
  background:transparent;padding:1px 0;width:100%;min-width:0;
}
.pill .seg input::placeholder{color:var(--ink-3)}
.pill .go{
  flex:none;width:38px;height:38px;border-radius:50%;background:var(--brand);
  color:#fff;display:flex;align-items:center;justify-content:center;margin:5px 6px 5px 4px;
}
.pill .go:hover{background:var(--brand-dark)}

.hdr-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
.hdr-link{font-weight:700;font-size:.9rem;padding:10px 14px;border-radius:var(--r-pill)}
.hdr-link:hover{background:var(--bg-2)}
.avatar{
  display:flex;align-items:center;gap:9px;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:5px 6px 5px 12px;box-shadow:var(--sh-1);
}
.avatar:hover{box-shadow:var(--sh-2)}
.avatar .dot{width:29px;height:29px;border-radius:50%;background:var(--ink-2);display:flex;align-items:center;justify-content:center;color:#fff}
.burger{display:none}

/* mobile drawer */
.drawer{display:none;border-top:1px solid var(--line-2);background:#fff}
.drawer.open{display:block}
.drawer .wide{padding-top:8px;padding-bottom:16px;display:flex;flex-direction:column}
.drawer a{padding:13px 2px;font-weight:600;border-bottom:1px solid var(--line-2)}
.drawer .btn{margin-top:14px}

/* ---------- Category pills ---------- */
.cats{position:sticky;top:var(--hdr-h);z-index:150;background:var(--bg);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin-top:34px}
.cats-in{
  max-width:var(--wide);margin:0 auto;padding:14px 40px;
  display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none;
}
.cats-in::-webkit-scrollbar{display:none}
.cat{
  flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:8px 4px;border-bottom:2px solid transparent;color:var(--ink-3);
  font-size:.76rem;font-weight:700;transition:color .16s,border-color .16s;min-width:74px;
}
.cat:hover{color:var(--ink)}
.cat[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.cat svg{width:23px;height:23px;stroke-width:1.6}
.cats .spacer{flex:1}
.filterbtn{
  flex:none;display:flex;align-items:center;gap:8px;border:1px solid var(--line);
  border-radius:var(--r-sm);padding:9px 14px;font-size:.83rem;font-weight:700;
}
.filterbtn:hover{border-color:var(--ink)}

/* ---------- Hero (browse) ---------- */
.hero{padding:44px 0 26px}
.hero h1{font-size:clamp(1.85rem,3.6vw,2.6rem)}
.hero p{color:var(--ink-2);font-size:1.03rem;margin-top:10px;max-width:60ch}
.hero .promise{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px}
.hero .promise span{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.hero .promise svg{color:var(--brand);flex:none}

/* ---------- Listing grid ---------- */
.gridhead{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.gridhead h2{font-size:1.28rem}
.gridhead .count{font-size:.9rem;color:var(--ink-2);font-weight:600}
.grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:28px 22px;padding-bottom:12px;
}
.card{display:flex;flex-direction:column;gap:9px}
.card[hidden]{display:none}
.card .shot{
  position:relative;aspect-ratio:20/19;border-radius:var(--r);overflow:hidden;background:var(--bg-3);
}
.card .shot svg,
.card .shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card:hover .shot svg,
.card:hover .shot img{transform:scale(1.05)}
/* soft inner edge so light photos don't bleed into the white ground */
.card .shot::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.card .heart{
  position:absolute;top:11px;right:11px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
}
.card .heart svg{width:23px;height:23px;fill:rgba(0,0,0,.32);stroke:#fff;stroke-width:2;transition:fill .16s}
.card .heart:hover svg{transform:scale(1.1)}
.card .heart[aria-pressed="true"] svg{fill:var(--brand);stroke:#fff}
.card .kind{
  position:absolute;top:11px;left:11px;background:#fff;color:var(--ink);
  font-size:.7rem;font-weight:800;padding:5px 10px;border-radius:var(--r-pill);box-shadow:var(--sh-1);
}
.card .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.card .loc{font-weight:700;font-size:.96rem;letter-spacing:-.01em}
.card .spec,.card .terms{color:var(--ink-2);font-size:.88rem}
.card .price{font-size:.96rem;margin-top:1px}
.card .price b{font-weight:800}
.card .credit{
  display:inline-flex;align-items:center;gap:6px;margin-top:5px;
  background:var(--brand-tint);color:var(--brand-dark);
  font-size:.79rem;font-weight:800;padding:4px 10px;border-radius:var(--r-pill);align-self:flex-start;
}
.empty{
  grid-column:1/-1;border:1px dashed var(--line);border-radius:var(--r-lg);
  padding:52px 24px;text-align:center;color:var(--ink-2);
}
.empty b{display:block;font-size:1.05rem;color:var(--ink);margin-bottom:5px}

/* ---------- Sections / prose pages ---------- */
.band{padding:64px 0}
.band-tint{background:var(--bg-2)}
.band-line{border-top:1px solid var(--line-2)}
.eyebrow{
  font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand);margin-bottom:11px;
}
.h2{font-size:clamp(1.5rem,2.9vw,2.1rem)}
.lede{color:var(--ink-2);font-size:1.04rem;margin-top:13px}
.prose .lede{max-width:66ch}

/* The page title is deliberately outdented 24px from the body copy below it. It
   used to get that by zeroing .prose's side padding, which also removed the gutter
   and put the title hard against the screen edge below 820px. Keep the padding and
   widen the column by the same 48px instead: identical position on desktop, and a
   gutter that survives on a phone. */
.pagehead{padding-top:52px;padding-bottom:8px;max-width:calc(var(--prose) + 48px)}
.pagehead h1{font-size:clamp(2rem,4.2vw,2.9rem)}
.pagehead .lede{font-size:1.1rem;max-width:64ch}
.crumb{font-size:.84rem;color:var(--ink-3);font-weight:600;margin-bottom:14px}
.crumb a:hover{color:var(--ink);text-decoration:underline}

/* trust row */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.trust .t{display:flex;gap:12px;align-items:flex-start}
.trust .t svg{flex:none;color:var(--brand);margin-top:2px}
.trust .t b{display:block;font-size:.94rem}
.trust .t span{font-size:.87rem;color:var(--ink-2)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.step .n{
  width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;margin-bottom:14px;
}
.step h3{font-size:1.08rem;margin-bottom:6px}
.step p{color:var(--ink-2);font-size:.93rem}

/* comparison */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.vscol{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 28px;background:#fff}
.vscol.them{background:var(--bg-2)}
.vscol.us{border-color:var(--brand);box-shadow:var(--sh-2)}
.vscol .tag{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 11px;border-radius:var(--r-pill);margin-bottom:12px;
}
.vscol.them .tag{background:var(--bg-3);color:var(--ink-2)}
.vscol.us .tag{background:var(--brand-tint);color:var(--brand-dark)}
.vscol h3{font-size:1.2rem;margin-bottom:18px}
.vscol ul{list-style:none;display:grid;gap:15px}
.vscol li{display:flex;gap:12px}
.vscol li i{
  flex:none;width:21px;height:21px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:.68rem;font-weight:800;margin-top:2px;
}
.vscol.them li i{background:var(--danger-tint);color:var(--danger)}
.vscol.us li i{background:var(--brand-tint);color:var(--brand)}
.vscol li b{display:block;font-size:.95rem}
.vscol li span{font-size:.89rem;color:var(--ink-2)}

.pullquote{
  margin-top:36px;border-left:3px solid var(--brand);padding:4px 0 4px 22px;
  font-size:1.1rem;font-weight:600;color:var(--ink);max-width:62ch;line-height:1.5;
}

/* terms grid */
.terms{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.term{border:1px solid var(--line-2);border-radius:var(--r);padding:22px 24px;background:#fff}
.term .k{
  width:28px;height:28px;border-radius:var(--r-sm);background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;margin-bottom:12px;
}
.term h3{font-size:1.02rem;margin-bottom:5px}
.term p{color:var(--ink-2);font-size:.92rem}

.note{
  margin-top:28px;background:var(--accent-tint);border:1px solid #d7dbe0;
  border-radius:var(--r);padding:20px 24px;font-size:.94rem;color:#6d4a10;
}
.note b{color:#4d340a}

/* paths */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.path{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.path .top{height:118px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.path .top svg{width:66%}
.path .in{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.path .tag{
  align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-pill);margin-bottom:11px;background:var(--brand-tint);color:var(--brand-dark);
}
.path h3{font-size:1.16rem;margin-bottom:7px}
.path p{color:var(--ink-2);font-size:.92rem;flex:1}
.path .best{margin-top:15px;padding-top:14px;border-top:1px solid var(--line-2);font-size:.88rem;color:var(--ink-2)}
.path .best b{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}

/* calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.calcbox{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 30px 30px;background:#fff;box-shadow:var(--sh-2)}
.fld{display:flex;justify-content:space-between;align-items:baseline;font-size:.87rem;font-weight:700;color:var(--ink-2);margin-bottom:9px}
.fld .out{font-size:1.16rem;font-weight:800;color:var(--ink)}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;
  background:var(--bg-3);outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;
  border:1px solid var(--line);box-shadow:var(--sh-2);cursor:pointer;
}
input[type=range]::-moz-range-thumb{
  width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);
  box-shadow:var(--sh-2);cursor:pointer;
}
.ends{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-3);margin:8px 0 22px}
.segbtns{display:flex;gap:8px;margin-bottom:24px}
.segbtns button{
  flex:1;border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 6px;
  font-weight:700;font-size:.88rem;color:var(--ink-2);
}
.segbtns button:hover{border-color:var(--ink)}
.segbtns button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.result{
  background:var(--brand-tint);border-radius:var(--r);padding:22px 24px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.result .lab{font-size:.8rem;font-weight:700;color:var(--brand-dark)}
.result .big{font-size:2.05rem;font-weight:800;color:var(--brand-dark);letter-spacing:-.03em;line-height:1.06}
.result .sm{font-size:.79rem;color:var(--ink-2);margin-top:3px}
.fine{font-size:.78rem;color:var(--ink-3);margin-top:15px;line-height:1.5}

/* requirements (seller) */
.reqcard{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 30px;background:#fff;box-shadow:var(--sh-1)}
.reqcard h3{font-size:1.1rem;margin-bottom:5px}
.reqcard .sub{font-size:.9rem;color:var(--ink-2);margin-bottom:20px}
.reqs{list-style:none;display:grid}
.reqs li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line-2)}
.reqs li:last-child{border-bottom:none;padding-bottom:0}
.reqs .n{
  flex:none;width:25px;height:25px;border-radius:var(--r-sm);background:var(--brand-tint);
  color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;
}
.reqs b{display:block;font-size:.94rem}
.reqs span{font-size:.87rem;color:var(--ink-2)}
.feebox{
  margin-top:24px;background:var(--ink);color:#fff;border-radius:var(--r);padding:18px 22px;
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
}
.feebox .l{font-size:.79rem;color:#b9bfbc}
.feebox .v{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}

.benefits{list-style:none;display:grid;gap:18px;margin-top:26px}
.benefits li{display:flex;gap:13px}
.benefits .ck{
  flex:none;width:25px;height:25px;border-radius:50%;background:var(--brand-tint);
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.benefits b{display:block;font-size:.98rem}
.benefits span{font-size:.91rem;color:var(--ink-2)}

/* FAQ */
.faq{display:grid;gap:12px;margin-top:32px}
details{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
summary{
  padding:19px 22px;font-weight:700;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:1rem;
}
summary::-webkit-details-marker{display:none}
summary .chev{flex:none;transition:transform .2s;color:var(--brand)}
details[open] summary .chev{transform:rotate(180deg)}
details .ans{padding:0 22px 20px;color:var(--ink-2);font-size:.95rem}
details .ans p + p{margin-top:10px}
.todo{
  display:block;margin-top:12px;background:var(--accent-tint);border-left:3px solid var(--accent);
  border-radius:0 6px 6px 0;padding:10px 14px;font-size:.87rem;color:#6d4a10;
}
.todo::before{content:"To decide before launch — ";font-weight:800;color:#4d340a}

/* CTA band */
.cta{background:var(--brand);color:#fff;border-radius:var(--r-lg);padding:48px 44px;text-align:center}
.cta h2{font-size:clamp(1.5rem,2.7vw,2rem);margin-bottom:11px}
.cta p{color:#c9e5e0;max-width:48ch;margin:0 auto 26px}
.cta .btn-white{background:#fff;color:var(--brand-dark)}
.cta .btn-white:hover{background:#eef7f5}

/* ---------- Footer ---------- */
.ft{background:var(--bg-2);border-top:1px solid var(--line);margin-top:72px}
.ft-in{max-width:var(--wide);margin:0 auto;padding:52px 40px 26px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.ft h4{font-size:.9rem;margin-bottom:15px}
.ft ul{list-style:none;display:grid;gap:11px}
.ft a{font-size:.9rem;color:var(--ink-2)}
.ft a:hover{color:var(--ink);text-decoration:underline}
.ft .about{font-size:.9rem;color:var(--ink-2);max-width:34ch;margin-top:12px}
.ft-legal{
  max-width:var(--wide);margin:0 auto;padding:22px 40px 40px;border-top:1px solid var(--line);
  font-size:.8rem;color:var(--ink-3);line-height:1.65;
}
.ft-legal .top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:13px;font-weight:600}
.concept{
  margin-top:14px;border:1px dashed var(--line);border-radius:var(--r-sm);
  padding:12px 15px;background:#fff;
}
.concept b{color:var(--ink-2)}

/* ---------- Reveal ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .card .shot svg{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .phold{display:none}
}
@media (max-width:1080px){
  .pill{display:none}
  .hdr-in{gap:16px}
}
@media (max-width:900px){
  .wide{padding:0 24px}
  .hdr-in{padding:0 24px}
  .cats-in{padding:12px 24px}
  .ft-in{grid-template-columns:1fr 1fr;padding:44px 24px 22px}
  .ft-legal{padding:20px 24px 34px}
  .grid{grid-template-columns:repeat(2,1fr);gap:24px 18px}
  .vs,.calc,.terms{grid-template-columns:1fr;gap:26px}
  .steps,.paths{grid-template-columns:1fr;max-width:30rem}
  .trust{grid-template-columns:1fr 1fr;gap:18px}
  .hdr-link{display:none}
  .burger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm)}
  .band{padding:48px 0}
}
@media (max-width:600px){
  .grid{grid-template-columns:1fr;gap:26px}
  .trust{grid-template-columns:1fr}
  .cta{padding:36px 22px}
  .calcbox{padding:22px}
  .ft-in{grid-template-columns:1fr}
}

/* ============================================================
   Listing detail page
   ============================================================ */
.det{max-width:1180px;margin:0 auto;padding:0 40px}
.det-head{padding:26px 0 14px}
.det-head h1{font-size:clamp(1.5rem,3vw,2.05rem)}
.det-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:.92rem;color:var(--ink-2)}
.det-meta .vf{display:inline-flex;align-items:center;gap:6px;color:var(--brand-dark);background:var(--brand-tint);font-weight:700;font-size:.82rem;padding:4px 11px;border-radius:var(--r-pill)}
.det-meta .kindtag{background:var(--bg-3);font-weight:700;font-size:.82rem;padding:4px 11px;border-radius:var(--r-pill);color:var(--ink)}
.det-actions{margin-left:auto;display:flex;gap:6px}
.det-actions button{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;padding:8px 12px;border-radius:var(--r-sm);text-decoration:underline}
.det-actions button:hover{background:var(--bg-2);text-decoration:none}

/* gallery */
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,196px);gap:8px;border-radius:var(--r-lg);overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
.gal a{display:block;position:relative;overflow:hidden}
.gal a:first-child{grid-row:span 2}
.gal a:hover img{filter:brightness(.93)}
.gal .more{
  position:absolute;right:14px;bottom:14px;background:#fff;border:1px solid var(--ink);
  border-radius:var(--r-sm);padding:7px 13px;font-size:.82rem;font-weight:700;
}

/* two-column body */
.det-body{display:grid;grid-template-columns:1fr 380px;gap:60px;padding:34px 0 0;align-items:start}
.det-main > section{padding:28px 0;border-bottom:1px solid var(--line)}
.det-main > section:first-child{padding-top:0}
.det-main h2{font-size:1.22rem;margin-bottom:6px}
.det-main .sec-sub{color:var(--ink-2);font-size:.93rem;margin-bottom:18px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fact{border:1px solid var(--line-2);border-radius:var(--r);padding:14px 16px}
.fact .l{font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.fact .v{font-size:1.12rem;font-weight:800;margin-top:3px;letter-spacing:-.02em}

/* the eight terms — the differentiator */
.termlist{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.termrow{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.termrow:last-child{border-bottom:none}
.termrow:nth-child(odd){background:var(--bg-2)}
.termrow .i{font-size:.72rem;font-weight:800;color:var(--brand-dark);background:var(--brand-tint);width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;align-self:center}
.termrow .t b{display:block;font-size:.94rem}
.termrow .t span{font-size:.86rem;color:var(--ink-2)}
.termrow .val{font-weight:800;font-size:.95rem;text-align:right;white-space:nowrap}
.termrow .val small{display:block;font-weight:500;font-size:.76rem;color:var(--ink-3)}

/* accrual bars */
.accrue{display:flex;align-items:flex-end;gap:8px;height:132px;margin-top:6px}
.accrue .b{flex:1;background:var(--brand-tint);border-radius:5px 5px 0 0;position:relative;display:flex;justify-content:center;align-items:flex-start}
.accrue .b i{position:absolute;top:-20px;font-style:normal;font-size:.72rem;font-weight:800;color:var(--brand-dark);white-space:nowrap}
.accrue .b.on{background:var(--brand)}
.accrue .b.on i{color:var(--brand-dark)}
.accrue-x{display:flex;gap:8px;margin-top:8px}
.accrue-x span{flex:1;text-align:center;font-size:.75rem;color:var(--ink-3);font-weight:600}

/* honest disclosure block */
.warnbox{background:var(--accent-tint);border:1px solid #d7dbe0;border-radius:var(--r);padding:18px 20px;font-size:.92rem;color:#6d4a10}
.warnbox b{color:#4d340a}
.warnbox p + p{margin-top:9px}

/* seller */
.seller{display:flex;gap:16px;align-items:center}
.seller .av2{width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;flex:none}
.seller b{display:block;font-size:1rem}
.seller span{font-size:.88rem;color:var(--ink-2)}

/* map placeholder */
.mapbox{height:260px;border-radius:var(--r);overflow:hidden;position:relative;background:#e8eeea;border:1px solid var(--line)}
.mapbox svg{width:100%;height:100%;display:block}
.mapbox .pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%)}

/* sticky enquiry card */
.book{position:sticky;top:calc(var(--hdr-h) + 20px);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:24px 24px 22px;background:#fff}
.book .top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}
.book .rent{font-size:1.6rem;font-weight:800;letter-spacing:-.03em}
.book .rent small{font-size:.9rem;font-weight:600;color:var(--ink-2)}
.book .credit2{background:var(--brand-tint);color:var(--brand-dark);border-radius:var(--r-sm);padding:11px 14px;font-size:.87rem;font-weight:700;margin:14px 0 16px;display:flex;justify-content:space-between;gap:10px}
.book .lines{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-bottom:16px}
.book .ln{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-size:.88rem;border-bottom:1px solid var(--line-2)}
.book .ln:last-child{border-bottom:none}
.book .ln span{color:var(--ink-2)}
.book .ln b{font-weight:700}
.book .noacct{text-align:center;font-size:.8rem;color:var(--ink-3);margin-top:12px}
.book .small{font-size:.78rem;color:var(--ink-3);margin-top:14px;line-height:1.5;padding-top:14px;border-top:1px solid var(--line-2)}

/* similar */
.similar{padding:36px 0 0;border-top:1px solid var(--line)}
.similar h2{font-size:1.22rem;margin-bottom:18px}

@media (max-width:1000px){
  .det-body{grid-template-columns:1fr;gap:32px}
  .book{position:static}
  .facts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .det{padding:0 24px}
  .gal{grid-template-columns:1fr 1fr;grid-template-rows:180px 120px}
  .gal a:first-child{grid-row:span 1;grid-column:span 2}
  .gal a:nth-child(n+4){display:none}
}
@media (max-width:600px){
  .facts{grid-template-columns:1fr 1fr}
  .termrow{grid-template-columns:auto 1fr;row-gap:6px}
  .termrow .val{grid-column:2;text-align:left}
  .det-actions{margin-left:0;width:100%}
}

/* card links through to the detail page */
.shotlink{display:block}
.card .loc{display:inline-block}
.card .loc:hover{text-decoration:underline}

/* ============================================================
   Seller dashboard — operational UI, not marketing
   ============================================================ */
.dash-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.dash-top{padding:28px 0 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dash-top h1{font-size:1.7rem}
.dash-top .who{color:var(--ink-2);font-size:.93rem;margin-top:5px}
.dash-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:26px;overflow-x:auto;scrollbar-width:none}
.dash-tabs::-webkit-scrollbar{display:none}
.dash-tab{padding:11px 16px;font-size:.92rem;font-weight:700;color:var(--ink-3);border-bottom:2px solid transparent;white-space:nowrap}
.dash-tab:hover{color:var(--ink)}
.dash-tab[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}

.tiles4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.tile4{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 17px;background:#fff}
.tile4 .l{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.tile4 .v{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:7px 0 3px}
.tile4 .d{font-size:.79rem;color:var(--ink-2);display:flex;align-items:center;gap:5px}
.tile4 .up{color:var(--brand-dark);font-weight:700}
.tile4 .flag{color:var(--accent);font-weight:700}

.panel{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-bottom:22px;overflow:hidden}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.panel-h h2{font-size:1.02rem}
.panel-h .act{font-size:.85rem;font-weight:700;color:var(--brand-dark)}
.panel-h .act:hover{text-decoration:underline}

.ltable{width:100%;border-collapse:collapse;min-width:760px}
.ltable th,.ltable td{text-align:left;padding:13px 20px;border-bottom:1px solid var(--line-2);font-size:.9rem;vertical-align:middle}
.ltable thead th{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-2)}
.ltable tbody tr:last-child td{border-bottom:none}
.ltable tbody tr:hover{background:var(--bg-2)}
.ltable .prop{display:flex;align-items:center;gap:12px}
.ltable .prop img{width:56px;height:44px;border-radius:6px;object-fit:cover;flex:none}
.ltable .prop b{display:block;font-size:.92rem}
.ltable .prop span{font-size:.8rem;color:var(--ink-2)}
.ltable .num{font-variant-numeric:tabular-nums;font-weight:700}
.ltable .link{color:var(--brand-dark);font-weight:700}
.ltable .link:hover{text-decoration:underline}
.tblscroll{overflow-x:auto}

.st{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r-pill);white-space:nowrap}
.st::before{content:"";width:6px;height:6px;border-radius:50%;flex:none}
.st-live{background:var(--brand-tint);color:var(--brand-dark)}
.st-live::before{background:var(--brand)}
.st-ver{background:var(--accent-tint);color:#8a5210}
.st-ver::before{background:var(--accent)}
.st-draft{background:var(--bg-3);color:var(--ink-2)}
.st-draft::before{background:var(--ink-3)}
.st-opt{background:#e7eef7;color:#255088}
.st-opt::before{background:#3a7bc8}

.two{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}
.enq{display:flex;gap:13px;padding:15px 20px;border-bottom:1px solid var(--line-2)}
.enq:last-child{border-bottom:none}
.enq .av3{width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;flex:none}
.enq .body b{font-size:.92rem;display:block}
.enq .body .msg{font-size:.87rem;color:var(--ink-2);margin-top:2px}
.enq .body .meta{font-size:.76rem;color:var(--ink-3);margin-top:5px}
.enq .new{background:var(--accent);color:#fff;font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:4px;height:fit-content;flex:none}

.checklist2{padding:6px 20px 16px}
.checklist2 li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line-2);list-style:none}
.checklist2 li:last-child{border-bottom:none}
.checklist2 .ic2{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;margin-top:2px}
.checklist2 .ok{background:var(--brand-tint);color:var(--brand-dark)}
.checklist2 .wait{background:var(--accent-tint);color:#8a5210}
.checklist2 b{display:block;font-size:.89rem}
.checklist2 span{font-size:.83rem;color:var(--ink-2)}

.billrow{display:flex;justify-content:space-between;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line-2);font-size:.89rem}
.billrow:last-child{border-bottom:none}
.billrow b{font-variant-numeric:tabular-nums}
.billnote{padding:14px 20px;background:var(--bg-2);font-size:.83rem;color:var(--ink-2)}

.spark{display:flex;align-items:flex-end;gap:4px;height:56px;padding:0 20px 16px}
.spark i{flex:1;background:var(--brand-tint);border-radius:3px 3px 0 0}
.spark i.hi{background:var(--brand)}

@media (max-width:1080px){.tiles4{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}
@media (max-width:900px){.dash-wrap{padding:0 24px}}
@media (max-width:560px){.tiles4{grid-template-columns:1fr}}

/* ============================================================
   v3 — modern layer
   Full-bleed hero, deeper cards, motion on entry.
   ============================================================ */
.bighero{
  position:relative;min-height:520px;display:flex;align-items:flex-end;
  background:#111;overflow:hidden;
}
.bighero picture{display:contents}
.bighero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:heroIn 1.4s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes heroIn{from{transform:scale(1.08)}to{transform:none}}
.bighero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,12,.62) 0%,rgba(10,10,12,.25) 38%,rgba(10,10,12,.86) 100%);
}
.bighero .inner{position:relative;z-index:2;width:100%;max-width:var(--wide);margin:0 auto;padding:0 40px 44px;color:#fff}
.bighero .kick{
  display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(8px);
  padding:7px 15px;border-radius:var(--r-pill);font-size:.79rem;font-weight:700;margin-bottom:18px;
}
.bighero .kick .pulse{width:7px;height:7px;border-radius:50%;background:#5fe0a8;box-shadow:0 0 0 0 rgba(95,224,168,.7);animation:pl 2.2s infinite}
@keyframes pl{70%{box-shadow:0 0 0 8px rgba(95,224,168,0)}100%{box-shadow:0 0 0 0 rgba(95,224,168,0)}}
.bighero h1{font-size:clamp(2.3rem,5.4vw,4.1rem);max-width:16ch;margin-bottom:14px}
.bighero p{font-size:clamp(1rem,1.5vw,1.18rem);color:#e2e4e6;max-width:52ch}
.bighero .promise{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px}
.bighero .promise span{display:flex;align-items:center;gap:8px;font-size:.87rem;font-weight:600;color:#e8eaec}
.bighero .promise svg{color:#fff;opacity:.85;flex:none}

/* search sits over the hero edge */
.floatsearch{
  max-width:var(--wide);margin:-38px auto 0;padding:0 40px;position:relative;z-index:5;
}
.floatsearch .pill{
  display:flex;margin:0;box-shadow:0 18px 44px rgba(0,0,0,.20);border-color:transparent;
}

/* section rhythm */
.band{padding:76px 0}
.h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
.eyebrow{font-size:.72rem;letter-spacing:.16em}

/* cards get real depth on hover */
.card .shot{box-shadow:0 1px 2px rgba(0,0,0,.06)}
.card{transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.card:hover{transform:translateY(-4px)}
.card .kind{backdrop-filter:blur(6px);background:rgba(255,255,255,.93)}

/* filter rail: active pill fills */
.cat[aria-pressed="true"]{
  color:#fff;background:var(--ink);border-radius:var(--r-pill);
  border-bottom-color:transparent;padding:8px 14px;
}
.cats-in{padding-top:16px;padding-bottom:16px}

/* stepper used on the journey + how-it-works */
.stepper{position:relative;display:grid;gap:0}
.stepper .node{
  position:relative;display:grid;grid-template-columns:64px 1fr;gap:26px;
  padding:0 0 44px;
}
.stepper .node:last-child{padding-bottom:0}
.stepper .node::before{
  content:"";position:absolute;left:31px;top:52px;bottom:-4px;width:2px;
  background:linear-gradient(180deg,var(--brand) 0%,var(--line) 100%);
}
.stepper .node:last-child::before{display:none}
.stepper .num{
  width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;
  box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 32%,transparent);z-index:2;
}
.stepper .node.soft .num{background:var(--bg-3);color:var(--ink-2);box-shadow:none}
.stepper .when{
  font-size:.71rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--brand-dark);margin-bottom:6px;
}
.stepper h3{font-size:1.32rem;margin-bottom:8px}
.stepper p{color:var(--ink-2);font-size:1rem;max-width:62ch}
.stepper .see{
  margin-top:16px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg-2);padding:16px 18px;font-size:.91rem;
}
.stepper .see b{display:block;font-size:.71rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.stepper .see .ui{display:flex;flex-wrap:wrap;gap:8px}
.stepper .see .chipx{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:5px 12px;font-size:.83rem;font-weight:600;
}
.stepper .money{
  margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;
}
.stepper .money div{
  background:var(--brand-tint);border-radius:var(--r-sm);padding:9px 14px;
  font-size:.84rem;font-weight:700;color:var(--brand-dark);
}
.stepper .warn2{
  margin-top:14px;background:var(--accent-tint);border-left:3px solid var(--accent);
  border-radius:0 var(--r-sm) var(--r-sm) 0;padding:12px 16px;font-size:.89rem;color:var(--ink-2);
}
.stepper .shotimg{margin-top:16px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.stepper .shotimg img{width:100%;height:auto;display:block}

/* audience switch */
.switch{display:inline-flex;background:var(--bg-3);border-radius:var(--r-pill);padding:5px;gap:4px;margin-bottom:34px}
.switch button{
  padding:11px 24px;border-radius:var(--r-pill);font-weight:700;font-size:.94rem;color:var(--ink-2);
  transition:all .18s;
}
.switch button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--sh-2)}
.track[hidden]{display:none}

@media (max-width:900px){
  .bighero{min-height:420px}
  .bighero .inner{padding:0 24px 34px}
  .floatsearch{padding:0 24px;margin-top:22px}
  .floatsearch .pill{flex-direction:column;border-radius:var(--r-lg);align-items:stretch}
  .floatsearch .pill .seg{border-right:none;border-bottom:1px solid var(--line-2);padding:11px 16px}
  .floatsearch .pill .go{width:100%;border-radius:var(--r-sm);margin:8px;height:44px}
  .stepper .node{grid-template-columns:46px 1fr;gap:18px}
  .stepper .num{width:46px;height:46px;font-size:1.05rem}
  .stepper .node::before{left:22px;top:40px}
  .band{padding:56px 0}
}

/* ============================================================
   Lessee walkthrough — clickable screen mockups
   ============================================================ */
.wt{background:var(--bg-2);border-top:1px solid var(--line-2);padding:34px 0 60px}
.wt-in{max-width:1120px;margin:0 auto;padding:0 40px}

/* step rail */
.rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:14px;margin-bottom:20px}
.rail::-webkit-scrollbar{display:none}
.rail button{
  flex:none;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-pill);padding:7px 14px 7px 8px;font-size:.8rem;font-weight:700;color:var(--ink-3);
  transition:all .16s;white-space:nowrap;
}
.rail button:hover{border-color:var(--ink-3);color:var(--ink)}
.rail button .n{
  width:21px;height:21px;border-radius:50%;background:var(--bg-3);color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;
}
.rail button[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.rail button[aria-current="true"] .n{background:var(--brand);color:#fff}
.rail button.done .n{background:var(--brand-tint);color:var(--brand-dark)}

/* browser frame */
.frame{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.13);
}
.frame-bar{
  display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--bg-3);
  border-bottom:1px solid var(--line);
}
.frame-bar .dots{display:flex;gap:6px}
.frame-bar .dots i{width:10px;height:10px;border-radius:50%;background:#cfd2d6}
.frame-bar .url{
  flex:1;background:#fff;border-radius:var(--r-pill);padding:5px 14px;font-size:.74rem;
  color:var(--ink-3);font-family:var(--mono,ui-monospace,Menlo,monospace);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.stage{position:relative;min-height:470px;background:#fff}
.scr{padding:0}
.scr[hidden]{display:none}

/* mock chrome inside the screen */
.mk-h{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line-2)}
.mk-h .lg{display:flex;align-items:flex-end;gap:5px}
.mk-h .lg svg{width:9px;height:26px;fill:var(--ink)}
.mk-h .lg span{font-family:var(--display);font-size:.86rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1}
.mk-h .lg span i{font-style:normal;color:var(--brand)}
.mk-h nav{margin-left:auto;display:flex;gap:16px;font-size:.72rem;font-weight:700;color:var(--ink-3)}
.mk-b{padding:20px 24px 26px}

.mk-search{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--sh-1);max-width:560px;background:#fff}
.mk-search div{flex:1;padding:8px 16px;border-right:1px solid var(--line-2)}
.mk-search div:last-of-type{border-right:none}
.mk-search .k{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.mk-search .val{font-size:.78rem;color:var(--ink-2);margin-top:1px}
.mk-search .val.on{color:var(--ink);font-weight:600}
.mk-search .btn2{flex:none;width:32px;height:32px;padding:0;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.78rem;margin:4px 5px 4px 2px;border-right:none}

.mk-chips{display:flex;gap:6px;margin:16px 0 18px;flex-wrap:wrap}
.mk-chips span{font-size:.68rem;font-weight:700;padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink-3)}
.mk-chips span.on{background:var(--ink);border-color:var(--ink);color:#fff}

.mk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mk-card{border-radius:9px;overflow:hidden}
.mk-card img{width:100%;aspect-ratio:20/19;object-fit:cover;display:block;border-radius:9px}
.mk-card .t1{font-size:.76rem;font-weight:700;margin-top:7px}
.mk-card .t2{font-size:.7rem;color:var(--ink-2)}
.mk-card .t3{font-size:.76rem;font-weight:800;margin-top:2px}
.mk-card .cr{display:inline-block;font-size:.63rem;font-weight:800;background:var(--brand-tint);color:var(--brand-dark);padding:3px 8px;border-radius:var(--r-pill);margin-top:5px}
.mk-card.sel{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:11px}

/* listing detail mock */
.mk-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:88px 88px;gap:6px;border-radius:10px;overflow:hidden}
.mk-gal img{width:100%;height:100%;object-fit:cover;display:block}
.mk-gal a:first-child,.mk-gal span:first-child{grid-row:span 2}
.mk-two{display:grid;grid-template-columns:1fr 250px;gap:22px;margin-top:16px}
.mk-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}
.mk-facts div{border:1px solid var(--line-2);border-radius:7px;padding:9px 10px}
.mk-facts .k{font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.mk-facts .v{font-size:.9rem;font-weight:800;margin-top:2px}
.mk-book{border:1px solid var(--line);border-radius:11px;padding:15px;box-shadow:var(--sh-2);height:fit-content}
.mk-book .p{font-size:1.15rem;font-weight:800}
.mk-book .cr2{background:var(--brand-tint);color:var(--brand-dark);border-radius:7px;padding:8px 11px;font-size:.7rem;font-weight:800;margin:10px 0}
.mk-book .ln2{display:flex;justify-content:space-between;font-size:.68rem;padding:5px 0;border-bottom:1px solid var(--line-2)}
.mk-book .cta2{background:var(--brand);color:#fff;text-align:center;border-radius:7px;padding:9px;font-size:.76rem;font-weight:800;margin-top:11px}

/* terms table mock */
.mk-terms{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-top:12px}
.mk-terms div.r{display:grid;grid-template-columns:20px 1fr auto;gap:11px;align-items:center;padding:8px 13px;border-bottom:1px solid var(--line-2);font-size:.74rem}
.mk-terms div.r:last-child{border-bottom:none}
.mk-terms div.r:nth-child(odd){background:var(--bg-2)}
.mk-terms .i2{width:18px;height:18px;border-radius:4px;background:var(--brand-tint);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800}
.mk-terms b{font-weight:700}
.mk-terms .vv{font-weight:800;white-space:nowrap}

/* calculator mock */
.mk-slider{height:5px;border-radius:9px;background:var(--bg-3);position:relative;margin:9px 0 16px}
.mk-slider i{position:absolute;top:-7px;width:19px;height:19px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2)}
.mk-res{background:var(--brand-tint);border-radius:9px;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.mk-res .big2{font-size:1.6rem;font-weight:800;color:var(--brand-dark);letter-spacing:-.03em}
.mk-bars{display:flex;align-items:flex-end;gap:7px;height:82px;margin-top:14px}
.mk-bars i{flex:1;background:var(--brand-tint);border-radius:4px 4px 0 0;position:relative}
.mk-bars i.on{background:var(--brand)}
.mk-bars i em{position:absolute;top:-16px;left:0;right:0;text-align:center;font-style:normal;font-size:.62rem;font-weight:800;color:var(--brand-dark)}

/* chat mock */
.mk-chat{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:12px}
.mk-chat .hd{padding:10px 14px;border-bottom:1px solid var(--line-2);font-size:.76rem;font-weight:800;background:var(--bg-2)}
.mk-chat .msgs{padding:14px;display:grid;gap:10px}
.mk-msg{max-width:76%;padding:9px 13px;border-radius:12px;font-size:.75rem;line-height:1.45}
.mk-msg.me{margin-left:auto;background:var(--brand);color:#fff;border-bottom-right-radius:3px}
.mk-msg.them{background:var(--bg-3);border-bottom-left-radius:3px}
.mk-msg .who2{display:block;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin-bottom:3px}
.mk-input{border-top:1px solid var(--line-2);padding:10px 14px;font-size:.74rem;color:var(--ink-3);display:flex;justify-content:space-between;align-items:center}
.mk-input span:last-child{background:var(--brand);color:#fff;padding:5px 13px;border-radius:var(--r-pill);font-weight:800;font-size:.68rem}

/* document / signing mock */
.mk-doc{border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin-top:12px;background:#fff}
.mk-doc h5{font-size:.86rem;font-weight:800;margin-bottom:3px}
.mk-doc .sub2{font-size:.7rem;color:var(--ink-3);margin-bottom:12px}
.mk-doc .ll{height:6px;border-radius:3px;background:var(--bg-3);margin-bottom:7px}
.mk-doc .ll.s{width:72%}
.mk-doc .ll.m{width:88%}
.mk-sign{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.mk-sign .sigbox{flex:1;border-bottom:2px solid var(--ink);padding-bottom:3px;font-family:"Segoe Script","Snell Roundhand",cursive;font-size:1.05rem}
.mk-sign .btn3{background:var(--brand);color:#fff;padding:9px 18px;border-radius:7px;font-size:.76rem;font-weight:800}
.mk-pay{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
.mk-pay div{background:var(--bg-2);border:1px solid var(--line-2);border-radius:7px;padding:8px 12px;font-size:.72rem;font-weight:700}
.mk-pay div.hi{background:var(--brand-tint);border-color:transparent;color:var(--brand-dark)}

/* buyer dashboard mock */
.mk-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:12px}
.mk-tiles div{border:1px solid var(--line-2);border-radius:9px;padding:12px 14px}
.mk-tiles .k{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
.mk-tiles .v{font-size:1.25rem;font-weight:800;margin-top:3px;letter-spacing:-.02em}
.mk-prog{margin-top:16px}
.mk-prog .tr{height:11px;border-radius:7px;background:var(--bg-3);overflow:hidden}
.mk-prog .tr i{display:block;height:100%;background:var(--brand);border-radius:7px}
.mk-prog .lb{display:flex;justify-content:space-between;font-size:.68rem;color:var(--ink-2);margin-top:7px;font-weight:600}
.mk-note{background:var(--accent-tint);border-left:3px solid var(--accent);border-radius:0 7px 7px 0;padding:10px 13px;font-size:.72rem;color:var(--ink-2);margin-top:14px}
.mk-win{background:var(--brand);color:#fff;border-radius:11px;padding:22px 24px;margin-top:12px;text-align:center}
.mk-win .big3{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.mk-win p{font-size:.78rem;opacity:.9;margin-top:5px}

/* caption + nav */
.wt-cap{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start;margin-top:20px}
.wt-cap .when2{font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-dark);margin-bottom:5px}
.wt-cap h3{font-size:1.2rem;margin-bottom:6px}
.wt-cap p{color:var(--ink-2);font-size:.94rem;max-width:62ch}
.wt-cost{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.wt-cost span{background:var(--brand-tint);color:var(--brand-dark);border-radius:6px;padding:6px 11px;font-size:.78rem;font-weight:800}
.wt-cost span.warn3{background:var(--accent-tint);color:#7a5410}
.wt-btns{display:flex;gap:8px;flex:none}
.wt-btns button{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-1);
}
.wt-btns button:hover:not(:disabled){border-color:var(--ink)}
.wt-btns button:disabled{opacity:.35}

@media (max-width:900px){
  .wt-in{padding:0 20px}
  .mk-grid{grid-template-columns:repeat(2,1fr)}
  .mk-two{grid-template-columns:1fr}
  .mk-gal{grid-template-columns:1fr 1fr;grid-template-rows:78px 78px}
  .mk-h nav{display:none}
  .wt-cap{grid-template-columns:1fr}
  .wt-btns{margin-top:6px}
  .stage{min-height:0}
}

/* owner walkthrough mocks */
.mk-field{margin-bottom:11px}
.mk-field .fl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:4px}
.mk-field .fi{border:1px solid var(--line);border-radius:7px;padding:8px 11px;font-size:.78rem;background:#fff}
.mk-field .fi.filled{font-weight:600}
.mk-field .fi.ph{color:var(--ink-3)}
.mk-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mk-drop{border:1.5px dashed var(--line-2);border-radius:9px;padding:16px;text-align:center;font-size:.74rem;color:var(--ink-3);background:var(--bg-2)}
.mk-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:9px}
.mk-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;display:block}
.mk-vrow{display:grid;grid-template-columns:20px 1fr auto;gap:11px;align-items:center;padding:9px 13px;border-bottom:1px solid var(--line-2);font-size:.75rem}
.mk-vrow:last-child{border-bottom:none}
.mk-vrow .ic3{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:800}
.mk-vrow .ok3{background:var(--brand-tint);color:var(--brand-dark)}
.mk-vrow .wait3{background:var(--accent-tint);color:#8a5210}
.mk-vrow .st3{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:var(--r-pill)}
.mk-vrow .st3.g{background:var(--brand-tint);color:var(--brand-dark)}
.mk-vrow .st3.a{background:var(--accent-tint);color:#8a5210}
.mk-payout{background:var(--brand);color:#fff;border-radius:10px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.mk-payout .amt{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.mk-payout .lbl2{font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;opacity:.85}



/* ============================================================
   v6d — statement on solid ground + progressive reveal
   ============================================================ */
.v6say{background:var(--bg-2);border-bottom:1px solid var(--line-2);padding:46px 0 30px}
.v6say-in{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start}
.v6what{
  font-size:1.02rem;line-height:1.62;color:var(--ink);max-width:56ch;margin:0;
  font-weight:500;
}
.v6say .v6steps{
  list-style:none;display:grid;gap:10px;margin:0;padding:0;counter-reset:s;
  animation:none;
}
.v6say .v6steps li{
  counter-increment:s;display:flex;align-items:baseline;gap:11px;
  background:none;border:none;backdrop-filter:none;border-radius:0;
  padding:0;font-size:.95rem;color:var(--ink-2);width:auto;
}
.v6say .v6steps li::before{
  content:counter(s);width:22px;height:22px;border-radius:50%;
  background:var(--ink);color:#fff;font-weight:800;font-size:.7rem;
  display:flex;align-items:center;justify-content:center;flex:none;
  transform:translateY(3px);
}
.v6say .v6steps b{color:var(--ink);margin-right:6px;font-weight:800}

/* progressive reveal control */
.gridmore{
  grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:30px 0 4px;
}
.gridmore .btn{min-width:230px}
.gridmore [hidden]{display:none}

@media (max-width:900px){
  .v6say{padding:34px 0 26px}
  .v6say-in{grid-template-columns:1fr;gap:22px}
  .v6what{font-size:.97rem}
}



/* ============================================================
   v7 — back to the v3 hero, which is the one that tested well
   Full-bleed photograph, the promise stated over it, the search
   riding its lower edge, then straight into the homes.
   ============================================================ */

/* all-ink identity (kept from v6) */
.brand .wm i{color:var(--ink)}
.mk-h .lg span i{color:var(--ink)}
.brand{align-items:baseline;gap:7px}
.brand .nail{height:38px;transform:translateY(6px)}

.bighero{
  position:relative;min-height:clamp(430px,56vh,500px);display:flex;align-items:flex-end;
  background:#111;overflow:hidden;
}
.bighero picture{display:contents}
.bighero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;
  animation:heroIn 1.5s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes heroIn{from{transform:scale(1.07)}to{transform:none}}
/* This photograph is its own scrim: the glass wall on the left is naturally
   dark, the sunset stays untouched on the right. Only a light seat under the
   type and a base for the search pill. */
.bighero::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(10,10,12,.52) 0%,rgba(10,10,12,.34) 30%,rgba(10,10,12,.08) 52%,rgba(10,10,12,0) 64%),
    linear-gradient(180deg,rgba(10,10,12,.28) 0%,rgba(10,10,12,.06) 34%,rgba(10,10,12,.52) 100%);
}
/* Hero motion — the loop fades in over the still once it can actually play, so a
   slow connection or a codec miss degrades to exactly the previous behaviour. */
.bighero .heroloop{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;
  opacity:0;transition:opacity .9s ease;pointer-events:none;
}
.bighero .heroloop.is-on{opacity:1}
.bighero.has-loop img{animation:none}
@media (prefers-reduced-motion:reduce){.bighero .heroloop{display:none}}

.bighero .inner{position:relative;z-index:2;width:100%;max-width:var(--wide);margin:0 auto;padding:0 40px 42px;color:#fff}
.bighero .kick{
  display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(8px);
  padding:7px 15px;border-radius:var(--r-pill);font-size:.79rem;font-weight:700;margin-bottom:16px;
  animation:riseIn .7s cubic-bezier(.2,.7,.2,1) both;
}
.bighero .kick .pulse{width:7px;height:7px;border-radius:50%;background:#5fe0a8;box-shadow:0 0 0 0 rgba(95,224,168,.7);animation:pl 2.2s infinite}
@keyframes pl{70%{box-shadow:0 0 0 8px rgba(95,224,168,0)}100%{box-shadow:0 0 0 0 rgba(95,224,168,0)}}
.bighero h1{
  font-size:clamp(2.2rem,5.1vw,3.8rem);max-width:22ch;margin-bottom:13px;letter-spacing:-.035em;
  text-shadow:0 2px 24px rgba(0,0,0,.42);
  animation:riseIn .7s .06s cubic-bezier(.2,.7,.2,1) both;
}
.bighero h1 .keep{white-space:nowrap}
.bighero p{
  font-size:clamp(1rem,1.5vw,1.15rem);color:#e6e8ea;max-width:52ch;
  text-shadow:0 1px 14px rgba(0,0,0,.5);
  animation:riseIn .7s .12s cubic-bezier(.2,.7,.2,1) both;
}
.bighero .promise{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;
  animation:riseIn .7s .18s cubic-bezier(.2,.7,.2,1) both}
.bighero .promise span{display:flex;align-items:center;gap:8px;font-size:.87rem;font-weight:600;color:#eceef0;
  text-shadow:0 1px 10px rgba(0,0,0,.55)}
.bighero .promise svg{color:#fff;opacity:.88;flex:none}
.bighero .promise b{color:#fff;font-weight:800}
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* search sits in normal flow, pulled up over the photo's edge */
.floatsearch{max-width:var(--wide);margin:-36px auto 0;padding:0 40px;position:relative;z-index:5}
.floatsearch .pill{display:flex;margin:0;box-shadow:0 18px 44px rgba(0,0,0,.20);border-color:transparent}

.cats{margin-top:0;padding-top:30px}
.gridhead{margin-top:4px}

.grid .card{animation:cardIn .6s cubic-bezier(.2,.7,.3,1) both}
.grid .card:nth-child(1){animation-delay:.04s}
.grid .card:nth-child(2){animation-delay:.10s}
.grid .card:nth-child(3){animation-delay:.16s}
.grid .card:nth-child(4){animation-delay:.22s}
@keyframes cardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media (max-width:900px){
  .bighero{min-height:auto}
  .bighero .inner{padding:150px 22px 34px}
  .bighero .promise{gap:12px}
  .bighero .promise span{width:100%}
  .floatsearch{padding:0 22px;margin-top:-26px}
  .floatsearch .pill{flex-direction:column;border-radius:var(--r-lg)}
  .floatsearch .pill .seg{border-right:none;border-bottom:1px solid var(--line-2);padding:11px 16px}
  .floatsearch .pill .go{width:calc(100% - 16px);border-radius:var(--r-sm);margin:8px;height:44px}
  .cats{padding-top:26px}
}
@media (prefers-reduced-motion:reduce){
  .bighero picture{display:contents}
.bighero img{animation:none}
  .bighero .kick,.bighero h1,.bighero p,.bighero .promise,.grid .card{animation:none}
  .bighero .kick .pulse{animation:none}
}

/* the run-on gap under the grid: the band carried a 52px margin on top of its
   own 76px padding, which read as a dead screen between the homes and this */
.band-tight{margin-top:0;padding-top:54px}
.band-tight .h2{margin-top:2px}
@media (max-width:900px){.band-tight{padding-top:42px}}

/* ============================================================
   Legal pages — privacy / terms / do-not-sell / contact
   These are the first long-form documents on the site: they need
   stacking body paragraphs, real lists and a scannable section
   rhythm that the marketing pages never asked for. Everything is
   scoped under .legal so no existing page is touched.
   ============================================================ */

/* Draft banner. Borrows the dashed language of the footer .concept
   block deliberately — same visual grammar for "this is not final". */
.draftbar{
  border:1px dashed var(--ink-3);border-radius:var(--r);background:var(--bg-2);
  padding:20px 24px;margin-top:26px;font-size:.92rem;color:var(--ink-2);line-height:1.62;
}
.draftbar b{display:block;color:var(--ink);font-size:1rem;margin-bottom:7px;letter-spacing:-.02em}
.draftbar p + p{margin-top:10px}

.status{
  display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;
  font-size:.82rem;color:var(--ink-3);font-weight:600;
}
.status b{color:var(--ink-2);font-weight:800}

/* Contents rail */
.toc{
  margin-top:30px;border:1px solid var(--line-2);border-radius:var(--r);
  padding:22px 26px 24px;background:var(--bg-2);
}
.toc h2{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:14px}
.toc ol{list-style:none;counter-reset:toc;display:grid;gap:9px;grid-template-columns:1fr 1fr}
.toc li{counter-increment:toc;font-size:.92rem;color:var(--ink-2)}
.toc li::before{content:counter(toc) ". ";color:var(--ink-3);font-weight:700}
.toc a:hover{color:var(--ink);text-decoration:underline}

/* Document body */
.legal{padding-top:14px}
.legal section{padding-top:44px;scroll-margin-top:calc(var(--hdr-h) + 18px)}
.legal section > h2{font-size:1.34rem;display:flex;gap:12px;align-items:baseline}
.legal section > h2 .num{
  flex:none;font-size:.8rem;font-weight:800;color:var(--ink-3);
  letter-spacing:0;transform:translateY(-1px);
}
.legal h3{font-size:1.02rem;margin-top:26px}
.legal p{color:var(--ink-2);margin-top:13px;max-width:70ch}
.legal p.first{margin-top:16px}
.legal ul,.legal ol{margin:14px 0 0 21px;display:grid;gap:10px;max-width:70ch}
.legal li{color:var(--ink-2)}
.legal li > b,.legal p > b{color:var(--ink)}
.legal a[href]:not(.btn){color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--ink-3)}
.legal a[href]:not(.btn):hover{text-decoration-color:var(--ink)}
.legal .todo{max-width:70ch}
.legal .note{max-width:70ch}
.legal hr{border:none;border-top:1px solid var(--line-2);margin-top:44px}

/* Definition-style rows — used for the contact routes and the fee shape */
.rows{margin-top:20px;border-top:1px solid var(--line-2);max-width:70ch}
.rows .row{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:16px 0;border-bottom:1px solid var(--line-2)}
.rows .row b{font-size:.94rem}
.rows .row span{color:var(--ink-2);font-size:.94rem}
.rows .row .todo{margin-top:9px}

@media (max-width:700px){
  .toc ol{grid-template-columns:1fr}
  .rows .row{grid-template-columns:1fr;gap:5px}
  .legal section{padding-top:36px}
}
.legal code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;
}

/* ---------- Waitlist band ---------- */
.wl{display:flex;gap:48px;align-items:flex-start;flex-wrap:wrap}
.wl-copy{flex:1 1 340px;max-width:520px}
.wl-form{flex:1 1 420px;position:relative}
.wl-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.wl-input,.wl-select{
  font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);
  border-radius:var(--r-sm);padding:13px 16px;
}
.wl-input{flex:2 1 220px;min-width:0}
.wl-input::placeholder{color:var(--ink-3)}
.wl-select{flex:1.4 1 200px}
.wl-input:focus-visible,.wl-select:focus-visible{border-color:var(--brand);outline:none}
.wl-row .btn{flex:1 0 auto}
.wl-fine{font-size:.82rem;color:var(--ink-3);margin-top:10px}
.wl-done{margin-top:12px;background:var(--brand-tint);border-radius:var(--r-sm);padding:12px 16px;font-size:.95rem}
.wl-hp{position:absolute;left:-9999px;top:0}
@media (max-width:640px){
  .wl{gap:24px}
  .wl-copy,.wl-form{flex-basis:100%;max-width:100%}
  .wl-row{flex-direction:column}
  .wl-input,.wl-select{flex:0 0 auto;width:100%}
  .wl-row .btn{width:100%}
}

/* ============================================================
   Utility classes generated from former inline style attributes.
   The Content-Security-Policy forbids inline styles, so each
   former style="…" value became one class. !important keeps the
   inline-level precedence the attributes had.
   ============================================================ */
.u-1{margin-top:30px !important}
.u-2{margin-top:14px !important}
.u-3{background:#fff !important;border-color:var(--line) !important;color:var(--ink-2) !important}
.u-4{color:var(--ink) !important}
.u-5{position:static !important;width:auto !important;height:auto !important}
.u-6{fill:none !important;stroke:currentColor !important;stroke-width:2 !important}
.u-7{color:var(--brand-dark) !important}
.u-8{color:var(--brand) !important;font-weight:700 !important}
.u-9{height:35% !important}
.u-10{height:57% !important}
.u-11{height:78% !important}
.u-12{height:100% !important}
.u-13{margin-top:22px !important}
.u-14{grid-template-columns:repeat(3,1fr) !important}
.u-15{margin-top:18px !important;margin-bottom:0 !important}
.u-16{margin-top:14px !important;margin-bottom:0 !important}
.u-17{border-bottom:none !important}
.u-18{font-size:.87rem !important;color:var(--ink-2) !important}
.u-19{grid-template-columns:repeat(4,1fr) !important}
.u-20{grid-template-columns:1fr !important;gap:22px !important;margin-top:30px !important}
.u-21{display:grid !important;grid-template-columns:auto 1fr !important;gap:18px !important;align-items:start !important}
.u-22{margin-bottom:0 !important}
.u-23{margin-top:20px !important}
.u-24{margin-bottom:9px !important}
.u-25{max-width:62ch !important}
.u-26{background:linear-gradient(140deg,#2f353d,#4a525c) !important}
.u-27{background:linear-gradient(140deg,#1b3a51,#2a5d80) !important}
.u-28{background:#e2eef6 !important;color:#215273 !important}
.u-29{flex:1.3 !important}
.u-30{padding-bottom:8px !important}
.u-31{display:flex !important;gap:12px !important;flex-wrap:wrap !important;margin-top:32px !important}
.u-32{padding-top:34px !important}
.u-33{display:flex !important;gap:12px !important;flex-wrap:wrap !important;margin-top:26px !important}
.u-34{font-size:.55em !important;font-weight:600 !important}
.u-35{font-size:.79rem !important;color:#b9bfbc !important;margin-top:4px !important}
.u-36{font-size:.79rem !important;color:#b9bfbc !important;max-width:15rem !important}
.u-37{font-size:.96rem !important}
.u-38{font-size:.72rem !important;color:var(--ink-2) !important;margin:3px 0 13px !important}
.u-39{font-size:.72rem !important;color:var(--ink-2) !important;margin:3px 0 11px !important}
.u-40{margin-top:13px !important}
.u-41{text-align:right !important;font-size:.72rem !important;opacity:.9 !important}
.u-42{width:61% !important}
.u-43{margin-top:8px !important}
.u-44{font-size:1.35rem !important;margin-bottom:5px !important}
.u-45{font-size:.8rem !important;color:var(--ink-2) !important;margin-bottom:16px !important}
.u-46{font-size:.72rem !important;color:var(--ink-3) !important;margin-top:14px !important}
.u-47{display:flex !important;justify-content:space-between !important;align-items:baseline !important;margin-bottom:11px !important}
.u-48{font-size:.9rem !important}
.u-49{font-size:.72rem !important;color:var(--ink-3) !important}
.u-50{font-size:1.05rem !important}
.u-51{color:var(--brand-dark) !important;font-weight:800 !important}
.u-52{font-size:.86rem !important}
.u-53{font-size:.7rem !important;font-weight:600 !important;color:var(--ink-2) !important}
.u-54{font-size:.74rem !important;color:var(--ink-2) !important;margin-top:3px !important}
.u-55{grid-template-columns:1fr 1fr !important;margin-top:12px !important}
.u-56{display:flex !important;justify-content:space-between !important;font-size:.72rem !important;font-weight:700 !important}
.u-57{left:30% !important}
.u-58{left:44% !important}
.u-59{left:50% !important}
.u-60{height:37% !important}
.u-61{height:58% !important}
.u-62{height:79% !important}
.u-63{display:flex !important;gap:7px !important;margin-top:6px !important;font-size:.6rem !important;color:var(--ink-3) !important;text-align:center !important}
.u-64{flex:1 !important}
.u-65{font-size:.66rem !important;font-weight:800 !important;color:var(--brand-dark) !important}
.u-66{font-size:.72rem !important;color:var(--ink-2) !important;text-align:right !important}
.u-67{font-size:.92rem !important;color:var(--ink) !important}
.u-68{margin:13px 0 9px !important;font-size:.7rem !important;font-weight:800 !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:var(--ink-3) !important}
.u-69{font-size:.66rem !important;color:var(--ink-3) !important;margin-top:10px !important}
.u-70{margin-top:18px !important}
