  :root{
    --black:#0A0A0A;
    --black-deep:#050505;
    --card:#121110;
    --card-line: rgba(212,175,55,0.14);
    --gold:#D4AF37;
    --gold-light:#F4E5A1;
    --gold-deep:#8B6914;
    --ivory:#F5F1E8;
    --muted:#96908A;
    --glass: rgba(255,255,255,0.03);
    --serif: 'Cormorant Garamond', serif;
    --sans: 'Manrope', sans-serif;
    --mono: 'Space Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  ::selection{background:var(--gold);color:var(--black);}

  body{
    background:var(--black);
    color:var(--ivory);
    font-family:var(--sans);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }

  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  img,svg{display:block;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  }

  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

  /* ---------- Texture ---------- */
  .noise{
    position:fixed;inset:0;pointer-events:none;z-index:2;
    opacity:0.035;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .vignette{
    position:fixed;inset:0;pointer-events:none;z-index:1;
    background:radial-gradient(ellipse at 50% 0%, transparent 0%, transparent 40%, rgba(0,0,0,0.6) 100%);
  }

  /* ---------- Nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:22px 0;
    transition:all .4s cubic-bezier(.2,.8,.2,1);
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    padding:14px 0;
    background:rgba(10,10,10,0.72);
    backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid var(--card-line);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .logo-mark{display:flex;align-items:center;gap:12px;}
  .logo-word{font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:0.02em;color:var(--ivory);}
  .logo-word b{color:var(--gold);font-weight:600;}
  .logo-mark--full{align-items:center;}
  .brand-logo{height:40px;width:auto;display:block;transition:filter .3s ease;}
  .brand-logo:hover{filter:brightness(1.08);}
  .brand-logo--footer{height:44px;}
  .badge-icon{width:140px;height:140px;}

  .nav-links{display:flex;gap:38px;align-items:center;}
  .nav-links a{
    font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);
    position:relative;transition:color .3s ease;
  }
  .nav-links a::after{
    content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);
    transition:width .35s cubic-bezier(.2,.8,.2,1);
  }
  .nav-links a:hover{color:var(--ivory);}
  .nav-links a:hover::after{width:100%;}

  .btn-gold{
    display:inline-flex;align-items:center;gap:10px;
    background:linear-gradient(135deg, var(--gold-light), var(--gold) 55%, var(--gold-deep));
    color:#0A0A0A;
    font-family:var(--sans);font-weight:700;font-size:13.5px;letter-spacing:0.03em;
    padding:13px 26px;border-radius:2px;
    position:relative;overflow:hidden;
    box-shadow:0 0 0 1px rgba(212,175,55,0.5), 0 10px 30px -10px rgba(212,175,55,0.4);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
  }
  .btn-gold::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,0.55) 50%, transparent 80%);
    transform:translateX(-120%);
    transition:transform .7s ease;
  }
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(212,175,55,0.7), 0 16px 40px -8px rgba(212,175,55,0.55);}
  .btn-gold:hover::before{transform:translateX(120%);}
  .btn-gold svg{width:15px;height:15px;flex-shrink:0;}

  .btn-nav{padding:10px 22px;font-size:12.5px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:160px 32px 100px;
    background:
      radial-gradient(ellipse 60% 50% at 50% 15%, rgba(212,175,55,0.10), transparent 60%),
      var(--black);
    overflow:hidden;
  }
  .hero-stream{
    position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:2px;height:220px;
    background:linear-gradient(to bottom, transparent, var(--gold) 40%, var(--gold-light));
    opacity:0.85;
    box-shadow:0 0 24px 2px rgba(212,175,55,0.6);
  }
  .coin{
    position:absolute;top:200px;left:50%;
    width:6px;height:6px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 60%, var(--gold-deep));
    box-shadow:0 0 8px 1px rgba(212,175,55,0.65);
    animation:fall linear infinite;
    opacity:0;
  }
  @keyframes fall{
    0%{opacity:0;transform:translate(0,0) scale(0.6);}
    8%{opacity:1;}
    85%{opacity:0.9;}
    100%{opacity:0;transform:translate(var(--dx), 520px) scale(1);}
  }

  .hero-inner{position:relative;z-index:3;text-align:center;max-width:880px;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:0.25em;text-transform:uppercase;
    color:var(--gold);margin-bottom:28px;
    opacity:0;animation:riseIn .9s cubic-bezier(.2,.8,.2,1) .15s forwards;
  }
  .eyebrow::before,.eyebrow::after{content:'';width:24px;height:1px;background:var(--gold-deep);}

  h1{
    font-family:var(--serif);font-weight:600;
    font-size:clamp(40px, 6.4vw, 84px);
    line-height:1.04;letter-spacing:-0.01em;
    background:linear-gradient(180deg, #FBF6E3 10%, var(--ivory) 45%, var(--gold-light) 90%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    opacity:0;animation:riseIn 1s cubic-bezier(.2,.8,.2,1) .3s forwards;
  }
  h1 em{
    font-style:italic;color:var(--gold);
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    -webkit-background-clip:text;background-clip:text;
  }

  .subtitle{
    margin:26px auto 0;max-width:560px;
    font-size:18px;color:var(--muted);font-weight:400;
    opacity:0;animation:riseIn 1s cubic-bezier(.2,.8,.2,1) .5s forwards;
  }

  .hero-cta{
    margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:16px;
    opacity:0;animation:riseIn 1s cubic-bezier(.2,.8,.2,1) .7s forwards;
  }
  .price-row{display:flex;align-items:center;gap:14px;}
  .price{font-family:var(--mono);font-size:15px;color:var(--gold-light);}
  .price .strike{color:var(--muted);text-decoration:line-through;margin-right:8px;font-size:13px;}
  .hero-cta .hint{font-size:12px;color:var(--muted);letter-spacing:0.04em;}

  @keyframes riseIn{
    from{opacity:0;transform:translateY(22px);}
    to{opacity:1;transform:translateY(0);}
  }

  .scroll-cue{
    position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:10px;
    color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
    opacity:0;animation:riseIn 1s ease 1.1s forwards;
  }
  .scroll-cue .line{width:1px;height:38px;background:linear-gradient(to bottom, var(--gold), transparent);animation:pulseLine 2s ease-in-out infinite;}
  @keyframes pulseLine{0%,100%{opacity:0.3;}50%{opacity:1;}}

  /* ---------- Section shared ---------- */
  section{position:relative;padding:120px 0;}
  .section-head{max-width:640px;margin:0 auto 68px;text-align:center;}
  .section-eyebrow{
    font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);
    margin-bottom:18px;display:block;
  }
  .section-title{
    font-family:var(--serif);font-weight:600;font-size:clamp(30px,4vw,48px);color:var(--ivory);line-height:1.1;
  }
  .section-sub{margin-top:18px;color:var(--muted);font-size:16px;}

  .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}

  .divider{
    height:1px;max-width:1180px;margin:0 auto;
    background:linear-gradient(90deg, transparent, var(--card-line) 50%, transparent);
  }

  /* ---------- Curriculum ---------- */
  .curriculum{background:var(--black-deep);}
  .modules{display:flex;flex-direction:column;gap:1px;background:var(--card-line);border:1px solid var(--card-line);}
  .module{
    background:var(--black);
    display:grid;grid-template-columns:110px 1fr auto;gap:32px;align-items:center;
    padding:36px 40px;position:relative;overflow:hidden;
    transition:background .4s ease;
  }
  .module::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);
    transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.2,.8,.2,1);
  }
  .module:hover{background:var(--card);}
  .module:hover::before{transform:scaleY(1);}
  .m-num{font-family:var(--mono);font-size:15px;color:var(--gold-deep);letter-spacing:0.05em;transition:color .4s ease;}
  .module:hover .m-num{color:var(--gold);}
  .m-body h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--ivory);margin-bottom:10px;}
  .m-body p{color:var(--muted);font-size:15px;max-width:560px;}
  .m-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
  .m-tags span{font-family:var(--mono);font-size:10.5px;letter-spacing:0.05em;color:var(--gold-light);
    border:1px solid var(--card-line);padding:5px 10px;border-radius:2px;background:rgba(212,175,55,0.05);}
  .m-time{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap;text-align:right;}

  @media (max-width:760px){
    .module{grid-template-columns:1fr;gap:14px;padding:28px 24px;}
    .m-time{text-align:left;}
  }

  /* ---------- About ---------- */
  .about-grid{display:grid;grid-template-columns:340px 1fr;gap:72px;align-items:center;}
  .about-badge{
    position:relative;width:280px;height:280px;margin:0 auto;
    display:flex;align-items:center;justify-content:center;
  }
  .badge-ring{
    position:absolute;inset:0;border-radius:50%;
    border:1px solid var(--card-line);
  }
  .badge-ring.r2{inset:18px;border-color:rgba(212,175,55,0.28);}
  .badge-ring.r3{
    inset:0;border:1px dashed rgba(212,175,55,0.35);
    animation:spin 40s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .badge-core{
    width:190px;height:190px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #1c1a16, #0A0A0A 70%);
    border:1px solid var(--gold-deep);
    display:flex;align-items:center;justify-content:center;
    box-shadow:inset 0 0 40px rgba(212,175,55,0.08), 0 20px 50px -20px rgba(0,0,0,0.8);
  }
  .badge-core span{
    font-family:var(--serif);font-weight:600;font-size:56px;
    background:linear-gradient(160deg, var(--gold-light), var(--gold) 60%, var(--gold-deep));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }

  .about-copy .kicker{color:var(--gold);font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:16px;display:block;}
  .about-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.6vw,42px);margin-bottom:22px;}
  .about-copy p{color:var(--muted);font-size:16px;margin-bottom:18px;max-width:560px;}
  .stat-row{display:flex;gap:44px;margin-top:36px;flex-wrap:wrap;}
  .stat b{display:block;font-family:var(--serif);font-size:34px;color:var(--gold-light);}
  .stat span{font-size:12px;color:var(--muted);letter-spacing:0.05em;text-transform:uppercase;}

  @media (max-width:860px){
    .about-grid{grid-template-columns:1fr;gap:48px;text-align:center;}
    .about-copy p{margin-left:auto;margin-right:auto;}
    .stat-row{justify-content:center;}
  }

  /* ---------- FAQ ---------- */
  .faq{background:var(--black-deep);}
  .faq-list{max-width:780px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--card-line);}
  .faq-q{
    width:100%;display:flex;justify-content:space-between;align-items:center;
    padding:28px 4px;text-align:left;
    font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ivory);
  }
  .faq-q .plus{
    width:22px;height:22px;position:relative;flex-shrink:0;margin-left:24px;
  }
  .faq-q .plus::before,.faq-q .plus::after{
    content:'';position:absolute;background:var(--gold);top:50%;left:50%;
    transform:translate(-50%,-50%);
  }
  .faq-q .plus::before{width:14px;height:1.5px;}
  .faq-q .plus::after{width:1.5px;height:14px;transition:transform .35s ease;}
  .faq-item.open .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.8,.2,1);}
  .faq-a p{padding:0 4px 28px;color:var(--muted);font-size:15px;max-width:660px;}

  /* ---------- Contact ---------- */
  .contact-card{
    max-width:780px;margin:0 auto;padding:56px;border-radius:4px;
    background:var(--glass);border:1px solid var(--card-line);
    backdrop-filter:blur(10px);
    text-align:center;
    position:relative;
  }
  .contact-card::before{
    content:'';position:absolute;inset:0;border-radius:4px;padding:1px;
    background:linear-gradient(135deg, rgba(212,175,55,0.5), transparent 40%, transparent 60%, rgba(212,175,55,0.3));
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;
  }
  .contact-methods{display:flex;justify-content:center;gap:56px;margin:38px 0 40px;flex-wrap:wrap;}
  .contact-methods a{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;color:var(--muted);transition:color .3s ease;}
  .contact-methods a:hover{color:var(--gold-light);}
  .c-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--card-line);display:flex;align-items:center;justify-content:center;transition:border-color .3s ease, transform .3s ease;}
  .contact-methods a:hover .c-icon{border-color:var(--gold);transform:translateY(-3px);}
  .c-icon svg{width:18px;height:18px;stroke:var(--gold);}

  /* ---------- Footer ---------- */
  footer{padding:70px 0 34px;background:var(--black-deep);border-top:1px solid var(--card-line);}
  .footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:56px;}
  .footer-brand p{color:var(--muted);font-size:14px;max-width:280px;margin-top:14px;}
  .footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
  .footer-col h4{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .footer-col a{display:block;color:var(--muted);font-size:14px;margin-bottom:12px;transition:color .3s ease;}
  .footer-col a:hover{color:var(--ivory);}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:28px;border-top:1px solid var(--card-line);}
  .footer-bottom p{font-size:12.5px;color:var(--muted);}
  .footer-legal{display:flex;gap:24px;}
  .footer-legal a{font-size:12.5px;color:var(--muted);}
  .footer-legal a:hover{color:var(--gold-light);}

  .icon{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.4;flex-shrink:0;}

  @media (max-width:640px){
    .wrap{padding:0 20px;}
    .nav-links{display:none;}
    section{padding:90px 0;}
    .hero{padding:140px 20px 80px;}
  }
