/* Redstone 349: "the close-out price tag".
   A one-time close-out of 12 finished homes, told with the objects of a good shop: hang tags, receipts, ticket stubs,
   perforated tear lines and a rubber stamp. Brick red and clay from the community's name, on a warm paper ground.
   Type: Big Shoulders Display (condensed, built for big numerals and signage) for headlines and prices,
   Plus Jakarta Sans for everything you read. Components that are new to this site live in story.css. */
:root{
  --bg:#FAF6F2;
  --paper:#FFFDFB;
  --surface:#FFFFFF;
  --surface-2:#F4EBE4;
  --ink:#2A1E1B;
  --muted:#6B5D58;
  --line:#E7DAD0;
  --line-strong:#CDBBAE;
  --brand:#8C3B2E;
  --brick:#8C3B2E;
  --brick-deep:#5E2419;
  --on-brand:#FBF5F1;
  --on-brand-muted:#EBD3CA;
  --accent:#F0CDBE;
  --clay:#F0CDBE;
  --accent-ink:#2A1E1B;
  --accent-soft:#F8E6DD;
  --signal:#8C3B2E;
  --cta:#8C3B2E;
  --on-cta:#FFFFFF;
  --cta-hover:#73301F;
  --cta-shadow:rgba(140,59,46,.42);
  --cta-text:#8C3B2E;
  --bar:#D9C9BD;
  --tick-bg:#F3D6CA;
  --hot:rgba(227,160,139,.38);
  --ok-bg:#F7E1D7;
  --ok-ink:#7A3326;
  --focus:#8C3B2E;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:24px;
  --shadow-sm:0 1px 2px rgba(42,30,27,.05);
  --shadow-md:0 14px 34px -16px rgba(42,30,27,.26);
  --shadow-lg:0 30px 70px -28px rgba(42,30,27,.40);
  --font-display:'Big Shoulders Display','Arial Narrow',system-ui,sans-serif;
  --font-body:'Plus Jakarta Sans',system-ui,sans-serif;
  --display-weight:800;
  --display-tracking:-.004em;
  --perf:2px dashed var(--line-strong);
  --perf-light:2px dashed rgba(255,255,255,.34);
}

/* ---------- Type ---------- */
h3,h4{font-family:var(--font-body);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.section-head h2{font-size:clamp(42px,5.2vw,68px);line-height:.94}
.section-head p{color:var(--muted)}
.brand{font-size:24px;font-weight:800;letter-spacing:.005em;gap:9px}
.brand-mark{width:28px;height:28px}
.eyebrow{text-transform:none;letter-spacing:0;font-size:15px}
.note{font-size:13px}
.text-link{text-decoration-color:var(--brick);text-decoration-thickness:2px}

/* Focus stays visible on the brick panels */
.reserve-form :focus-visible,.final-main :focus-visible,.showing :focus-visible,.thanks-card :focus-visible,.allin :focus-visible{outline-color:var(--clay)}

/* Buttons: brick on paper; clay on brick */
.btn{border-radius:12px;font-weight:700}
.btn-outline,.btn.white{background:var(--paper);border-color:var(--line-strong)}
.btn-outline:hover,.btn.white:hover{border-color:var(--ink);background:var(--surface)}
.reserve-form .btn-primary,.showing .btn-primary,.thanks-card .btn-primary{background:var(--clay);color:var(--ink);box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
.reserve-form .btn-primary:hover,.showing .btn-primary:hover,.thanks-card .btn-primary:hover{background:#F6DCD0}
.dark .btn-outline,.showing .btn-outline,.thanks-card .btn-outline{background:transparent}
.btn-ghost{background:transparent}

/* ---------- Announcement + header ---------- */
.announce{position:relative;padding:9px 16px 11px;font-size:13px;font-weight:600;letter-spacing:0;background:var(--brick)}
.announce::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:6px;background:radial-gradient(circle at 5px 0,var(--brick) 3.4px,transparent 3.8px) 0 0/10px 6px repeat-x}
.header{background:color-mix(in srgb,var(--bg) 90%,transparent)}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(36px,5vw,64px) clamp(64px,7vw,104px)}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,6vw,96px);align-items:start}
.hero-media{margin-top:14px}
.hero h1{margin-top:22px;font-size:clamp(56px,6.6vw,92px);line-height:.9;font-weight:800;letter-spacing:-.004em;max-width:10.5ch}
.hero-sub{margin-top:24px;max-width:46ch;font-size:clamp(17px,1.4vw,19px)}
.hero-actions{margin-top:30px}
.ticks{margin-top:30px;padding-top:22px;border-top:var(--perf);gap:10px 28px}
.ticks li{align-items:center;font-size:15px}
.ticks li::before{width:12px;height:12px;margin:0;border-radius:50%;background:var(--bg);border:3px solid var(--brick)}
.hero-photo{border-radius:20px;aspect-ratio:4/4.7;box-shadow:var(--shadow-lg)}
.hero-photo figcaption{left:auto;right:14px;bottom:14px;background:rgba(42,30,27,.66)}
.hero-media{padding-bottom:0}

/* The hang tag (evolved from the original): string through a punched hole, receipt rows, stamped price */
.tag{position:absolute;left:-64px;bottom:-40px;width:min(300px,74%);transform-origin:50% -58px;filter:drop-shadow(0 24px 26px rgba(42,30,27,.24)) drop-shadow(0 2px 2px rgba(42,30,27,.10));z-index:2}
.tag::before{content:"";position:absolute;z-index:-1;left:calc(50% - 1px);top:-58px;width:2px;height:84px;background:var(--ink);border-radius:2px}
.tag::after{content:"";position:absolute;left:50%;top:-66px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#E9C9A8,#9C6B3E 70%);box-shadow:0 2px 4px rgba(0,0,0,.3)}
.tag-card{position:relative;padding:50px 26px 24px;background:var(--paper);clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%,0 30px);-webkit-mask:radial-gradient(circle at 50% 26px,#0000 7px,#000 7.6px);mask:radial-gradient(circle at 50% 26px,#0000 7px,#000 7.6px)}
.tag-card::before{content:"";position:absolute;left:50%;top:15px;width:22px;height:22px;margin-left:-11px;border-radius:50%;border:4px solid var(--clay)}
.tag-head{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--brick);text-align:center}
.tag-rows{margin:14px 0 0;display:grid;gap:8px}
.tag-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;font-weight:600;color:var(--muted)}
.tag-row dt{display:flex;flex:1;align-items:baseline;gap:8px}
.tag-row dt::after{content:"";flex:1;border-bottom:2px dotted var(--line-strong);transform:translateY(-3px)}
.tag-row dd{margin:0;font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.tag-total{margin-top:16px;padding-top:14px;border-top:var(--perf);text-align:center}
.tag-total > span{display:block;font-size:13px;font-weight:700;color:var(--muted)}
.tag-price{display:block;margin-top:2px;font-family:var(--font-display);font-size:92px;font-weight:900;line-height:.92;letter-spacing:-.01em;color:var(--brick)}
.tag-total small{display:block;margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:600}
s{text-decoration-color:var(--brick);text-decoration-thickness:2.5px}

/* ---------- Facts: one ticket with perforated cells ---------- */
.facts{border:0;background:transparent;margin-top:clamp(8px,2vw,24px)}
.facts .container{filter:drop-shadow(0 1px 1px rgba(42,30,27,.10)) drop-shadow(0 4px 10px rgba(42,30,27,.06))}
.facts-row{background:var(--paper);border-radius:16px;padding-inline:14px;-webkit-mask:radial-gradient(circle at 0 50%,#0000 13px,#000 13.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 13px,#000 13.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,#0000 13px,#000 13.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 13px,#000 13.5px) right/51% 100% no-repeat}
.facts-row div{padding:24px 22px;border-left:var(--perf)}
.facts-row strong{font-size:clamp(38px,3.6vw,50px);font-weight:900;line-height:.95;color:var(--brick)}
.facts-row span{margin-top:6px;font-size:13.5px;color:var(--muted)}

/* ---------- Section heads: number stub, headline left, lead right ---------- */
.section-head{max-width:720px}
.head-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(24px,5vw,72px);align-items:end;max-width:none}
.head-split .stop{grid-column:1/-1}
.head-split p:not(.stop){margin-top:0;padding-bottom:6px}
.stop{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;font-size:15px;font-weight:700;color:var(--brick)}
.stop-n{display:inline-grid;place-items:center;width:44px;height:30px;padding-left:8px;background:var(--brick);color:var(--on-brand);font-family:var(--font-display);font-size:20px;font-weight:900;line-height:1;clip-path:polygon(11px 0,100% 0,100% 100%,11px 100%,0 50%)}

/* ---------- Photos: a lookbook, captions on little tags ---------- */
.gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(64px,7vw,88px);gap:14px}
.gallery a{border-radius:14px}
.gallery a:nth-child(1){grid-column:1/8;grid-row:span 5}
.gallery a:nth-child(2){grid-column:8/13;grid-row:span 3}
.gallery a:nth-child(3){grid-column:8/13;grid-row:span 2}
.gallery a:nth-child(n+4){grid-column:span 3;grid-row:span 3}
.gallery span{left:12px;bottom:12px;padding:6px 12px 6px 24px;border-radius:0 8px 8px 0;background:radial-gradient(circle at 12px 50%,var(--brick) 0 3px,transparent 3.5px),var(--paper);color:var(--ink);font-size:12.5px;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);transform-origin:0 50%;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
@media (hover:hover){.gallery a:hover span{transform:rotate(-4deg)}}
.plans{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;margin-top:8px}
.fp-box{background:var(--paper);border-radius:18px;padding:20px}
.fp-tab[aria-selected="true"]{background:var(--brick);color:var(--on-brand)}
.fp-stage{background:var(--bg)}
.fp-hint{background:var(--accent-soft)}

/* The showing card is a ticket: photo, details, tear-off stub with the button */
.showing{display:grid;grid-template-rows:minmax(190px,1fr) auto auto;gap:0;padding:0;background:transparent;border-radius:18px;overflow:visible;filter:drop-shadow(0 2px 2px rgba(42,30,27,.12)) drop-shadow(0 6px 14px rgba(42,30,27,.08))}
.showing-photo{margin:0;min-height:0;border-radius:18px 18px 0 0;overflow:hidden}
.showing-body{display:grid;gap:12px;padding:24px 26px 26px;background:var(--brick);-webkit-mask:radial-gradient(circle at 0 100%,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 12px,#000 12.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 100%,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 12px,#000 12.5px) right/51% 100% no-repeat}
.showing h3{font-family:var(--font-display);font-size:clamp(32px,3vw,40px);font-weight:800;line-height:.95;letter-spacing:0}
.showing ul{margin:2px 0 0}
.showing-stub{position:relative;padding:20px 26px 24px;border-radius:0 0 18px 18px;background:var(--brick);-webkit-mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat}
.showing-stub::before{content:"";position:absolute;left:20px;right:20px;top:0;border-top:var(--perf-light)}
.showing-stub .btn{width:100%}

/* ---------- Neighbourhood: map + a receipt of distances ---------- */
.loc-split{grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);gap:clamp(20px,3vw,36px);align-items:stretch}
.loc-map{border-radius:18px;align-self:center}
.loc-receipt{padding:30px 26px 34px;background:var(--paper);filter:drop-shadow(0 14px 22px rgba(42,30,27,.12));-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/16px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 51% repeat-x;mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/16px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 51% repeat-x}
.loc-receipt h3{padding-bottom:12px;margin-bottom:6px;border-bottom:var(--perf);font-size:17px;text-align:center}
.tiles{display:block;margin:0}
.tiles li{display:flex;align-items:baseline;gap:10px;padding:9px 0}
.tiles span{order:1;flex:1;display:flex;align-items:baseline;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--muted)}
.tiles span::after{content:"";flex:1;min-width:12px;border-bottom:2px dotted var(--line-strong);transform:translateY(-4px)}
.tiles strong{order:2;font-size:28px;font-weight:800;color:var(--ink);white-space:nowrap}

/* ---------- The price: a printed receipt ---------- */
.compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.receipt-wrap{filter:drop-shadow(0 22px 30px rgba(42,30,27,.16)) drop-shadow(0 1px 1px rgba(42,30,27,.08))}
.card.receipt{padding:40px clamp(24px,3vw,40px) 44px;border:0;border-radius:0;background:var(--paper);box-shadow:none;-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x;mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/18px 51% repeat-x,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 51% repeat-x}
.receipt-head{display:grid;justify-items:center;gap:6px;padding-bottom:20px;border-bottom:var(--perf);text-align:center}
.receipt-mark{width:30px;height:30px;margin-bottom:4px}
.receipt-head h3{font-size:20px}
.receipt-head p{color:var(--muted);font-size:14px}
.receipt .bars{gap:20px;margin-top:22px}
.bar-label{font-size:14.5px}
.bar-label b{font-size:30px;font-weight:800;line-height:1}
.bar{height:6px;background:var(--surface-2)}
.bar-row.you{margin-top:4px;padding-top:20px;border-top:3px double var(--ink)}
.bar-row.you .bar-label{font-weight:800}
.bar-row.you .bar-label b{font-size:46px;font-weight:900;color:var(--brick)}
.bar-row.you .bar{height:10px}
.gap-callout{margin-top:24px;padding:16px 18px;border-radius:8px;background:var(--accent-soft);border:2px solid var(--brick);outline:1.5px solid var(--brick);outline-offset:3px;transform:rotate(-.8deg)}
.gap-callout strong{font-size:48px;font-weight:900;color:var(--brick)}
.receipt .note{margin-top:22px}
.why-side{padding-top:8px}
.why-side h3{font-family:var(--font-display);font-size:clamp(32px,3.2vw,42px);font-weight:800;letter-spacing:0;line-height:.95}
.why-lead{margin:14px 0 22px;color:var(--muted)}
.reasons{gap:0}
.reasons li{padding:16px 0 16px 26px;border-top:var(--perf);position:relative}
.reasons li:first-child{padding-top:16px;border-top:var(--perf)}
.reasons li::before{content:"";position:absolute;left:0;top:23px;width:11px;height:11px;border-radius:50%;border:3px solid var(--brick)}
.cta-left{justify-content:flex-start}
.why-side .cta-row{margin-top:26px}

/* ---------- Your numbers: two hang tags, then receipts ---------- */
.path-tabs{gap:20px}
.ptab{position:relative;padding:24px 26px 22px 58px;border-radius:16px;background:var(--paper);border:1.5px solid var(--line)}
.ptab::before{content:"";position:absolute;left:20px;top:24px;width:16px;height:16px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 1px 3px rgba(42,30,27,.35),0 0 0 4px var(--clay)}
.ptab[aria-selected="true"]{border-color:var(--brick);box-shadow:0 0 0 1.5px var(--brick),var(--shadow-md)}
.path-tag{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:8px}
.prow b{font-size:24px;font-weight:800}
.prow{border-top:1px dashed var(--line-strong)}
.ptab em{color:var(--brick)}
.ptab[aria-selected="true"] em::before{content:""}
.ptab[aria-selected="true"] em{display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:6px;background:var(--brick);color:var(--on-brand)}
.panel-title{font-family:var(--font-display);font-weight:800;letter-spacing:0;font-size:clamp(36px,4vw,52px);line-height:.95}
.money{gap:24px}
.money .card{border:0;border-radius:0;background:var(--paper);box-shadow:0 1px 0 rgba(42,30,27,.04);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 100% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 100% repeat-x;padding-bottom:42px}
.money{filter:drop-shadow(0 14px 22px rgba(42,30,27,.10))}
.label{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--muted)}
.big{font-size:clamp(56px,6vw,80px);font-weight:900;color:var(--brick);line-height:.92}
.big span{font-family:var(--font-body);font-weight:700;color:var(--muted)}
.line-item{border-top:1px dashed var(--line-strong)}
.line-item span{display:flex;flex:1;align-items:baseline;gap:8px}
.line-item.total{border-top:3px double var(--ink)}
.line-item.total strong{font-size:30px;font-weight:900;color:var(--brick)}
.callout{border:2px solid var(--brick);border-radius:8px;background:var(--accent-soft)}
.minis div{background:var(--bg);border-radius:8px}
.allin{border-radius:10px;background:var(--brick)}
.allin strong{font-size:38px;font-weight:900}
.equity{border:2px dashed var(--brick);border-radius:14px;background:var(--paper)}
.equity strong{font-size:40px;font-weight:900;color:var(--brick)}
.hold.card{background:var(--paper)}
.growth-toggle button{border-radius:10px}
.growth-toggle button[aria-pressed="true"]{background:var(--brick);border-color:var(--brick);color:var(--on-brand)}
.roi-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.roi-arrow{display:none}
.roi-tile{border-radius:0;background:var(--accent-soft);border-left:var(--perf)}
.roi-tile.in{border-left:0;border-radius:12px 0 0 12px}
.roi-tile.dark{border-radius:0 12px 12px 0;background:var(--brick);border-left:var(--perf-light)}
.roi-tile strong{font-size:44px;font-weight:900}
.result{background:var(--bg)}
.result-main{font-size:48px;font-weight:900;color:var(--brick)}
.calc input{border-radius:10px;background:var(--paper)}
details.more{background:var(--paper);border-radius:12px}
.path-foot{max-width:80ch}

/* ---------- Reserve ---------- */
.sp-wrap{background:var(--paper);border-radius:18px}
.sp-chip{border-radius:8px}
.sp-chip[aria-pressed="true"]{background:var(--brick);border-color:var(--brick);color:var(--on-brand)}
.sp-detail{position:relative;background:var(--accent-soft);border-radius:12px;border:1.5px solid var(--clay)}
.sp-home-name{font-size:30px;line-height:1}
.sp-price{font-size:56px;font-weight:900;color:var(--brick);line-height:.9}
.closeout-badge{border-radius:4px;background:transparent;color:var(--brick);border:2px solid var(--brick);outline:1px solid var(--brick);outline-offset:2px;font-family:var(--font-display);font-size:14px;font-weight:800;letter-spacing:.06em;transform:rotate(-2deg);margin:4px 0 2px 3px}
.sp-facts div{background:var(--paper);border-radius:8px}
.sp-facts span{text-transform:none;letter-spacing:0;font-size:12px}
.reserve-form{border-radius:18px;background:var(--brick)}
.reserve-form h3{font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:0;line-height:.95}
.reserve-form input:not([type=checkbox]),.reserve-form select{border-radius:10px}
.ws-progress span{border-top:3px dashed rgba(255,255,255,.3)}
.ws-progress span.is-on{border-top-style:solid}
.sp-table-wrap{background:var(--paper);border-radius:12px}
.sp-table th{text-transform:none;letter-spacing:0;font-size:12.5px;background:var(--bg);border-bottom:3px double var(--line-strong)}
.sp-table td{border-top:1px dashed var(--line)}
.status-pill{text-transform:none;letter-spacing:0;font-size:12px;border-radius:6px}

/* ---------- FAQ ---------- */
.faq-group h3{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:0;line-height:1}
.faq-list details{border-bottom:1px dashed var(--line-strong)}
.faq-list details:first-child{border-top:1px dashed var(--line-strong)}
.faq-list summary::after{content:"";width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5v10M5 10h10' stroke='%238C3B2E' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;border:1.5px solid var(--line-strong);transition:transform .2s}
.faq-list details[open] summary::after{content:"";transform:rotate(45deg)}

/* ---------- Final: one big ticket, the actions on the stub ---------- */
.final{padding-block:clamp(72px,9vw,120px)}
.final-card{display:grid;grid-template-columns:minmax(0,1fr) 340px;padding:0;border-radius:0;background:transparent;text-align:left;overflow:visible}
.final-main{padding:clamp(36px,5vw,64px);border-radius:24px 0 0 24px;background:var(--brick);color:var(--on-brand);-webkit-mask:radial-gradient(circle at 100% 0,#0000 16px,#000 16.5px) top/100% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 16px,#000 16.5px) bottom/100% 51% no-repeat;mask:radial-gradient(circle at 100% 0,#0000 16px,#000 16.5px) top/100% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 16px,#000 16.5px) bottom/100% 51% no-repeat}
.final-card h2{margin-top:22px;font-size:clamp(46px,5.4vw,76px);line-height:.92;max-width:15ch}
.final-card p{margin:18px 0 0;color:var(--on-brand-muted);max-width:46ch}
.final-stub{position:relative;display:flex;align-items:center;padding:36px 32px;border-radius:0 24px 24px 0;background:var(--clay);-webkit-mask:radial-gradient(circle at 0 0,#0000 16px,#000 16.5px) top/100% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 16px,#000 16.5px) bottom/100% 51% no-repeat;mask:radial-gradient(circle at 0 0,#0000 16px,#000 16.5px) top/100% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 16px,#000 16.5px) bottom/100% 51% no-repeat}
.final-stub::before{content:"";position:absolute;left:0;top:22px;bottom:22px;border-left:2px dashed rgba(42,30,27,.32)}
.final-stub{flex-direction:column;align-items:stretch;justify-content:center;gap:22px}
.final-price{display:grid;justify-items:start}
.final-price span{font-size:14px;font-weight:700;color:var(--ink)}
.final-price strong{font-family:var(--font-display);font-size:88px;font-weight:900;line-height:.86;color:var(--brick)}
.final-actions{display:grid;grid-template-columns:1fr;justify-content:stretch;gap:10px;width:100%;margin:0}
.final-actions .btn{width:100%}
.final-stub .btn-primary{background:var(--brick);color:var(--on-cta)}
.final-stub .btn-primary:hover{background:var(--cta-hover)}
.final-stub .btn-outline{background:transparent;color:var(--ink);border-color:rgba(42,30,27,.4)}
.final-stub .btn-outline:hover{border-color:var(--ink)}

/* ---------- Footer, dialogs ---------- */
.footer{background:var(--paper);border-top:var(--perf)}
.lead-media-copy strong{font-size:64px;font-weight:900}
.lead-body h2{font-size:clamp(32px,3.2vw,40px);line-height:.95}
.lead-done .tick{background:var(--accent-soft);color:var(--brick)}
.lead-times span{border-radius:8px}
.lead-times input:checked + span{background:var(--brick);border-color:var(--brick);color:var(--on-brand)}
.lead-form input:not([type=checkbox]):not([type=radio]),.lead-form select{border-radius:10px}
.fp-close,.lead-close{color:var(--ink)}

/* ---------- Sub pages ---------- */
.thanks-card{position:relative;border-radius:24px;background:var(--brick)}
.thanks-card h1{font-size:clamp(48px,6vw,80px);line-height:.92}
.thanks-card .eyebrow{color:var(--clay);font-weight:700}
.thanks-card h1{margin-top:22px}
.thanks-actions{padding-top:26px;border-top:var(--perf-light)}
.thanks-card .btn-wa{border-radius:12px}
.tag-total small{text-wrap:balance}
.legal h1{margin-top:22px;font-size:clamp(44px,5vw,64px);line-height:.95}
.legal h2{font-family:var(--font-body);font-weight:800;letter-spacing:-.02em}

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .hero-grid,.compare,.plans,.loc-split{grid-template-columns:1fr}
  .hero-photo{aspect-ratio:4/3}
  .tag{left:20px;bottom:-56px;width:290px}
  .hero-media{margin-bottom:60px}
  .head-split{grid-template-columns:1fr}
  .hero h1{max-width:14ch}
  .head-split p:not(.stop){margin-top:14px;padding-bottom:0}
  .loc-split{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(70px,11vw,110px)}
  .gallery a:nth-child(1){grid-column:1/-1;grid-row:span 4}
  .gallery a:nth-child(2),.gallery a:nth-child(3){grid-column:span 3;grid-row:span 3}
  .gallery a:nth-child(n+4){grid-column:span 3;grid-row:span 3}
  .final-card{grid-template-columns:1fr}
  .final-main{border-radius:24px 24px 0 0;-webkit-mask:radial-gradient(circle at 0 100%,#0000 16px,#000 16.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 16px,#000 16.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 100%,#0000 16px,#000 16.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 16px,#000 16.5px) right/51% 100% no-repeat}
  .final-stub{border-radius:0 0 24px 24px;-webkit-mask:radial-gradient(circle at 0 0,#0000 16px,#000 16.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 16px,#000 16.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 0,#0000 16px,#000 16.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 16px,#000 16.5px) right/51% 100% no-repeat}
  .final-stub::before{left:24px;right:24px;top:0;bottom:auto;border-left:0;border-top:2px dashed rgba(42,30,27,.32)}
  .final-actions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
}
@media (max-width:720px){
  .hero{padding-top:20px}
  .hero h1{font-size:min(11.6vw,60px);line-height:.92;max-width:none}
  .stamp span{font-size:14.5px;padding:6px 11px 5px}
  .announce{font-size:12.5px}
  .announce-more{display:none}
  .hero-grid{gap:0}
  .hero-copy{display:contents}
  .hero .stamp{order:1;justify-self:start}
  .hero h1{order:2}
  .hero-media{order:3;margin:18px 0 8px;padding-top:4px}
  .hero-sub{order:4}
  .hero-actions{order:5}
  .hero-alt{order:6}
  .ticks{order:7}
  .hero h1{margin-top:16px}
  .hero-photo{width:76%;margin-left:auto;aspect-ratio:4/3.9;border-radius:16px}
  .hero-photo figcaption{right:10px;bottom:10px}
  .tag{position:absolute;left:-4px;right:auto;top:34px;bottom:auto;width:204px;transform-origin:50% -26px}
  .tag::before{top:-26px;height:50px}
  .tag::after{top:-34px}
  .tag-card{padding:38px 15px 12px;-webkit-mask:radial-gradient(circle at 50% 24px,#0000 6.5px,#000 7px);mask:radial-gradient(circle at 50% 24px,#0000 6.5px,#000 7px)}
  .tag-card::before{top:13px}
  .tag-head{display:none}
  .tag-rows{margin-top:2px;gap:3px}
  .tag-row{font-size:11.5px}
  .tag-row dd{font-size:18px}
  .tag-total{margin-top:8px;padding-top:8px}
  .tag-total > span{font-size:11.5px}
  .tag-price{font-size:60px}
  .tag-total small{font-size:11px}
  .facts-row{padding-inline:8px}
  .facts-row div{border-left:0;border-top:var(--perf);padding:16px 12px}
  .facts-row div:nth-child(-n+2){border-top:0}
  .facts-row div:nth-child(even){border-left:var(--perf)}
  .facts-row div:last-child{grid-column:1/-1;border-left:0}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px;gap:10px}
  .gallery a:nth-child(1){grid-column:1/-1;grid-row:span 2}
  .gallery a:nth-child(n+2){grid-column:span 1;grid-row:span 1}
  .gallery span{font-size:11.5px;left:8px;bottom:8px;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .card.receipt{padding:34px 20px 38px}
  .bar-label{align-items:flex-end}
  .bar-label b{font-size:26px}
  .bar-row.you .bar-label b{font-size:40px}
  .ptab{padding:20px 20px 18px 52px}
  .ptab::before{left:18px}
  .roi-strip{grid-template-columns:1fr 1fr}
  .roi-tile.in{grid-column:1/-1;border-radius:12px 12px 0 0}
  .roi-tile:not(.in){border-left:0;border-top:var(--perf)}
  .roi-tile:not(.in):not(.dark){border-radius:0 0 0 12px}
  .roi-tile.dark{border-radius:0 0 12px 0;border-left:var(--perf-light)}
  .money .card{padding-bottom:38px}
  .faq-group h3{font-size:28px}
  .final-main{padding:32px 24px}
  .final-stub{padding:28px 24px}
  .final-actions{grid-template-columns:1fr}
}
