:root{
    --void:#060c12;
    --panel:#0c141c;
    --fg:#eef4f6;
    --muted:#93a7b1;
    --duck:#f7c948;
    --duck-dim:#a9873a;
    --line:rgba(238,244,246,0.14);
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:border-box;}
  html{scroll-padding-top:env(safe-area-inset-top,0px);}
  html,body{height:100%;margin:0;}
  body{
    background:var(--void);
    color:var(--fg);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}

  .hero{
    position:relative;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    background:var(--void);
    overflow:hidden;
  }
  .hero .bgLayer{
    position:absolute;
    inset:-3%;
    z-index:0;
    width:106%;
    height:106%;
    object-fit:cover;
    object-position:center 42%;
    animation:kenburns 26s ease-in-out infinite alternate;
    will-change:transform;
  }
  .hero .shade{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg, rgba(4,8,14,0.45) 0%, rgba(4,8,14,0.05) 38%, rgba(4,8,14,0.3) 64%, rgba(3,7,11,0.92) 100%);
    pointer-events:none;
  }
  .hero .lightning{
    position:absolute;
    inset:0;
    z-index:1;
    background:rgba(198,214,230,0.55);
    opacity:0;
    mix-blend-mode:screen;
    pointer-events:none;
    animation:flash 9s ease-in-out infinite;
  }
  .hero .rain{
    position:absolute;
    inset:-10% -5%;
    z-index:1;
    pointer-events:none;
    opacity:0.25;
    background-image:repeating-linear-gradient(100deg, transparent 0 4px, rgba(210,224,236,0.5) 4px 5px, transparent 5px 60px);
    background-size:100% 140%;
    animation:rainfall 0.45s linear infinite;
  }
  nav, .heroBody, .stats{ position:relative; z-index:2; }
  @keyframes kenburns{
    0%{ transform:scale(1) translate(0,0); }
    100%{ transform:scale(1.07) translate(-0.6%, -1%); }
  }
  @keyframes flash{
    0%, 91%, 100%{ opacity:0; }
    92%{ opacity:0.8; }
    93%{ opacity:0.1; }
    94%{ opacity:0.6; }
    96%{ opacity:0; }
  }
  @keyframes rainfall{
    0%{ background-position:0 0; }
    100%{ background-position:-4% 6%; }
  }
  @media (prefers-reduced-motion:reduce){
    .hero .bgLayer{ animation:none; }
    .hero .lightning{ animation:none; opacity:0; }
    .hero .rain{ animation:none; }
  }

  nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:clamp(16px,3vw,28px) clamp(20px,5vw,56px);
    padding-top:calc(clamp(16px,3vw,28px) + env(safe-area-inset-top,0px));
    gap:16px;
  }
  .logo{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;
    font-size:22px;
    letter-spacing:0.02em;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .logo::before{
    content:"";
    width:9px;height:9px;border-radius:50%;
    background:var(--duck);
    box-shadow:0 0 10px 2px rgba(247,201,72,0.7);
  }
  .navlinks{
    display:flex;
    gap:clamp(18px,3vw,36px);
    font-size:14px;
    color:var(--muted);
  }
  .navlinks a{transition:color .2s ease;}
  .navlinks a:hover{color:var(--fg);}
  .join{
    border:1px solid var(--line);
    border-radius:999px;
    padding:10px 20px;
    font-size:13px;
    display:flex;
    align-items:center;
    gap:8px;
    transition:border-color .2s ease, background .2s ease;
    white-space:nowrap;
  }
  .join:hover{border-color:var(--duck);background:rgba(247,201,72,0.07);}
  .join svg{width:14px;height:14px;flex:0 0 auto;}
  @media (max-width:720px){ .navlinks{display:none;} }

  .heroBody{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:0 clamp(20px,5vw,56px) clamp(28px,4vw,40px);
  }
  .eyebrow{
    font-size:13px;
    color:var(--duck);
    margin:0 0 6px;
    max-width:520px;
  }
  h1{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;
    font-size:clamp(72px,17vw,220px);
    line-height:0.82;
    letter-spacing:0.01em;
    margin:0;
  }
  .sub{
    max-width:480px;
    color:var(--muted);
    font-size:clamp(14px,1.6vw,17px);
    line-height:1.55;
    margin:18px 0 26px;
  }
  .dive{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    font-weight:500;
    color:var(--fg);
    border-bottom:1px solid var(--duck-dim);
    padding-bottom:4px;
    width:fit-content;
    transition:border-color .2s ease, gap .2s ease;
  }
  .dive:hover{border-color:var(--duck);gap:14px;}
  .dive svg{width:16px;height:16px;}

  .stats{
    display:flex;
    align-items:center;
    border-top:1px solid var(--line);
    background:rgba(6,10,14,0.6);
    backdrop-filter:blur(6px);
  }
  .stat{
    padding:22px clamp(16px,3vw,34px);
    border-right:1px solid var(--line);
  }
  .stat .num{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:700;
    font-size:clamp(18px,2.4vw,26px);
    display:block;
  }
  .stat .label{
    font-size:11px;
    color:var(--muted);
    letter-spacing:0.04em;
  }
  .watch{
    display:flex;
    align-items:center;
    gap:12px;
    padding:22px clamp(16px,3vw,34px);
    border-right:1px solid var(--line);
    font-size:13px;
    color:var(--muted);
    cursor:pointer;
  }
  .playBtn{
    width:34px;height:34px;border-radius:50%;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    flex:0 0 auto;
  }
  .playBtn svg{width:11px;height:11px;fill:var(--fg);margin-left:2px;}
  .social{
    margin-left:auto;
    display:flex;
    gap:18px;
    padding:22px clamp(16px,3vw,34px);
  }
  .social a{opacity:.75;transition:opacity .2s ease;}
  .social a:hover{opacity:1;}
  .social svg{width:16px;height:16px;}
  @media (max-width:820px){
    .watch span{display:none;}
    .stat:nth-child(3){display:none;}
  }
  @media (max-width:560px){
    .stats{flex-wrap:wrap;}
    .stat{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--line);}
    .watch{order:5;flex:1 1 100%;border-right:none;border-bottom:1px solid var(--line);}
    .social{order:6;flex:1 1 100%;margin-left:0;justify-content:center;}
  }

  /* ---- below-fold ---- */
  main{background:var(--void);}
  section{padding:clamp(64px,10vw,120px) clamp(20px,5vw,56px);}
  .about{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(32px,6vw,80px);
    border-bottom:1px solid var(--line);
  }
  @media (max-width:820px){ .about{grid-template-columns:1fr;} }
  .about h2{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;
    font-size:clamp(34px,5vw,56px);
    line-height:1;
    margin:0 0 18px;
  }
  .about p{color:var(--muted);line-height:1.7;font-size:15px;max-width:46ch;}
  .about .tag{color:var(--duck);font-size:13px;margin-bottom:14px;}

  .roadmap{border-bottom:1px solid var(--line);}
  .roadmap h2{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:900;
    font-size:clamp(34px,5vw,56px);
    margin:0 0 40px;
  }
  .steps{display:flex;flex-direction:column;}
  .step{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:20px;
    padding:22px 0;
    border-top:1px solid var(--line);
  }
  .step:last-child{border-bottom:1px solid var(--line);}
  .step .n{
    font-family:'Big Shoulders Display',sans-serif;
    font-weight:700;
    color:var(--duck-dim);
    font-size:20px;
  }
  .step h3{margin:0 0 6px;font-size:17px;font-weight:600;}
  .step p{margin:0;color:var(--muted);font-size:14px;max-width:56ch;line-height:1.6;}

  footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:28px clamp(20px,5vw,56px);
    color:var(--muted);
    font-size:12px;
  }
  @media (max-width:560px){ footer{flex-direction:column;gap:10px;text-align:center;} }
