/* URSY.AD — header, hero, room index, footer, sticky action bar. */
.ursy-top{ position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:14px;
  height:var(--header-h); padding:0 clamp(14px,4vw,44px); background:var(--glass);
  box-shadow:inset 0 -1px 0 var(--line);
  backdrop-filter:blur(26px) saturate(150%); -webkit-backdrop-filter:blur(26px) saturate(150%); }
.ursy-mark{ font-size:17.5px; font-weight:700; letter-spacing:-.025em; white-space:nowrap; color:var(--ink); flex:none; }
.ursy-mark span{ color:var(--ink3); font-weight:600; }
.ursy-nav{ display:flex; align-items:center; gap:2px; margin-inline:auto; padding:4px; border-radius:999px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line), inset 0 1px 0 var(--topline); }
.ursy-nav a{ display:flex; align-items:center; height:34px; padding:0 13px; border-radius:999px;
  font-size:13px; font-weight:500; color:var(--ink2); white-space:nowrap;
  transition:background .14s ease, color .14s ease; }
.ursy-nav a:hover{ background:var(--hover); color:var(--ink); text-decoration:none; }
.ursy-nav a[aria-current="page"]{ background:var(--neon-soft); color:var(--neon); }
.ursy-top__spacer{ flex:1; }
.ursy-pal{ display:flex; align-items:center; gap:8px; height:38px; padding:0 12px; border-radius:10px;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; color:var(--ink2); flex:none;
  transition:background .15s ease, color .15s ease; }
.ursy-pal:hover{ background:var(--hover); color:var(--ink); }
.ursy-pal i{ display:block; width:11px; height:11px; border-radius:50%;
  background:conic-gradient(var(--o1), var(--o2), var(--o3), var(--o4), var(--o1)); }
.ursy-burger{ display:none; }
/* theme-toggle glyphs are CSS-driven so they are correct before JS runs */
.ursy-moon{ display:none; }
[data-theme="dark"] .ursy-sun{ display:none; }
[data-theme="dark"] .ursy-moon{ display:block; }
/* mobile sheet */
.ursy-sheet{ position:fixed; inset:0; z-index:60; }
.ursy-sheet[hidden]{ display:none; }
.ursy-sheet__scrim{ position:absolute; inset:0; width:100%; background:rgba(6,7,9,.46);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ursy-sheet__panel{ position:absolute; inset:0 auto 0 0; width:min(320px,88vw); display:flex;
  flex-direction:column; background:var(--sheet); box-shadow:var(--lift);
  backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%); }
.ursy-sheet__bar{ display:flex; align-items:center; gap:10px; height:64px; padding:0 14px; box-shadow:inset 0 -1px 0 var(--line); }
.ursy-sheet__links{ flex:1; display:grid; gap:2px; align-content:start; padding:12px; }
.ursy-sheet__links a,.ursy-sheet__links button{ display:flex; align-items:center; height:48px; padding:0 14px;
  border-radius:12px; font-size:15px; font-weight:500; color:var(--ink); text-align:start; }
.ursy-sheet__links a:hover,.ursy-sheet__links button:hover{ background:var(--hover); text-decoration:none; }
.ursy-sheet__foot{ flex:none; display:grid; gap:8px; box-shadow:inset 0 1px 0 var(--line);
  padding:12px 12px calc(14px + env(safe-area-inset-bottom)); }
.ursy-sheet__foot .u-btn{ height:48px; }
/* hero */
.ursy-hero{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:clamp(52px,9vh,104px) 26px 58px; }
.ursy-hero__chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ursy-hero h1{ margin-top:26px; max-width:19ch; }
.ursy-hero h1 em{ font-style:normal; color:var(--neon); }
.ursy-hero__lead{ margin-top:26px; }
.ursy-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:10px;
  width:min(940px,100%); margin-top:32px; }
.ursy-stat{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:13px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); text-align:start; }
.ursy-stat b{ font-family:var(--font-mono); font-size:22px; font-weight:700; letter-spacing:-.02em;
  color:var(--ink); flex:none; font-variant-numeric:tabular-nums; }
.ursy-stat span{ display:grid; gap:2px; min-width:0; }
.ursy-stat strong{ font-size:13px; font-weight:600; letter-spacing:-.01em; }
.ursy-stat small{ font-size:11.5px; color:var(--ink3); }
.ursy-cta{ display:flex; align-items:center; gap:12px; margin-top:32px; }
.ursy-cta__col{ display:grid; gap:7px; justify-items:center; }
.ursy-cta__note{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; color:var(--ink3); }
.ursy-hero__trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; margin-top:34px;
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em; color:var(--ink3); }
/* room index */
.ursy-rooms{ display:grid; gap:14px; width:min(1060px,100%); margin-top:54px; text-align:start; }
.ursy-rooms__head{ display:flex; align-items:center; gap:12px; }
.ursy-rooms__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ursy-room{ display:grid; gap:7px; align-content:start; padding:20px; border-radius:16px; text-align:start;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  transition:transform .16s ease, box-shadow .16s ease; }
.ursy-room:hover{ transform:translateY(-2px); text-decoration:none;
  box-shadow:inset 0 0 0 1px var(--neon), 0 18px 40px -24px rgba(16,18,22,.5); }
.ursy-room__no{ font-family:var(--font-mono); font-size:9px; letter-spacing:.16em; color:var(--neon); }
.ursy-room b{ font-size:15px; font-weight:700; letter-spacing:-.018em; }
.ursy-room span{ font-size:12.5px; line-height:1.5; color:var(--ink3); }
.ursy-room--accent{ background:linear-gradient(140deg, var(--neon-soft), color-mix(in oklab, var(--o2) 10%, transparent));
  box-shadow:inset 0 0 0 1px var(--line2); }
/* estate footer */
.ursy-foot{ position:relative; z-index:2; background:var(--sheet); box-shadow:inset 0 1px 0 var(--line);
  backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%); }
.ursy-foot__inner{ max-width:var(--shell); margin-inline:auto;
  padding:56px clamp(18px,4vw,44px) calc(28px + env(safe-area-inset-bottom)); }
.ursy-foot__top{ display:flex; flex-wrap:wrap; gap:26px 40px; padding-bottom:44px; }
.ursy-foot__about{ flex:1 1 300px; min-width:260px; display:grid; gap:13px; align-content:start; }
.ursy-foot__about p{ font-size:12.5px; line-height:1.65; color:var(--ink3); max-width:30ch; }
.ursy-status{ display:flex; align-items:center; gap:8px; height:32px; padding:0 12px; border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--line2); font-family:var(--font-mono); font-size:10px;
  letter-spacing:.1em; color:var(--ink2); width:max-content; }
.ursy-status i{ width:6px; height:6px; border-radius:50%; background:var(--ok);
  box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 22%, transparent); }
.ursy-foot__sell{ flex:1 1 300px; min-width:260px; display:grid; gap:10px; align-content:start;
  padding:18px 20px; border-radius:16px; box-shadow:inset 0 0 0 1px var(--line2);
  background:linear-gradient(140deg, var(--neon-soft), color-mix(in oklab, var(--o2) 10%, transparent)); }
.ursy-foot__sell b{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; color:var(--neon); font-weight:400; }
.ursy-foot__sell strong{ font-size:14.5px; font-weight:600; letter-spacing:-.015em; line-height:1.3; }
.ursy-foot__cols{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 22px; }
.ursy-foot__col{ display:grid; gap:4px; align-content:start; }
.ursy-foot__head{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; color:var(--ink3); padding-bottom:9px; }
.ursy-foot__col a{ display:flex; align-items:center; min-height:30px; font-size:13px; color:var(--ink2); }
.ursy-foot__col a small{ display:block; font-size:11.5px; color:var(--ink3); }
.ursy-foot__col a.stack{ display:grid; gap:1px; min-height:34px; }
.ursy-net{ display:flex; align-items:center; gap:12px; padding-top:46px; }
.ursy-net__label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; color:var(--ink3); white-space:nowrap; }
.ursy-net__note{ font-size:11.5px; color:var(--ink3); white-space:nowrap; }
.ursy-net__links{ display:flex; flex-wrap:wrap; gap:8px; padding-top:14px; }
.ursy-net__links a{ display:flex; align-items:center; gap:8px; height:38px; padding:0 15px; border-radius:999px;
  background:var(--card); box-shadow:inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline);
  font-size:12.5px; color:var(--ink2); transition:color .14s ease, box-shadow .14s ease; }
.ursy-net__links a:hover{ color:var(--neon); box-shadow:inset 0 0 0 1px var(--neon); text-decoration:none; }
.ursy-net__links b{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink); font-weight:400; }
.ursy-foot__legal{ margin-top:36px; padding-top:18px; box-shadow:inset 0 1px 0 var(--line);
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; font-size:12px; color:var(--ink3); }
/* sticky phone action bar — sticky, not fixed: survives iOS chrome + keeps sticky header */
.ursy-bar{ display:none; position:sticky; bottom:0; z-index:40; align-items:center; gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--sheet);
  box-shadow:inset 0 1px 0 var(--line), 0 -18px 40px -24px rgba(16,18,22,.5);
  backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%); }
.ursy-bar__txt{ display:grid; gap:2px; min-width:0; flex:1; }
.ursy-bar__txt b{ font-family:var(--font-mono); font-size:9px; letter-spacing:.12em; color:var(--ink3); font-weight:400; }
.ursy-bar__txt span{ font-size:12.5px; font-weight:600; letter-spacing:-.01em; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.ursy-bar .u-btn{ height:48px; padding:0 22px; border-radius:12px; font-size:14.5px; flex:none; }

/* ---------- hero v2: the page performs the pitch ---------- */
.hero2{ width:min(1240px,100%); text-align:start; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(24px,4vw,56px); align-items:center; }
.hero2__copy{ display:grid; gap:22px; align-content:center; }
.hero2 .ursy-hero__chips{ justify-content:flex-start; }
.hero2 h1{ margin:0; max-width:none; font-size:clamp(2.6rem,5.2vw,4.9rem); line-height:1; letter-spacing:-.04em; }
.hero2 .lead{ max-width:58ch; font-size:clamp(16px,1.5vw,19px); }
.hero2 .ursy-cta{ margin-top:0; }
.hero2__line{ display:flex; flex-wrap:wrap; gap:8px 14px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em; color:var(--ink3); }
.hero2__line span:first-child{ color:var(--ink2); }
.stage{ position:relative; border-radius:20px; background:var(--sheet); overflow:hidden; box-shadow:var(--lift), inset 0 0 0 1px var(--line2), inset 0 1px 0 var(--topline); }
.stage__bar{ display:flex; align-items:center; gap:10px; padding:11px 16px; box-shadow:inset 0 -1px 0 var(--line); font-family:var(--font-mono); font-size:9px; letter-spacing:.14em; color:var(--ink2); }
.stage__bar i{ animation:viewTick 2.4s ease-in-out infinite; }
.stage__bar span{ margin-inline-start:auto; color:var(--ink3); }
.stage__body{ display:grid; gap:14px; padding:16px 18px 18px; }
.stage__label{ display:block; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.16em; color:var(--ink3); margin-bottom:6px; }
.stage__plate{ position:relative; }
.stage__plate .ad-slot{ max-width:none; aspect-ratio:auto; min-height:0; }
.stage__sweep{ position:absolute; inset:0; border-radius:9px; pointer-events:none; background:linear-gradient(90deg, transparent, var(--neon-soft), transparent); animation:readSweep 16s linear infinite; }
.term{ display:grid; gap:3px; min-height:214px; align-content:start; padding:12px 14px; border-radius:12px; background:var(--hover); box-shadow:inset 0 0 0 1px var(--line); font-family:var(--font-mono); font-size:11px; line-height:1.7; }
.term__l{ display:flex; gap:10px; min-width:0; opacity:0; }
.term__t{ flex:none; width:38px; color:var(--ink3); }
.term__v{ flex:none; width:58px; color:var(--ink2); }
.term__v--ok{ color:var(--ok); } .term__v--neon{ color:var(--neon); } .term__v--ink{ color:var(--ink); }
.term__m{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink2); }
.term__type{ display:block; min-width:0; overflow:hidden; white-space:nowrap; border-inline-end:2px solid var(--neon); width:0; color:var(--ink); animation:typeAns 16s steps(70) infinite; }
.term__l:nth-child(1){ animation:ag1 16s ease-in-out infinite; } .term__l:nth-child(2){ animation:ag2 16s ease-in-out infinite; }
.term__l:nth-child(3){ animation:ag3 16s ease-in-out infinite; } .term__l:nth-child(4){ animation:ag4 16s ease-in-out infinite; }
.term__l:nth-child(5){ animation:ag5 16s ease-in-out infinite; } .term__l:nth-child(6){ animation:ag6 16s ease-in-out infinite; }
.term__l:nth-child(7){ animation:ag7 16s ease-in-out infinite; }
.stage__foot{ display:flex; flex-wrap:wrap; gap:8px 18px; padding:12px 18px; box-shadow:inset 0 1px 0 var(--line); font-family:var(--font-mono); font-size:9px; letter-spacing:.14em; color:var(--ink3); }
.stage__foot b{ color:var(--ink); }
.stage__foot span:last-child{ margin-inline-start:auto; }
@keyframes readSweep{ 0%,17%{transform:translateX(-100%);opacity:0} 18%{opacity:1} 30%{transform:translateX(100%);opacity:1} 31%,100%{transform:translateX(100%);opacity:0} }
@keyframes typeAns{ 0%,59%{width:0} 82%,92%{width:100%} 96%,100%{width:0} }
@keyframes ag1{ 0%,2%{opacity:0;transform:translateY(6px)} 5%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag2{ 0%,9%{opacity:0;transform:translateY(6px)} 12%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag3{ 0%,17%{opacity:0;transform:translateY(6px)} 20%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag4{ 0%,26%{opacity:0;transform:translateY(6px)} 29%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag5{ 0%,35%{opacity:0;transform:translateY(6px)} 38%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag6{ 0%,45%{opacity:0;transform:translateY(6px)} 48%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
@keyframes ag7{ 0%,56%{opacity:0;transform:translateY(6px)} 59%,92%{opacity:1;transform:none} 96%,100%{opacity:0} }
