@font-face{font-family:"Archivo";src:url(../fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Geist";src:url(../fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"GeistMono";src:url(../fonts/geist-mono.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --stone:#EEE8DD; --stone-2:#E5DDCF; --paper:#F6F2EA; --ink:#1D1C1A; --ink-2:#4A4741; --ink-3:#7C776E;
  --sun:#F2A541; --sun-2:#FFC879; --dusk:#34495E; --clay:#B9805A; --sold:#C9C3B8; --line:rgba(29,28,26,.14);
  --serif:"Archivo","Helvetica Neue",Arial,sans-serif; --sans:"Geist",system-ui,sans-serif; --mono:"GeistMono",ui-monospace,monospace;
  --pad:clamp(16px,3.2vw,48px); --hdr:68px; --r:14px;
  --ease:cubic-bezier(.22,.7,.12,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--stone);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,canvas,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
em{font-style:italic}
.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}
.micro{font:500 13px/1.25 var(--sans);color:var(--ink-3)}
.label{display:none!important;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.label i{font-style:normal;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);font-size:10.5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;font:500 14px/1 var(--sans);transition:background .3s,color .3s,transform .3s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-ink{background:var(--ink);color:var(--stone)}
.btn-ink:hover{background:#000}
.btn-ghost{border:1px solid var(--line);background:rgba(255,255,255,.4)}
.btn-ghost svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.btn-ghost.on svg{fill:var(--sun);stroke:var(--sun)}
.link{font:500 13px/1 var(--sans);color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:3px}
.link:hover{color:var(--ink)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:var(--ink);transition:background .4s,color .4s,backdrop-filter .4s}
.hdr.on-dark,.hdr.on-dark.solid{color:#fff;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr.solid{background:rgba(238,232,221,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink)}
.logo{display:flex;align-items:center;gap:9px;font:500 15px/1 var(--sans);letter-spacing:.34em}
.logo svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.logo svg circle{fill:var(--sun);stroke:none}
.nav{display:flex;gap:6px;position:absolute;left:50%;transform:translateX(-50%)}
.nav a{display:flex;align-items:baseline;gap:6px;padding:10px 14px;border-radius:999px;font:500 14px/1 var(--sans);transition:background .3s}
.nav a i{font:500 10px/1 var(--mono);font-style:normal;opacity:.55}
.nav a:hover{background:rgba(255,255,255,.22)}
.hdr-r{display:flex;align-items:center;gap:10px}
.saved{display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:999px;border:1px solid currentColor;border-color:rgba(127,127,127,.35);font:500 13px/1 var(--mono)}
.saved svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.saved.has svg{fill:var(--sun);stroke:var(--sun)}
.hdr.on-dark .btn-ink{background:rgba(255,255,255,.92);color:var(--ink)}

/* ---------- STAGE ---------- */
.stage{position:relative;height:260vh;height:260svh}
.stage-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--stone)}
.gl{position:absolute;inset:0;width:100%;height:100%}
.stage-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 50%;z-index:-1}
.js-gl .stage-fallback{display:none}

.scrim{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(52,32,22,.40) 0%,rgba(52,32,22,.20) 30%,rgba(52,32,22,0) 56%),linear-gradient(180deg,rgba(40,26,20,.28),rgba(40,26,20,0) 22%,rgba(40,26,20,0) 78%,rgba(40,26,20,.3))}
.hero{position:absolute;left:var(--pad);top:calc(var(--hdr) + 6vh);width:min(700px,56vw);z-index:5;color:#fff}
.hero .eyebrow{font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.86;margin-bottom:22px}
.hero-h{font:300 semi-expanded clamp(64px,9.6vw,152px)/.86 var(--serif);letter-spacing:-.025em;text-shadow:0 2px 40px rgba(80,40,20,.18)}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-h .ln>*{display:inline-block}
.hero-h em{color:#FFC872;text-shadow:0 2px 50px rgba(120,60,10,.35)}
.hero-lead{margin-top:26px;max-width:420px;font-size:17px;line-height:1.5;opacity:.94;text-shadow:0 1px 18px rgba(60,30,10,.25)}
.hero-pick{margin-top:34px}
.hero-pick .micro{color:rgba(255,255,255,.75);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{height:40px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--sans);border:1px solid var(--line);background:rgba(255,255,255,.55);transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.chip:hover{background:#fff}
.chip:active{transform:scale(.96)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero .chip{height:38px;padding:0 14px;font-size:13.5px;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.38);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero .chip:hover{background:rgba(255,255,255,.3)}
.hero .chip.on{background:#fff;color:var(--ink)}
.chip-sep{width:1px;height:22px;background:rgba(255,255,255,.35);margin:0 4px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot-m{background:linear-gradient(135deg,#FFD58A,#F2A541)}
.dot-d{background:#FFE07A}
.dot-e{background:linear-gradient(135deg,#F2A541,#C8553D)}
.chips-sm .chip{height:36px;padding:0 14px;font-size:13.5px}

.hero-facts{position:absolute;left:var(--pad);bottom:28px;z-index:5;display:flex;gap:28px;font:400 13px/1 var(--mono);color:rgba(255,255,255,.86)}
.hero-facts b{font-weight:500;color:#fff}
.scroll-cue{position:absolute;right:var(--pad);bottom:28px;z-index:5;display:flex;align-items:center;gap:12px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.scroll-cue i{width:1px;height:38px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#fff;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* picker panel */
.pick{position:absolute;left:0;top:0;bottom:0;width:var(--fx,52vw);z-index:6;display:flex;align-items:center;padding:var(--hdr) var(--pad) 24px;pointer-events:none;visibility:hidden}
.pick.live{pointer-events:auto}
.pick-in{width:100%;max-width:520px}
.pick-h{font:300 semi-expanded clamp(44px,5vw,76px)/.94 var(--serif);letter-spacing:-.02em;margin:18px 0 14px}
.pick-h em{color:var(--clay)}
.pick-sub{color:var(--ink-2);max-width:380px;margin-bottom:26px}
.fgroup{margin-bottom:16px}
.fgroup .micro{margin-bottom:9px}
.result{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.result-n{display:flex;align-items:baseline;gap:12px}
.result-n b{font:400 64px/.9 var(--mono);letter-spacing:-.04em}
.result-n span{font:300 semi-expanded 22px/1 var(--serif)}
.result-sub{margin-top:8px;font-size:13.5px;color:var(--ink-3)}
.result-act{display:flex;gap:20px;margin-top:16px}
.legend{list-style:none;display:flex;gap:18px;margin-top:22px;font:400 12px/1 var(--mono);color:var(--ink-3)}
.legend li{display:flex;align-items:center;gap:7px}
.lg{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg-a{background:var(--sun)}.lg-r{background:var(--clay)}.lg-s{background:var(--sold)}

/* card */
.card{position:absolute;z-index:8;width:300px;padding:20px 20px 18px;border-radius:18px;background:rgba(250,247,241,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 60px -20px rgba(40,25,10,.35),0 0 0 1px rgba(29,28,26,.06);transform-origin:var(--ox,0) var(--oy,50%)}
.card[hidden]{display:block;visibility:hidden;opacity:0;pointer-events:none}
.card-x{position:absolute;right:10px;top:8px;width:30px;height:30px;font-size:20px;color:var(--ink-3)}
.card-top{display:flex;align-items:center;gap:12px}
.card-code{font:300 semi-expanded 46px/1 var(--serif);letter-spacing:-.02em}
.pill{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:rgba(242,165,65,.18);color:#9A5A10}
.pill.reserved{background:rgba(185,128,90,.18);color:#7A4A2A}
.pill.sold{background:rgba(29,28,26,.08);color:var(--ink-3)}
.card-meta{margin-top:6px;font-weight:500;color:var(--ink-2)}
.card-dl{margin:14px 0 16px;border-top:1px solid var(--line)}
.card-dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.card-dl dt{color:var(--ink-3)}
.card-dl dd{text-align:right}
.card-dl dd.mono{font-size:15px;font-weight:500}
.card-btns{display:flex;gap:8px}
.card-btns .btn{flex:1;height:42px;padding:0 12px;font-size:13.5px}

/* ---------- LIGHT ---------- */
.light{position:relative;height:420vh;background:var(--stone)}
.light-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:1fr var(--fw,54vw);overflow:hidden}
.light-copy{padding:calc(var(--hdr) + 4vh) var(--pad) 32px;display:flex;flex-direction:column;z-index:2}
.light-h{font:300 semi-expanded clamp(48px,5.4vw,84px)/.92 var(--serif);letter-spacing:-.02em;margin:18px 0 12px}
.light-h em{color:var(--clay)}
.light-sub{color:var(--ink-2);max-width:360px;min-height:48px}
.clock{margin-top:auto;position:relative;width:240px}
.arc{width:240px;overflow:visible}
.arc-track{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 5}
.arc-done{fill:none;stroke:var(--sun);stroke-width:2;stroke-linecap:round}
.arc-hz{stroke:var(--ink);stroke-width:1;opacity:.25}
.arc-sun{fill:var(--sun);filter:drop-shadow(0 0 8px rgba(242,165,65,.8))}
.clock-t{font-size:clamp(56px,6vw,88px);line-height:1;letter-spacing:-.05em;margin-top:6px}
.clock-s{margin-top:8px;color:var(--ink-2);min-height:24px}
.season{display:inline-flex;margin-top:22px;padding:4px;border-radius:999px;border:1px solid var(--line);width:max-content;opacity:.35;pointer-events:none;transition:opacity .4s}
.season.live{opacity:1;pointer-events:auto}
.season button{height:36px;padding:0 16px;border-radius:999px;font:500 13.5px/1 var(--sans);color:var(--ink-2);transition:background .3s,color .3s}
.season button.on{background:var(--ink);color:#fff}
.sunstat{margin-top:18px;min-height:46px}
.sunstat p{display:flex;flex-direction:column;gap:4px}
.sunstat b{font-size:22px;font-weight:500}
.sunstat span{font-size:13.5px;color:var(--ink-3)}
.light-note{margin-top:18px;font:300 semi-expanded 22px/1.2 var(--serif);color:var(--clay)}
.light-vis{position:relative;background:var(--stone-2)}
.plan{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;padding:calc(var(--hdr) + 10px) 4vw 30px}
.plan svg{width:100%;height:100%;max-height:82vh;overflow:visible}

.tag{position:absolute;left:0;top:0;z-index:2;pointer-events:none;will-change:transform}
.tag i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 5px rgba(242,165,65,.3);animation:pulse 2s var(--ease) infinite}
.tag span{position:absolute;left:16px;top:-15px;white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(250,247,241,.95);color:var(--ink);font:500 13px/1 var(--sans);box-shadow:0 8px 24px rgba(30,20,10,.25)}
@keyframes pulse{50%{box-shadow:0 0 0 11px rgba(242,165,65,0)}}
/* plan svg styles */
.pl-wall{fill:none;stroke:var(--ink);stroke-width:.18;stroke-linejoin:round}
.pl-iwall{fill:none;stroke:var(--ink);stroke-width:.1}
.pl-floor{fill:#FBF8F2}
.pl-bal{fill:#E9E1D3;stroke:var(--ink);stroke-width:.06}
.pl-win{stroke:#7DA3BE;stroke-width:.16}
.pl-room{font:400 .36px var(--sans);fill:var(--ink-2);letter-spacing:.01px}
.pl-area{font:400 .3px var(--mono);fill:var(--ink-3)}
.pl-sun{fill:url(#sunG);mix-blend-mode:multiply}
.pl-comp{fill:none;stroke:var(--line);stroke-width:.05;stroke-dasharray:.12 .16}
.pl-compt{font:500 .3px var(--mono);fill:var(--ink-3)}
.pl-sundot{fill:var(--sun)}
.pl-ray{stroke:var(--sun);stroke-width:.05;stroke-dasharray:.1 .12;opacity:.8}
.pl-furn{fill:none;stroke:var(--ink-3);stroke-width:.04;opacity:.6}

/* ---------- VIEW ---------- */
.view{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:#fff;background:#8aa0ae}
.view-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform,opacity,filter}
.view-img img[data-v="8"]{opacity:1}
.view::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,30,.38),rgba(20,24,30,0) 32%,rgba(20,24,30,0) 58%,rgba(20,24,30,.5));pointer-events:none}
.view-ui{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--hdr) + 3vh) var(--pad) 34px}
.label-l{color:rgba(255,255,255,.85)}
.label-l i{border-color:rgba(255,255,255,.4)}
.view-h{font:300 semi-expanded clamp(48px,6vw,96px)/.92 var(--serif);letter-spacing:-.02em;margin-top:18px;text-shadow:0 2px 30px rgba(0,0,0,.2)}
.view-h em{color:#FFE3B8}
.vslider{max-width:640px;width:100%}
.vs-read{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.vs-read .micro{color:rgba(255,255,255,.75)}
.vs-read b{font-size:56px;line-height:.9;font-weight:400;letter-spacing:-.04em;min-width:68px}
.vs-read span:last-child{font:300 semi-expanded 24px/1 var(--serif)}
#vsR{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
#vsR::-webkit-slider-runnable-track{height:2px;background:rgba(255,255,255,.45)}
#vsR::-moz-range-track{height:2px;background:rgba(255,255,255,.45)}
#vsR::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;margin-top:-12px;box-shadow:0 0 0 6px rgba(242,165,65,.45),0 6px 20px rgba(0,0,0,.25)}
#vsR::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 6px rgba(242,165,65,.45)}
.vs-ticks{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.7);margin-top:4px}

.next{padding:18vh var(--pad);min-height:60vh}
.next h2{font:300 semi-expanded clamp(40px,4.4vw,64px)/1 var(--serif);margin-top:18px;max-width:780px}

/* ---------- MOBILE ---------- */
@media (max-width:860px){
  :root{--hdr:58px}
  .nav,.talk{display:none}
  .hero{top:auto;bottom:84px;width:auto;right:0;left:0;padding:0 var(--pad)}
  .hero .eyebrow{display:none}
  .hero-h{font-size:clamp(40px,11.4vw,72px)}
  .hero-lead{font-size:15px;margin-top:12px;max-width:330px}
  .hero-pick{margin-top:18px;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1)}
  .hero-pick .micro{padding:0 var(--pad)}
  .hero .chips{flex-wrap:nowrap;overflow-x:auto;padding:2px var(--pad) 6px;scrollbar-width:none}
  .hero .chips::-webkit-scrollbar{display:none}
  .hero .chip{height:36px;padding:0 13px;font-size:13px;flex:none}
  .scrim{background:linear-gradient(180deg,rgba(40,26,20,.25),rgba(40,26,20,0) 14%,rgba(40,26,20,0) 38%,rgba(34,22,16,.62) 70%,rgba(30,20,14,.78))}
  .chip-sep{display:none}
  .hero-facts{gap:16px;font-size:11.5px;bottom:20px}
  .scroll-cue{display:none}
  .pick{left:0;right:0;top:auto;bottom:0;width:auto;height:var(--fy,48vh);padding:18px var(--pad) 18px;align-items:flex-start;overflow:auto;background:var(--stone);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px rgba(40,25,10,.12)}
  .pick .label,.pick-sub,.legend{display:none}
  .pick-h{font-size:32px;margin:0 0 12px}
  .fgroup{margin-bottom:10px}
  .result{margin-top:12px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
  .result-n b{font-size:40px}
  .result-sub{display:none}
  .result-act{margin-top:0}
  .card{left:12px!important;right:12px;width:auto;top:auto!important;bottom:12px;position:absolute}
  .light{height:440vh}
  .light-pin{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .light-copy{padding:calc(var(--hdr) + 8px) var(--pad) 10px;display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:end}
  .light-copy .label,.light-sub,.light-note{display:none}
  .light-h{font-size:40px;margin:0;grid-column:1/-1}
  .clock{margin-top:8px;width:auto}
  .arc{width:120px}
  .clock-t{font-size:46px}
  .clock-s{font-size:13px;min-height:0}
  .season{margin-top:10px;grid-column:1/-1}
  .sunstat{margin-top:8px;grid-column:1/-1;min-height:0}
  .sunstat b{font-size:18px}
  .view-h{font-size:46px}
  .vs-read b{font-size:44px}
}
@media (prefers-reduced-motion:reduce){.scroll-cue i::after{animation:none}}

/* ================= shared sections ================= */
.sec{padding:clamp(90px,14vh,160px) var(--pad)}
.sec-head{max-width:640px;margin-bottom:clamp(40px,6vh,72px)}
.h2{font:300 semi-expanded clamp(48px,5.6vw,92px)/.92 var(--serif);letter-spacing:-.02em;margin:18px 0 16px}
.h2 em{color:var(--clay)}
.sub{color:var(--ink-2);font-size:17px;max-width:470px}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#f6b45d}
.btn-light{background:#fff;color:var(--ink)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav a[aria-current="page"]{background:rgba(29,28,26,.07)}
.hdr.on-dark .nav a[aria-current="page"]{background:rgba(255,255,255,.18)}
.nav-m{display:none!important}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(127,127,127,.35);position:relative}
.menu-btn i{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.menu-btn i:first-child{top:18px}.menu-btn i:last-child{top:25px}
.menu-open .menu-btn i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .menu-btn i:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* ================= REAL PRICE ================= */
.price{background:var(--stone)}
.price-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.receipt{position:relative;background:var(--paper);border-radius:6px 6px 0 0;padding:30px 30px 46px;box-shadow:0 30px 60px -30px rgba(60,40,20,.25),0 0 0 1px rgba(29,28,26,.05)}
.rc-zig{position:absolute;left:0;right:0;bottom:-12px;height:12px;background:linear-gradient(-45deg,transparent 8px,var(--paper) 0) 0 0/16px 12px repeat-x,linear-gradient(45deg,transparent 8px,var(--paper) 0) 0 0/16px 12px repeat-x;filter:drop-shadow(0 4px 3px rgba(60,40,20,.06))}
.rc-top{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding-bottom:18px;border-bottom:1px dashed var(--line);margin-bottom:10px}
.rc-row{display:flex;align-items:baseline;gap:10px;padding:11px 8px;margin:0 -8px;border-radius:8px;transition:background .3s,opacity .3s}
.rc-row>i{flex:1;border-bottom:1px dotted rgba(29,28,26,.3);transform:translateY(-4px)}
.rc-row b{font-size:16px;font-weight:500;white-space:nowrap}
.rc-row b small{font-size:12px;color:var(--ink-3);font-weight:400}
.rc-row small{font:400 12px var(--mono);color:var(--ink-3);margin-left:6px}
.rc-row.hl{background:rgba(242,165,65,.16)}
.rc-opt{cursor:pointer}
.rc-opt input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--ink-3);flex:none;transform:translateY(3px);display:grid;place-items:center;transition:background .2s,border-color .2s}
.rc-opt input:checked{background:var(--ink);border-color:var(--ink)}
.rc-opt input:checked::after{content:"";width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.rc-opt.off b,.rc-opt.off span{opacity:.4;text-decoration:line-through}
.rc-total{margin-top:6px;border-top:1.5px solid var(--ink);border-radius:0;padding-top:16px}
.rc-total span{font:300 semi-expanded 26px/1 var(--serif)}
.rc-total b{font-size:26px}
.rc-note{font-size:13.5px;color:var(--ink-3);margin-top:4px}
.rc-sep{border-top:1px dashed var(--line);margin:22px 0 14px}
.rc-cap{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.rc-svc{display:block;padding:0;margin:0}
.rc-svc summary{display:flex;align-items:baseline;gap:10px;padding:11px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;list-style:none}
.rc-svc summary::-webkit-details-marker{display:none}
.rc-svc summary>i{flex:1;border-bottom:1px dotted rgba(29,28,26,.3);transform:translateY(-4px)}
.rc-svc summary span::after{content:" +";color:var(--clay);font-family:var(--mono)}
.rc-svc[open] summary span::after{content:" −"}
.rc-svc.hl summary{background:rgba(242,165,65,.16)}
.rc-svc ul{list-style:none;padding:6px 0 4px 16px;border-left:2px solid var(--sun);margin:4px 0 6px}
.rc-svc li{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2);padding:3px 0}
.doubts{display:flex;flex-direction:column;gap:14px;padding-top:6px}
.doubt{padding:20px 22px;border-radius:16px;background:rgba(255,255,255,.45);border:1px solid var(--line);transition:background .3s,transform .3s var(--ease)}
.doubt:hover{background:#fff;transform:translateX(4px)}
.dq{font:300 semi-expanded 24px/1.15 var(--serif);margin-bottom:6px}
.da{color:var(--ink-2);font-size:15px}
.doubts .btn{align-self:flex-start;margin-top:12px}

/* ================= PROMISED / ACTUAL ================= */
.pa{background:var(--stone-2)}
.pa-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.pa-photo{position:sticky;top:calc(var(--hdr) + 20px)}
.pa-imgs{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#d8cfbf}
.pa-imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.seg{display:inline-flex;padding:4px;border-radius:999px;border:1px solid var(--line);margin-top:14px;background:rgba(255,255,255,.4)}
.seg button{height:36px;padding:0 16px;border-radius:999px;font:500 13px/1 var(--mono);color:var(--ink-2);transition:background .3s,color .3s}
.seg button.on{background:var(--ink);color:#fff}
.pa-th{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:0 0 12px;border-bottom:1px solid var(--line)}
.pa-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pa-n{font-weight:500}
.pa-row .mono{font-size:14px}
.pa-pill{grid-column:1/-1;justify-self:start;font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:rgba(29,28,26,.06);color:var(--ink-3)}
.st-done .pa-pill,.st-early .pa-pill{background:rgba(70,140,90,.13);color:#2F6B45}
.st-late .pa-pill{background:rgba(200,85,61,.13);color:#9B3A24}
.st-now .pa-pill{background:rgba(242,165,65,.2);color:#8A520C}
.st-now .pa-pill::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sun);margin-right:7px;animation:pulse 2s infinite}
.pa-why{grid-column:1/-1;font-size:14px;color:var(--ink-2);padding:10px 14px;border-left:2px solid #C8553D;background:rgba(255,255,255,.4);border-radius:0 8px 8px 0;margin-top:6px}
.pa-more{display:inline-block;margin-top:22px}

/* ================= YOUR TUESDAY ================= */
.tue{position:relative;height:340vh;background:var(--stone)}
.tue-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(340px,38%) 1fr;overflow:hidden}
.tue-copy{padding:calc(var(--hdr) + 3vh) var(--pad) 30px;display:flex;flex-direction:column}
.tue-copy .h2{margin-bottom:10px}
.tue-list{list-style:none;margin-top:auto;border-top:1px solid var(--line)}
.tue-list li{display:grid;grid-template-columns:62px 1fr;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;opacity:.38;transition:opacity .4s}
.tue-list li.on,.tue-list li.done{opacity:1}
.tue-list li.done{opacity:.6}
.tue-list b{font-size:15px;font-weight:500;grid-row:1/3}
.tue-list li.on b{color:var(--clay)}
.tue-list span{font-weight:500}
.tue-list small{font-size:13px;color:var(--ink-3)}
.tue-map{position:relative;background:#E6DECF;overflow:hidden}
.tue-map svg{position:absolute;inset:0;width:100%;height:100%}
.tm-river{fill:#B8C9CF}
.tm-bridge{stroke:#E6DECF;stroke-width:1.2}
.tm-streets path{stroke:rgba(255,255,255,.75);stroke-width:.9;fill:none}
.tm-park{fill:#C9D3B4}
.tm-path{fill:none;stroke:var(--clay);stroke-width:.45;stroke-linecap:round;stroke-dasharray:1 1;opacity:0}
.tm-pt circle{fill:#fff;stroke:var(--ink-3);stroke-width:.35;transition:fill .3s}
.tm-pt text{font:500 2.2px var(--mono);fill:var(--ink-3);opacity:0;transition:opacity .3s}
.tm-pt.on circle{fill:var(--clay);stroke:#fff}
.tm-pt.cur circle{fill:var(--sun);r:2.2px}
.tm-pt.cur text,.tm-pt.on text{opacity:1}
.tm-home circle{fill:var(--ink);stroke:var(--sun);stroke-width:.8}
.tm-home text{font:600 2.2px var(--sans);letter-spacing:.3px;fill:var(--ink)}
.tue-ph{position:absolute;right:5%;bottom:7%;width:min(250px,30%);aspect-ratio:4/5;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(40,25,10,.4)}
.tue-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}

/* ================= TOGETHER ================= */
.together{position:relative;min-height:100vh;color:#fff;display:flex;align-items:center;overflow:hidden;background:#1E2433}
.tg-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.together::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,30,.72),rgba(16,20,30,.25) 55%,rgba(16,20,30,.05))}
.tg-in{position:relative;z-index:2;width:100%;padding:calc(var(--hdr) + 40px) var(--pad) 60px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.tg-copy .h2 em{color:#FFC872}
.tg-copy .sub{color:rgba(255,255,255,.86)}
.tg-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tg-chat{width:330px;flex:none;padding:16px;border-radius:24px;background:rgba(240,235,226,.94);color:var(--ink);box-shadow:0 40px 80px -20px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:8px}
.tg-chat-h{display:flex;align-items:center;gap:8px;font:500 12px/1 var(--mono);color:var(--ink-3);padding:4px 4px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.tg-chat-h i{width:22px;height:22px;border-radius:50%;background:var(--sun)}
.bub{max-width:86%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.35}
.bub.in{background:#fff;border-bottom-left-radius:4px;align-self:flex-start}
.bub.out{background:#D9F2C9;border-bottom-right-radius:4px;align-self:flex-end}

/* ================= FOOTER ================= */
.ftr{background:var(--ink);color:var(--stone);overflow:hidden}
.marquee{border-bottom:1px solid rgba(238,232,221,.14);padding:22px 0;overflow:hidden;white-space:nowrap}
.mq-in{display:inline-flex;gap:28px;font:300 semi-expanded clamp(28px,3.4vw,48px)/1 var(--serif);align-items:center}
.mq-in i{font-style:normal;color:var(--sun);font-size:.6em}
.mq-in em{color:#FFC872}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:64px var(--pad) 48px}
.ftr-h{font:300 semi-expanded clamp(30px,3vw,44px)/1.05 var(--serif);margin-bottom:22px;max-width:380px}
.ftr-h em{color:#FFC872}
.ftr .micro{color:rgba(238,232,221,.55);margin-bottom:12px}
.ftr p{line-height:1.7}
.ftr a:hover{color:#fff}
.ftr-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px var(--pad) 28px;border-top:1px solid rgba(238,232,221,.14);font:400 12px/1.4 var(--mono);color:rgba(238,232,221,.55)}

@media (max-width:860px){
  .menu-btn{display:block}
  .menu-open .nav{display:flex;position:fixed;inset:0;transform:none;left:0;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);background:var(--stone);color:var(--ink);z-index:-1}
  .menu-open .nav a{font:300 semi-expanded 40px/1.1 var(--serif);padding:8px 0}
  .menu-open .nav-m{display:flex!important}
  .menu-open .hdr{color:var(--ink)}
  .price-grid,.pa-grid{grid-template-columns:1fr}
  .receipt{padding:22px 18px 40px}
  .rc-top{flex-direction:column;gap:4px}
  .rc-total span,.rc-total b{font-size:21px}
  .pa-photo{position:relative;top:0}
  .tue{height:360vh}
  .tue-pin{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .tue-copy{padding:calc(var(--hdr) + 6px) var(--pad) 10px}
  .tue-copy .sub{display:none}
  .tue-copy .h2{font-size:40px;margin:8px 0 6px}
  .tue-list{margin-top:6px}
  .tue-list li{display:none}
  .tue-list li.on{display:grid;opacity:1}
  .tue-ph{width:120px;right:12px;bottom:12px}
  .tg-in{flex-direction:column;align-items:flex-start}
  .tg-chat{width:100%}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-big{grid-column:1/-1}
}

/* ================= INNER PAGES ================= */
body:not(.home) main{padding-top:var(--hdr)}
.page-apts main{padding-top:0}
.hrt{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.5);transition:transform .3s var(--ease),background .3s}
.hrt svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.hrt.on svg{fill:var(--sun);stroke:var(--sun)}
.hrt:hover{transform:scale(1.08);background:#fff}
.tgl{display:inline-flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;user-select:none}
.tgl input{position:absolute;opacity:0;pointer-events:none}
.tgl i{width:38px;height:22px;border-radius:999px;background:var(--sold);position:relative;transition:background .3s}
.tgl i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .3s var(--ease)}
.tgl input:checked+i{background:var(--ink)}
.tgl input:checked+i::after{transform:translateX(16px)}
.sel{display:inline-flex;align-items:center;gap:10px}
.sel select,.fld select{appearance:none;-webkit-appearance:none;height:40px;padding:0 36px 0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231D1C1A' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;font:500 14px var(--sans);color:var(--ink);cursor:pointer}
.sunb{display:grid;grid-template-columns:1fr;gap:3px;align-items:center;position:relative;padding-right:84px}
.sunb i{height:5px;border-radius:3px;background:linear-gradient(90deg,#FFD58A,var(--sun));width:var(--w);min-width:2px}
.sunb i.d{background:linear-gradient(90deg,#9DB4C4,#6F8FA6)}
.sunb em{position:absolute;right:0;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;color:var(--ink-2)}

/* apartments page */
.stage-page{height:100vh;height:100svh}
.list{padding-top:clamp(70px,10vh,120px)}
.list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:34px}
.list-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:var(--hdr);z-index:5;background:var(--stone)}
.lb-sep{width:1px;height:22px;background:var(--line);margin:0 4px}
.lb-r{display:flex;align-items:center;gap:20px}
.tbl .tr{display:grid;grid-template-columns:80px 1fr 90px 64px 80px minmax(190px,1.4fr) 120px 90px;gap:14px;align-items:center;padding:14px 10px;border-bottom:1px solid var(--line);border-radius:10px;transition:background .25s}
.tbl a.tr:hover{background:rgba(255,255,255,.55)}
.tr.th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:16px 10px 10px}
.t-code{font:300 semi-expanded 26px/1 var(--serif)}
.t-price{font-weight:500}
.t-act{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--ink-3)}
.tr.st-sold{opacity:.45}
.tr.st-reserved .t-price::after{content:" · reserved";font-size:11px;color:var(--clay)}
.list-empty{padding:40px 0;color:var(--ink-3)}

/* apartment page */
.ap-head{padding:28px var(--pad) 40px}
.crumbs{display:flex;gap:10px;font-size:12px;color:var(--ink-3);margin-bottom:22px}
.crumbs a:hover{color:var(--ink)}
.ap-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:30px}
.ap-code{font:300 semi-expanded clamp(90px,13vw,190px)/.8 var(--serif);letter-spacing:-.04em}
.ap-meta{font-size:19px;margin-top:14px;color:var(--ink-2)}
.ap-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag-s{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}
.ap-price{text-align:right}
.ap-p{font-size:clamp(34px,3.4vw,52px);font-weight:500;letter-spacing:-.03em;margin:6px 0 4px}
.ap-pm{font-size:14px;color:var(--ink-3)}
.ap-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.ap-gal{display:grid;grid-template-columns:1fr 150px;gap:12px}
.ap-main{border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--stone-2)}
.ap-main img{width:100%;height:100%;object-fit:cover}
.ap-thumbs{display:flex;flex-direction:column;gap:12px}
.ap-thumbs button{flex:1;border-radius:10px;overflow:hidden;opacity:.55;transition:opacity .3s;outline:2px solid transparent;outline-offset:2px}
.ap-thumbs button.on{opacity:1;outline-color:var(--ink)}
.ap-thumbs img{width:100%;height:100%;object-fit:cover}
.ap-galnote{grid-column:1/-1;font-size:11px;color:var(--ink-3)}
.ap-light{display:grid;grid-template-columns:minmax(320px,38%) 1fr;gap:40px;background:var(--stone-2)}
.apl-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 30px}
.apl-stats div{padding:16px;border-radius:14px;background:rgba(255,255,255,.45)}
.apl-stats b{display:block;font-size:22px;font-weight:500}
.apl-stats span{font-size:13px;color:var(--ink-3)}
.apl-ctrl .clock-t{margin:22px 0 4px}
.apl-ctrl input[type=range]{width:100%;accent-color:var(--sun)}
.apl-msg{margin-top:10px;color:var(--ink-2);min-height:24px}
.apl-plan{position:relative}
.plan-box svg{width:100%;height:auto;max-height:78vh}
.apl-note{text-align:center;margin-top:6px}
.ap-view{position:relative;height:80vh;min-height:520px;color:#fff;overflow:hidden}
.ap-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ap-view::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,30,.4),rgba(20,24,30,0) 40%,rgba(20,24,30,.45))}
.apv-ui{position:absolute;inset:0;z-index:2;padding:6vh var(--pad);display:flex;flex-direction:column;justify-content:space-between}
.apv-ui .h2 em{color:#FFE3B8}
.apv-noise{max-width:420px;font-size:15px;opacity:.92}
.sched{border-top:1px solid var(--line)}
.sch{display:grid;grid-template-columns:1fr 90px 110px 44px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.sch-n{display:flex;align-items:center;gap:10px;font-weight:500}
.sch-n i{font:500 11px/1 var(--mono);font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}
.sch.now .sch-n i{background:var(--sun);border-color:var(--sun)}
.sch b{text-align:right;font-weight:500}
.sch small{color:var(--ink-3);text-align:right}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.hc{display:block;padding:20px;border-radius:16px;background:rgba(255,255,255,.5);border:1px solid var(--line);transition:transform .35s var(--ease),background .3s}
.hc:hover{transform:translateY(-4px);background:#fff}
.hc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.hc-top b{font:300 semi-expanded 40px/1 var(--serif)}
.hc p{color:var(--ink-2);margin-bottom:12px;font-size:14px}
.hc-p{font-size:18px!important;font-weight:500;color:var(--ink)!important;margin:12px 0 0!important}
.ap-bar{display:none}

/* shortlist */
.sl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.sl-share{display:flex;gap:8px}
.since{padding:18px 22px;border-radius:16px;background:rgba(242,165,65,.14);border:1px solid rgba(242,165,65,.35);margin-bottom:26px}
.since ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:8px}
.since li{font-size:15px}
.since li b{font:300 semi-expanded 22px var(--serif);margin-right:4px}
.since li small{color:var(--ink-3);margin-left:6px}
.since li.up::before{content:"↓ ";color:#2F6B45}
.since li.down::before{content:"● ";color:#9B3A24}
.cmp{display:grid;border-top:1px solid var(--line)}
.cmp-row{display:grid;grid-template-columns:200px repeat(var(--n),1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.cmp-row>span{font-size:15px}
.cmp-row .best{font-weight:600}
.cmp-row .best::after{content:" ☀";color:var(--sun)}
.cmp-h{padding:20px 0}
.cmp-u{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cmp-u b{font:300 semi-expanded 52px/1 var(--serif)}
.cmp-u.st-sold b{text-decoration:line-through;opacity:.5}
.sl-demo{margin-top:16px;font-size:12px;color:var(--ink-3)}

/* count */
.cnt-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,560px);gap:clamp(30px,6vw,90px);align-items:start}
.fld{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.fld .micro{display:flex;justify-content:space-between}
.fld .micro b{color:var(--ink);font-size:13px}
.fld select{width:100%;border-radius:12px;height:48px}
.fld input[type=range]{accent-color:var(--ink);width:100%}
.mort{display:none;padding:18px;border-radius:16px;background:rgba(255,255,255,.4);border:1px solid var(--line)}
.mort.on{display:block}
.fine{font-size:12px;color:var(--ink-3)}
.svc{background:var(--stone-2)}
.svc-bars{max-width:860px}
.svb{display:grid;grid-template-columns:240px 1fr 70px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.svb i{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--sun),var(--clay));width:var(--w)}
.svb b{text-align:right;font-weight:500}

/* trust */
.tr-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:46px}
.tr-keys>div{padding:22px;border-radius:16px;background:rgba(255,255,255,.45);border:1px solid var(--line)}
.tk{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.03em;margin:8px 0 4px}
.tk-s{font-size:14px;color:var(--ink-3)}
.tr-table{max-width:900px}
.log{background:var(--stone-2)}
.log-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
.log-c img{border-radius:12px;aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:12px}
.log-c .mono{font-size:12px;color:var(--ink-3)}
.log-c h3{font:300 semi-expanded 24px/1.1 var(--serif);margin:4px 0 6px}
.log-c p:last-child{font-size:14px;color:var(--ink-2)}
.past{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pc img{border-radius:14px;aspect-ratio:4/5;object-fit:cover;width:100%}
.pc-b{padding-top:14px}
.pc h3{font:300 semi-expanded 26px/1.1 var(--serif)}
.pc .mono{font-size:12px;color:var(--ink-3);margin:6px 0 10px}
.pc-on .pa-pill{background:rgba(70,140,90,.13);color:#2F6B45}
.pc-late .pa-pill{background:rgba(200,85,61,.13);color:#9B3A24}
.docs{margin-top:56px;max-width:760px}
.docs .micro{margin-bottom:10px}
.doc{display:grid;grid-template-columns:1fr auto 30px;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.doc:hover{background:rgba(255,255,255,.5);padding-left:12px}
.doc .mono{font-size:12px;color:var(--ink-3)}
.doc i{font-style:normal;text-align:right}

/* bot */
.bot{display:grid;grid-template-columns:1fr 380px;gap:clamp(30px,6vw,100px);align-items:center;min-height:100vh}
.bot-feats{list-style:none;margin:30px 0;max-width:460px}
.bot-feats li{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.bot-feats b{font:300 semi-expanded 24px/1.1 var(--serif)}
.bot-feats span{color:var(--ink-2);font-size:15px}
.phone{width:360px;height:720px;border-radius:44px;background:#0F1012;padding:12px;box-shadow:0 50px 90px -30px rgba(30,20,10,.45);display:flex;flex-direction:column;justify-self:center}
.phone>*{background:#ECE5DA}
.ph-top{display:flex;align-items:center;gap:10px;padding:18px 16px 12px;border-radius:34px 34px 0 0;background:#F6F2EA;border-bottom:1px solid var(--line)}
.ph-av{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--sun) 38%,#FFE1AE 40%)}
.ph-top b{display:block;font-size:15px}
.ph-top small{font-size:12px;color:var(--ink-3)}
.ph-chat{flex:1;overflow:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none}
.ph-chat::-webkit-scrollbar{display:none}
.ch-wa .ph-chat{background:#ECE5DA}
.ch-ig .ph-chat,.ch-ig .ph-quick{background:#fff}
.ch-ig .bub.in{background:#EFEFEF}
.ch-ig .bub.out{background:linear-gradient(135deg,#7B5CF5,#C84FD0);color:#fff}
.ph-quick{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 18px;border-radius:0 0 34px 34px;min-height:64px;background:#ECE5DA}
.ph-quick button{height:34px;padding:0 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:500;color:#2F6B45}
.ch-ig .ph-quick button{color:#6B4CE0}
.bub.typing{display:flex;gap:4px;padding:13px 14px}
.bub.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:typ 1s infinite}
.bub.typing i:nth-child(2){animation-delay:.15s}.bub.typing i:nth-child(3){animation-delay:.3s}
@keyframes typ{50%{opacity:.25;transform:translateY(-2px)}}
.bub .sys{font:500 11px var(--mono);color:var(--ink-3)}
.bub-img{display:block;margin-top:8px;aspect-ratio:16/9;border-radius:10px;background:url(../img/p15-960.webp) center/cover}

/* 404 */
.nf{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--hdr) var(--pad)}
.nf-crane{width:200px;margin-bottom:20px}
.nf-crane path{fill:none;stroke:var(--ink);stroke-width:2}
.nf-crane rect{fill:var(--sun)}
.nf .sub{margin-bottom:26px}

@media (max-width:1100px){
  .tbl .tr{grid-template-columns:70px 1fr 80px 50px minmax(150px,1.2fr) 110px 70px}
  .tbl .tr>span:nth-child(5){display:none}
  .log-grid,.past{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .tbl .tr{grid-template-columns:62px 1fr auto;grid-template-areas:"c t p" "c s a";row-gap:6px}
  .tbl .tr.th{display:none}
  .tbl .tr>span:nth-child(3),.tbl .tr>span:nth-child(4),.tbl .tr>span:nth-child(5){display:none}
  .tbl .tr>.t-code{grid-area:c}.tbl .tr>span:nth-child(2){grid-area:t}.tbl .tr>.sunb{grid-area:s}.tbl .tr>.t-price{grid-area:p;text-align:right}.tbl .tr>.t-act{grid-area:a}
  .list-bar{position:relative;top:0}
  .lb-sep{display:none}
  .ap-price{text-align:left}
  .ap-btns{justify-content:flex-start}
  .ap-gal{grid-template-columns:1fr}
  .ap-thumbs{flex-direction:row;height:70px}
  .ap-light{grid-template-columns:1fr}
  .sch{grid-template-columns:1fr 90px 44px}
  .sch>.mono:nth-child(2){display:none}
  .cards{grid-template-columns:1fr}
  .ap-bar{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:40;justify-content:space-between;align-items:center;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(250,247,241,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(40,25,10,.2)}
  .ap-bar b{font-size:17px}
  .ap-bar small{font-size:12px;color:var(--ink-3)}
  .cmp{overflow-x:auto}
  .cmp-row{grid-template-columns:120px repeat(var(--n),minmax(130px,1fr))}
  .cmp-u b{font-size:36px}
  .cnt-grid{grid-template-columns:1fr}
  .svb{grid-template-columns:1fr 60px;row-gap:6px}
  .svb i{grid-column:1/-1;grid-row:2}
  .tr-keys{grid-template-columns:1fr}
  .log-grid,.past{grid-template-columns:1fr}
  .bot{grid-template-columns:1fr}
  .phone{width:100%;max-width:360px;height:640px}
}

/* v2: one calm display face, no accent words */
h1,h2,.ap-code,.card-code,.t-code,.hc-top b,.cmp-u b,.since li b,.dq,.pc h3,.log-c h3,.bot-feats b,.tk{letter-spacing:-.035em}
.hero-h,.h2,.pick-h,.light-h,.view-h,.ap-code{letter-spacing:-.045em}
em,.hero-h em,.h2 em,.pick-h em,.light-h em,.view-h em,.ftr-h em,.tg-copy .h2 em,.apv-ui .h2 em{font-style:normal;color:inherit;text-shadow:none}
.hero-h{font-weight:250;font-size:clamp(56px,7.4vw,124px);line-height:.92}
.hero{width:min(820px,62vw)}
@media (min-width:861px){.hero-h .ln{white-space:nowrap}}
.logo{font:500 semi-expanded 15px/1 var(--serif);letter-spacing:.32em}
.logo b{font-weight:500;color:var(--sun)}
.result-n span,.rc-total span{letter-spacing:-.02em}
.light-note{font-style:normal}
@media (max-width:860px){.hero-h{font-size:clamp(40px,11.4vw,72px)}.hero{width:auto}}

/* ===== mobile pass 2 ===== */
@media (max-width:860px){
  .hero .chips{flex-wrap:wrap;overflow:visible;padding:0 var(--pad);gap:6px}
  .hero .chip{height:34px;padding:0 12px;font-size:13px}
  .hero-pick{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1)}
  .hero-lead{display:none}
  .pick{padding:16px var(--pad) calc(16px + env(safe-area-inset-bottom,0px))}
  .pick-h{font-size:26px;margin:0 0 10px}
  .pick .chips-sm .chip{height:34px;padding:0 12px;font-size:13px}
  .fgroup .micro{margin-bottom:6px}
  .light-copy{padding-bottom:6px}
  .light-copy .clock{margin-top:4px}
  .arc{width:96px}
  .clock-t{font-size:40px}
  .season button{height:32px;padding:0 12px;font-size:12.5px}
  .sunstat{margin-top:6px}
  .sunstat b{font-size:16px}
  .sunstat span{font-size:12px}
  .plan{padding:10px 12px}
  .plan svg{max-height:100%}
  .tag span{font-size:12px;padding:7px 10px}
  .tue-copy .h2{font-size:34px}
  .tue-ph{width:110px}
  .tg-chat{max-width:360px}
  .card{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .ap-bar{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .ap-code{font-size:84px}
  .ap-p{font-size:34px}
  .list-bar .chips{flex-wrap:wrap}
  .lb-r{width:100%;justify-content:space-between}
  .sl-share{width:100%}
  .sl-share .btn{flex:1}
  .doubt{padding:16px}
  .dq{font-size:20px}
  .h2{font-size:clamp(36px,10vw,52px)}
  .phone{height:600px}
}
@media (max-width:380px){
  .hero-h{font-size:40px}
  .rc-row b{font-size:14px}
  .rc-total span,.rc-total b{font-size:18px}
}

@media (max-width:860px){
  .tbl .sunb{padding-right:0;gap:4px}
  .tbl .sunb em{position:static;transform:none;margin-top:2px}
  .tr.st-reserved .t-price::after{display:block;font-size:10.5px}
}
.tag.left span{left:auto;right:16px}
.tue-ph{transition:opacity .4s,transform .4s var(--ease)}
.tue-ph.empty{opacity:0;transform:translateY(10px)}
@media (max-width:860px) and (max-height:740px){.pick-h{display:none}.pick .fgroup{margin-bottom:8px}}
