:root{
    --red:#fc0120;
    --cyan:#00fdfd;
    --purple:#7049d4;
    --yellow:#fff507;
    --white:#ffffff;
    --ink:#1d2930;
    --ink-soft:#2b3a44;
    --paper:#f7f8f9;
    --display:'Anton',Impact,sans-serif;
    --body:'Archivo',Helvetica,Arial,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);background:var(--white);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
  .kicker{display:inline-block;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}
  h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1.05;letter-spacing:.01em}
  .accent-red{color:var(--red)} .accent-cyan{color:var(--cyan)} .accent-purple{color:var(--purple)} .accent-yellow{color:var(--yellow)}

  /* ---------- header ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(29,41,48,.96);backdrop-filter:blur(6px);border-bottom:3px solid var(--yellow)}
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:8px 20px;max-width:1120px;margin:0 auto}
  .brand img{height:44px;width:auto}
  .navlinks{display:none;gap:26px;align-items:center}
  .navlinks a{color:var(--white);text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}
  .navlinks a:hover{color:var(--cyan)}
  .navlinks .btn{padding:10px 18px}
  @media(min-width:820px){.nav{display:flex;justify-content:space-between}.navlinks{display:flex}}

  /* ---------- buttons ---------- */
  .btn{display:inline-block;font-family:var(--body);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;text-decoration:none;text-align:center;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
  .btn:hover{transform:translateY(-2px)}
  .btn-red{background:var(--red);color:var(--white);padding:14px 28px;box-shadow:0 6px 0 #a3001a}
  .btn-yellow{background:var(--yellow);color:var(--ink);padding:14px 28px;box-shadow:0 6px 0 #b8b000}
  .btn-cyan{background:var(--cyan);color:var(--ink);padding:14px 28px;box-shadow:0 6px 0 #00a8a8}

  /* ---------- hero ---------- */
  .hero{position:relative;background:var(--ink);color:var(--white);overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:
    radial-gradient(600px 400px at 85% 15%,rgba(112,73,212,.35),transparent 70%),
    radial-gradient(500px 380px at 8% 85%,rgba(0,253,253,.12),transparent 70%)}
  .hero-grid{position:relative;display:grid;gap:40px;padding:64px 0 72px}
  @media(min-width:900px){.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;padding:88px 0 96px}}
  .hero-badge{display:inline-block;background:var(--yellow);color:var(--ink);font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;margin-bottom:22px;transform:rotate(-1.5deg)}
  .hero h1{font-size:clamp(2.9rem,8vw,5.4rem);color:var(--white)}
  .hero h1 .stroke{color:transparent;-webkit-text-stroke:2px var(--cyan)}
  .hero p.lead{margin:20px 0 30px;font-size:1.1rem;max-width:34rem;color:#dbe3e8}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
  .hero-note{font-size:.85rem;color:#9fb0ba;margin-top:14px}
  .session-card{background:var(--white);color:var(--ink);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--red);padding:26px 26px 22px;max-width:420px;justify-self:center;width:100%}
  .session-card .kicker{color:var(--red)}
  .session-date{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.7rem,4.5vw,2.3rem);line-height:1.1;margin:6px 0 10px}
  .session-card p{font-size:.92rem;color:#4a5a64}
  .session-card .mini{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
  .chip{background:var(--paper);border:1.5px solid var(--ink);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px}
  .tri-strip{position:absolute;top:0;left:0;right:0;height:14px;background:
    conic-gradient(from 225deg at 50% 100%,var(--red) 90deg,transparent 0) top/28px 14px repeat-x}
  .wave-strip{position:absolute;bottom:0;left:0;right:0;height:12px;background:
    radial-gradient(circle at 50% 0,var(--purple) 46%,transparent 47%) bottom/28px 24px repeat-x;opacity:.9}

  /* ---------- marquee ---------- */
  .marquee{background:var(--yellow);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);overflow:hidden;white-space:nowrap}
  .marquee-inner{display:inline-block;padding:12px 0;animation:slide 26s linear infinite}
  .marquee span{font-family:var(--display);text-transform:uppercase;font-size:1.15rem;letter-spacing:.06em;color:var(--ink);margin:0 18px}
  .marquee .dot{color:var(--red)}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ---------- sections ---------- */
  section{padding:72px 0}
  @media(min-width:900px){section{padding:96px 0}}
  .sec-head{max-width:46rem;margin-bottom:44px}
  .sec-head h2{font-size:clamp(2rem,5vw,3.1rem);margin-top:10px}
  .sec-head p{margin-top:14px;color:#4a5a64}

  .about{background:var(--paper)}
  .about-grid{display:grid;gap:26px}
  @media(min-width:860px){.about-grid{grid-template-columns:repeat(3,1fr)}}
  .card{background:var(--white);border:3px solid var(--ink);padding:28px 24px;position:relative}
  .card::after{content:"";position:absolute;top:-3px;left:-3px;width:52px;height:8px}
  .card.c-red::after{background:var(--red)} .card.c-cyan::after{background:var(--cyan)} .card.c-purple::after{background:var(--purple)} .card.c-yellow::after{background:var(--yellow)}
  .card .num{font-family:var(--display);font-size:2.2rem;line-height:1}
  .card h3{font-size:1.35rem;margin:12px 0 10px}
  .card p{font-size:.95rem;color:#4a5a64}
  .about-photo{margin-top:52px;display:grid;gap:0;border:4px solid var(--ink);box-shadow:12px 12px 0 var(--purple)}
  .about-photo img{width:100%;height:100%;object-fit:cover}
  @media(min-width:900px){.about-grid.split{grid-template-columns:1fr 1fr;align-items:center}}

  .press{background:var(--ink);color:var(--white)}
  .press .sec-head p{color:#b9c6cf}
  .press-grid{display:grid;gap:36px;align-items:center}
  @media(min-width:900px){.press-grid{grid-template-columns:1fr 1fr}}
  .press img{border:3px solid rgba(255,255,255,.25)}
  .press ul{list-style:none;margin-top:22px;display:grid;gap:14px}
  .press li{padding-left:26px;position:relative;color:#dbe3e8;font-size:.98rem}
  .press li::before{content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;background:var(--cyan)}
  .press .tag{color:var(--yellow);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}

  .gallery{background:var(--white)}
  .g-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  @media(min-width:860px){.g-grid{grid-template-columns:repeat(4,1fr)}}
  .g-grid figure{border:3px solid var(--ink);overflow:hidden;position:relative}
  .g-grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .35s ease}
  .g-grid figure:hover img{transform:scale(1.05)}
  .g-grid figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(29,41,48,.88);color:var(--white);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px}
  .g-grid .wide{grid-column:span 2}
  @media(min-width:860px){.g-grid .wide{grid-column:span 2;grid-row:span 1}}

  /* ---------- signup form ---------- */
  .signup{background:var(--ink);color:var(--white);position:relative}
  .signup::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:
    conic-gradient(from 45deg at 50% 0,var(--yellow) 90deg,transparent 0) top/28px 14px repeat-x}
  .signup .sec-head p{color:#b9c6cf}
  .form-card{background:var(--white);color:var(--ink);border:4px solid var(--ink);box-shadow:12px 12px 0 var(--cyan);padding:34px 26px;max-width:820px;margin:0 auto}
  @media(min-width:700px){.form-card{padding:44px 48px}}
  .form-note{font-size:.9rem;color:#4a5a64;margin-bottom:26px}
  fieldset{border:none;margin:0 0 26px}
  legend{font-family:var(--display);text-transform:uppercase;font-size:1.15rem;margin-bottom:14px;padding-top:18px;border-top:3px solid var(--ink);width:100%}
  fieldset:first-of-type legend{border-top:none;padding-top:0}
  .frow{display:grid;gap:16px;margin-bottom:16px}
  @media(min-width:640px){.frow.c2{grid-template-columns:1fr 1fr}.frow.c3{grid-template-columns:2fr 1fr 1fr}}
  .field label{display:block;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
  .field label .opt{color:#8a97a0;font-weight:600;text-transform:none;letter-spacing:0}
  .field input,.field select,.field textarea{width:100%;padding:12px 14px;border:2px solid var(--ink);background:var(--white);font-family:var(--body);font-size:.95rem;color:var(--ink)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--cyan);outline-offset:0}
  .field textarea{min-height:110px;resize:vertical}
  .hint{font-size:.78rem;color:#8a97a0;margin-top:4px}
  .radio-row{display:flex;flex-wrap:wrap;gap:10px}
  .radio-pill{position:relative}
  .radio-pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
  .radio-pill span{display:inline-block;padding:10px 18px;border:2px solid var(--ink);font-weight:700;font-size:.88rem;cursor:pointer}
  .radio-pill input:checked+span{background:var(--purple);color:var(--white);border-color:var(--purple)}
  .err{display:none;color:var(--red);font-weight:700;font-size:.82rem;margin-top:6px}
  .form-actions{margin-top:8px}
  .form-actions .btn{width:100%}
  @media(min-width:640px){.form-actions .btn{width:auto}}
  .form-foot{font-size:.8rem;color:#8a97a0;margin-top:16px}
  .thanks{display:none;background:#e8fdfd;border:3px solid var(--cyan);padding:40px 30px;text-align:center}
  .thanks h3{font-size:1.8rem;margin-bottom:10px}
  .thanks.show{display:block}
  .signup.show-form .thanks{display:none}

  /* ---------- footer ---------- */
  footer{background:#131c22;color:#c6d1d9;padding:56px 0 40px;border-top:6px solid var(--red)}
  .foot-grid{display:grid;gap:36px}
  @media(min-width:860px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
  footer h4{font-family:var(--display);text-transform:uppercase;font-size:1.05rem;color:var(--white);margin-bottom:14px;letter-spacing:.05em}
  footer a{color:#c6d1d9;text-decoration:none}
  footer a:hover{color:var(--cyan)}
  .foot-list{list-style:none;display:grid;gap:10px;font-size:.92rem}
  .socials{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
  .socials a{border:2px solid #4a5a64;padding:8px 14px;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
  .socials a:hover{border-color:var(--cyan);color:var(--cyan)}
  .foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid #33424d;font-size:.8rem;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
