:root{
    --bg:#f7f8fa; --surface:#fff; --ink:#0f172a; --ink-soft:#475569; --ink-faint:#94a3b8;
    --accent:#2563eb; --accent-dk:#1e40af; --gold:#b88a1b; --line:#e2e8f0; --navy:#0f172a;
    --maxw:1080px; --radius:16px; --shadow:0 10px 30px rgba(15,23,42,.07);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  a{color:var(--accent);text-decoration:none}
  a:hover{color:var(--accent-dk)}

  header.site{position:sticky;top:0;z-index:10;background:rgba(247,248,250,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
  .brand{font-weight:700;font-size:18px;color:var(--ink);white-space:nowrap;flex-shrink:0}
  .brand span{color:var(--accent)}
  nav.main{display:flex;align-items:center;flex-wrap:nowrap}
  nav.main > a, .navgroup > .navtop{color:var(--ink-soft);margin-left:22px;font-size:15px;font-weight:500;white-space:nowrap;cursor:pointer;background:none;border:none;font-family:inherit}
  nav.main > a:hover, .navgroup:hover > .navtop{color:var(--ink)}
  .nav-cta{background:var(--accent);color:#fff !important;padding:.5rem .9rem;border-radius:8px;font-weight:600}
  .nav-cta:hover{background:var(--accent-dk)}
  /* dropdown groups (desktop: hover) */
  .navgroup{position:relative;display:inline-block}
  .navgroup > .navtop::after{content:" \25be";color:var(--ink-faint);font-size:11px}
  .navmenu{display:none;position:absolute;top:100%;left:18px;min-width:190px;background:var(--surface);
    border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.5rem 0;z-index:20}
  .navgroup:hover .navmenu{display:block}
  .navmenu a{display:block;margin:0;padding:.6rem 1.1rem;font-size:14.5px;color:var(--ink-soft);white-space:nowrap}
  .navmenu a:hover{color:var(--accent);background:var(--bg)}
  /* hamburger (CSS-only, checkbox toggle — no JS) */
  .nav-toggle{display:none}
  .burger{display:none;cursor:pointer;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);flex-shrink:0}
  .burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;margin:4px 0;transition:.2s}
  /* 5 grouped top items; collapse to hamburger on tablet/mobile */
  @media(max-width:860px){
    .burger{display:block}
    nav.main{position:fixed;top:64px;left:0;right:0;background:var(--surface);
      border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;
      padding:.5rem 0;box-shadow:var(--shadow);display:none}
    nav.main > a, .navgroup > .navtop{margin:0;padding:.9rem 24px;font-size:16px;border-bottom:1px solid var(--line);display:block;width:100%;text-align:left}
    /* in the drawer, dropdowns just expand inline */
    .navgroup{display:block}
    .navgroup > .navtop::after{display:none}
    .navmenu{display:block;position:static;border:none;box-shadow:none;border-radius:0;padding:0;min-width:0;background:transparent}
    .navmenu a{padding:.7rem 24px .7rem 40px;font-size:15px;border-bottom:1px solid var(--line);color:var(--ink-soft)}
    .nav-cta{margin:.6rem 24px;text-align:center;border-radius:8px}
    .nav-toggle:checked ~ nav.main{display:flex}
    .nav-toggle:checked ~ .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
    .nav-toggle:checked ~ .burger span:nth-child(2){opacity:0}
    .nav-toggle:checked ~ .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  }

  .hero{padding:6rem 0 4rem;text-align:center}
  .hero .eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
  .hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;letter-spacing:-.02em;margin:1rem auto;max-width:14ch}
  .hero .lede{font-size:1.25rem;color:var(--ink-soft);max-width:46ch;margin:0 auto 2rem}
  .formula{display:inline-block;background:var(--navy);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius);font-size:1.05rem;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow)}
  .formula .op{color:var(--ink-faint);margin:0 .3rem}
  .formula .arrow{color:var(--gold);margin:0 .4rem}
  .formula .result{color:var(--gold)}
  .cta-row{margin-top:2.2rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
  .btn{padding:.7rem 1.3rem;border-radius:10px;font-weight:600;font-size:15px;display:inline-block}
  .btn-primary{background:var(--accent);color:#fff}
  .btn-primary:hover{background:var(--accent-dk)}
  .btn-ghost{color:var(--ink);border:1.5px solid var(--line)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

  section{padding:4rem 0;border-top:1px solid var(--line)}
  .section-eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-align:center}
  h2.section-title{font-size:clamp(1.6rem,3.5vw,2.3rem);text-align:center;letter-spacing:-.01em;margin:.6rem auto 1rem;max-width:20ch}
  .section-lede{text-align:center;color:var(--ink-soft);max-width:54ch;margin:0 auto 3rem;font-size:1.08rem}

  .principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
  .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
  .card .k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .card h3{margin:.5rem 0 .4rem;font-size:1.15rem}
  .card p{margin:0;color:var(--ink-soft);font-size:.97rem}

  .two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
  @media(max-width:760px){.two{grid-template-columns:1fr}}
  .impl{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
  .impl .tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
  .impl h3{margin:.4rem 0 .8rem;font-size:1.35rem}
  .impl ul{margin:.8rem 0 0;padding-left:1.1rem;color:var(--ink-soft)}
  .impl li{margin:.45rem 0}
  .impl .proof{margin-top:1rem;font-size:.9rem;color:var(--ink-faint);font-style:italic}

  .bankers{background:var(--navy);color:#e6edf6;border-radius:var(--radius);padding:2.2rem;margin-top:1.5rem}
  .bankers h3{color:#fff;margin:.2rem 0 1rem;font-size:1.3rem}
  .bankers .bb{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
  @media(max-width:760px){.bankers .bb{grid-template-columns:1fr}}
  .bankers .col .h{font-weight:700;color:var(--gold);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}
  .bankers p{color:#c4d0e0;margin:.3rem 0;font-size:.97rem}
  .bankers .punch{margin-top:1.4rem;font-size:1.05rem;color:#fff;border-top:1px solid #243349;padding-top:1.2rem}

  .samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
  .sample{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
  .sample .badge{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
  .sample h3{margin:.4rem 0 .5rem;font-size:1.15rem}
  .sample p{color:var(--ink-soft);font-size:.95rem;margin:0 0 .8rem}

  .enterprise{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:var(--radius);padding:3rem 2.5rem;text-align:center;box-shadow:var(--shadow)}
  .enterprise h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:.3rem auto 1rem;max-width:22ch}
  .enterprise p{color:#c4d0e0;max-width:50ch;margin:0 auto 1.8rem;font-size:1.08rem}
  .enterprise .btn-gold{background:var(--gold);color:#1a1505}
  .enterprise .btn-gold:hover{background:#a87d18}

  footer{padding:3rem 0;border-top:1px solid var(--line);text-align:center;color:var(--ink-faint);font-size:14px}
  footer .formula-mini{color:var(--ink-soft);font-weight:600;margin-bottom:.6rem}

  /* figures / images */
  figure{margin:2.5rem 0 0}
  figure.bleed{margin:2.5rem auto 0;max-width:920px}
  figure img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
  figure figcaption{text-align:center;color:var(--ink-faint);font-size:.85rem;margin-top:.7rem}
  .hero-figure{margin:2.5rem auto 0;max-width:760px}
  .hero-figure img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}

  /* inline pipeline diagram */
  .pipe{display:flex;align-items:stretch;gap:0;justify-content:center;flex-wrap:wrap;margin:2.5rem 0 0}
  .pipe .stage{flex:1;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;text-align:center;box-shadow:var(--shadow)}
  .pipe .stage .n{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
  .pipe .stage h4{margin:.4rem 0 .3rem;font-size:1.05rem;color:var(--accent)}
  .pipe .stage p{margin:0;font-size:.88rem;color:var(--ink-soft)}
  .pipe .arrow{display:flex;align-items:center;color:var(--gold);font-size:1.6rem;font-weight:700;padding:0 .6rem}
  @media(max-width:680px){.pipe{flex-direction:column}.pipe .arrow{transform:rotate(90deg);padding:.3rem 0}}
  .pipe .scales{flex-basis:100%;text-align:center;color:var(--ink-faint);font-size:.85rem;margin-top:1rem}

  /* who it's for / not for */
  .fit{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
  @media(max-width:680px){.fit{grid-template-columns:1fr}}
  .fit .col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow)}
  .fit .col.yes{border-top:3px solid var(--accent)}
  .fit .col.no{border-top:3px solid var(--ink-faint)}
  .fit .col h3{margin:0 0 .8rem;font-size:1.1rem}
  .fit .col ul{margin:0;padding-left:1.1rem;color:var(--ink-soft)}
  .fit .col li{margin:.5rem 0}

  /* writing / articles */
  .posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
  .post{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:1.6rem;box-shadow:var(--shadow);color:inherit;transition:transform .15s,border-color .15s}
  .post:hover{transform:translateY(-2px);border-color:var(--accent);color:inherit}
  .post .post-face{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
  .post h3{margin:.5rem 0 .5rem;font-size:1.2rem;line-height:1.25;color:var(--ink)}
  .post p{margin:0;color:var(--ink-soft);font-size:.95rem;font-style:italic}

  /* why next-level */
  .nl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
  .nl-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
  .nl-card.nl-accent{border:1.5px solid var(--accent)}
  .nl-k{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
  .nl-card p{margin:0;color:var(--ink-soft);font-size:.97rem}
  .nl-foot{max-width:60ch;margin:2.2rem auto 0;text-align:center;color:var(--ink-soft);font-size:1.05rem}

  /* influences */
  .infl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
  .book{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
  .book .t{font-weight:700;font-size:1rem;color:var(--ink)}
  .book .a{font-size:.85rem;color:var(--ink-faint);margin:.15rem 0 .5rem}
  .book .why{font-size:.9rem;color:var(--ink-soft);margin:0}
  .infl-note{text-align:center;color:var(--ink-faint);font-size:.9rem;margin-top:1.8rem}

  /* the stack */
  .stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}
  .tool{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.4rem;box-shadow:var(--shadow)}
  .tool .tn{font-weight:700;font-size:1.02rem;color:var(--ink)}
  .tool .tr{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:.2rem 0 .5rem}
  .tool p{margin:0;color:var(--ink-soft);font-size:.92rem}
  .stack-note{text-align:center;color:var(--ink-soft);max-width:58ch;margin:2rem auto 0;font-size:1rem}

  /* interaction flow */
  .flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.6rem;align-items:center;margin-top:2.5rem}
  @media(max-width:760px){.flow{grid-template-columns:1fr;gap:1rem}.flow .fa{transform:rotate(90deg)}}
  .flow .fcol{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow);align-self:stretch}
  .flow .fcol .fh{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
  .flow .fcol ul{margin:0;padding-left:1.05rem;color:var(--ink-soft);font-size:.92rem}
  .flow .fcol li{margin:.3rem 0}
  .flow .fa{color:var(--gold);font-size:1.6rem;font-weight:700;text-align:center}

  /* building blocks (sovereignty) */
  .blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem}
  .block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border-left:3px solid var(--accent)}
  .block .bk{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}
  .block h3{margin:0 0 .5rem;font-size:1.1rem}
  .block p{margin:0;color:var(--ink-soft);font-size:.93rem}
  .block .eu{display:inline-block;margin-top:.6rem;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.05em}
  .sov-lede strong{color:var(--ink)}

  /* personal domains (icon cards) */
  .domains{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.1rem}
  .domain{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);text-align:center;transition:transform .15s,border-color .15s}
  .domain:hover{transform:translateY(-3px);border-color:var(--accent)}
  .domain .ic{width:46px;height:46px;margin:0 auto .9rem;display:block;color:var(--accent)}
  .domain h3{margin:0 0 .4rem;font-size:1.08rem}
  .domain p{margin:0;color:var(--ink-soft);font-size:.9rem}
  .domain .fav{display:block;margin-top:.7rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}

  /* system components */
  .comp-hero{background:var(--navy);color:#e6edf6;border-radius:var(--radius);padding:2.4rem;margin-bottom:1.5rem;text-align:center;box-shadow:var(--shadow)}
  .comp-hero .ce{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
  .comp-hero h3{color:#fff;font-size:1.4rem;margin:.2rem 0 .8rem}
  .comp-hero p{color:#c4d0e0;max-width:54ch;margin:0 auto;font-size:1rem}
  .cascade{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0}
  .cascade span{background:#13324a;color:#cfe0ef;border-radius:8px;padding:.4rem .8rem;font-size:.8rem;font-weight:600}
  .cascade i{color:var(--gold);font-style:normal;font-weight:700}
  .sources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
  .src{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.3rem;box-shadow:var(--shadow)}
  .src .sh{font-weight:700;font-size:1rem;color:var(--ink)}
  .src p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem}
  .intent{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius);padding:1.8rem;margin-top:1.5rem;box-shadow:var(--shadow)}
  .intent .ik{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
  .intent h3{margin:0 0 .6rem;font-size:1.25rem}
  .intent p{margin:0;color:var(--ink-soft)}

  /* validation loop */
  .loop2{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:1rem}
  .lp{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.4rem;box-shadow:var(--shadow);position:relative}
  .lp .ln{font-size:13px;font-weight:800;color:var(--gold)}
  .lp h4{margin:.3rem 0 .4rem;font-size:1.02rem}
  .lp p{margin:0;color:var(--ink-soft);font-size:.9rem}
  .loop-note{text-align:center;max-width:58ch;margin:2rem auto 0;color:var(--ink-soft);font-size:1.02rem}
  .loop-note strong{color:var(--ink)}

  /* applications grid (compact) */
  .apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}
  .app{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;box-shadow:var(--shadow)}
  .app .an{font-weight:700;font-size:.95rem;color:var(--ink)}
  .app p{margin:.2rem 0 0;color:var(--ink-soft);font-size:.85rem}

  /* own-your-data callout */
  .own{background:linear-gradient(135deg,#0f172a,#13324a);color:#fff;border-radius:var(--radius);padding:2.4rem;text-align:center;box-shadow:var(--shadow);margin-top:1.5rem}
  .own h3{color:#fff;font-size:1.4rem;margin:.2rem 0 .8rem}
  .own p{color:#c4d0e0;max-width:56ch;margin:0 auto;font-size:1.02rem}
  .own .tag2{display:inline-block;margin-top:1rem;color:var(--gold);font-weight:700;font-size:.9rem}

  /* exchange / sharing */
  .exch{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch;margin-top:1rem}
  @media(max-width:680px){.exch{grid-template-columns:1fr}.exch .ea{transform:rotate(90deg)}}
  .ecol{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
  .ecol.inb{border-top:3px solid var(--accent)}
  .ecol.outb{border-top:3px solid var(--gold)}
  .ecol .eh{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
  .ecol.inb .eh{color:var(--accent)} .ecol.outb .eh{color:var(--gold)}
  .ecol h3{margin:0 0 .5rem;font-size:1.15rem}
  .ecol p{margin:0 0 .6rem;color:var(--ink-soft);font-size:.93rem}
  .ecol ul{margin:0;padding-left:1.05rem;color:var(--ink-soft);font-size:.9rem}
  .ecol li{margin:.3rem 0}
  .ea{display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:1.5rem;font-weight:700}
  .share-note{text-align:center;max-width:60ch;margin:1.8rem auto 0;color:var(--ink-soft);font-size:1rem}

  /* play / lego */
  .play{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}
  @media(max-width:760px){.play{grid-template-columns:1fr}}
  .play .pt h3{font-size:1.5rem;margin:0 0 .8rem;letter-spacing:-.01em}
  .play .pt p{color:var(--ink-soft);margin:0 0 1rem}
  .play .pt .em{color:var(--ink);font-weight:600}
  .bricks{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
  .brick{padding:.55rem .9rem;border-radius:8px;font-size:.82rem;font-weight:700;color:#fff}
  .b1{background:#2563eb}.b2{background:#b88a1b}.b3{background:#0f172a}.b4{background:#3b82f6}.b5{background:#1e40af}.b6{background:#475569}
  .play-flow{text-align:center;margin-top:2rem;color:var(--ink-soft);font-size:1.05rem}
  .play-flow strong{color:var(--ink)}

  /* intelligence systems */
  .intel{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
  .isys{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border-top:3px solid var(--accent)}
  .isys .it{font-weight:700;font-size:1.08rem;color:var(--ink)}
  .isys .ist{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:.3rem 0 .5rem}
  .isys p{margin:0;color:var(--ink-soft);font-size:.92rem}
  .st-built{color:#15803d}.st-progress{color:var(--accent)}.st-vision{color:var(--ink-faint)}
  .intel-note{text-align:center;max-width:60ch;margin:2rem auto 0;color:var(--ink-soft);font-size:1rem}
  .intel-note strong{color:var(--ink)}

/* vault structure section */
.vault{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
@media(max-width:760px){.vault{grid-template-columns:1fr}}
.vcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;box-shadow:var(--shadow)}
.vcard .vk{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.vcard h3{margin:0 0 .6rem;font-size:1.2rem}
.vcard p{margin:0 0 .7rem;color:var(--ink-soft);font-size:.95rem}
.vtree{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:.82rem;line-height:1.6;background:#0f172a;color:#cfe0ef;border-radius:10px;padding:1.1rem 1.3rem;overflow-x:auto;margin:.3rem 0 0}
.vtree .c{color:var(--gold)}
.vtree .m{color:#7f9cb8}
.dr{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-top:.8rem}
.drx{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}
.drx .drk{font-weight:800;color:var(--accent);font-size:.95rem}
.drx p{margin:.2rem 0 0;font-size:.82rem;color:var(--ink-soft)}

/* obsidian / frontmatter / dataview */
.fm-demo{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem;align-items:start}
@media(max-width:760px){.fm-demo{grid-template-columns:1fr}}
.code{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:.82rem;line-height:1.55;background:#0f172a;color:#cfe0ef;border-radius:10px;padding:1.1rem 1.3rem;overflow-x:auto}
.code .key{color:#8fb3d9}.code .val{color:#cfe0ef}.code .hl{color:var(--gold)}.code .cm{color:#6b86a3}
.code .tag2{color:#7dd3a8}

/* working environment */
.env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem}
.env{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.env .ek{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}
.env h3{margin:0 0 .5rem;font-size:1.1rem}
.env p{margin:0;color:var(--ink-soft);font-size:.92rem}
.access{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.access .node{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;font-size:.85rem;font-weight:600;box-shadow:var(--shadow)}
.access .node.core{background:var(--navy);color:#fff;border-color:var(--navy)}
.access .ax{color:var(--gold);font-weight:700}

/* curated sources + personas */
.csrc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}
.csrc .c{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem;box-shadow:var(--shadow)}
.csrc .c .ch{font-weight:700;font-size:.97rem;color:var(--ink)}
.csrc .c p{margin:.25rem 0 0;font-size:.88rem;color:var(--ink-soft)}
.persona-arch{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}
@media(max-width:680px){.persona-arch{grid-template-columns:1fr}}
.parch{border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.parch.eng{background:var(--surface);border:1px solid var(--line)}
.parch.per{background:#0f172a;color:#e6edf6;border:1px solid #13324a}
.parch h4{margin:0 0 .6rem;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.parch.eng h4{color:var(--accent)} .parch.per h4{color:var(--gold)}
.parch ul{margin:0;padding-left:1.1rem;font-size:.92rem}
.parch.eng ul{color:var(--ink-soft)} .parch.per ul{color:#c4d0e0}
.parch li{margin:.3rem 0}

/* metadata / DAM explainer */
.meta-ex{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}
@media(max-width:680px){.meta-ex{grid-template-columns:1fr}}
.mx{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.mx .mk{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}
.mx h3{margin:0 0 .5rem;font-size:1.15rem}
.mx p{margin:0;color:var(--ink-soft);font-size:.93rem}
.mfig{margin:1.5rem 0 0}
.mfig img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow)}
.mfig figcaption{font-size:.82rem;color:var(--ink-faint);margin-top:.6rem;text-align:center}

/* in-page table of contents */
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.8rem;box-shadow:var(--shadow);margin:0 auto 1rem;max-width:var(--maxw)}
.toc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}
.toc-group .tg{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.toc-group a{display:block;color:var(--ink-soft);font-size:.92rem;padding:.2rem 0;text-decoration:none}
.toc-group a:hover{color:var(--accent)}
.toc-title{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;text-align:center}

.hero-proof{max-width:54ch;margin:1.4rem auto 0;color:var(--ink-soft);font-size:1.02rem;font-weight:500}

/* capture types */
.captures{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}
.cap{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.3rem;box-shadow:var(--shadow)}
.cap .cgrp{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.cap .row{display:flex;gap:.5rem;margin:.35rem 0;font-size:.9rem}
.cap .row code{font-family:ui-monospace,Consolas,monospace;color:var(--accent);font-size:.82rem;flex:0 0 92px}
.cap .row span{color:var(--ink-soft)}
.cap-naming{font-family:ui-monospace,Consolas,monospace;font-size:.9rem;background:#0f172a;color:#cfe0ef;border-radius:8px;padding:.6rem .9rem;display:inline-block;margin:.3rem 0}
.cap-naming b{color:var(--gold)}

/* about / personal strip */
.about{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center}
@media(max-width:760px){.about{grid-template-columns:1fr}}
.about .about-photos{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.about .about-photos img{width:100%;height:170px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--line)}
.about .about-photos img.tall{grid-row:span 2;height:100%}
.about h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .8rem;letter-spacing:-.01em}
.about p{color:var(--ink-soft);margin:0 0 1rem}
.about .sig{font-weight:700;color:var(--ink)}
