  @font-face {
    font-family: 'DM Sans Variable';
    font-style: normal;
    font-display: swap;
    font-weight: 100 1000;
    src: url('/assets/fonts/dm-sans-latin-wght-normal.woff2') format('woff2-variations');
    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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  @font-face {
    font-family: 'DM Sans Variable';
    font-style: normal;
    font-display: swap;
    font-weight: 100 1000;
    src: url('/assets/fonts/dm-sans-latin-ext-wght-normal.woff2') format('woff2-variations');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }

  :root{
    --bg:#060a07; --bg2:#091108; --surface:#0d1712; --surface2:#102019;
    --line:#1c3327; --text:#e6f3ea; --muted:#7d978a; --faint:#638070;
    --accent:#35e07f; --accent-dim:#2aa861; --radius:14px;
    --shadow-card:inset 0 1px 0 rgba(255,255,255,.04),0 8px 28px rgba(0,0,0,.35);
    --mono:"SF Mono",ui-monospace,"Courier New",monospace;
    --sans:"DM Sans Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{background:var(--bg);color:var(--text);font-family:var(--sans);}
  a{color:inherit;}

  /* matrix rain */
  .matrix{position:fixed;inset:0;overflow:hidden;z-index:0;opacity:.08;pointer-events:none;}
  .matrix span{position:absolute;top:-40%;width:1.1em;color:var(--accent);
    font-family:var(--mono);font-size:13px;line-height:15px;word-break:break-all;
    animation:fall linear infinite;}
  @keyframes fall{from{transform:translateY(0);}to{transform:translateY(170vh);}}

  .page{position:relative;z-index:1;}
  .wrap{max-width:1100px;margin:0 auto;padding:0 28px;}
  .sec{padding:96px 0;}
  .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:3px;text-transform:uppercase;
    color:var(--accent);margin-bottom:18px;}
  h1,h2,h3{font-family:var(--sans);font-weight:600;line-height:1.12;letter-spacing:-0.5px;}
  h1,h2{text-shadow:0 0 22px rgba(53,224,127,.28);}
  .accent{color:var(--accent);}
  p{color:var(--muted);line-height:1.66;}
  .btn{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:700;
    letter-spacing:.4px;padding:13px 24px;border-radius:999px;background:var(--accent);
    color:#04130a;text-decoration:none;border:1px solid var(--accent);cursor:pointer;
    box-shadow:0 0 20px rgba(53,224,127,.32);}
  .btn.ghost{background:transparent;color:var(--accent);box-shadow:none;}
  .btn.sm{padding:9px 16px;font-size:12px;}

  /* nav */
  .nav{display:flex;align-items:center;justify-content:space-between;padding:24px 0;}
  .brand{font-weight:600;font-size:15px;letter-spacing:1px;}
  .brand .accent{text-shadow:0 0 14px rgba(53,224,127,.6);}
  .nav-links{display:flex;gap:26px;align-items:center;}
  .nav-links a{color:var(--muted);text-decoration:none;font-size:13px;}
  .nav-links a:hover{color:var(--text);}

  /* hero */
  .hero{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center;
    padding:64px 0 104px;position:relative;}
  .hero-chart{position:absolute;inset:0;z-index:-1;opacity:.4;}
  .hero h1{font-size:56px;margin-bottom:22px;}
  .hero .lead{font-size:17px;max-width:450px;margin-bottom:30px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .portrait{position:relative;aspect-ratio:1/1;border-radius:var(--radius);
    border:1px solid var(--line);overflow:hidden;
    background:radial-gradient(circle at 50% 35%,#15402850,var(--bg2));
    box-shadow:0 0 50px rgba(53,224,127,.12);}
  .portrait img{width:100%;height:100%;object-fit:cover;display:block;
    filter:saturate(1.15) brightness(.92);}
  .portrait .tag{position:absolute;bottom:14px;left:14px;right:14px;font-family:var(--mono);
    font-size:10px;letter-spacing:2px;color:var(--accent);background:#00000099;
    padding:8px 12px;border-radius:6px;}

  /* stats */
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
  .stat{background:var(--surface);padding:32px 26px;}
  .stat .num{font-family:var(--mono);font-weight:700;font-size:28px;color:var(--accent);}
  .stat .cap{color:var(--muted);font-size:13px;margin-top:8px;}

  /* about */
  .about{display:grid;grid-template-columns:.78fr 1.22fr;gap:52px;align-items:center;}
  .about-card{aspect-ratio:4/5;border-radius:var(--radius);border:1px solid var(--line);
    background:linear-gradient(160deg,var(--surface2),var(--bg2));
    display:flex;align-items:center;justify-content:center;}
  .about-card .g{font-family:var(--mono);color:var(--accent);font-size:13px;
    letter-spacing:2px;opacity:.8;text-align:center;line-height:2;}
  .about h2{font-size:34px;margin-bottom:20px;}
  .about p+p{margin-top:15px;}

  /* approach */
  .approach h2{font-size:34px;margin-bottom:42px;}
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 26px;}
  .pillar .n{font-family:var(--mono);color:var(--accent);font-size:12px;letter-spacing:2px;
    margin-bottom:14px;}
  .pillar h3{font-size:18px;font-weight:600;margin-bottom:11px;}
  .pillar p{font-size:14px;}

  /* trading desk */
  .desk{background:linear-gradient(180deg,var(--bg),#081a10);border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);}
  .desk-head{text-align:center;max-width:600px;margin:0 auto 48px;}
  .desk-head h2{font-size:36px;margin-bottom:16px;}
  .desk-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:52px;}
  .feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:24px 20px;}
  .feat .ic{font-family:var(--mono);color:var(--accent);font-size:11px;letter-spacing:1px;
    border:1px solid var(--line);border-radius:5px;padding:4px 8px;display:inline-block;
    margin-bottom:14px;}
  .feat h3{font-size:15px;font-weight:600;margin-bottom:8px;}
  .feat p{font-size:13px;}
  .pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:680px;margin:0 auto;}
  .pricing.pricing-3{grid-template-columns:repeat(3,1fr);max-width:1000px;}
  .alt-prices{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:1px;margin:6px 0 14px;opacity:0.8;}
  .addr{display:flex;align-items:center;gap:12px;margin:6px 0 14px;padding:8px 10px;border:1px dashed var(--line);border-radius:6px;background:rgba(53,224,127,0.03);}
  .addr-text{flex:1;min-width:0;}
  .addr-qr{flex-shrink:0;background:#fff;padding:4px;border-radius:4px;display:block;}
  .ins-price .addr{margin:14px 0 0;text-align:left;}
  .ins-price .addr-qr{padding:6px;}
  .other-crypto{max-width:1000px;margin:28px auto 0;}
  .oc-head{text-align:center;max-width:600px;margin:0 auto 22px;}
  .oc-head p{color:var(--muted);font-size:13px;line-height:1.65;}
  .oc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .oc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:flex;gap:14px;align-items:center;}
  .oc-card .addr-text{flex:1;min-width:0;}
  .addr-label{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:4px;}
  .addr-val{font-family:var(--mono);font-size:10.5px;color:var(--accent);word-break:break-all;display:block;line-height:1.45;user-select:all;}
  .institutional{margin:28px auto 0;max-width:1000px;background:linear-gradient(180deg,var(--surface),#08160e);border:1px solid var(--accent);border-radius:var(--radius);padding:32px 36px;box-shadow:0 0 36px rgba(53,224,127,.15);}
  .ins-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;}
  .ins-copy h3{font-family:var(--sans);font-weight:600;font-size:22px;margin:8px 0 10px;line-height:1.15;}
  .ins-copy p{font-size:14px;}
  .ins-price{text-align:right;}
  .ins-price .price{margin-bottom:6px;}
  .ins-price .btn{margin-top:14px;}
  .plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:34px 30px;position:relative;}
  .plan.featured{border-color:var(--accent);box-shadow:0 0 36px rgba(53,224,127,.16);}
  .plan .ptag{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--accent);
    text-transform:uppercase;margin-bottom:14px;}
  .plan .badge{position:absolute;top:-11px;right:24px;background:var(--accent);color:#04130a;
    font-family:var(--mono);font-size:10px;letter-spacing:1px;padding:4px 10px;border-radius:5px;
    font-weight:700;}
  .plan .price{font-family:var(--sans);font-weight:600;font-size:40px;}
  .plan .price small{font-family:var(--mono);font-size:13px;color:var(--muted);font-weight:400;}
  .plan .sub{font-size:13px;color:var(--muted);margin:8px 0 22px;}
  .plan ul{list-style:none;margin-bottom:24px;}
  .plan li{font-size:13px;color:var(--text);padding:7px 0 7px 22px;position:relative;}
  .plan li:before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:700;}
  .plan .btn{width:100%;text-align:center;}
  .desk-note{text-align:center;font-family:var(--mono);font-size:11px;color:var(--muted);
    margin-top:24px;letter-spacing:1px;}

  /* weekly read */
  .weekly{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:54px 48px;text-align:center;}
  .weekly h2{font-size:28px;margin-bottom:14px;}
  .weekly p{max-width:430px;margin:0 auto 24px;}
  .wform{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
  .wform input{background:var(--bg);border:1px solid var(--line);color:var(--text);
    padding:13px 16px;border-radius:var(--radius);font-size:13px;min-width:270px;font-family:var(--sans);}

  /* follow */
  .follow{text-align:center;}
  .follow h2{font-size:28px;margin-bottom:30px;}
  .socials{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .social{display:flex;flex-direction:column;gap:6px;align-items:center;background:var(--surface);
    border:1px solid var(--line);border-radius:var(--radius);padding:22px 36px;
    text-decoration:none;min-width:190px;}
  .social .plat{font-family:var(--mono);color:var(--muted);font-size:10px;letter-spacing:2px;
    text-transform:uppercase;}
  .social .handle{color:var(--accent);font-size:15px;font-weight:600;}

  /* footer */
  footer{border-top:1px solid var(--line);padding:46px 0 64px;}
  footer .disc{font-size:12px;color:var(--faint);max-width:660px;line-height:1.7;}
  footer .copy{font-size:12px;color:var(--faint);margin-top:18px;}

  .plan,.feat,.pillar,.institutional,.oc-card,.weekly{box-shadow:var(--shadow-card);}

  /* faq */
  .faq h2{font-size:34px;font-weight:600;letter-spacing:-0.5px;line-height:1.12;margin-bottom:42px;text-shadow:0 0 22px rgba(53,224,127,.25);}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0;box-shadow:var(--shadow-card);}
  .faq-item summary{padding:18px 22px;font-family:var(--sans);font-weight:600;font-size:15px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text);}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";font-family:var(--mono);color:var(--accent);font-size:18px;font-weight:400;transition:transform .15s ease;}
  .faq-item[open] summary::after{content:"\2212";}
  .faq-item p{padding:0 22px 20px;color:var(--muted);font-size:14px;line-height:1.7;margin:0;}
  .faq-item p a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line);}
  .faq-item p a:hover{border-bottom-color:var(--accent);}

  @media(max-width:780px){
    .hero,.about{grid-template-columns:1fr;}
    .stats,.pillars,.desk-feats,.pricing{grid-template-columns:1fr;}
    .hero h1{font-size:38px;}.nav-links a:not(.btn){display:none;}
    .pricing.pricing-3{grid-template-columns:1fr;max-width:none;}
    .institutional{padding:24px 22px;}
    .ins-grid{grid-template-columns:1fr;text-align:center;}
    .ins-price{text-align:center;}
    .addr{flex-direction:column;align-items:flex-start;}
    .addr-qr{align-self:center;}
    .oc-grid{grid-template-columns:1fr;}
    .oc-card{flex-direction:column;align-items:flex-start;}
    .faq-grid{grid-template-columns:1fr;}
  }

/* ---- Mobile / iOS Safari quality-of-life ---- */
html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body{
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Inputs: keep ≥16px so iOS doesn't auto-zoom on focus */
input, button, select, textarea{
  font-size: 16px;
  font-family: inherit;
}
/* Tappable elements: remove the 300ms delay legacy */
a, button, summary, .btn{
  touch-action: manipulation;
}
/* iOS Safari: 100vh historically includes hidden chrome — prefer 100dvh where used.
   None of our current rules use 100vh, but the institutional band's min-height: 80vh
   in inline styles benefits from a sibling rule. */
@supports (height: 100dvh){
  .hero{ min-height: auto; }
}
/* Smaller screens: ease the matrix rain so it doesn't over-clutter narrow viewports */
@media(max-width:560px){
  .matrix{ opacity: 0.05; }
  .hero h1{ font-size: 34px; line-height: 1.15; }
  .stat .num{ font-size: 22px; }
  .desk-head h2{ font-size: 28px; }
  .institutional{ padding: 22px 18px; }
  .institutional h3{ font-size: 18px; }
  .plan .price{ font-size: 32px; }
  .pay-method code{ font-size: 11px; }
  /* Make pricing cards breathe vertically on narrow screens */
  .plan{ padding: 24px 22px; }
}
/* Smooth iOS scroll momentum on long scrollable surfaces (defensive) */
.wrap, .page{ -webkit-overflow-scrolling: touch; }
