:root {
      --ink:#153638; --muted:#526a6c; --soft:#e4f1ed; --paper:#f4f8f6;
      --surface:#fbfdfc; --line:#d1e1dc; --teal:#176964; --teal-dark:#0c4d49;
      --sand:#eaf1ee; --danger:#a7463a;
      --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
      --space-6:32px; --space-7:48px; --space-8:64px;
      --radius-sm:10px; --radius-md:16px; --radius-lg:24px; --radius-pill:999px;
      --radius-signature:24px 6px 24px 6px;
      --shadow-1:0 8px 24px rgba(14,77,74,.08);
      --shadow-2:0 16px 40px rgba(14,77,74,.12);
      --shadow-3:0 12px 28px rgba(14,77,74,.18);
      color-scheme:light;
    }
    @media (prefers-color-scheme: dark) {
      :root {
        --ink:#e8f2ef; --muted:#b3c7c3; --soft:#173f3d; --paper:#102624;
        --surface:#16302e; --line:#31514e; --sand:#183532; --teal:#78bcb4;
        --teal-dark:#2a766f; --danger:#ee8274;
        --shadow-1:0 8px 24px rgba(0,0,0,.22); --shadow-2:0 16px 40px rgba(0,0,0,.26);
        --shadow-3:0 12px 28px rgba(0,0,0,.3);
        color-scheme:dark;
      }
    }

    /* Golos Text — SIL Open Font License 1.1, текст лицензии в /fonts/OFL.txt.
       Файлы лежат локально в public/fonts и НЕ грузятся с Google Fonts: иначе IP
       каждого посетителя уходил бы на сторонние серверы. Тот же шрифт, что в
       приложении, поэтому сайт и продукт выглядят одинаково.

       Раньше здесь стоял Geist с откатом на Aptos и Segoe UI, но @font-face для
       него не объявлялся нигде — то есть шрифт не загружался, и страница молча
       падала на системный. На macOS, Linux и Android не было ни Geist, ни Aptos,
       ни Segoe UI, поэтому сайт выглядел по-разному почти везде. */
    @font-face {
      font-family:"Golos Text"; font-style:normal; font-weight:400 900; font-display:swap;
      src:url("/fonts/golos-text-cyrillic.woff2") format("woff2");
      unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
    }
    @font-face {
      font-family:"Golos Text"; font-style:normal; font-weight:400 900; font-display:swap;
      src:url("/fonts/golos-text-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;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0; color:var(--ink); background:var(--paper);
      font-family:"Golos Text","Segoe UI Variable","Segoe UI",sans-serif;
      -webkit-font-smoothing:antialiased; line-height:1.55;
    }
    a { color:inherit; }
    .skip { position:absolute; left:-999px; top:8px; padding:10px 14px; background:#fff; color:#153638; border-radius:var(--radius-sm); z-index:20; }
    .skip:focus { left:12px; }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
    }

    .nav { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:6px 8px 6px 14px; border:1px solid var(--line); border-radius:var(--radius-pill); background:var(--surface); box-shadow:var(--shadow-1); }
    .nav .brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
    .nav .brand-mark { width:42px; height:42px; display:grid; place-items:center; overflow:hidden; border-radius:14px; box-shadow:0 10px 24px rgba(22,92,140,.18); }
    .nav .brand-mark svg { width:100%; height:100%; display:block; }
    .nav .brand strong { display:block; font-size:22px; letter-spacing:-.05em; }
    .nav .brand small { display:block; color:var(--muted); font-size:12px; font-weight:700; }
    .nav-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
    @media (max-width:560px) {
      .nav { align-items:flex-start; flex-direction:column; }
      .nav-actions { width:100%; }
    }

    .btn {
      min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
      padding:0 18px; border-radius:var(--radius-pill); border:1px solid var(--line);
      background:var(--surface); color:var(--ink); text-decoration:none; font-weight:800; font-size:14px;
      cursor:pointer; font-family:inherit; -webkit-tap-highlight-color:transparent;
      transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1);
    }
    .btn.primary { color:#fff; border-color:transparent; background:var(--teal-dark); box-shadow:var(--shadow-3); }
    .btn.ghost { border-color:transparent; background:transparent; box-shadow:none; text-decoration:underline; text-underline-offset:3px; }
    @media (hover:hover) and (pointer:fine) {
      .btn:hover { transform:translateY(-2px); box-shadow:var(--shadow-2); }
      .btn.ghost:hover { transform:none; background:var(--soft); }
    }
    .btn:active { transform:translateY(0) scale(.98); }
    .btn:focus-visible { outline:3px solid rgba(23,105,100,.38); outline-offset:3px; }
    .btn:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; transform:none; }
    @media (max-width:560px) {
      .hero-actions .btn, .nav-actions .btn { width:100%; }
    }

    :root {
      --paper:#F7F8F4; --surface:#FFF; --ink:#17272B; --muted:#627176;
      --teal:#196B68; --teal-dark:#10514F; --mint:#DCECE8; --line:#DFE7E5;
      --sand:#F1E6D5; --sun:#E8A45B; --success:#287A5C;
      --radius-card:20px; --radius-row:12px; --radius-control:10px;
    }
    /* @font-face для Golos Text объявлен один раз в scripts/design_system.py —
       он общий для лендинга и страницы релизов. Здесь только применение. */
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:"Golos Text","Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif; line-height:1.55; }
    a { color:inherit; }
    .skip { position:absolute; z-index:30; top:10px; left:-999px; padding:10px 14px; color:#fff; background:var(--teal-dark); border-radius:8px; }
    .skip:focus { left:12px; }
    .shell { width:min(100% - 32px, 1240px); margin:0 auto; }
    .topbar { position:sticky; z-index:10; top:12px; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; margin-top:12px; padding:8px 10px 8px 14px; border:1px solid color-mix(in srgb,var(--line) 88%,var(--surface)); border-radius:var(--radius-row); background:color-mix(in srgb,var(--surface) 92%,transparent); box-shadow:0 10px 28px rgba(16,81,79,.04); backdrop-filter:blur(16px) saturate(1.08); -webkit-backdrop-filter:blur(16px) saturate(1.08); }
    .brand { display:flex; align-items:center; gap:11px; text-decoration:none; min-width:max-content; }
    .brand-mark { display:grid; place-items:center; width:42px; height:42px; overflow:hidden; border-radius:var(--radius-row); }
    .brand-mark svg { width:42px; height:42px; }
    .brand strong { display:block; font-size:20px; letter-spacing:-.05em; }
    .brand small { display:block; color:var(--muted); font-size:11px; font-weight:650; }
    .nav-links { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; }
    .nav-links a { display:inline-flex; align-items:center; min-height:40px; padding:0 8px; color:var(--muted); text-decoration:none; }
    .nav-links a:hover { color:var(--teal-dark); }
    button { font:inherit; } .button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 18px; border:1px solid var(--teal-dark); border-radius:var(--radius-control); color:#fff; background:var(--teal-dark); font-size:13px; font-weight:700; text-decoration:none; transition:transform .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1); }
    .button.secondary { color:var(--teal-dark); border-color:var(--line); background:var(--surface); }
    .button svg { width:17px; height:17px; }
    .button:hover { transform:translateY(-1px); background:var(--teal); }
    .button.secondary:hover { border-color:var(--teal); background:var(--mint); }
    .button:active { transform:scale(.98); }
    :is(a,button):focus-visible { outline:3px solid color-mix(in srgb,var(--teal) 52%,transparent); outline-offset:3px; }
    .hero { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:clamp(36px,7vw,96px); min-height:calc(100dvh - 94px); padding:68px 0 72px; }
    .eyebrow { width:fit-content; display:inline-flex; align-items:center; min-height:30px; padding:0 10px; color:var(--teal-dark); border:1px solid color-mix(in srgb,var(--teal) 18%,var(--line)); border-radius:999px; background:var(--mint); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
    h1 { max-width:670px; margin:18px 0; font-size:clamp(50px,6.7vw,84px); font-weight:650; line-height:1; letter-spacing:-.06em; text-wrap:balance; }
    .lead { max-width:570px; margin:0; color:var(--muted); font-size:clamp(17px,2vw,20px); }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
    .hero-note { display:flex; gap:8px; align-items:flex-start; max-width:480px; margin:16px 0 0; color:var(--muted); font-size:13px; }
    .hero-note svg { flex:0 0 auto; width:17px; margin-top:2px; color:var(--success); }
    .hero-visual { position:relative; min-height:520px; overflow:hidden; border:0; border-radius:var(--radius-card); background:transparent; }
    .hero-visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; } .hero-carousel { position:absolute; inset:0; } .hero-slide { position:absolute; inset:0; margin:0; opacity:0; transition:opacity 1.2s cubic-bezier(.4,0,.2,1); will-change:opacity; } .hero-slide.is-active { opacity:1; }
    .rhythm-line { position:absolute; top:88px; right:0; left:0; height:72px; color:rgba(16,81,79,.36); }
    .rhythm-line path { stroke:currentColor; stroke-width:2; fill:none; }
    .app-preview { position:absolute; right:clamp(20px,5vw,58px); bottom:28px; width:min(78%,360px); overflow:hidden; border:7px solid var(--surface); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 18px 34px rgba(16,81,79,.16); }
    .preview-top { display:flex; justify-content:space-between; align-items:center; padding:17px 16px 12px; }
    .preview-top span { color:#5f7475; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
    .preview-top b { font-size:14px; }
    .preview-hero { margin:0 12px; padding:17px; border-radius:var(--radius-row); color:#fff; background:#10514F; }
    .preview-hero small { display:block; opacity:.78; font-size:10px; } .preview-hero strong { display:block; margin-top:5px; font-size:19px; letter-spacing:-.05em; }
    .preview-list { display:grid; gap:7px; padding:13px 12px 15px; } .preview-item { display:grid; grid-template-columns:28px 1fr auto; gap:9px; align-items:center; padding:10px; border:1px solid #dfe7e5; border-radius:var(--radius-row); }
    .preview-item i { width:28px; height:28px; border-radius:var(--radius-control); background:#dcece8; } .preview-item b { font-size:11px; } .preview-item small { color:#627176; font-size:9px; } .preview-item em { color:#196b68; font-size:12px; font-style:normal; font-weight:850; }
    .visual-label { position:absolute; top:185px; left:24px; max-width:216px; padding:14px; border:1px solid color-mix(in srgb,var(--teal) 18%,var(--surface)); border-radius:var(--radius-row); color:var(--teal-dark); background:var(--surface); font-size:13px; font-weight:700; }
    .visual-label span { display:block; margin-top:4px; color:var(--muted); font-size:11px; font-weight:500; }
    .section { padding:clamp(42px,5.25vw,68px) 0; } .section-anchor { scroll-margin-top:100px; }
    .section-heading { max-width:700px; margin-bottom:30px; } h2 { margin:11px 0 0; font-size:clamp(31px,4.7vw,54px); font-weight:650; line-height:1.05; letter-spacing:-.045em; text-wrap:balance; } .section-copy { max-width:610px; margin:14px 0 0; color:var(--muted); font-size:17px; }
    .today-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
    .today-card { min-height:250px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); }
    .card-number { color:var(--teal); font-size:12px; font-weight:900; letter-spacing:.08em; } .card-icon { display:grid; place-items:center; width:46px; height:46px; margin:17px 0; border-radius:var(--radius-row); color:var(--teal-dark); background:rgba(255,255,255,.68); } .card-icon svg { width:24px; } .today-card h3 { margin:0; font-size:23px; letter-spacing:-.045em; } .today-card p { margin:8px 0 0; color:var(--muted); font-size:14px; }
    .contour { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(24px,5vw,70px); align-items:center; padding:clamp(24px,4vw,48px); border-radius:var(--radius-card); color:#fff; background:var(--teal-dark); }
    .contour .eyebrow { color:#e9f6f2; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.1); } .contour h2 { max-width:500px; } .contour p { max-width:480px; color:#cae3dd; font-size:16px; }
    .contour-flow { display:grid; gap:9px; } .flow-row { display:grid; grid-template-columns:38px 1fr auto; gap:11px; align-items:center; min-height:62px; padding:10px 13px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-row); background:rgba(255,255,255,.08); } .flow-row svg { width:20px; } .flow-row b { font-size:14px; } .flow-row small { color:#c5ded8; font-size:11px; } .flow-row span { color:#f0d09d; font-size:19px; }
    .devices { padding:clamp(25px,4vw,46px); border:1px solid var(--line); border-radius:var(--radius-card); background:linear-gradient(135deg,#eff7f5 0%,var(--surface) 52%,#f4eee5 100%); } .device-tree { display:flex; flex-direction:column; align-items:center; } .device-root { display:flex; gap:11px; align-items:center; } .device-root .brand-mark { width:54px; height:54px; border:1px solid var(--line); border-radius:var(--radius-row); background:var(--surface); } .device-root b { font-size:22px; letter-spacing:-.05em; } .device-stem { flex:0 0 auto; width:2px; height:24px; background:color-mix(in srgb,var(--teal) 45%,var(--line)); } .device-links { position:relative; display:grid; grid-template-columns:repeat(5,1fr); width:min(100%,1060px); height:26px; } .device-links::before { content:""; position:absolute; top:0; right:calc(100% / 12); left:calc(100% / 12); border-top:2px solid color-mix(in srgb,var(--teal) 45%,var(--line)); } .device-link { position:relative; } .device-link::before { content:""; position:absolute; top:0; left:50%; width:2px; height:22px; transform:translateX(-50%); background:color-mix(in srgb,var(--teal) 45%,var(--line)); } .devices-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; align-items:start; width:min(100%,1060px); margin:0; padding:0; list-style:none; } .device-card { display:flex; flex-direction:column; align-items:center; padding:18px 14px 16px; border:1px solid color-mix(in srgb,var(--teal) 15%,var(--line)); border-radius:var(--radius-card); background:rgba(255,255,255,.76); overflow:hidden; } .device-frame { position:relative; overflow:hidden; color:#101315; background:#111; box-shadow:0 14px 26px rgba(16,81,79,.2); } .device-screen { display:block; width:100%; height:100%; object-fit:cover; object-position:top; } .device-frame--phone { width:auto; height:264px; aspect-ratio:860/1864; padding:7px; border:4px solid #1c2224; border-radius:26px; } .device-frame--phone::after { content:""; position:absolute; z-index:2; top:8px; left:50%; width:44px; height:12px; border-radius:9px; transform:translateX(-50%); background:#171a1c; } .device-frame--android { border-color:#1f4f7c; border-radius:21px; } .device-frame--android::after { top:auto; bottom:4px; width:26px; height:4px; background:#1f4f7c; } .device-frame--tablet { width:auto; height:298px; aspect-ratio:780/1688; padding:10px; border:7px solid #202426; border-radius:20px; } .device-frame--tablet::after { content:""; position:absolute; z-index:2; top:4px; left:50%; width:5px; height:5px; border-radius:50%; transform:translateX(-50%); background:#101315; } .device-frame--laptop { width:min(100%,238px); aspect-ratio:16/11; height:auto; padding:7px 7px 14px; border:5px solid #25292a; border-radius:12px 12px 4px 4px; } .device-frame--laptop::after { content:""; position:absolute; right:-16px; bottom:-9px; left:-16px; height:10px; border-radius:0 0 8px 8px; background:linear-gradient(#a2a9aa,#5b6568); } .device-frame--watch { display:grid; place-items:center; width:140px; height:190px; overflow:visible; border:7px solid #202426; border-radius:36px; } .device-frame--watch::before,.device-frame--watch::after { content:""; position:absolute; left:50%; width:62px; height:42px; transform:translateX(-50%); border-radius:16px 16px 7px 7px; background:#202426; } .device-frame--watch::before { bottom:calc(100% - 7px); } .device-frame--watch::after { top:calc(100% - 7px); transform:translateX(-50%) rotate(180deg); } .watch-screen { position:relative; z-index:1; display:grid; place-content:center; width:100%; height:100%; padding:15px; border-radius:27px; color:#ecf7f4; background:radial-gradient(circle at 62% 28%,#277d78,#0d2929 68%); text-align:center; } .watch-screen small { color:#b4d8d2; font-size:9px; } .watch-screen b { display:block; margin:3px 0; font-size:28px; line-height:1; letter-spacing:-.07em; } .device-card h3 { margin:15px 0 0; font-size:17px; letter-spacing:-.035em; } .device-card p { margin:4px 0 0; color:var(--muted); font-size:13px; text-align:center; } .devices-caption { max-width:720px; margin:26px 0 0; color:var(--muted); font-size:14px; text-align:center; }
    /* Device gallery: every platform shares a single visual stage and text baseline. */
    .devices-row { align-items:stretch; gap:12px; }
    .device-card { min-height:422px; padding:16px 12px 18px; }
    .device-stage { display:flex; align-items:center; justify-content:center; width:100%; height:286px; }
    .device-frame { flex:0 0 auto; }
    .device-frame--phone { height:258px; padding:7px; border:5px solid #252b2d; border-radius:30px; }
    .device-frame--phone::after { top:8px; width:46px; height:13px; border-radius:10px; background:#111517; }
    .device-frame--tablet { width:160px; height:270px; padding:9px; border:7px solid #202426; border-radius:22px; aspect-ratio:auto; }
    .device-frame--tablet::before { content:""; position:absolute; z-index:3; top:5px; left:50%; width:5px; height:5px; border-radius:50%; transform:translateX(-50%); background:#070909; }
    .device-frame--tablet::after { content:""; position:absolute; right:-19px; top:18px; width:5px; height:222px; border:1px solid #bdc1c2; border-radius:8px; transform:rotate(3deg); background:linear-gradient(90deg,#eef0ef,#aeb4b4 48%,#fafafa); box-shadow:1px 1px 3px rgba(0,0,0,.18); }
    .device-frame--android { border-color:#1c4f7c; border-radius:25px; }
    .device-frame--android::before { content:""; position:absolute; z-index:3; top:9px; left:50%; width:30px; height:4px; border-radius:5px; transform:translateX(-50%); background:#102d49; }
    .device-frame--android::after { top:auto; bottom:5px; width:28px; height:5px; background:#163f65; }
    .device-frame--watch { width:128px; height:164px; border:8px solid #1e2426; border-radius:39px; box-shadow:0 14px 26px rgba(16,81,79,.24); }
    .device-frame--watch::before,.device-frame--watch::after { width:68px; height:48px; border-radius:19px 19px 8px 8px; background:#171c1e; }
    .device-frame--watch::before { bottom:calc(100% - 8px); }
    .device-frame--watch::after { top:calc(100% - 8px); }
    .watch-screen { padding:12px; border-radius:29px; }
    .device-frame--laptop { width:190px; padding:6px 6px 14px; border-width:6px; }
    .device-card h3 { min-height:27px; margin-top:14px; }
    .device-card p { min-height:42px; margin-top:3px; }
    .device-frame--reference { overflow:visible; border:0 !important; background:transparent; box-shadow:none; }
    .device-frame--reference::before,.device-frame--reference::after { display:none; }
    .device-frame--reference .device-screen { position:absolute; z-index:1; display:block; margin:0; object-fit:cover; object-position:top; }
    .device-shell { position:absolute; z-index:2; inset:0; width:100%; height:100%; pointer-events:none; }
    .device-frame--iphone { width:130px; height:274px; aspect-ratio:auto; padding:0; }
    .device-frame--iphone .device-screen { top:4.75%; left:9.23%; width:81.54%; height:90.15%; border-radius:22px; }
    .device-frame--ipad { width:202px; height:244px; padding:0; border-radius:0; }
    .device-frame--ipad .device-screen { top:4.92%; left:4.95%; width:74.26%; height:89.75%; border-radius:12px; object-fit:contain; background:#f7f8f4; }
    .device-frame--android-ref { width:136px; height:283px; aspect-ratio:auto; padding:0; }
    .device-frame--android-ref .device-screen { top:7.07%; left:8.09%; width:83.82%; height:87.99%; border-radius:9px; }
    .device-frame--web-ref { width:210px; height:122px; padding:0; border-radius:0; }
    .device-frame--web-ref .device-screen { top:8.2%; left:5.72%; width:88.57%; height:71.31%; border-radius:1px; object-fit:contain; background:#f7f8f4; }
    @media (max-width:560px) { .device-frame--iphone { width:136px; height:286px; } .device-frame--ipad { width:214px; height:258px; } .device-frame--android-ref { width:142px; height:295px; } .device-frame--web-ref { width:228px; height:132px; } .device-stage { height:318px; } }
    @media (max-width:900px) { .device-card { min-height:400px; } .device-stage { height:270px; } }
    @media (max-width:560px) { .device-card { min-height:0; } .device-stage { height:282px; } }
    .boundaries { display:grid; grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr); gap:clamp(22px,4vw,50px); align-items:center; padding:clamp(20px,3vw,34px); border:1px solid color-mix(in srgb,var(--sun) 56%,var(--line)); border-radius:var(--radius-card); background:var(--sand); } .boundaries h2 { margin:0; font-size:clamp(26px,3vw,36px); } .boundaries p { max-width:620px; margin:12px 0 0; color:#5f5649; } .boundaries-photo { display:block; width:100%; min-height:255px; object-fit:cover; border-radius:var(--radius-row); }
    .access { display:grid; grid-template-columns:.9fr 1.1fr; gap:16px; padding:8px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); } .access-main { padding:34px; border-radius:var(--radius-row); color:#fff; background:var(--teal-dark); } .access-main h2 { margin-top:8px; } .access-main p { color:#d3e8e3; } .access-main .button { margin-top:22px; color:var(--teal-dark); border-color:#fff; background:#fff; } .access-main .button:hover { background:var(--mint); } .access-facts { display:grid; align-content:center; gap:10px; padding:20px; } .access-fact { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:var(--radius-row); } .access-fact svg { color:var(--teal); } .access-fact b { display:block; font-size:14px; } .access-fact small { color:var(--muted); font-size:12px; }
    .story-photo { display:block; width:100%; min-height:320px; object-fit:cover; border-radius:var(--radius-row); } .photo-card { display:grid; grid-template-rows:236px 1fr; min-width:0; padding:0; overflow:hidden; } .photo-card img { display:block; width:100%; height:236px; object-fit:cover; } .photo-card div { padding:18px 20px 22px; } .photo-card h3 { margin:0; font-size:22px; letter-spacing:-.04em; } .photo-card p { margin:8px 0 0; color:var(--muted); } .today-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    footer { display:flex; justify-content:space-between; gap:16px; padding:28px 0 40px; color:var(--muted); border-top:1px solid var(--line); font-size:13px; } footer nav { display:flex; gap:16px; flex-wrap:wrap; } footer a,.footer-link { color:var(--teal-dark); } .footer-link { padding:0; border:0; background:transparent; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
    .legal-modal { width:min(100% - 32px,720px); max-height:min(780px,calc(100dvh - 32px)); overflow:hidden; padding:0; border:1px solid var(--line); border-radius:var(--radius-card); color:var(--ink); background:var(--surface); box-shadow:0 28px 72px rgba(8,35,34,.34); } .legal-modal::backdrop { background:rgba(12,34,35,.58); } .legal-modal__panel { max-height:min(780px,calc(100dvh - 32px)); overflow:auto; padding:clamp(22px,4vw,40px); } .legal-modal__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; } .legal-modal h2 { margin:9px 0 0; font-size:clamp(28px,4vw,42px); } .legal-modal h3 { margin:25px 0 7px; font-size:17px; } .legal-modal p,.legal-modal li { color:var(--muted); } .legal-modal ul { margin:8px 0; padding-left:20px; } .legal-modal__status { margin-top:18px; padding:14px 16px; border-left:3px solid var(--sun); background:var(--sand); } .legal-modal__status p { margin:5px 0 0; color:#5f5649; } .legal-modal__close { flex:0 0 auto; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; color:var(--teal-dark); background:var(--surface); font-size:25px; line-height:1; cursor:pointer; } .legal-modal__close:hover { background:var(--mint); }
    @media (max-width:900px) { .topbar { position:relative; top:auto; flex-wrap:wrap; row-gap:10px; } .nav-links { order:3; width:100%; justify-content:space-around; padding:8px 0 0; border-top:1px solid var(--line); } .hero,.contour,.access { grid-template-columns:1fr; } .hero { min-height:0; padding:62px 0; } .hero-visual { min-height:460px; max-width:660px; } .today-grid { grid-template-columns:1fr; } .photo-card { grid-template-rows:auto 1fr; } .photo-card img { height:auto; aspect-ratio:16/10; } .device-links,.device-stem { display:none; } .device-tree { align-items:center; } .devices-row { grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,540px); } }
    @media (max-width:560px) { .shell { width:min(100% - 24px,1240px); } .topbar { align-items:center; padding:12px 10px; } .brand small { display:none; } .topbar .button { order:2; width:100%; max-width:none; } .nav-links { order:3; overflow-x:auto; justify-content:flex-start; gap:8px; padding-bottom:2px; font-size:12px; scrollbar-width:none; } .nav-links::-webkit-scrollbar { display:none; } .nav-links a { flex:0 0 auto; min-height:40px; display:grid; align-items:center; padding:4px 7px; } .button { min-height:44px; padding:0 14px; font-size:12px; } .section { padding:42px 0; } h1 { font-size:clamp(42px,13vw,56px); } .hero { padding:38px 0 48px; } .hero-visual { min-height:340px; } .app-preview { right:14px; bottom:16px; width:82%; } .visual-label { top:104px; left:15px; max-width:180px; } .contour,.access { padding:7px; } .contour > div:first-child,.access-main { padding:25px 18px; } .devices { padding:17px 12px; } .devices-row { grid-template-columns:1fr; width:min(100%,320px); } .device-frame--phone { height:238px; } .device-frame--tablet { height:300px; } .boundaries { grid-template-columns:1fr; gap:10px; padding:20px; } .legal-modal { width:calc(100% - 20px); max-height:calc(100dvh - 20px); } .legal-modal__panel { max-height:calc(100dvh - 20px); padding:20px; } footer { flex-direction:column; } }
    @media (max-width:900px) { .boundaries { grid-template-columns:1fr; } .boundaries-photo { min-height:0; aspect-ratio:16/9; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } .hero-slide:not(:first-child) { display:none; } }
    @media (prefers-color-scheme:dark) { :root { --paper:#101719; --surface:#182124; --ink:#E8EFEF; --muted:#9BAAAA; --mint:#193c39; --line:#2D3A3D; --sand:#29261F; --teal:#7dbbb5; --teal-dark:#2a766f; } .hero-visual { background:var(--mint); } .app-preview { border-color:#2d3a3d; } .preview-top,.preview-list { background:#182124; } .preview-item { border-color:#2d3a3d; } .preview-item b { color:#e8efef; } .preview-item i { background:#29524d; } .today-card,.access,.access-fact { background:#182124; } .flow-row { background:rgba(255,255,255,.06); } .boundaries p { color:#d2c8b3; } }
    /* A single visual composition, not five unrelated cards. */
    .devices { padding:clamp(28px,4vw,48px) clamp(20px,4vw,54px) 30px; }
    .device-links,.devices-row { width:min(100%,1120px); }
    .device-links { grid-template-columns:repeat(6,1fr); }
    .devices-row { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; align-items:end; }
    .device-card { min-height:392px; justify-content:flex-end; padding:0 6px 12px; border:0; border-radius:0; background:transparent; overflow:visible; }
    .device-stage { height:318px; align-items:flex-end; }
    .device-card h3 { min-height:0; margin:12px 0 0; line-height:1.2; }
    .device-card p { min-height:0; max-width:174px; margin:6px 0 0; line-height:1.38; }
    .devices-caption { margin-top:20px; }
    /* The diagram stays compact: TV is the sixth, wider screen in the same account. */
    .device-frame--iphone { width:108px; height:228px; }
    .device-frame--ipad { width:252px; height:305px; }
    .device-frame--android-ref { width:113px; height:235px; }
    .device-frame--web-ref { width:175px; height:102px; }
    .device-frame--watch { width:56px; height:74px; margin-bottom:14px; border-width:3px; border-radius:15px; }
    .device-frame--watch::before,.device-frame--watch::after { width:26px; height:18px; border-radius:7px 7px 3px 3px; }
    .watch-screen { padding:4px; border-radius:11px; }
    .watch-screen small { font-size:5px; } .watch-screen b { margin:1px 0; font-size:14px; }
    .device-frame--tv { position:relative; width:175px; height:102px; margin-bottom:31px; overflow:visible; padding:0; border:5px solid #222b2d; border-radius:8px; background:#222b2d; box-shadow:0 11px 22px rgba(16,81,79,.18); }
    .device-frame--tv::before { content:""; position:absolute; z-index:-1; bottom:-27px; left:50%; width:4px; height:25px; transform:translateX(-50%); border-radius:3px; background:#384346; }
    .device-frame--tv::after { content:""; position:absolute; z-index:-1; bottom:-31px; left:50%; width:58px; height:5px; transform:translateX(-50%); border-radius:5px; background:#384346; }
    .tv-device-screen { position:relative; width:100%; height:100%; overflow:hidden; padding:8px 9px 7px; border-radius:3px; color:#123c3a; background:#f7faf7; }
    .tv-device-logo { position:absolute; z-index:2; top:50%; left:50%; width:27px; height:27px; transform:translate(-50%,-50%); filter:drop-shadow(0 3px 5px rgba(16,81,79,.16)); pointer-events:none; }
    .tv-device-top,.tv-device-exercise { display:flex; align-items:center; justify-content:space-between; gap:6px; }
    .tv-device-brand { display:flex; align-items:center; gap:4px; color:#154d4b; font-size:7px; font-weight:800; }
    .tv-device-brand img { width:13px; height:13px; }
    .tv-device-top small,.tv-device-plan { color:#52706d; font-size:5px; font-weight:700; letter-spacing:.04em; }
    .tv-device-rule { height:1px; margin:8px 0 7px; background:#d8e4e1; }
    .tv-device-plan { display:block; }
    .tv-device-exercise { align-items:end; margin-top:4px; }
    .tv-device-exercise strong { font-size:11px; line-height:.94; letter-spacing:-.045em; }
    .tv-device-exercise b { color:#146f6b; font-size:16px; line-height:1; letter-spacing:-.07em; }
    .tv-device-progress { height:3px; margin-top:7px; overflow:hidden; border-radius:3px; background:#dce5e2; }
    .tv-device-progress i { display:block; width:47%; height:100%; border-radius:inherit; background:#238984; }
    .tv-version { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); gap:clamp(24px,5vw,66px); align-items:center; padding:clamp(18px,3vw,34px); overflow:hidden; border:1px solid color-mix(in srgb,var(--teal) 22%,var(--line)); border-radius:var(--radius-card); background:linear-gradient(135deg,#eaf5f2 0%,var(--surface) 52%,#f4eee5 100%); }
    .tv-version__media { aspect-ratio:16/9; overflow:hidden; border:0; border-radius:var(--radius-row); background:#152729; box-shadow:0 18px 40px rgba(16,81,79,.16); }
    .tv-version__media :is(video,img) { display:block; width:100%; height:100%; object-fit:cover; }
    .tv-version__content { max-width:490px; } .tv-version__content h2 { margin-top:13px; font-size:clamp(30px,4vw,47px); } .tv-version__content > p { margin:15px 0 0; color:var(--muted); font-size:16px; }
    .tv-benefits { display:grid; gap:10px; margin:24px 0 0; padding:0; list-style:none; } .tv-benefit { display:grid; grid-template-columns:30px 1fr; gap:11px; align-items:start; } .tv-benefit svg { width:20px; margin-top:2px; color:var(--teal); } .tv-benefit b { display:block; font-size:14px; } .tv-benefit span { display:block; margin-top:2px; color:var(--muted); font-size:13px; line-height:1.42; }
    .tv-version__note { margin-top:22px !important; padding:10px 12px; border-left:3px solid var(--sun); color:#5f5649 !important; background:color-mix(in srgb,var(--sand) 72%,transparent); font-size:12px !important; }
    /* Final narrow-screen guard: the iPad reference and Pencil must not be clipped. */
    @media (max-width:560px) { .device-stage { height:318px; } .device-frame--iphone { width:136px; height:286px; } .device-frame--ipad { width:214px; height:258px; } .device-frame--android-ref { width:142px; height:295px; } .device-frame--web-ref { width:228px; height:132px; } }
    /* Landing QA pass: one predictable device stage, no screenshot bleed or clipped shells. */
    .devices { overflow:clip; }
    .device-stage { overflow:visible; }
    .device-frame--reference .device-screen { clip-path:inset(0 round inherit); }
    .device-frame--ipad .device-screen,.device-frame--web-ref .device-screen { object-fit:cover; object-position:top center; }
    .device-frame--ipad .device-shell,.device-frame--web-ref .device-shell { z-index:3; }
    /* One recognisable Ritm mark across devices; the real interface remains a quiet backdrop. */
    .device-frame--reference .device-screen { opacity:.15; }
    .device-brand-splash { position:absolute; z-index:2; top:50%; left:50%; display:grid; place-items:center; width:54px; height:54px; transform:translate(-50%,-50%); filter:drop-shadow(0 5px 10px rgba(16,81,79,.16)); }
    .device-brand-splash img { display:block; width:100%; height:100%; }
    .device-brand-splash--corner { top:10px; left:11px; width:25px; height:25px; transform:none; filter:none; }
    .device-frame--watch .watch-content { opacity:.15; }
    .device-frame--watch .device-brand-splash { width:33px; height:33px; overflow:hidden; border-radius:50%; }
    .device-frame--watch .device-brand-splash img { transform:scale(1.04); }
    /* Centre each mark inside its actual display aperture, not the transparent mockup canvas. */
    .device-frame--ipad .device-brand-splash { top:49.8%; left:42.1%; }
    .device-frame--web-ref .device-brand-splash { top:43.9%; left:50%; }
    @media (max-width:900px) { .devices { overflow:visible; } .device-card { min-height:370px; } .tv-version { grid-template-columns:1fr; } .tv-version__content { max-width:620px; } }
    @media (max-width:560px) { .device-card { min-height:auto; padding-bottom:24px; } .device-stage { height:326px; } .device-frame--ipad { width:210px; height:253px; } .device-frame--web-ref { width:220px; height:127px; } }
    /* Interactive device map: the product UI is deliberately quiet until a visitor asks for it. */
    .devices { overflow:visible; }
    .device-tree { width:100%; }
    .device-links,.devices-row { width:min(100%,1180px); }
    .device-links { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .devices-row { grid-template-columns:repeat(6,minmax(0,1fr)); align-items:end; gap:12px; }
    .device-card { display:flex; flex-direction:column; align-items:center; width:100%; min-height:0; padding:0 4px 12px; border:0; border-radius:0; color:var(--ink); background:transparent; font:inherit; text-align:center; cursor:pointer; }
    .device-card:focus-visible { outline:3px solid color-mix(in srgb,var(--teal) 72%,#fff); outline-offset:7px; border-radius:var(--radius-row); }
    .device-stage { display:flex; align-items:flex-end; justify-content:center; width:100%; height:310px; overflow:visible; }
    .device-frame { position:relative; isolation:isolate; flex:0 0 auto; overflow:hidden; border:5px solid #101516; border-radius:22px; background:#080b0c; box-shadow:0 16px 28px rgba(8,20,20,.24); }
    .device-frame .device-screen { width:100%; height:100%; object-fit:cover; object-position:top center; opacity:.1; transition:opacity .22s ease; }
    .device-brand-splash { z-index:4; opacity:1; transition:opacity .18s ease,transform .18s ease; }
    .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-screen { opacity:1; }
    .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-brand-splash { opacity:0; transform:translate(-50%,-50%) scale(.84); }
    .device-card h3 { margin:13px 0 0; color:var(--ink); font-size:16px; line-height:1.2; letter-spacing:-.035em; }
    .device-card p { min-height:36px; max-width:168px; margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.36; }
    .device-frame--iphone { width:104px; height:224px; padding:0; border-radius:26px; }
    .device-frame--iphone::after { content:""; position:absolute; z-index:3; top:7px; left:50%; width:42px; height:12px; transform:translateX(-50%); border-radius:9px; background:#080a0b; }
    .device-frame--ipad { width:176px; height:236px; padding:0; border-radius:17px; }
    .device-frame--android-ref { width:106px; height:222px; padding:0; border-radius:20px; }
    .device-frame--android-ref::after { content:""; position:absolute; z-index:3; top:7px; left:50%; width:29px; height:4px; transform:translateX(-50%); border-radius:6px; background:#080a0b; }
    .device-frame--macbook { width:198px; height:126px; margin-bottom:28px; overflow:visible; padding:5px 5px 8px; border:4px solid #101516; border-radius:10px 10px 3px 3px; }
    .device-frame--macbook::after { content:""; position:absolute; z-index:-1; right:-15px; bottom:-12px; left:-15px; height:10px; border-radius:0 0 10px 10px; background:linear-gradient(#3e4749,#151b1c); box-shadow:0 5px 8px rgba(0,0,0,.2); }
    .device-frame--macbook .device-screen { border-radius:3px; }
    .device-frame--watch { width:74px; height:92px; margin-bottom:20px; overflow:visible; border-width:4px; border-radius:22px; }
    .device-frame--watch::before,.device-frame--watch::after { width:33px; height:25px; border-radius:11px 11px 5px 5px; background:#101516; }
    .device-frame--watch::before { bottom:calc(100% - 4px); } .device-frame--watch::after { top:calc(100% - 4px); }
    .device-frame--watch .device-screen { border-radius:17px; object-position:center; }
    .device-frame--watch .device-brand-splash { width:32px; height:32px; border-radius:8px; }
    .device-frame--tv { width:198px; height:118px; margin-bottom:27px; padding:0; border:5px solid #101516; border-radius:6px; background:#101516; }
    .device-frame--tv::before { bottom:-24px; height:22px; background:#101516; } .device-frame--tv::after { bottom:-28px; width:72px; height:5px; background:#101516; }
    .device-frame--tv .device-screen { border-radius:1px; }
    .device-frame--tv .device-brand-splash { width:40px; height:40px; }
    .device-branch-control { position:relative; display:grid; justify-items:end; width:440px; min-height:72px; margin-left:auto; padding-top:0; }
    .device-branch-control::before { content:""; position:absolute; top:-31px; right:109px; width:2px; height:28px; background:color-mix(in srgb,var(--teal) 45%,var(--line)); }
    .device-branch-toggle { min-height:44px; padding:0 19px; border:1px solid var(--teal); border-radius:var(--radius-control); color:var(--teal-dark); background:var(--surface); font:700 14px/1 inherit; cursor:pointer; box-shadow:0 9px 20px rgba(16,81,79,.1); transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
    .device-branch-toggle:hover { background:var(--mint); } .device-branch-toggle[aria-expanded="true"] { color:#fff; border-color:var(--teal-dark); background:var(--teal-dark); box-shadow:0 11px 24px rgba(16,81,79,.22); transform:translateY(-1px); } .device-branch-toggle[aria-expanded="true"]:hover { background:color-mix(in srgb,var(--teal-dark) 88%,#000); } .device-branch-toggle:focus-visible { outline:3px solid color-mix(in srgb,var(--teal) 72%,#fff); outline-offset:3px; }
    .device-roadmap[hidden] { display:none; }
    .device-roadmap { width:440px; margin:0 0 0 auto; }
    .device-roadmap__line { display:block; position:relative; width:220px; height:43px; margin:0 110px; border-top:2px solid color-mix(in srgb,var(--teal) 45%,var(--line)); }
    .device-roadmap__line::before,.device-roadmap__line::after { content:""; position:absolute; width:2px; background:color-mix(in srgb,var(--teal) 45%,var(--line)); }
    .device-roadmap__line::before { top:0; left:0; height:43px; } .device-roadmap__line::after { top:-39px; right:0; height:82px; }
    .devices-row--future { grid-template-areas:"duo watch"; grid-template-columns:repeat(2,minmax(0,1fr)); width:440px; margin-left:auto; }
    .devices-row--future > li:first-child { grid-area:watch; } .devices-row--future > li:last-child { grid-area:duo; }
    .devices-row--future .device-stage { height:114px; align-items:flex-start; }
    .device-card--future { cursor:pointer; }
    .device-card--future:is(:hover,:focus-visible,.is-interface-visible) .duo-screen { opacity:1; }
    .device-card--future:is(:hover,:focus-visible,.is-interface-visible) .device-brand-splash { opacity:0; transform:translate(-50%,-50%) scale(.84); }
    .device-frame--round-watch { width:72px; height:72px; margin-bottom:23px; border-radius:50%; }
    .device-frame--round-watch::before,.device-frame--round-watch::after { content:none; }
    .device-frame--round-watch .device-screen { background:radial-gradient(circle at 40% 30%,#244d4c,#070a0b 72%); }
    /* iPhone Duo: each panel stays independently legible around the hardware hinge. */
    .device-frame--duo { display:grid; grid-template-columns:minmax(0,1fr) 11px minmax(0,1fr); width:172px; height:94px; margin-bottom:15px; overflow:hidden; border:4px solid #090d0e; border-radius:15px; background:#070a0b; box-shadow:0 12px 22px rgba(8,20,20,.3); }
    .device-frame--duo .duo-panel { position:relative; overflow:hidden; background:#111819; }
    .device-frame--duo .duo-panel--left { border-radius:10px 2px 2px 10px; } .device-frame--duo .duo-panel--right { border-radius:2px 10px 10px 2px; }
    .device-frame--duo .duo-hinge { z-index:3; background:linear-gradient(90deg,#0a0e0f,#263033 48%,#090c0d); box-shadow:inset 1px 0 rgba(255,255,255,.12),inset -1px 0 rgba(0,0,0,.75); }
    .device-frame--duo .duo-screen { display:block; width:100%; height:100%; object-fit:cover; opacity:.1; transition:opacity .22s ease; }
    .device-frame--duo .duo-panel--left .duo-screen { object-position:center top; } .device-frame--duo .duo-panel--right .duo-screen { object-position:center 18%; }
    .device-frame--duo .device-brand-splash { left:24%; width:34px; height:34px; }
    .device-card--future .device-brand-splash { opacity:1; }
    /* The supplied ecosystem board is immutable; live product screens are layered over its display apertures. */
    .device-composition { display:block; position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; user-select:none; }
    .device-composition__base { display:block; width:100%; height:100%; object-fit:contain; }
    .devices:has(.device-composition) { padding:0; overflow:hidden; background:var(--surface); }
    .device-tree:has(.device-composition) { position:relative; aspect-ratio:1776/1080; display:block; min-height:0; }
    .device-tree:has(.device-composition) > .device-root,.device-tree:has(.device-composition) > .device-stem,.device-tree:has(.device-composition) > .device-links,.device-tree:has(.device-composition) > .devices-caption { display:none; }
    .device-tree:has(.device-composition) > .devices-row { position:absolute; z-index:1; inset:0; display:block; width:100%; margin:0; }
    .device-tree:has(.device-composition) > .devices-row > li,.device-tree:has(.device-composition) .devices-row--future > li { position:absolute; margin:0; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(1) { left:3.9%; top:29.3%; width:7.6%; height:43.3%; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(2) { left:15.7%; top:29.3%; width:13.4%; height:43.4%; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(3) { left:34%; top:31.5%; width:6.7%; height:41.5%; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(4) { left:45.5%; top:33.5%; width:18.1%; height:37.6%; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(5) { left:68.5%; top:42.2%; width:4.4%; height:25.4%; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(6) { left:77.3%; top:33.5%; width:20.2%; height:37.5%; }
    .device-tree:has(.device-composition) .device-card { position:relative; display:block; width:100%; height:100%; min-height:0; padding:0; overflow:visible; }
    .device-tree:has(.device-composition) .device-stage,.device-tree:has(.device-composition) .device-frame { position:absolute; inset:0; display:block; width:auto; height:auto; padding:0; border:0; border-radius:inherit; background:transparent; box-shadow:none; }
    .device-tree:has(.device-composition) .device-frame::before,.device-tree:has(.device-composition) .device-frame::after { content:none; }
    .device-tree:has(.device-composition) .device-screen { width:100%; height:100%; border-radius:inherit; object-fit:cover; object-position:top; }
    .device-tree:has(.device-composition) .device-brand-splash { z-index:3; width:30%; height:auto; aspect-ratio:1; border-radius:22%; box-shadow:0 5px 12px rgba(7,44,63,.25); }
    .device-tree:has(.device-composition) .device-card h3,.device-tree:has(.device-composition) .device-card p { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .device-tree:has(.device-composition) .device-branch-control { position:absolute; z-index:4; top:68.3%; right:4.9%; width:15.4%; min-height:0; height:6.1%; margin:0; padding:0; }
    .device-tree:has(.device-composition) .device-branch-control::before { display:none; }
    .device-tree:has(.device-composition) .device-branch-toggle { width:100%; height:100%; min-height:0; padding:0 10px; border-radius:999px; font-size:clamp(11px,1.2vw,18px); }
    .device-tree:has(.device-composition) .device-roadmap { position:absolute; z-index:2; inset:0; width:100%; margin:0; }
    .device-tree:has(.device-composition) .device-roadmap__line { display:none; }
    .device-tree:has(.device-composition) .devices-row--future { position:absolute; inset:0; display:block; width:100%; margin:0; }
    .device-tree:has(.device-composition) .devices-row--future > li:first-child { left:59.6%; top:68.8%; width:4.7%; height:11.1%; }
    .device-tree:has(.device-composition) .devices-row--future > li:last-child { left:34.5%; top:63.4%; width:13.1%; height:14.3%; }
    .device-tree:has(.device-composition) .devices-row--future .device-stage { height:100%; }
    .device-tree:has(.device-composition) .device-frame--round-watch { border-radius:50%; }
    .device-tree:has(.device-composition) .device-frame--duo { display:grid; grid-template-columns:minmax(0,1fr) 6px minmax(0,1fr); gap:0; border-radius:10px; }
    .device-tree:has(.device-composition) .duo-panel { overflow:hidden; } .device-tree:has(.device-composition) .duo-hinge { position:static; width:auto; height:auto; background:rgba(12,20,23,.78); }
    @media (max-width:900px) { .device-tree:has(.device-composition) { min-width:720px; } .devices:has(.device-composition) { overflow-x:auto; } .device-tree:has(.device-composition) .device-branch-toggle { font-size:13px; } }
    @media (max-width:1050px) { .devices-row { grid-template-columns:repeat(3,minmax(0,1fr)); width:min(100%,680px); row-gap:26px; } .device-links { display:none; } .device-stem { margin-bottom:22px; } .device-branch-control { width:440px; } .device-roadmap { margin-right:0; } }
    @media (max-width:560px) { .devices { padding:22px 12px; } .devices-row { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:18px 8px; } .device-stage { height:250px; } .devices-row--future .device-stage { height:114px; } .device-frame--ipad { width:140px; height:188px; } .device-frame--macbook { width:144px; height:92px; } .device-frame--tv { width:146px; height:87px; } .device-card h3 { font-size:14px; } .device-card p { font-size:11px; } .device-branch-control { width:100%; } .device-branch-control::before { right:calc(25% - 1px); } .device-branch-toggle { justify-self:end; margin-right:calc(25% - 88px); } .device-roadmap { width:100%; margin-top:14px; } .device-roadmap__line { width:50%; margin-left:25%; margin-right:25%; } .devices-row--future { width:100%; } }
    /* Clean board: screenshots are clipped strictly to real display glass, never to device bodies. */
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(1) { left:3.83% !important; top:29.26% !important; width:7.66% !important; height:26.3% !important; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(2) { left:15.65% !important; top:29.26% !important; width:13.8% !important; height:25.55% !important; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(3) { left:33.9% !important; top:32.1% !important; width:6.81% !important; height:23.3% !important; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(4) { left:45.44% !important; top:33.6% !important; width:18.75% !important; height:21.1% !important; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(5) { left:68.3% !important; top:41.67% !important; width:4.7% !important; height:10.55% !important; }
    .device-tree:has(.device-composition) > .devices-row > li:nth-child(6) { left:77.25% !important; top:33.9% !important; width:19.94% !important; height:19.1% !important; }
    .device-tree:has(.device-composition) .device-stage,.device-tree:has(.device-composition) .device-frame { overflow:hidden; border-radius:1px; }
    .device-tree:has(.device-composition) .device-brand-splash { width:32%; height:auto; border-radius:22%; box-shadow:0 6px 14px rgba(7,44,63,.32); }
    /* The board is the calm default state; product interfaces exist only in their hover/focus cards. */
    .device-tree:has(.device-composition) .device-screen,.device-tree:has(.device-composition) .duo-screen { opacity:0; }
    .device-tree:has(.device-composition) .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-screen,.device-tree:has(.device-composition) .device-card:is(:hover,:focus-visible,.is-interface-visible) .duo-screen { opacity:1; }
    .device-tree:has(.device-composition) .device-branch-control { top:68.1% !important; right:4.9% !important; width:15.1% !important; height:5.7% !important; }
    .device-tree:has(.device-composition) .device-branch-toggle { border:0; color:var(--teal-dark); background:transparent; box-shadow:none; }
    .device-tree:has(.device-composition) .device-branch-toggle[aria-expanded="true"] { color:#fff; background:var(--teal-dark); box-shadow:0 9px 18px rgba(16,81,79,.22); }
    .device-tree:has(.device-composition) .devices-row--future > li:first-child { left:59.5% !important; top:64.8% !important; width:5.35% !important; height:12.2% !important; }
    .device-tree:has(.device-composition) .devices-row--future > li:last-child { left:34.68% !important; top:63.52% !important; width:12.78% !important; height:12.96% !important; }
    .device-tree:has(.device-composition) .device-frame--duo { border-radius:8px; }
    /* One interaction surface per device: hover, keyboard focus and tap enlarge the same preview. */
    .device-tree:has(.device-composition) > .devices-row > li,.device-tree:has(.device-composition) .devices-row--future > li { transform-origin:center; transition:transform .22s ease; }
    .device-tree:has(.device-composition) > .devices-row > li:has(.device-card:is(:hover,:focus-visible,.is-interface-visible)),.device-tree:has(.device-composition) .devices-row--future > li:has(.device-card:is(:hover,:focus-visible,.is-interface-visible)) { z-index:3; transform:scale(1.15); }
    /* Device board v2: one calm hardware canvas, exact product screens as separate layers. */
    .devices:has(.device-board-v2) { padding:0; overflow:hidden; background:var(--surface); }
    .device-board-v2 { position:relative; aspect-ratio:1672/941; min-width:720px; isolation:isolate; }
    .device-board-v2__base { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; user-select:none; pointer-events:none; }
    .device-board-v2__brand { position:absolute; z-index:1; top:9.7%; left:47.35%; width:5.3%; aspect-ratio:1; }
    .device-board-v2__brand img { display:block; width:100%; height:100%; }
    .device-board-v2__nodes { position:absolute; z-index:2; inset:0; margin:0; padding:0; list-style:none; }
    .device-node { position:absolute; transform-origin:center; transition:transform .22s ease; }
    .device-node--iphone { left:3.1%; top:32.4%; width:9.1%; height:31.2%; }
    .device-node--ipad { left:15.4%; top:31.2%; width:13.1%; height:33.5%; }
    .device-node--android { left:34%; top:34.2%; width:9.7%; height:29.8%; }
    .device-node--macbook { left:45.1%; top:36.2%; width:22.5%; height:27.8%; }
    .device-node--apple-watch { left:69%; top:37.8%; width:8.1%; height:26%; }
    .device-node--tv { left:79.5%; top:35.6%; width:18.7%; height:28.7%; }
    .device-card { position:relative; display:block; width:100%; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:12px; color:inherit; background:transparent; cursor:pointer; }
    .device-card:focus-visible { outline:3px solid var(--teal-dark); outline-offset:6px; }
    .device-node__static-ui { position:absolute; z-index:1; display:block; object-fit:cover; object-position:top; opacity:.1; transition:opacity .18s ease; }
    .device-node__static-logo { position:absolute; z-index:2; display:block; width:31%; height:auto; aspect-ratio:1; filter:drop-shadow(0 5px 10px rgba(7,44,63,.26)); transition:opacity .18s ease; }
    .device-node--iphone .device-node__static-ui { inset:4.5% 8.5% 5%; border-radius:16%; } .device-node--iphone .device-node__static-logo { top:38%; left:34.5%; }
    .device-node--ipad .device-node__static-ui { inset:5% 6%; border-radius:7%; } .device-node--ipad .device-node__static-logo { top:37%; left:34.5%; }
    .device-node--android .device-node__static-ui { inset:5% 8%; border-radius:11%; } .device-node--android .device-node__static-logo { top:38%; left:34.5%; }
    .device-node--macbook .device-node__static-ui { top:7%; right:5%; left:5%; height:67%; border-radius:2%; } .device-node--macbook .device-node__static-logo { top:26%; left:34.5%; }
    .device-node--apple-watch .device-node__static-ui { top:20%; right:16%; bottom:20%; left:16%; border-radius:28%; } .device-node--apple-watch .device-node__static-logo { top:40%; left:34.5%; }
    .device-node--tv .device-node__static-ui { top:6%; right:5%; bottom:19%; left:5%; border-radius:1%; } .device-node--tv .device-node__static-logo { top:26%; left:34.5%; }
    .device-node__hover-card { position:absolute; z-index:4; inset:-8%; display:block; opacity:0; pointer-events:none; transform:scale(.87); transition:opacity .18s ease,transform .22s ease; }
    .device-node__hover-frame { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
    .device-node__hover-ui { position:absolute; z-index:1; display:block; object-fit:cover; object-position:top; }
    .device-node--iphone .device-node__hover-ui { inset:10% 20%; border-radius:11%; }
    .device-node--ipad .device-node__hover-ui { inset:12% 14%; border-radius:5%; }
    .device-node--android .device-node__hover-ui { inset:11% 20%; border-radius:8%; }
    .device-node--macbook .device-node__hover-ui { top:17%; right:13%; left:13%; height:48%; border-radius:2%; }
    .device-node--apple-watch .device-node__hover-ui { top:32%; right:29%; bottom:28%; left:29%; border-radius:22%; }
    .device-node--tv .device-node__hover-ui { top:17%; right:11%; bottom:28%; left:11%; border-radius:1%; }
    .device-node__label { position:absolute; top:calc(100% + 8px); left:50%; color:var(--ink); font-size:clamp(10px,1.05vw,15px); font-weight:750; line-height:1; transform:translateX(-50%); white-space:nowrap; }
    .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-node__static-ui,.device-card:is(:hover,:focus-visible,.is-interface-visible) .device-node__static-logo { opacity:0; }
    .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-node__hover-card { opacity:1; transform:scale(1); }
    .device-node:has(.device-card:is(:hover,:focus-visible,.is-interface-visible)) { z-index:4; transform:scale(1.15); }
    .device-board-v2 .device-branch-control { position:absolute; z-index:5; top:61.4%; right:7.8%; width:14.3%; height:5.6%; margin:0; }
    .device-board-v2 .device-branch-toggle { display:grid; width:100%; height:100%; min-height:0; place-items:center; padding:0 10px; border:2px solid var(--teal); border-radius:999px; color:var(--teal-dark); background:var(--surface); font-size:clamp(11px,1.2vw,18px); transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease; }
    .device-board-v2 .device-branch-toggle[aria-expanded="true"] { color:#fff; background:var(--teal-dark); box-shadow:0 9px 18px rgba(16,81,79,.22); transform:scale(1.03); }
    .device-board-v2 .device-roadmap { position:absolute; z-index:3; inset:0; margin:0; }
    .device-board-v2__nodes--future { position:absolute; inset:0; }
    .device-node--android-watch { left:66.3%; top:73%; width:8.5%; height:18%; }
    .device-node--duo { left:37.2%; top:72%; width:17.5%; height:19%; }
    .device-node--android-watch .device-node__static-logo { top:37%; left:34.5%; }
    .device-node--duo .device-node__static-logo { top:38%; left:18%; width:24%; }
    .device-node--android-watch .device-node__hover-ui { top:35%; right:30%; bottom:30%; left:30%; object-fit:contain; }
    .device-node--duo .device-node__hover-ui--duo-left { top:24%; bottom:24%; left:16%; width:31%; border-radius:5%; }
    .device-node--duo .device-node__hover-ui--duo-right { top:24%; right:16%; bottom:24%; width:31%; border-radius:5%; }
    .device-board-v2 .devices-caption { position:absolute; z-index:3; right:10%; bottom:3.8%; left:10%; margin:0; color:var(--muted); font-size:clamp(10px,1.15vw,15px); text-align:center; }
    @media (max-width:900px) { .devices:has(.device-board-v2) { overflow-x:auto; } }
    /* Temporary clean-board state: the supplied substrate is the whole visible block. */
    .device-board-v2__brand,.device-board-v2 .device-node__static-ui,.device-board-v2 .device-node__hover-card,.device-board-v2 .device-node__label,.device-board-v2 .device-branch-control,.device-board-v2 .device-roadmap,.device-board-v2 .devices-caption { display:none !important; }
    /* Device cards v3: every upper device is an independent hardware card, not a crop on one backdrop. */
    .devices:has(.device-board-v2) { padding:clamp(26px,4vw,48px); overflow:hidden; background:linear-gradient(135deg,#effbf8,#fff 52%,#f6f1e9); }
    .device-board-v2 { min-width:0; aspect-ratio:auto; min-height:0; padding:34px 20px 42px; background:radial-gradient(circle at 50% 8%,rgba(147,239,229,.28),transparent 30%); }
    .device-board-v2__base,.device-board-v2__brand { display:none !important; }
    .device-board-v2__nodes { position:relative; z-index:1; display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(10px,2vw,28px); align-items:end; inset:auto; }
    .device-board-v2 .device-node { position:relative; left:auto !important; top:auto !important; width:auto !important; height:270px; transform:none !important; }
    .device-board-v2 .device-card { width:100%; height:100%; pointer-events:none; cursor:default; }
    .device-board-v2 .device-node__hover-card { position:absolute; inset:0; z-index:0; display:block !important; opacity:1 !important; transform:none !important; }
    .device-board-v2 .device-node__hover-frame { width:100%; height:100%; object-fit:contain; }
    .device-board-v2 .device-node__static-ui { z-index:1; display:block !important; opacity:.1 !important; transition:none; }
    .device-board-v2 .device-node__static-logo { z-index:2; display:block !important; opacity:1 !important; transition:none; }
    .device-board-v2 .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-node__static-ui { opacity:.1 !important; }
    .device-board-v2 .device-card:is(:hover,:focus-visible,.is-interface-visible) .device-node__static-logo { opacity:1 !important; }
    .device-board-v2 .device-node__hover-ui { display:none !important; }
    .device-board-v2 .device-node--iphone .device-card { width:112px; margin-inline:auto; }
    .device-board-v2 .device-node--ipad .device-card { width:158px; margin-inline:auto; }
    .device-board-v2 .device-node--android .device-card { width:112px; margin-inline:auto; }
    .device-board-v2 .device-node--macbook .device-card { width:230px; height:176px; margin:0 auto 42px; }
    .device-board-v2 .device-node--apple-watch .device-card { width:110px; margin-inline:auto; }
    .device-board-v2 .device-node--tv .device-card { width:240px; height:178px; margin:0 auto 38px; }
    .device-board-v2 .device-node--iphone .device-node__static-ui { inset:7% 15% 9%; border-radius:14%; }
    .device-board-v2 .device-node--ipad .device-node__static-ui { inset:7% 8%; border-radius:6%; }
    .device-board-v2 .device-node--android .device-node__static-ui { inset:5% 16%; border-radius:10%; }
    .device-board-v2 .device-node--macbook .device-node__static-ui { top:10%; right:11%; left:11%; height:61%; border-radius:2%; }
    .device-board-v2 .device-node--apple-watch .device-node__static-ui { top:23%; right:21%; bottom:24%; left:21%; border-radius:25%; }
    .device-board-v2 .device-node--tv .device-node__static-ui { top:10%; right:7%; bottom:20%; left:7%; border-radius:1%; }
    .device-board-v2 .device-node--iphone .device-node__static-logo,.device-board-v2 .device-node--ipad .device-node__static-logo,.device-board-v2 .device-node--android .device-node__static-logo { top:41%; left:35%; width:30%; }
    .device-board-v2 .device-node--macbook .device-node__static-logo { top:32%; left:35%; width:30%; }
    .device-board-v2 .device-node--apple-watch .device-node__static-logo { top:42%; left:35%; width:30%; }
    .device-board-v2 .device-node--tv .device-node__static-logo { top:31%; left:35%; width:30%; }
    .device-board-v2 .device-roadmap { position:relative; display:block !important; inset:auto; margin-top:22px; }
    .device-board-v2 .device-board-v2__nodes--future { display:grid !important; grid-template-columns:repeat(2,minmax(160px,220px)); justify-content:center; gap:36px; }
    .device-board-v2 .device-node--android-watch,.device-board-v2 .device-node--duo { position:relative; left:auto !important; top:auto !important; width:auto !important; height:174px; }
    .device-board-v2 .device-node--android-watch .device-card { width:106px; margin-inline:auto; }
    .device-board-v2 .device-node--duo .device-card { width:230px; height:154px; margin-inline:auto; }
    .device-board-v2 .device-node--android-watch .device-node__static-logo,.device-board-v2 .device-node--duo .device-node__static-logo { display:none !important; }
    .device-board-v2 .device-branch-control,.device-board-v2 .devices-caption { display:none !important; }
    @media (max-width:1050px) { .device-board-v2__nodes { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:28px; } }
    @media (max-width:640px) { .devices:has(.device-board-v2) { padding:18px 8px; } .device-board-v2 { padding:24px 10px 34px; } .device-board-v2__nodes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 10px; } .device-board-v2 .device-node { height:230px; } .device-board-v2 .device-node--ipad .device-card { width:136px; } .device-board-v2 .device-node--macbook .device-card,.device-board-v2 .device-node--tv .device-card { width:170px; height:132px; margin-bottom:34px; } }
    /* Device cards v4: each device is a single reviewed raster, so no legacy UI layers can overlap. */
    .devices:has(.device-board-v3) { padding:clamp(22px,4vw,48px); overflow:hidden; background:linear-gradient(135deg,#effbf8,#fff 52%,#f6f1e9); }
    .device-board-v3 { padding:clamp(20px,3vw,38px); border:1px solid var(--line); border-radius:var(--radius-card); background:radial-gradient(circle at 50% 8%,rgba(147,239,229,.24),transparent 31%),var(--surface); }
    .device-board-v3__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(12px,2vw,30px); align-items:end; margin:0; padding:0; list-style:none; }
    .device-preview { display:grid; justify-items:center; gap:10px; margin:0; min-width:0; }
    .device-preview img { display:block; width:100%; height:250px; object-fit:contain; }
    .device-preview figcaption { color:var(--ink); font-size:clamp(11px,1.05vw,15px); font-weight:800; line-height:1.2; text-align:center; }
    .device-board-v3__future { grid-template-columns:repeat(2,minmax(160px,230px)); justify-content:center; margin-top:28px; }
    .device-board-v3__future .device-preview img { height:170px; }
    .device-board-v3__caption { margin:28px 0 0; color:var(--muted); font-size:clamp(12px,1.15vw,15px); text-align:center; }
    @media (max-width:1050px) { .device-board-v3__grid { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:28px; } }
    @media (max-width:640px) { .devices:has(.device-board-v3) { padding:18px 8px; } .device-board-v3 { padding:24px 10px; } .device-board-v3__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; } .device-preview img { height:208px; } .device-board-v3__future { grid-template-columns:repeat(2,minmax(132px,1fr)); } .device-board-v3__future .device-preview img { height:130px; } }
    /* Motion is progressive enhancement: static content remains complete if JS is unavailable. */
    html.landing-motion-ready .landing-reveal { opacity:0; transform:translateY(18px); transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1); }
    html.landing-motion-ready .landing-reveal.is-revealed { opacity:1; transform:translateY(0); }
    html.landing-motion-ready .landing-reveal--hero:nth-child(2) { transition-delay:.08s; }
    html.landing-motion-ready .landing-reveal--hero:nth-child(3) { transition-delay:.16s; }
    html.landing-motion-ready .landing-reveal--hero:nth-child(4) { transition-delay:.24s; }
    @media (prefers-reduced-motion:reduce) { html.landing-motion-ready .landing-reveal { opacity:1; transform:none; transition:none; } }
    /* Public version history uses native details: content is usable without JS. */
    .versions-page .topbar { margin-bottom:0; }
    .versions-hero { max-width:780px; padding:clamp(64px,10vw,118px) 0 40px; } .versions-hero h1 { margin:18px 0 14px; font-size:clamp(46px,7vw,82px); } .versions-hero p { max-width:650px; margin:0; color:var(--muted); font-size:clamp(17px,2vw,20px); }
    .versions-list { width:min(100%,940px); padding-bottom:76px; } .versions-count { margin:0 0 16px; color:var(--muted); font-size:14px; }
    .version-card { margin:0 0 12px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:0 10px 28px rgba(16,81,79,.035); } .version-card summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:78px; padding:18px 22px; cursor:pointer; list-style:none; } .version-card summary::-webkit-details-marker { display:none; } .version-card summary:hover { background:color-mix(in srgb,var(--mint) 46%,var(--surface)); }
    .version-card__main { display:grid; gap:3px; } .version-card__main b { color:var(--ink); font-size:20px; letter-spacing:-.035em; } .version-card__main small { color:var(--muted); font-size:12px; font-weight:650; } .version-card__toggle { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; color:var(--teal-dark); font-size:13px; font-weight:800; } .version-card__toggle::after { content:"⌄"; font-size:19px; line-height:1; transition:transform .18s ease; } .version-card[open] .version-card__toggle::after { transform:rotate(180deg); }
    .version-card__content { padding:0 22px 22px; border-top:1px solid var(--line); } .version-card__content h2 { margin:20px 0 10px; color:var(--teal-dark); font-size:13px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; } .version-card__content ul { display:grid; gap:10px; margin:0; padding-left:20px; color:var(--muted); } .version-card__content li::marker { color:var(--teal); }
    @media (max-width:560px) { .versions-hero { padding:42px 0 30px; } .version-card summary { min-height:70px; padding:15px; } .version-card__main b { font-size:18px; } .version-card__toggle { font-size:0; } .version-card__toggle::after { font-size:22px; } .version-card__content { padding:0 15px 18px; } }
