/* lifeOS — site styles. JetBrains Mono self-hosted below (OFL); Satoshi via Fontshare (see index.html). */
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-400-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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-400-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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-500-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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-500-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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-600-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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/jetbrains-mono-600-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;
}

    /* ============================================================
       lifeOS design system tokens (ported from the product app)
       ============================================================ */
    :root {
      /* Ink scale */
      --ink-0:#05070C; --ink-1:#0B0F19; --ink-2:#121829; --ink-3:#1B2238;
      --ink-4:#262E48; --ink-5:#3A4264; --ink-6:#5A6488; --ink-7:#8A93B5;
      --ink-8:#B4BBD4; --ink-9:#E2E6F2; --ink-10:#FFFFFF;

      /* Semantic background / foreground */
      --bg-0:var(--ink-0); --bg-1:var(--ink-1); --bg-2:var(--ink-2); --bg-3:var(--ink-3);
      --bg-overlay:rgba(5,7,12,0.72);
      --fg-1:var(--ink-10); --fg-2:var(--ink-9); --fg-3:var(--ink-8);
      --fg-4:var(--ink-7); --fg-5:var(--ink-6);
      --fg-muted:#99A2C2; /* AA-compliant muted text (~8:1 on bg); --fg-5 reserved for decorative */
      --fg-accent:#22D3EE; --fg-link:#6366F1;

      /* Borders */
      --border-1:rgba(255,255,255,0.06);
      --border-2:rgba(255,255,255,0.10);
      --border-strong:rgba(255,255,255,0.18);

      /* Brand */
      --brand-violet:#8B5CF6; --brand-indigo:#6366F1; --brand-cyan:#22D3EE; --brand-mint:#34D399;
      --gradient-brand:linear-gradient(135deg,#8B5CF6 0%,#6366F1 45%,#22D3EE 100%);
      --gradient-brand-soft:linear-gradient(135deg,rgba(139,92,246,.18) 0%,rgba(34,211,238,.14) 100%);
      --gradient-wave:linear-gradient(135deg,#0B0F19 0%,#1A1F3A 40%,#2E2F7E 75%,#4F46E5 100%);

      /* Domain colors */
      --domain-business:#6366F1; --domain-property:#22D3EE; --domain-health:#34D399;
      --domain-wealth:#F5B544; --domain-family:#F25C7A; --domain-mind:#8B5CF6;
      --domain-growth:#A3E635; --domain-impact:#38BDF8;

      /* Radius */
      --radius-xs:4px; --radius-sm:6px; --radius-md:10px; --radius-lg:14px;
      --radius-card:18px; --radius-xl:20px; --radius-2xl:28px; --radius-pill:999px;

      /* Shadows */
      --shadow-1:0 1px 2px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.04);
      --shadow-2:0 8px 24px rgba(2,4,12,0.55), 0 1px 2px rgba(0,0,0,0.4);
      --shadow-3:0 24px 60px rgba(2,4,12,0.70), 0 4px 12px rgba(0,0,0,0.35);
      --shadow-glow-indigo:0 0 0 1px rgba(99,102,241,0.35), 0 12px 40px rgba(99,102,241,0.35);
      --shadow-glow-cyan:0 0 0 1px rgba(34,211,238,0.35), 0 12px 40px rgba(34,211,238,0.30);

      /* Motion */
      --dur-1:120ms; --dur-2:180ms; --dur-3:240ms; --dur-4:360ms; --dur-5:540ms;
      --ease-emphasis:cubic-bezier(0.16,1,0.3,1);
      --ease-standard:cubic-bezier(0.2,0.7,0.2,1);

      /* Type */
      --font-display:"Satoshi",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
      --font-sans:"Satoshi",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
      --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
      --tracking-eyebrow:0.18em; --tracking-tight:-0.02em; --tracking-wide:0.02em;

      --maxw:1140px;
      --pad:clamp(1.25rem,5vw,2.5rem);
    }

    *,*::before,*::after{box-sizing:border-box;}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
    @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

    body{
      margin:0;
      background:var(--bg-0);
      color:var(--fg-2);
      font-family:var(--font-sans);
      font-size:17px;
      line-height:1.45;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      overflow-x:hidden;
    }

    /* Fixed brand glow washes behind everything */
    body::before{
      content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
      background:
        radial-gradient(60% 40% at 18% 0%, rgba(139,92,246,.14), transparent 70%),
        radial-gradient(50% 35% at 92% 4%, rgba(34,211,238,.10), transparent 70%),
        radial-gradient(70% 50% at 50% 100%, rgba(99,102,241,.08), transparent 70%);
    }

    ::selection{background:var(--brand-indigo);color:#fff;}

    h1,h2,h3{
      font-family:var(--font-display);
      font-weight:700;
      line-height:1.1;
      letter-spacing:var(--tracking-tight);
      color:var(--fg-1);
      margin:0;
      text-wrap:balance;
    }
    p{margin:0;}
    a{color:inherit;}

    /* ---------- Layout primitives ---------- */
    .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
    .section{padding-block:clamp(4.5rem,10vw,8rem);position:relative;}
    .section--surface{background:var(--bg-1);border-block:1px solid var(--border-1);}
    .section--wave{background:var(--gradient-wave);}

    .eyebrow{
      font-family:var(--font-mono);
      font-size:.72rem;font-weight:500;
      letter-spacing:var(--tracking-eyebrow);
      text-transform:uppercase;
      color:var(--fg-accent);
      margin:0 0 1.25rem;
    }

    .grad-text{
      background:var(--gradient-brand);
      -webkit-background-clip:text;background-clip:text;
      -webkit-text-fill-color:transparent;color:transparent;
    }

    .lede{color:var(--fg-3);font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:48ch;line-height:1.6;}

    .h-display{font-size:clamp(2.7rem,7.5vw,5rem);letter-spacing:-0.03em;}
    .h-section{font-size:clamp(2rem,4.4vw,3.1rem);}
    .h-card{font-size:clamp(1.25rem,2.2vw,1.55rem);}

    .prose{max-width:60ch;color:var(--fg-3);line-height:1.6;}
    .prose p + p{margin-top:1.2rem;}
    .prose strong{color:var(--fg-1);font-weight:700;}
    .prose em{color:var(--fg-2);font-style:italic;}

    .section__head{max-width:62ch;margin-bottom:clamp(2.5rem,5vw,3.5rem);}
    .section__head h2{margin-bottom:1.3rem;}

    /* ---------- Buttons ---------- */
    .btn{
      display:inline-flex;align-items:center;gap:.55rem;
      font-family:var(--font-sans);font-size:.98rem;font-weight:700;
      padding:.85rem 1.6rem;border-radius:var(--radius-pill);
      text-decoration:none;cursor:pointer;border:1px solid transparent;
      transition:transform var(--dur-3) var(--ease-emphasis),box-shadow var(--dur-3) var(--ease-emphasis),background-color var(--dur-2),border-color var(--dur-2),color var(--dur-2);
      white-space:nowrap;
    }
    .btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-1);}
    .btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-indigo);}
    .btn--ghost{background:rgba(255,255,255,.04);color:var(--fg-2);border-color:var(--border-2);}
    .btn--ghost:hover{transform:translateY(-2px);border-color:var(--border-strong);color:var(--fg-1);}
    .btn--sm{padding:.6rem 1.2rem;font-size:.9rem;}
    .btn .arrow{transition:transform var(--dur-3) var(--ease-emphasis);}
    .btn:hover .arrow{transform:translateX(4px);}

    .cta-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}

    /* ---------- Wordmark ---------- */
    .wordmark{
      font-family:var(--font-display);font-weight:900;letter-spacing:-0.04em;
      color:var(--fg-1);text-decoration:none;line-height:1;
    }

    /* ---------- Nav ---------- */
    .nav{
      position:sticky;top:0;z-index:60;
      background:var(--bg-overlay);
      backdrop-filter:blur(20px) saturate(180%);
      -webkit-backdrop-filter:blur(20px) saturate(180%);
      border-bottom:1px solid transparent;
      transition:border-color var(--dur-3),background-color var(--dur-3);
    }
    .nav.scrolled{border-bottom-color:var(--border-1);}
    .nav__inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
    .brand{display:flex;align-items:center;gap:.6rem;}
    .brand .wordmark{font-size:1.4rem;}
    .nav__links{display:flex;align-items:center;gap:2rem;}
    .nav__links a{text-decoration:none;color:var(--fg-4);font-size:.95rem;font-weight:500;transition:color var(--dur-2);}
    .nav__links a:hover{color:var(--fg-1);}
    .nav__cta{display:flex;align-items:center;gap:1.25rem;}
    .nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
    .nav__toggle span{display:block;width:24px;height:2px;background:var(--fg-1);margin:5px 0;transition:transform var(--dur-3),opacity var(--dur-3);}
    .nav.open .nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    .nav.open .nav__toggle span:nth-child(2){opacity:0;}
    .nav.open .nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

    @media (max-width:880px){
      .nav__links,.nav__cta .btn{display:none;}
      .nav__toggle{display:block;}
      .nav__menu{
        position:fixed;inset:72px 0 auto 0;
        background:var(--bg-1);border-bottom:1px solid var(--border-1);
        flex-direction:column;align-items:stretch;gap:0;
        padding:.5rem var(--pad) 1.5rem;
        transform:translateY(-12px);opacity:0;pointer-events:none;
        transition:transform var(--dur-3) var(--ease-emphasis),opacity var(--dur-3);
      }
      .nav.open .nav__menu{transform:translateY(0);opacity:1;pointer-events:auto;}
      .nav__menu .nav__links{flex-direction:column;align-items:stretch;gap:0;}
      .nav__menu .nav__links a{padding:.85rem 0;border-bottom:1px solid var(--border-1);}
      .nav__menu .btn{display:inline-flex;margin-top:1.25rem;justify-content:center;}
      /* Dropdown collapses to a flat list on mobile */
      .has-menu{width:100%;}
      .menu-trigger{display:none;}
      .mega{position:static;transform:none;opacity:1;pointer-events:auto;width:auto;margin-top:0;padding:0;border:0;background:none;box-shadow:none;grid-template-columns:1fr;}
      .mega::before{display:none;}
      .mega a{padding:.85rem 0;border-bottom:1px solid var(--border-1);border-radius:0;}
      .mega .mi,.mega__desc{display:none;}
    }
    @media (min-width:881px){.nav__menu{display:contents;}}

    /* ---------- Hero ---------- */
    .hero{padding-block:clamp(4.5rem,10vw,8rem) clamp(4rem,9vw,7rem);}
    .hero h1{max-width:16ch;margin-bottom:1.6rem;}
    .hero .lede{max-width:54ch;font-size:clamp(1.1rem,1.8vw,1.35rem);margin-bottom:2.4rem;}
    .hero .cta-row{margin-bottom:3.5rem;}

    /* Glass card */
    .glass{
      background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
      border:1px solid var(--border-2);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow-3);
      backdrop-filter:blur(20px) saturate(180%);
      -webkit-backdrop-filter:blur(20px) saturate(180%);
      overflow:hidden;
    }

    .hero__panel-bar{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--border-1);color:var(--fg-muted);font-family:var(--font-mono);font-size:.78rem;}
    .hero__panel-bar .dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong);}
    .hero__panel-bar .label{margin-left:auto;letter-spacing:.04em;}
    .brief-list{list-style:none;margin:0;padding:.5rem;}
    .brief-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border-radius:var(--radius-md);transition:background-color var(--dur-2);}
    .brief-item + .brief-item{border-top:1px solid var(--border-1);}
    .brief-item:hover{background:rgba(255,255,255,.03);}
    .brief-item .who{font-family:var(--font-mono);font-size:.78rem;color:var(--fg-muted);}
    .brief-item .what{font-weight:500;color:var(--fg-2);}
    .brief-item .what small{display:block;font-weight:400;color:var(--fg-4);font-size:.86rem;margin-top:2px;}
    .pill{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .7rem;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--fg-3);white-space:nowrap;}
    .pill--accent{background:var(--gradient-brand);border-color:transparent;color:#fff;}

    /* ---------- The model ---------- */
    .model-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
    @media (max-width:860px){.model-grid{grid-template-columns:1fr;}}
    .model-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.3rem;}
    .model-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;}
    .model-list .num{font-family:var(--font-mono);font-size:.95rem;color:var(--fg-1);background:var(--gradient-brand-soft);border:1px solid var(--border-2);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;}
    .model-list strong{display:block;color:var(--fg-1);margin-bottom:.15rem;font-weight:700;}
    .model-list span.txt{color:var(--fg-3);}

    .rings{position:relative;aspect-ratio:1/1;max-width:420px;margin:0 auto;width:100%;}
    .ring{position:absolute;border-radius:50%;display:grid;place-items:center;inset:0;}
    .ring--outer{background:rgba(255,255,255,.02);border:1px solid var(--border-1);}
    .ring--mid{inset:16%;background:rgba(255,255,255,.03);border:1px solid var(--border-2);}
    .ring--core{inset:36%;background:var(--gradient-brand);box-shadow:var(--shadow-glow-indigo);}
    .ring__tag{position:absolute;top:1rem;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);}
    .ring--mid .ring__tag{color:var(--fg-4);}
    .ring--core .ring__label{font-family:var(--font-display);font-weight:900;font-size:1.4rem;color:#fff;}

    /* ---------- Cards / grids ---------- */
    .grid{display:grid;gap:1.4rem;}
    .grid--3{grid-template-columns:repeat(3,1fr);}
    .grid--2{grid-template-columns:repeat(2,1fr);}
    @media (max-width:860px){.grid--3,.grid--2{grid-template-columns:1fr;}}

    .card{
      background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--radius-card);
      padding:clamp(1.6rem,3vw,2.2rem);
      transition:transform var(--dur-4) var(--ease-emphasis),box-shadow var(--dur-4) var(--ease-emphasis),border-color var(--dur-3);
    }
    .card:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:var(--border-2);}
    .card__kicker{font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-accent);margin-bottom:.8rem;}
    .card h3{margin-bottom:.7rem;}
    .card .time{display:block;font-family:var(--font-mono);color:var(--fg-muted);font-size:.85rem;margin-bottom:.9rem;}
    .card p{color:var(--fg-3);line-height:1.6;}

    .loop-note{margin-top:2.5rem;text-align:center;font-family:var(--font-display);font-size:clamp(1.05rem,1.8vw,1.4rem);color:var(--fg-2);max-width:62ch;margin-inline:auto;line-height:1.4;}

    /* ---------- Strategy cascade ---------- */
    .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
    @media (max-width:860px){.split{grid-template-columns:1fr;}}
    .cascade{display:grid;gap:0;margin-top:1rem;border:1px solid var(--border-2);border-radius:var(--radius-card);overflow:hidden;background:rgba(5,7,12,.35);backdrop-filter:blur(12px);}
    .cascade__step{display:flex;align-items:baseline;gap:1rem;padding:1rem 1.3rem;border-bottom:1px solid var(--border-1);}
    .cascade__step:last-child{border-bottom:0;background:var(--gradient-brand-soft);}
    .cascade__step .k{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-accent);width:5rem;flex:none;}
    .cascade__step .v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,2.2vw,1.5rem);color:var(--fg-1);}
    .cascade__step .v small{font-family:var(--font-sans);font-weight:400;font-size:.9rem;color:var(--fg-4);display:block;margin-top:.1rem;}

    /* ---------- Ask LOS ---------- */
    .ask-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
    @media (max-width:860px){.ask-grid{grid-template-columns:1fr;}}
    .ask-demo{padding:1.4rem;}
    .ask-q{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--gradient-brand-soft);border:1px solid var(--border-2);margin-bottom:.9rem;}
    .ask-q .ico{color:var(--fg-accent);flex:none;font-family:var(--font-mono);font-weight:600;}
    .ask-q p{font-weight:500;color:var(--fg-1);}
    .ask-a{padding:.4rem 1rem .5rem;color:var(--fg-3);font-size:.96rem;line-height:1.6;}
    .ask-a .src{display:inline-block;margin-top:.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--fg-muted);}

    /* ---------- Domains ---------- */
    .domains{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-1);border:1px solid var(--border-1);border-radius:var(--radius-card);overflow:hidden;margin-top:1rem;}
    @media (max-width:860px){.domains{grid-template-columns:repeat(2,1fr);}}
    @media (max-width:460px){.domains{grid-template-columns:1fr;}}
    .domain{background:var(--bg-1);padding:1.6rem 1.4rem;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;transition:background-color var(--dur-3);position:relative;}
    .domain::after{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--tint,var(--brand-indigo));opacity:.5;transition:opacity var(--dur-3);}
    .domain:hover{background:var(--bg-2);}
    .domain:hover::after{opacity:1;}
    .domain .idx{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted);display:flex;align-items:center;gap:.55rem;}
    .domain .idx .dot{width:9px;height:9px;border-radius:50%;background:var(--tint,var(--brand-indigo));box-shadow:0 0 10px 0 var(--tint,var(--brand-indigo));}
    .domain .name{font-family:var(--font-display);font-weight:700;font-size:1.16rem;line-height:1.2;color:var(--fg-1);}

    /* ---------- Feature lists / stat card ---------- */
    .feature-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem;}
    .feature-list li{display:grid;grid-template-columns:auto 1fr;gap:.8rem;color:var(--fg-3);line-height:1.5;}
    .feature-list .tick{color:var(--fg-accent);flex:none;margin-top:2px;font-family:var(--font-mono);}

    .stat-card{padding:clamp(1.8rem,4vw,2.6rem);}
    .stat-card .big{font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1;letter-spacing:-.03em;}
    .stat-card .cap{color:var(--fg-3);margin-top:.6rem;line-height:1.5;}
    .stat-divider{height:1px;background:var(--border-1);margin:1.6rem 0;}

    .lock-visual{display:grid;place-items:center;padding:clamp(2rem,5vw,3rem);}
    .lock-visual .lock-ring{width:clamp(120px,30vw,180px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--gradient-brand-soft);border:1px solid var(--border-2);box-shadow:var(--shadow-glow-cyan);}
    .lock-visual svg{width:46%;height:auto;color:var(--brand-cyan);}
    .lock-visual .tenant{margin-top:1.4rem;text-align:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--fg-1);}
    .lock-visual .tenant small{display:block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;color:var(--fg-4);margin-top:.4rem;text-transform:none;}

    /* ---------- Pricing ---------- */
    .pricing-card{max-width:740px;margin:0 auto;text-align:center;padding:clamp(2.5rem,6vw,4rem);position:relative;}
    .pricing-card h2{margin-bottom:1.4rem;}
    .pricing-card .prose{margin-inline:auto;margin-bottom:2rem;}
    .includes{list-style:none;margin:0 0 2.2rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem 1.6rem;text-align:left;max-width:560px;margin-inline:auto;}
    @media (max-width:560px){.includes{grid-template-columns:1fr;}}
    .includes li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;color:var(--fg-3);font-size:.96rem;}
    .includes .tick{color:var(--fg-accent);font-family:var(--font-mono);}

    /* ---------- Get started ---------- */
    .cta-final{text-align:center;position:relative;z-index:1;}
    .cta-final h2{max-width:18ch;margin-inline:auto;margin-bottom:1.4rem;}
    .cta-final .lede{margin-inline:auto;margin-bottom:2.4rem;max-width:56ch;color:var(--fg-2);}
    .cta-final .cta-row{justify-content:center;}

    /* ---------- FAQ ---------- */
    .faq{max-width:780px;margin:0 auto;border-top:1px solid var(--border-1);}
    .faq__item{border-bottom:1px solid var(--border-1);}
    .faq__q{width:100%;background:none;border:0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,2vw,1.3rem);color:var(--fg-1);}
    .faq__icon{flex:none;width:22px;height:22px;position:relative;}
    .faq__icon::before,.faq__icon::after{content:"";position:absolute;background:var(--brand-cyan);border-radius:2px;}
    .faq__icon::before{top:10px;left:0;width:22px;height:2px;}
    .faq__icon::after{top:0;left:10px;width:2px;height:22px;transition:transform var(--dur-3) var(--ease-emphasis);}
    .faq__item.open .faq__icon::after{transform:rotate(90deg);}
    .faq__a{max-height:0;overflow:hidden;transition:max-height var(--dur-4) var(--ease-emphasis);}
    .faq__a p{color:var(--fg-3);padding-bottom:1.5rem;max-width:64ch;line-height:1.6;}

    /* ---------- Footer ---------- */
    .footer{background:#03050B;border-top:1px solid var(--border-1);padding-block:clamp(3.5rem,7vw,5rem);}
    .footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border-1);}
    .footer__brand{max-width:36ch;}
    .footer__brand .wordmark{font-size:1.4rem;display:inline-block;margin-bottom:.9rem;}
    .footer__brand p{color:var(--fg-4);}
    .footer__cta{display:flex;flex-wrap:wrap;gap:.8rem;}
    .footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:2rem;color:var(--fg-muted);font-size:.88rem;}
    .footer__bottom nav{display:flex;gap:1.5rem;flex-wrap:wrap;}
    .footer__bottom a{color:var(--fg-muted);text-decoration:none;transition:color var(--dur-2);}
    .footer__bottom a:hover{color:var(--fg-2);}

    /* ---------- Dropdown mega-menu ---------- */
    .has-menu{position:relative;}
    .menu-trigger{font:inherit;font-family:var(--font-sans);background:none;border:0;cursor:pointer;color:var(--fg-4);font-size:.95rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem 0;transition:color var(--dur-2);}
    .menu-trigger:hover,.has-menu:hover .menu-trigger,.has-menu:focus-within .menu-trigger{color:var(--fg-1);}
    .chev{font-size:.6rem;transition:transform var(--dur-3) var(--ease-emphasis);}
    .has-menu:hover .chev,.has-menu:focus-within .chev{transform:rotate(180deg);}
    .mega{
      position:absolute;top:100%;left:50%;margin-top:14px;transform:translateX(-50%) translateY(-8px);
      width:min(640px,92vw);
      background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius-xl);
      box-shadow:var(--shadow-3);padding:.7rem;
      display:grid;grid-template-columns:1fr 1fr;gap:.2rem;
      opacity:0;pointer-events:none;
      transition:opacity var(--dur-3) var(--ease-emphasis),transform var(--dur-3) var(--ease-emphasis);
      z-index:70;
    }
    .mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
    .has-menu:hover .mega,.has-menu:focus-within .mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
    .mega a{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border-radius:var(--radius-md);text-decoration:none;transition:background-color var(--dur-2);}
    .mega a:hover{background:rgba(255,255,255,.05);}
    .mega .mi{flex:none;width:20px;text-align:center;color:var(--tint,var(--brand-cyan));font-family:var(--font-mono);font-size:.95rem;margin-top:1px;}
    .mega__title{display:block;color:var(--fg-1);font-weight:500;font-size:.95rem;margin-bottom:.1rem;}
    .mega__desc{display:block;color:var(--fg-muted);font-size:.8rem;line-height:1.4;}

    /* ---------- UVP band ---------- */
    .uvp{position:relative;border-block:1px solid var(--border-1);background:linear-gradient(180deg,rgba(99,102,241,.06),transparent);text-align:center;}
    .uvp .statement{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.3;letter-spacing:-.02em;color:var(--fg-2);max-width:30ch;margin:0 auto;}

    /* ---------- Personas (who it's for) ---------- */
    .persona{position:relative;overflow:hidden;}
    .persona .role{font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-accent);margin-bottom:.8rem;}
    .persona h3{margin-bottom:.9rem;}
    .persona .chips{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
    .persona .chips li{font-family:var(--font-mono);font-size:.74rem;color:var(--fg-3);padding:.35rem .7rem;border:1px solid var(--border-2);border-radius:var(--radius-pill);}

    /* ---------- Features grid ---------- */
    .feat-card .feat-ico{width:44px;height:44px;border-radius:var(--radius-md);display:grid;place-items:center;margin-bottom:1.2rem;background:var(--gradient-brand-soft);border:1px solid var(--border-2);}
    .feat-card .feat-ico svg{width:22px;height:22px;color:var(--tint,var(--brand-cyan));}
    .feat-card h3{font-size:1.2rem;margin-bottom:.6rem;}
    .feat-card p{color:var(--fg-3);line-height:1.6;}

    /* ---------- Moat (why nothing else fits) ---------- */
    .moat{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.6rem,4vw,2.8rem);margin-top:1rem;}
    @media (max-width:760px){.moat{grid-template-columns:1fr;}}
    .moat-item{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;}
    .moat-item .mn{font-family:var(--font-display);font-weight:900;font-size:1.8rem;line-height:1;letter-spacing:-.03em;}
    .moat-item h3{font-size:1.2rem;margin-bottom:.5rem;}
    .moat-item p{color:var(--fg-3);line-height:1.6;}

    /* ---------- Reveal animation ---------- */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity var(--dur-5) var(--ease-emphasis),transform var(--dur-5) var(--ease-emphasis);}
    .reveal.in{opacity:1;transform:none;}
    .reveal[data-d="1"]{transition-delay:.08s;}
    .reveal[data-d="2"]{transition-delay:.16s;}
    .reveal[data-d="3"]{transition-delay:.24s;}
    @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

    .skip{position:absolute;left:-9999px;top:0;background:var(--brand-indigo);color:#fff;padding:.7rem 1rem;border-radius:0 0 8px 0;z-index:100;}
    .skip:focus{left:0;}

    /* ---------- Keyboard focus visibility ---------- */
    a:focus-visible,.btn:focus-visible,.menu-trigger:focus-visible,.faq__q:focus-visible,
    .nav__toggle:focus-visible,.domain:focus-visible{
      outline:2px solid var(--brand-cyan);outline-offset:3px;border-radius:var(--radius-sm);
    }
    /* Don't show the ring for mouse/touch activation */
    a:focus:not(:focus-visible),.btn:focus:not(:focus-visible),
    .menu-trigger:focus:not(:focus-visible),.faq__q:focus:not(:focus-visible){outline:none;}

    /* ============================================================
       Utilities (replace former inline style attributes)
       ============================================================ */
    .u-wide{max-width:none;}
    .u-center{text-align:center;}
    .u-mt-0{margin-top:0;}
    .u-mt-13{margin-top:1.3rem;}
    .u-mt-14{margin-top:1.4rem;}
    .u-mt-16{margin-top:1.6rem;}
    .u-mb-20{margin-bottom:2rem;}
    .u-just-center{justify-content:center;}

    /* Domain tint (drives .domain::after, .domain .dot, .mega .mi, .feat-ico svg) */
    .tint-business{--tint:var(--domain-business);}
    .tint-property{--tint:var(--domain-property);}
    .tint-health{--tint:var(--domain-health);}
    .tint-wealth{--tint:var(--domain-wealth);}
    .tint-family{--tint:var(--domain-family);}
    .tint-mind{--tint:var(--domain-mind);}
    .tint-growth{--tint:var(--domain-growth);}
    .tint-impact{--tint:var(--domain-impact);}

    /* ============================================================
       Legal / sub-pages (privacy, terms, accessibility)
       ============================================================ */
    .subnav__back{text-decoration:none;color:var(--fg-4);font-size:.95rem;font-weight:500;transition:color var(--dur-2);}
    .subnav__back:hover{color:var(--fg-1);}
    .legal{max-width:72ch;margin:0 auto;padding-block:clamp(3.5rem,7vw,5.5rem);}
    .legal h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.8rem;}
    .legal .updated{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);display:block;margin-bottom:2.5rem;}
    .legal h2{font-size:clamp(1.35rem,2.6vw,1.7rem);margin:2.6rem 0 .9rem;}
    .legal h3{font-size:1.1rem;margin:1.8rem 0 .6rem;}
    .legal p{color:var(--fg-3);line-height:1.7;margin:0 0 1rem;}
    .legal ul{color:var(--fg-3);line-height:1.7;margin:0 0 1rem;padding-left:1.3rem;}
    .legal li{margin-bottom:.45rem;}
    .legal li::marker{color:var(--fg-accent);}
    .legal a{color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:text-decoration-color var(--dur-2);}
    .legal a:hover{text-decoration-color:var(--brand-cyan);}
    .legal .placeholder{font-family:var(--font-mono);font-size:.9em;color:var(--brand-cyan);}
    .legal strong{color:var(--fg-1);}
