/* ============================================================
   SERGIO REAL ESTATE — REDESIGN 2026 · "DRITARJA" (The Lit Window)
   Gallery-white · machined type · amber as the only light
   Loads AFTER main.css and overrides it. Fonts:
   Clash Display (display) · Switzer (UI/body) · Instrument Serif (italic voice)
   ============================================================ */

/* ---------- 1. Token override — white / ink / amber ---------- */
:root{
  --paper:#ffffff;
  --paper-2:#f6f6f4;
  --card:#ffffff;
  --mist:#f1f1ee;
  --ink:#1c1d1b;
  --ink-2:#4c4d49;
  --ink-3:#77786f;
  --line:rgba(28,29,27,.14);
  --line-soft:rgba(28,29,27,.07);
  /* the old "blue" family becomes ink — one-color discipline */
  --blue:#1c1d1b;
  --blue-ink:#000000;
  --blue-soft:rgba(233,162,59,.10);
  --amber:#e9a23b;
  --amber-text:#9c6311;          /* AA-safe amber for text on white */
  --amber-glow:rgba(233,162,59,.55);
  --amber-soft:rgba(233,162,59,.14);
  --win-off:#55564f;
  --shadow:0 24px 70px -28px rgba(20,20,16,.25);
  --shadow-sm:0 10px 30px -16px rgba(20,20,16,.18);
  --font-display:"Clash Display","Fraunces",Georgia,serif;
  --font-ui:"Switzer","Manrope","Segoe UI",system-ui,sans-serif;
  --font-accent:"Instrument Serif",Georgia,serif;
  --grain-o:.028;
  --sky-a:#ffffff;
  --sky-b:#f0f0ec;
}
[data-theme="dusk"]{
  --paper:#121311;
  --paper-2:#0c0d0b;
  --card:#191a17;
  --mist:#20211d;
  --ink:#ecece8;
  --ink-2:#b2b3ac;
  --ink-3:#8d8e85;
  --line:rgba(236,236,232,.15);
  --line-soft:rgba(236,236,232,.07);
  --blue:#ecece8;
  --blue-ink:#ffffff;
  --blue-soft:rgba(242,180,92,.10);
  --amber:#f2b45c;
  --amber-text:#f2b45c;
  --amber-glow:rgba(242,180,92,.6);
  --amber-soft:rgba(242,180,92,.13);
  --win-off:#2c2d28;
  --shadow:0 24px 70px -24px rgba(0,0,0,.7);
  --shadow-sm:0 10px 30px -14px rgba(0,0,0,.6);
  --grain-o:.05;
  --sky-a:#16171a;
  --sky-b:#0c0d0b;
}

/* selection = the lit window */
::selection{background:var(--amber);color:#1c1d1b}
:focus-visible{outline:2px solid var(--amber-text);outline-offset:3px}

/* ---------- 2. Base: kill the blueprint backdrop, keep whisper grain ---------- */
body::before{background:none;background-color:var(--paper)}
[data-theme="dusk"] body::before{background-image:none}
body{font-weight:450;line-height:1.65}

/* faint architectural grid — barely-there vertical rhythm */
main{position:relative}
body[data-page="home"] main::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(to right,var(--line-soft) 1px,transparent 1px);
  background-size:calc(100%/6) 100%;
  mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);
  opacity:.5;
}

/* ---------- 3. Typography — the new voices ---------- */
h1,h2,h3,.serif{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;line-height:1.02}
.display{font-size:clamp(2.6rem,6vw,4.8rem);text-transform:none}
.lead{font-size:1.05rem;font-weight:450;color:var(--ink-2)}
.serif-i,.gate-tag,.compass-q,.zone-tag,.nb-quote,.fc-tag,.price-cta,.vnum,.fc-idx,
.quote-band blockquote,.brand i,.gate-brand i,.loader i{
  font-family:var(--font-accent) !important;font-style:italic;font-weight:400;letter-spacing:0;
}
.kicker{color:var(--amber-text);letter-spacing:.3em;font-size:.66rem}
.kicker::before{background:var(--amber);width:34px;height:2px}
.kicker .num{color:var(--ink-3)}
.accent{color:var(--amber-text)}
.amber-t{color:var(--amber-text)}
em,i{font-family:inherit} /* keep functional italics sane */
h1 em,h2 em,h3 em,.display em{
  font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--amber-text);letter-spacing:0;
}
[data-theme="dusk"] h1 em,[data-theme="dusk"] h2 em,[data-theme="dusk"] h3 em{color:var(--amber)}

/* dimension rule → amber caps ticks */
.dim-rule{background:var(--line)}
.dim-rule::before,.dim-rule::after{background:var(--amber)}

/* ---------- 4. Header — floating glass pill ---------- */
.top{transition:transform .5s var(--ease),background-color .4s var(--ease),border-color .4s,box-shadow .4s}
.top.hide{transform:translateY(-110%)}
.top.solid{
  background:color-mix(in srgb,var(--paper) 78%,transparent);
  backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 1px 0 var(--line-soft),0 14px 40px -22px rgba(20,20,16,.16);
}
.brand b{font-family:var(--font-display);font-weight:600;letter-spacing:.22em;font-size:1.06rem}
.nav a{font-weight:500;letter-spacing:.02em;font-size:.88rem}
.nav a::after{background:var(--amber);height:2px}
.nav a[aria-current="page"]::after{background:var(--amber)}
.lang-cur{border-radius:999px}
.icon-btn:hover{border-color:var(--amber);color:var(--ink);box-shadow:0 0 0 1px var(--amber-soft),0 6px 20px -8px var(--amber-glow)}
.fav-count{background:var(--amber);color:#1c1d1b}

/* ---------- 5. Buttons — ink blocks that light up ---------- */
.btn{
  --tick:var(--amber);
  border:1px solid var(--ink);border-radius:0;
  font-weight:600;letter-spacing:.18em;font-size:.76rem;
  overflow:hidden;isolation:isolate;
}
.btn::before,.btn::after{border-color:var(--amber)}
.btn:hover{background:var(--ink);color:var(--paper);box-shadow:0 10px 34px -12px var(--amber-glow)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:#000;border-color:#000}
[data-theme="dusk"] .btn-solid{background:var(--amber);border-color:var(--amber);color:#1c1d1b}
[data-theme="dusk"] .btn-solid:hover{background:#f8c67e;border-color:#f8c67e;color:#1c1d1b}
.btn-blue{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-blue:hover{background:#000;border-color:#000;box-shadow:0 10px 34px -12px var(--amber-glow)}
[data-theme="dusk"] .btn-blue{background:var(--amber);border-color:var(--amber);color:#1c1d1b}
.link-arrow{color:var(--amber-text)}
.link-arrow:hover svg{transform:translateX(7px)}

/* ---------- 6. The Gate (home hero) — white gallery, lit tower ---------- */
.gate{background:var(--paper)}
.gate-act{
  border:1px solid var(--line);background:var(--card);
  box-shadow:0 1px 0 var(--line-soft);
  overflow:hidden;
}
.gate-act::before{
  content:"";position:absolute;inset:auto 0 0 0;height:0;
  background:linear-gradient(180deg,transparent,var(--amber-soft));
  transition:height .45s var(--ease);z-index:-1;
}
.gate-act:hover::before{height:100%}
.gate-act:hover{border-color:var(--amber);box-shadow:0 18px 50px -20px var(--amber-glow);transform:translateY(-4px)}
.gate-act b{font-weight:600;letter-spacing:-.01em}
.gate-act:hover b{color:var(--ink)}
.gate-act em{color:var(--amber)}
.gate-act::after{background:var(--line)}
.gate-act:hover::after{background:var(--amber)}
.ga-idx{color:var(--amber-text)}

/* mini logos for the four doors — clay miniatures (Nano Banana set, Sergio's pick):
   charcoal clay siblings of the tower logo, one glowing amber light each.
   Index number left, clay figure right; mirrored on the own column. */
.ga-top{
  display:flex;flex-direction:row-reverse; /* DOM: ico, idx → visual: idx left, ico right */
  align-items:flex-start;justify-content:space-between;gap:1rem;
  width:100%;margin-bottom:.6rem;
}
.gate-col--own .ga-top{flex-direction:row}
.ga-top .ga-idx{margin-bottom:0;padding-top:.5rem}
.ga-ico{height:76px;flex:none;transition:transform .35s var(--ease),filter .35s}
.ga-ico img{
  height:100%;width:auto;display:block;
  filter:drop-shadow(0 8px 14px rgba(20,20,16,.16));
  transition:filter .35s var(--ease),transform .35s var(--ease);
}
.gate-act:hover .ga-ico{transform:translateY(-4px)}
.gate-act:hover .ga-ico img{
  filter:drop-shadow(0 12px 18px rgba(20,20,16,.18)) drop-shadow(0 0 16px rgba(233,162,59,.5));
  transform:scale(1.04);
}
/* dusk: lighten the charcoal clay so it separates from the dark card */
[data-theme="dusk"] .ga-ico img{
  filter:brightness(1.5) contrast(.95) drop-shadow(0 8px 14px rgba(0,0,0,.5));
}
[data-theme="dusk"] .gate-act:hover .ga-ico img{
  filter:brightness(1.55) contrast(.95) drop-shadow(0 10px 16px rgba(0,0,0,.55)) drop-shadow(0 0 18px var(--amber-glow));
}
@media (max-width:900px){
  .ga-top{margin-bottom:.45rem}
  .gate-col--own .ga-top{flex-direction:row-reverse}
  .ga-ico{height:58px}
}
.gate-brand b{letter-spacing:.3em;font-weight:600}
.gate-tag{font-size:clamp(1.25rem,2vw,1.6rem);color:var(--ink-2)}
.gm-ring{stroke:var(--amber);opacity:0}
.gm-arch{fill:var(--amber)}
.gate:has(.gate-act:hover) .gm-w{fill:var(--amber)}

/* ---------- 7. Search panel — floating slab ---------- */
.search-panel{
  background:var(--card);border:1px solid var(--line);
  box-shadow:0 30px 80px -30px rgba(20,20,16,.28);
}
.search-panel .corner{border-color:var(--amber);width:14px;height:14px}
.seg{border-radius:999px;background:var(--paper-2);border-color:var(--line)}
.seg button{border-radius:999px;font-weight:600}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
[data-theme="dusk"] .seg button[aria-pressed="true"]{background:var(--amber);color:#1c1d1b}
.field select:focus,.field input:focus,.field textarea:focus{border-bottom-color:var(--amber)}
.chip:hover{border-color:var(--amber);color:var(--amber-text);transform:translateY(-2px);background:var(--amber-soft)}
.chip svg{stroke:var(--amber)}

/* ---------- 8. Property cards — white frames, amber light ---------- */
.pcard{
  border:1px solid var(--line);
  transform:perspective(900px) rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg)) translateY(0);
  transition:transform .35s var(--ease),box-shadow .45s var(--ease),border-color .45s;
  will-change:transform;
}
.pcard:hover{
  transform:perspective(900px) rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg)) translateY(-6px);
  border-color:var(--amber);
  box-shadow:0 30px 70px -28px rgba(20,20,16,.3),0 0 0 1px var(--amber-soft);
}
.pcard .frame::after{border-color:var(--amber)}
.badge-deal{background:var(--ink);color:var(--paper);font-weight:600;letter-spacing:.22em}
.badge-deal.rent{background:var(--amber);color:#1c1d1b}
.badge-new{background:var(--amber);color:#1c1d1b}
.pcard-loc::before{background:var(--amber)}
.pcard-loc .ptype{color:var(--amber-text)}
.pcard h3{font-weight:600;letter-spacing:-.01em}
.price{font-weight:600}
.price::after{background:var(--amber);height:3px}
.price.por{color:var(--amber-text);font-family:var(--font-accent);font-style:italic}
.score-pill .ring .fg{stroke:var(--amber)}
.pcard-cmp:hover,.pcard-cmp.on{color:var(--amber-text)}
.pcard-fav.on svg{fill:var(--amber);stroke:var(--amber)}

/* ---------- 9. Category tickets / zones / stats ---------- */
.cat:hover{border-color:var(--amber)}
.cat:hover .cat-go{background:var(--amber);border-color:var(--amber);color:#1c1d1b}
.cat::after{background:var(--amber)}
.zone-growth{color:var(--amber-text)}
.zbar .track i{background:var(--amber)}
.zone-card:hover{border-color:var(--amber)}
.zone-card .zgo{stroke:var(--amber-text)}
.stat b i{color:var(--amber-text)}
.bstat b i{color:var(--amber-text)}
.results-bar .count b{color:var(--amber-text)}
.tchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
[data-theme="dusk"] .tchip[aria-pressed="true"]{background:var(--amber);color:#1c1d1b}
.range-track input[type="range"]::-webkit-slider-thumb{border-color:var(--amber)}
.range-track input[type="range"]::-moz-range-thumb{border-color:var(--amber)}
.range-rail i{background:var(--amber)}
.reset-link:hover{color:var(--amber-text)}
.fav-toggle[aria-pressed="true"]{background:var(--amber-soft);border-color:var(--amber)}

/* trust strip */
.trust svg{stroke:var(--amber-text)}
.signature{background:var(--paper-2)}

/* ---------- 10. Marquee band ---------- */
.marquee{
  overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);
  padding-block:1.15rem;background:var(--paper);position:relative;
}
.marquee-in{display:inline-flex;align-items:baseline;gap:2.8rem;will-change:transform}
.marquee-in span{
  font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,2.2vw,1.7rem);
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink);flex:none;padding-right:2.8rem;
}
.marquee-in span i{font-family:var(--font-accent);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--amber-text)}
.marquee-in span::after{content:"✦";color:var(--amber);margin-left:2.8rem;font-size:.8em}

/* ---------- 11. Stats band (home) ---------- */
.stats-band{border-block:1px solid var(--line);padding-block:0}
.stats-band .stats{border:0;background:transparent;gap:0}
.stats-band .stat{border-left:1px solid var(--line);padding:3rem 2rem;background:transparent}
.stats-band .stat:first-child{border-left:0}
.stats-band .stat b{font-size:clamp(2.6rem,5vw,4rem);font-weight:600;letter-spacing:-.02em}
.stats-band .stat b span{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
@media(max-width:760px){
  .stats-band .stat{border-left:0;border-top:1px solid var(--line);padding:1.6rem 1.2rem}
  .stats-band .stat:first-child{border-top:0}
}

/* ---------- 12. CTA / quote bands — the dark rooms with lit windows ---------- */
.quote-band,.cta-band.dark{background:#141512;color:#f4f3ef}
.quote-band blockquote em{color:var(--amber)}
.cta-band{position:relative;overflow:hidden}
.cta-band .display{font-weight:600}

/* ---------- 13. Footer — giant wordmark ---------- */
footer{background:var(--paper-2);position:relative;overflow:hidden}
.foot-mark{
  display:block;width:100%;text-align:center;pointer-events:none;user-select:none;
  font-family:var(--font-display);font-weight:600;letter-spacing:.06em;
  font-size:clamp(4rem,14.5vw,15rem);line-height:.85;margin-top:3rem;margin-bottom:-.12em;
  color:transparent;-webkit-text-stroke:1px var(--line);
  transition:color .8s var(--ease);
}
footer:hover .foot-mark{color:var(--line-soft)}
.foot-mark b{color:var(--amber);-webkit-text-stroke:0;font-weight:600}
.foot-col a:hover{color:var(--amber-text)}
.foot-langs button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
[data-theme="dusk"] .foot-langs button[aria-pressed="true"]{background:var(--amber);color:#1c1d1b}
.foot-bottom .made i{background:var(--amber);box-shadow:0 0 8px var(--amber-glow);animation:madePulse 3s ease-in-out infinite}
@keyframes madePulse{50%{box-shadow:0 0 14px var(--amber-glow)}}

/* ---------- 14. Loader — white curtain, counting light ---------- */
.loader{
  background:#ffffff;
  transition:clip-path .8s cubic-bezier(.76,0,.24,1),visibility .8s;
  clip-path:inset(0 0 0 0);
}
.loader.done{opacity:1;clip-path:inset(0 0 100% 0);visibility:hidden}
.loader b{font-family:var(--font-display);letter-spacing:.3em;color:#1c1d1b}
.loader i{color:#77786f}
.ldr-bar{background:rgba(28,29,27,.1)}
.ldr-bar i{background:#e9a23b}
[data-theme="dusk"] .loader{background:#121311}
[data-theme="dusk"] .loader b{color:#ecece8}

/* ---------- 15. Custom cursor ---------- */
@media (pointer:fine){
  html.has-cursor body{cursor:none}
  html.has-cursor a,html.has-cursor button,html.has-cursor label{cursor:none}
  html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:auto}
}
.cur-dot,.cur-ring{
  position:fixed;top:0;left:0;z-index:900;pointer-events:none;
  border-radius:50%;
}
.cur-dot{
  width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:var(--amber);
  box-shadow:0 0 10px var(--amber-glow);
}
.cur-ring{
  width:38px;height:38px;margin:-19px 0 0 -19px;
  border:1.5px solid color-mix(in srgb,var(--ink) 40%,transparent);
  display:grid;place-items:center;
  transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),
             background-color .3s,border-color .3s;
}
.cur-ring span{
  font-family:var(--font-ui);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#1c1d1b;opacity:0;transition:opacity .2s;white-space:nowrap;
}
.cur-ring.is-link{width:52px;height:52px;margin:-26px 0 0 -26px;border-color:var(--amber)}
.cur-ring.is-label{
  width:74px;height:74px;margin:-37px 0 0 -37px;
  background:color-mix(in srgb,var(--amber) 92%,#fff);border-color:transparent;
}
.cur-ring.is-label span{opacity:1}
.cur-ring.is-down{transform:scale(.85)}

/* ---------- 16. Page veil (transitions) ---------- */
.page-veil{
  position:fixed;inset:0;z-index:700;background:var(--ink);pointer-events:none;
  clip-path:inset(0 0 100% 0);transition:clip-path .55s cubic-bezier(.76,0,.24,1);
}
[data-theme="dusk"] .page-veil{background:#000}
.page-veil.drop{clip-path:inset(0 0 0 0);pointer-events:auto}
.page-veil::after{
  content:"";position:absolute;left:50%;top:50%;width:8px;height:11px;transform:translate(-50%,-50%);
  background:var(--amber);border-radius:2px 2px 0 0;box-shadow:0 0 24px 4px var(--amber-glow);
  opacity:0;transition:opacity .25s .2s;
}
.page-veil.drop::after{opacity:1}

/* ---------- 17. Split-text plumbing ---------- */
[data-wow="split"] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
[data-wow="split"] .wi{display:inline-block;will-change:transform}

/* ---------- 18. Frames get curtains (initial state set by JS) ---------- */
.pcard .frame,.det-art,.cat .cat-art{will-change:clip-path}

/* ---------- 19. Details page ---------- */
.det-aside{box-shadow:var(--shadow-sm)}
.det-price{font-weight:600}
.why-box::before{background:var(--amber)}
.why-head .ai-mark{color:var(--amber-text);border-color:var(--amber-text)}
.why-head .ai-mark svg{fill:var(--amber-text)}
.why-box li::before{color:var(--amber)}
.featlist svg{stroke:var(--amber-text)}
.ai-trans svg{fill:var(--amber-text)}
.gauge.on .floors i.f-on{background:var(--ink)}
[data-theme="dusk"] .gauge.on .floors i.f-on{background:var(--amber);opacity:.5}
.gauge.on .floors i.f-top{background:var(--amber)}
.det-bar .p{color:var(--amber-text)}
.det-nav a:hover b{color:var(--amber-text)}
.spark polyline{stroke:var(--amber-text)}
.spark .area{fill:var(--amber-soft)}
.delta-up{color:var(--amber-text)}
.imeta b em{color:var(--amber-text)}
.bigchart .zline{stroke:currentColor}
.lg-chip[aria-pressed="true"]{border-color:var(--c)}
.calc-out .res b{color:var(--amber-text)}

/* booking */
.bk-day:not(:disabled):hover{border-color:var(--amber)}
.bk-day.in-range{background:var(--amber-soft);color:var(--ink)}
.bk-day.start,.bk-day.end{background:var(--ink);color:var(--paper);border-color:var(--ink)}
[data-theme="dusk"] .bk-day.start,[data-theme="dusk"] .bk-day.end{background:var(--amber);color:#1c1d1b}
.bk-legend .lg-sel{background:var(--ink)}
[data-theme="dusk"] .bk-legend .lg-sel{background:var(--amber)}
.bk-nav:hover:not(:disabled){border-color:var(--amber);color:var(--amber-text)}
.bk-total b{color:var(--amber-text)}

/* forms / misc accents that were blue */
.lang-menu button[aria-pressed="true"]{color:var(--amber-text)}
.lang-menu button:hover{background:var(--amber-soft)}
.drawer nav a[aria-current="page"]{color:var(--amber-text)}
.tabbar a[aria-current="page"]{color:var(--amber-text)}
.form-ok{border-color:var(--amber);background:var(--amber-soft)}
.form-ok svg{stroke:var(--amber-text)}
.cinfo .ci a:hover{color:var(--amber-text)}
.value:hover{border-color:var(--amber)}
.tl-row .yr{color:var(--amber-text)}
.proc:hover .pn{color:var(--amber)}
.folio-card:hover{border-color:var(--amber)}
.folio-card::after{background:var(--amber)}
.fc-foot b{color:var(--amber-text)}
.folio-card:hover .fc-foot em{color:var(--amber-text)}
.lead-row:hover{background:var(--amber-soft)}
.lead-row .lsc{color:var(--amber-text)}
.lead-row .lsc i::after{background:var(--amber)}
.vres-in{border-color:var(--amber)}
.vres-in::before{background:var(--amber)}
.vres-ppm2{color:var(--amber-text)}
.vt-head em{color:var(--amber-text)}
.vf-comps{color:var(--amber-text)}
.vf-comps:hover{border-bottom-color:var(--amber-text)}
.vx:has(input:checked){border-color:var(--amber);background:var(--amber-soft)}
.vx input{accent-color:var(--amber-text)}
.cmp-table td.best{color:var(--amber-text)}
.cmp-table .vbar i{background:var(--amber)}
.cmp-tray .go{background:var(--amber);color:#1c1d1b}
.overlay{background:color-mix(in srgb,var(--paper) 96%,transparent)}
.sort-box select{border-radius:0}
.empty svg{opacity:.4}
.empty .empty-clay{
  width:min(210px,52vw);height:auto;opacity:1;
  filter:drop-shadow(0 12px 20px rgba(20,20,16,.14));
  margin-bottom:.4rem;
}
[data-theme="dusk"] .empty .empty-clay{filter:brightness(1.4) drop-shadow(0 12px 20px rgba(0,0,0,.5))}
.rail{box-shadow:var(--shadow-sm)}
.rail-toggle b{color:var(--amber-text)}
.score-pill .ring .fg{stroke:var(--amber)}
.hero h1 em{color:var(--amber-text)}
.det-thumbs button[aria-pressed="true"]{border-color:var(--amber);box-shadow:0 0 0 1.5px var(--amber)}

/* ---------- 20. Motion politeness ---------- */
@media (prefers-reduced-motion:reduce){
  .cur-dot,.cur-ring,.page-veil{display:none !important}
  html.has-cursor body,html.has-cursor a,html.has-cursor button{cursor:auto}
  .marquee-in{transform:none !important}
}
@media (max-width:760px){
  .cur-dot,.cur-ring{display:none}
  .foot-mark{font-size:clamp(3rem,16vw,6rem)}
  .display{font-size:clamp(2.1rem,8.5vw,3rem)}
}
