/* idem · site/css/legacy.css · GENERATED by site-build/legacy-css.mjs from the phase-4 stylesheet (20 Sep 2026).
   The components the other pages still use — the chat door and its tiles, the pricing tiers, the legal typography, the
   phone menu, the story grid. The look (tokens, header, hero, cards, keys, footer) lives in site.css, which loads after this. */
@font-face{ font-family:'Outfit'; font-weight:100 900; font-display:swap; src:url('../fonts/outfit-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Outfit'; font-weight:100 900; font-display:swap; src:url('../fonts/outfit-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Doto'; font-weight:900; font-display:swap; src:url('../fonts/doto-900-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Doto'; font-weight:900; font-display:swap; src:url('../fonts/doto-900-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
:root{ --bg-2:#0e0e11;
  --txt:#f3f3f4; --txt-2:#c9ccd2; --mutd:#6b717b;
  --ink:#0a0a0c; --cream:#f2f2f2;
  --ink-2:var(--txt-2); --ground:var(--bg-2); --dk:var(--bg); --dk-2:rgba(255,255,255,.065); --card:rgba(255,255,255,.035); --red-2:#ff4d4d;   
  --glass:rgba(255,255,255,.035); --glass-2:rgba(255,255,255,.065); --glass-3:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.06); --line-3:rgba(255,255,255,.18);
  --dline:var(--line); --dline-2:var(--line-2); --rs:14px; --pill:999px;
  --sh:inset 0 1px 0 rgba(255,255,255,.12), inset 0 60px 80px -60px rgba(255,255,255,.06), 0 30px 60px -40px rgba(0,0,0,.75);
  --sh-hover:inset 0 1px 0 rgba(255,255,255,.11), inset 0 60px 80px -60px rgba(255,255,255,.10), 0 40px 80px -40px rgba(0,0,0,.85);
  --blur:blur(18px) saturate(130%);
  --s1:4px; --s2:8px; --s3:12px; --s4:18px; --s5:26px; --s6:40px; --s7:88px;
}
.doto{ font-family:inherit; font-weight:500; color:var(--red); margin-left:0; }
.panel{ border:1px solid var(--line); background:var(--glass); border-radius:var(--r); padding:32px 34px; display:flex; flex-direction:column; box-shadow:var(--sh); }
.panel h2{ font-size:clamp(24px,2.4vw,30px); }
.panel ul.lines{ flex:1; }
.panel .more{ margin-top:auto; }
.chip{ display:inline-flex; align-items:center; padding:4px 10px; border:1px solid var(--line); border-radius:var(--pill); font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; text-decoration:none; line-height:1.4; color:var(--txt-2); background:var(--glass); transition:background .15s, border-color .15s, color .15s; }
.chip.on{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.chips{ display:flex; gap:var(--s2); flex-wrap:wrap; }
input, textarea{ font:inherit; padding:12px 16px; border:1px solid var(--line); border-radius:var(--rs); background:rgba(255,255,255,.05); color:var(--txt); width:100%; transition:border-color .15s, box-shadow .15s; }
input:focus{ outline:none; border-color:rgba(255,255,255,.42); box-shadow:0 0 0 3px rgba(255,255,255,.08); }
input:disabled{ opacity:.6; }
input::placeholder{ color:var(--mut); }
.field.error input{ border-color:var(--red); }
.field.error .msg{ color:var(--red); font-size:14px; }
table{ width:100%; border-collapse:collapse; font-size:14px; }
th{ text-align:left; font-weight:500; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--mut); padding:8px 12px 8px 0; border-bottom:1px solid var(--line); }
td{ padding:9px 12px 9px 0; border-bottom:1px solid var(--line-2); vertical-align:top; }
hr{ border:0; border-top:1px solid var(--line); }
.mut{ color:var(--mut); }
.small{ font-size:14px; }
.more{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:500; color:var(--txt); text-decoration:none; white-space:nowrap; }
.more::after{ content:'→'; transition:transform .15s; }
.more:hover::after{ transform:translateX(3px); }
.more:hover{ color:var(--red); }
.rules{ list-style:none; padding:0; margin:0; }
.rules li{ display:grid; grid-template-columns:56px 1fr; gap:var(--s4); padding:22px 0; border-bottom:1px solid var(--line); }
.rules li:first-child{ border-top:1px solid var(--line); }
.rules .n{ font-size:13px; font-weight:500; color:var(--mut); padding-top:4px; }
.rules h3{ margin:0 0 .25em; }
.rules p{ margin:0; color:var(--mut); font-size:15px; }
.rule-group + .rule-group{ margin-top:var(--s7); }
.rule-group > .kicker{ margin-bottom:var(--s4); }
.rules h3 .ico{ width:24px; height:24px; margin-right:10px; vertical-align:-6px; color:var(--green); }
.road .row{ display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr; align-items:stretch; gap:14px; }
.road .box{ border:1px solid var(--line); background:var(--glass); border-radius:var(--rs); padding:18px 20px; box-shadow:var(--sh); }
.road .box .t{ font-weight:600; margin-bottom:6px; }
.road .box p{ margin:0; color:var(--mut); font-size:14px; line-height:1.5; }
.road .arr{ align-self:center; position:relative; height:1px; background:var(--line-3); }
.road .arr::after{ content:''; position:absolute; right:0; top:50%; width:8px; height:8px; margin-top:-4px;
  border-top:1px solid var(--line-3); border-right:1px solid var(--line-3); transform:rotate(45deg); }
.road .down{ position:relative; height:54px; }
.road .down::before{ content:''; position:absolute; left:50%; top:0; width:1px; height:32px; background:var(--line-3); }
.road .down::after{ content:''; position:absolute; left:50%; top:32px; width:64px; height:4px; margin-left:-32px;
  background:var(--red); border-radius:var(--pill); }
.road .box.off{ max-width:600px; margin:0 auto; text-align:center; background:none; box-shadow:none;
  border-style:dashed; border-color:var(--line-2); }
.road .box.off .t{ color:var(--mut); text-decoration:line-through; }
@media (max-width:1040px){.road .row{ grid-template-columns:1fr; gap:var(--s3); }.road .arr{ width:1px; height:22px; justify-self:center; }.road .arr::after{ right:auto; left:50%; top:auto; bottom:0; margin:0 0 0 -4px; transform:rotate(135deg); }}
.menu-btn{ display:none; margin-left:auto; background:var(--glass); border:1px solid var(--line); border-radius:var(--pill); padding:9px; cursor:pointer; color:var(--txt); line-height:0; }
.menu{ display:none; position:fixed; inset:0; z-index:30; background:rgba(9,9,11,.97); color:var(--txt); padding:var(--s5) 28px; }
.menu.open{ display:flex; flex-direction:column; gap:var(--s4); }
.menu .top{ display:flex; align-items:center; justify-content:space-between; }
.menu .close{ background:var(--glass); border:1px solid var(--line-3); border-radius:var(--pill); color:var(--txt); font:inherit; font-size:14px; padding:8px 16px; cursor:pointer; }
.menu nav{ display:flex; flex-direction:column; }
.menu nav a{ font-size:26px; font-weight:500; letter-spacing:-.02em; text-decoration:none; padding:12px 0; border-bottom:1px solid var(--line); }
.menu .btn.hot{ align-self:flex-start; margin-top:var(--s3); }
.menu .chips{ margin-top:auto; }
.menu .top .wordmark{ font-size:20px; }
.assistant{ padding-top:8px; }
.assistant .door{ max-width:900px; margin:0 auto 16px; min-height:0; text-align:left; }
.assistant .door .log{ min-height:0; }
.assistant .tiles{ max-width:900px; margin:0 auto; }
.tiles-band{ padding:0 0 56px; }
.tiles-band .kicker{ margin-bottom:var(--s4); }
.tiles{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(228px,auto); gap:16px; }
.tile{ border:1px solid var(--line); background:var(--glass); border-radius:var(--r); box-shadow:var(--sh); padding:24px 26px; display:flex; flex-direction:column; gap:var(--s3); min-width:0; transition:box-shadow .15s, transform .15s, border-color .15s; }
.tile:hover{ box-shadow:var(--sh-hover); border-color:var(--line-3); transform:translateY(-2px); }
.tile.dark{ background:var(--glass-2); color:var(--txt); border-color:var(--line-3); }
.tile.dark:hover{ border-color:rgba(255,255,255,.28); }
.tile-kicker{ font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--mut); display:flex; align-items:center; gap:8px; margin:0; }
.tile.dark .tile-kicker{ color:var(--mut); }
.tile-body{ flex:1; font-size:15px; min-width:0; color:var(--txt-2); }
.tile.dark .tile-body{ color:var(--txt); }
.tile-body p{ margin:0; color:inherit; }
.tile-act{ align-self:flex-start; }
.tile-line{ font-size:13.5px; color:var(--mut); margin:0; line-height:1.5; }
.tile.dark .tile-line{ color:var(--mut); }
.dropzone{ border:1.5px dashed rgba(255,255,255,.2); border-radius:16px; background:rgba(255,255,255,.025); padding:26px 16px; text-align:center; color:var(--mut); font-size:14px; height:100%; min-height:96px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
.dropzone:hover{ border-color:rgba(255,255,255,.5); color:var(--txt); background:rgba(255,255,255,.05); }
.carry-empty{ color:var(--txt); }
.door{ padding:26px 28px; background:rgba(12,12,15,.55); border-color:var(--line-3); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur); box-shadow:var(--sh); }
.door .log{ flex:1; min-height:200px; max-height:520px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; font-size:15px; padding-right:4px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent; }
.door .log > *{ flex-shrink:0; }
.door .a{ color:var(--txt); white-space:pre-wrap; max-width:48ch; line-height:1.55; }
.door .a.mut{ color:var(--mut); font-size:14px; }
.door .u{ align-self:flex-end; background:rgba(255,255,255,.10); color:var(--txt); padding:9px 13px; max-width:80%; white-space:pre-wrap; border-radius:16px 16px 4px 16px; }
.door .trades .chip.on{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.door form{ display:flex; gap:var(--s2); align-items:stretch; }
.door form input[type=text]{ flex:1; min-width:0; }
.door .attach{ display:inline-flex; align-items:center; justify-content:center; width:46px; border:1px solid var(--line); border-radius:var(--rs); background:rgba(255,255,255,.04); cursor:pointer; flex:none; color:var(--mut); transition:border-color .15s, color .15s; }
.door .attach:hover{ border-color:rgba(255,255,255,.4); color:var(--txt); }
.door .pending{ display:flex; gap:8px; align-items:center; font-size:13px; }
.door .pending .chip{ color:var(--txt); }
.door .unattach{ background:transparent; border:1px solid var(--line-3); border-radius:var(--pill); color:var(--txt); cursor:pointer; width:24px; height:24px; padding:0; font:inherit; line-height:1; }
.door .meta{ font-size:12px; color:var(--mut); }
.door .files, .door .taps{ display:flex; gap:var(--s2); flex-wrap:wrap; }
.door .files .chip{ color:var(--txt); }
.filecard{ border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:16px; padding:14px; font-size:14px; overflow-x:auto; max-width:100%; }
.filecard table{ font-size:13px; }
.filecard th{ color:var(--mut); border-bottom-color:var(--line); }
.filecard td{ border-bottom-color:var(--line-2); }
.filecard tr.note td{ color:var(--mut); font-size:12px; }
.filecard .text{ white-space:pre-wrap; }
.filecard .title{ font-weight:500; margin-bottom:4px; }
.filecard .when{ font-weight:500; }
.filecard .mark{ color:var(--mut); font-size:12px; margin-top:8px; }
.sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.code{ font-size:32px; font-weight:500; line-height:1; color:var(--txt); letter-spacing:.14em; }
.carry-block{ display:flex; flex-direction:column; gap:var(--s3); }
.carry-block canvas.qr{ image-rendering:pixelated; width:140px; height:140px; background:var(--cream); border-radius:12px; padding:6px; }
.carry-block p{ margin:0; color:var(--mut); font-size:14px; }
.carry-block .tile-act{ align-self:flex-start; }
.stats{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s5); max-width:640px; }
.stat .n{ font-size:44px; font-weight:500; line-height:1; letter-spacing:-.02em; color:var(--txt); }
.stat .l{ font-size:13px; color:var(--mut); margin-top:var(--s2); }
.stat .zero{ font-size:14px; color:var(--mut); }
.counter-panel{ border:1px solid var(--line-3); background:var(--glass-2); color:var(--txt); border-radius:var(--r); padding:28px 30px; display:flex; flex-direction:column; gap:var(--s4); box-shadow:var(--sh); }
.counter-panel .tile-kicker{ color:var(--mut); }
.counter-panel .stats{ max-width:none; }
.counter-panel .tile-line{ color:var(--mut); }
.counter-panel .more{ color:var(--txt); align-self:flex-start; }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); }
.contact-grid{ grid-template-columns:1.2fr .8fr; align-items:start; }
.phone{ max-width:340px; margin:0 auto; border:1px solid var(--line-3); border-radius:34px; background:rgba(14,14,17,.82); padding:18px 16px 20px; box-shadow:var(--sh), 0 40px 80px -30px rgba(0,0,0,.9); }
.phone .bar{ display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:12px; font-size:14px; }
.phone .bar .dot{ width:9px; height:9px; border-radius:var(--pill); border:2px solid var(--txt); }
.phone .bar b{ font-weight:500; letter-spacing:.04em; }
.phone .msg{ font-size:14px; line-height:1.5; white-space:pre-wrap; color:var(--txt); background:rgba(255,255,255,.08); padding:9px 12px; border-radius:16px 16px 16px 4px; max-width:92%; }
.phone .msg + .msg{ margin-top:8px; }
.phone .msg.first{ color:var(--mut); background:transparent; border:1px dashed rgba(255,255,255,.2); }
.phone-note{ font-size:13px; color:var(--mut); text-align:center; margin-top:var(--s4); }
.panels{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.proof-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:22px; }
.proof{ display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border:1px solid var(--line); border-radius:var(--rs); background:var(--glass); font-size:15px; color:var(--txt); line-height:1.45; }
.proof svg.i{ margin-top:3px; color:var(--red); }
.trust-grid{ grid-template-columns:1.1fr .9fr; align-items:start; }
.tiers{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--glass); box-shadow:var(--sh); }
.tiers .tier{ border:0; border-radius:0; box-shadow:none; background:transparent; padding:28px 28px 26px; min-height:250px; }
.tiers.n5{ grid-template-columns:repeat(5,1fr); }
.tiers.n5 .tier{ padding:24px 22px 22px; }
.tiers.n5 .tier .price{ font-size:30px; }
@media (max-width:1000px){.tiers.n5{ grid-template-columns:1fr; }.tiers.n5 .tier, .tiers.n5 .tier:nth-child(3), .tiers.n5 .tier:nth-child(n+3){ border-left:0; border-top:0; }.tiers.n5 .tier + .tier{ border-top:1px solid var(--line-2); }}
.tier .pay{ font-size:12px; color:var(--mut); line-height:1.45; margin-top:var(--s3); padding-top:var(--s2); border-top:1px solid var(--line-2); }
.g5{ grid-template-columns:repeat(5,1fr); }
.g5 .tier .price{ font-size:30px; }
@media (max-width:1100px){.g5{ grid-template-columns:repeat(3,1fr); }.g5 .tier{ display:flex; grid-row:auto; grid-template-rows:none; }}
@media (max-width:1000px){.tiers .tier, .tiers-row .tier{ display:flex; grid-row:auto; grid-template-rows:none; }}
.tiers .tier + .tier{ border-left:1px solid var(--line-2); }
.tier{ display:flex; flex-direction:column; gap:var(--s2); min-height:240px; }
.tier .kicker{ margin:0; }
.tier .price{ font-size:36px; font-weight:500; letter-spacing:-.02em; line-height:1; margin-top:var(--s2); color:var(--txt); }
.tier .unit{ font-size:13px; color:var(--mut); }
.tier .then{ font-size:14px; color:var(--txt-2); }
.tier p{ margin-top:auto; padding-top:var(--s3); border-top:1px solid var(--line-2); }
.qa{ display:grid; grid-template-columns:1fr 1fr; gap:8px 56px; }
.qa .q{ padding:20px 0; border-top:1px solid var(--line); }
.qa h3{ margin:0 0 .35em; font-size:16px; }
.qa p{ color:var(--mut); font-size:15px; margin:0; }
.faq h3{ font-size:16px; }
.faq p{ color:var(--mut); font-size:15px; }
@media (max-width:1000px){.tiers{ grid-template-columns:1fr 1fr; }.tiers .tier:nth-child(3){ border-left:0; }.tiers .tier:nth-child(n+3){ border-top:1px solid var(--line-2); }}
@media (max-width:900px){.menu-btn{ display:block; }.tiles{ grid-template-columns:1fr; grid-auto-rows:auto; }.rules li{ grid-template-columns:44px 1fr; }.carry-block canvas.qr{ display:none; }}
@media (max-width:560px){.tile-act, .more{ width:auto; display:inline-flex; }.tile{ padding:18px; }.door{ padding:18px; }.tiers{ grid-template-columns:1fr; }.tiers .tier + .tier{ border-left:0; border-top:1px solid var(--line-2); }.tiers .tier:nth-child(3){ border-left:0; }.panel{ padding:24px 22px; }.counter-panel{ padding:22px; }.door form{ flex-wrap:wrap; }.door form input[type=text]{ flex:1 1 100%; order:-1; }.door form .attach{ flex:none; width:46px; }.door form .btn{ flex:1; width:auto; margin-bottom:0; }}
.tiers .tier.fx.lit{ box-shadow:none; transform:none; }
.door.fx.lit, .phone.fx.lit{ transform:none; }
.phone .scan::after, .proof .scan::after{ display:none; }
@media (prefers-reduced-motion: reduce){.door .rim{ display:none; }}
.prose p{ font-size:18px; line-height:1.65; max-width:68ch; margin:0 0 1.15em; }
.prose p:last-child{ margin-bottom:0; }
.prose .langs{ color:var(--mut); font-size:16px; margin-top:var(--s4); padding-top:var(--s4); border-top:1px solid var(--line-2); }
.portrait{ margin:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--s3); }
.portrait img{ width:280px; height:auto; display:block; border:1px solid var(--line); background:rgba(255,255,255,.04); }
.portrait figcaption{ color:var(--mut); font-size:15px; }
@media (max-width:560px){.prose p{ font-size:17px; }.portrait img{ width:250px; }}
.cal{ min-height:560px; border:1px solid var(--line); background:var(--glass); box-shadow:var(--sh); border-radius:var(--r); overflow:hidden; }
.cal iframe{ display:block; width:100%; border:0; }
@media (max-width:900px){.cal{ min-height:560px; }}
:root{ --dur-fast:150ms; --dur-base:250ms; --dur-slow:450ms;
  --green-glow:rgba(34,197,94,.45); --red-glow:rgba(225,6,0,.45);
  --key:#17171a; --key-2:#202024; --key-3:#101012; --socket:#070708; --k:0; }
.h2row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.h2row h2{ margin-bottom:0; }
.steps{ gap:0 28px; }
.steps .card, .steps .card.fx{ background:transparent; border:0; box-shadow:none; border-radius:0; border-top:1px solid var(--line-3); padding:20px 14px 0; position:relative; transform:none; }
.steps .card::before{ content:''; position:absolute; left:14px; top:-1px; width:44px; height:2px; background:var(--red); }
.steps .card:last-child::before{ background:var(--green); }
.steps .card.fx::after, .steps .card .scan{ display:none; }
@media (max-width:900px){.steps{ gap:var(--s3); }}
.menu .btn.hot.key-cta{ align-self:flex-start; }
.disc{ position:relative; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.disc .ik{ position:static; }
.disc .ipanel{ left:0; top:auto; }
.acard{ display:grid; grid-template-columns:96px 1fr; gap:14px; align-items:start; }
.acard img{ width:96px; height:auto; border-radius:12px; display:block; border:1px solid var(--line); }
.acard b{ font-weight:500; color:var(--txt); display:block; margin-bottom:6px; }
.acard ul{ margin:0 0 8px; padding-left:1.1em; }
.status{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--txt-2); padding:6px 12px; border:1px solid var(--line); border-radius:var(--pill); background:var(--glass); margin-bottom:var(--s4); }
.status i{ width:8px; height:8px; border-radius:var(--pill); background:var(--green); filter:drop-shadow(0 0 4px var(--green)); }
.story-grid{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start; }
.story-grid .portrait{ position:sticky; top:96px; }
.story-grid .portrait img{ width:100%; border-radius:var(--rs); }
@media (max-width:900px){.story-grid .portrait{ position:static; }.story-grid .portrait img{ width:250px; }}
@media (max-width:560px){.more{ white-space:normal; }}
