  :root{
    --black:#0a0a0a;
    --bg-black:#000000;
    --navy:#181e24;
    --orange:#fc3d0a;
    --orange-dark:#d63108;
    --red:#c42420;
    --gray-bg:#f5f5f5;
    --gray-bg-2:#f7f7f7;
    --gray-border:#e6e4e2;
    --text-body:#54575d;
    --text-body-dark:rgba(255,255,255,.72);
    --white:#ffffff;

    --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --container: 1240px;
    --pad: clamp(20px, 5vw, 64px);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:var(--font);
    color:var(--black);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; }
  [id]{ scroll-margin-top:84px; }

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

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
  }

  .wrap{
    max-width:var(--container);
    margin:0 auto;
    padding-left:var(--pad);
    padding-right:var(--pad);
  }

  .eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:14px;
  }

  h1,h2,h3{
    font-weight:800;
    letter-spacing:-0.01em;
    line-height:1.08;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:var(--font);
    font-weight:600;
    font-size:15px;
    padding:13px 24px;
    border-radius:var(--radius-sm);
    border:1px solid transparent;
    cursor:pointer;
    transition:background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
    white-space:nowrap;
  }
  .btn:active{ transform:translateY(1px); }
  .btn-primary{
    background:var(--orange);
    color:var(--white);
  }
  .btn-primary:hover{ background:var(--orange-dark); }
  .btn-outline-dark{
    background:transparent;
    color:var(--white);
    border-color:rgba(255,255,255,.35);
  }
  .btn-outline-dark:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.6); }
  .btn-outline-orange{
    background:transparent;
    color:var(--orange);
    border-color:var(--orange);
  }
  .btn-outline-orange:hover{ background:var(--orange); color:var(--white); }
  .btn-white{
    background:var(--white);
    color:var(--red);
  }
  .btn-white:hover{ background:#ffe9e4; }

  .icon{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .icon--solid{ fill:currentColor; stroke:none; }

  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:transparent;
    border-bottom:1px solid transparent;
    transition:background .28s ease, border-color .28s ease, backdrop-filter .28s ease;
  }
  .site-header::before{
    content:'';
    position:absolute;
    left:0; right:0; top:0;
    height:170%;
    background:linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.34) 45%, rgba(0,0,0,0) 100%);
    pointer-events:none;
    transition:opacity .28s ease;
  }
  .site-header.is-stuck::before{ opacity:0; }
  .site-header.is-stuck,
  .site-header.nav-open{
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(10px);
    border-bottom-color:rgba(255,255,255,.08);
  }
  .site-header .wrap{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:76px;
    gap:24px;
  }
  .logo{
    color:var(--white);
    line-height:1.1;
    display:flex;
    align-items:center;
    flex-shrink:0;
  }
  .logo .logo-img{
    display:block;
    height:72px;
    width:auto;
    margin-left:-14px;
  }

  @media (max-width: 620px){
    .logo .logo-img{ height:56px; }
  }
  .main-nav{
    display:flex;
    align-items:center;
    gap:36px;
  }
  .main-nav a{
    font-size:14.5px;
    font-weight:500;
    color:rgba(255,255,255,.82);
    position:relative;
    padding:4px 0;
  }
  .main-nav a::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:-2px;
    height:2px;
    background:var(--orange);
    transform:scaleX(0);
    transition:transform .15s ease;
  }
  .main-nav a:hover{ color:var(--white); }
  .main-nav a:hover::after{ transform:scaleX(1); }

  .header-actions{ display:flex; align-items:center; gap:16px; }

  .nav-toggle{
    display:none;
    background:transparent;
    border:0;
    color:var(--white);
    cursor:pointer;
    padding:8px;
  }
  .nav-toggle svg{ width:24px; height:24px; }
  .nav-toggle .icon-close{ display:none; }
  .site-header.nav-open .nav-toggle .icon-menu{ display:none; }
  .site-header.nav-open .nav-toggle .icon-close{ display:block; }

  @media (max-width: 880px){
    .main-nav{
      position:absolute;
      top:76px; left:0; right:0;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      background:rgba(0,0,0,.97);
      border-bottom:1px solid rgba(255,255,255,.08);
      max-height:0;
      overflow:hidden;
      transition:max-height .25s ease;
    }
    .site-header.nav-open .main-nav{ max-height:280px; }
    .main-nav a{ width:100%; padding:16px var(--pad); border-bottom:1px solid rgba(255,255,255,.06); }
    .main-nav a::after{ display:none; }
    .header-actions .btn-primary{ padding:10px 16px; font-size:14px; }
    .nav-toggle{ display:inline-flex; }
  }

  .hero{
    position:relative;
    isolation:isolate;
    background:#000;
    color:var(--white);
    margin-top:-76px;
    padding:calc(76px + 52px) 0 0;
    overflow:hidden;
  }

  .hero-media{
    position:absolute;
    inset:0;
    z-index:-1;
  }
  .hero-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center right;
    transform:scaleX(-1);
  }
  .hero-scrim{
    position:absolute;
    inset:0;
    background:
      linear-gradient(100deg,
        rgba(0,0,0,0) 28%,
        rgba(0,0,0,.55) 46%,
        rgba(0,0,0,.88) 62%,
        #000 78%),
      radial-gradient(120% 90% at 88% 30%, rgba(252,61,10,.42), transparent 58%),
      radial-gradient(90% 70% at 72% 100%, rgba(196,36,32,.30), transparent 62%);
  }
  .hero-media::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:140px;
    background:linear-gradient(180deg, transparent, #000);
  }

  .hero-grid{
    display:grid;
    grid-template-columns: .9fr 1.1fr;
    gap:48px;
    align-items:center;
    padding-bottom:56px;
  }
  .hero-copy{ grid-column:2; }
  .hero-copy .headline{ margin-bottom:22px; }
  .hero-copy .headline .line-white{ display:block; color:var(--white); font-size:clamp(2.3rem, 4.4vw, 3.6rem); }
  .hero-copy .headline .line-orange{ display:block; color:var(--orange); font-size:clamp(2.3rem, 4.4vw, 3.6rem); }
  .hero-copy .lede{
    font-size:15.5px;
    font-weight:600;
    color:rgba(255,255,255,.92);
    line-height:1.55;
    margin-bottom:18px;
  }
  .hero-copy .body-text{
    font-size:16px;
    color:var(--text-body-dark);
    max-width:480px;
    margin-bottom:32px;
  }
  .hero-ctas{ display:flex; gap:14px; margin-bottom:40px; flex-wrap:wrap; }

  .info-strip{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    border-top:1px solid rgba(255,255,255,.1);
    padding-top:28px;
    padding-bottom:36px;
  }
  .info-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.13);
    border-radius:var(--radius-sm);
  }
  .info-card .icon{ color:var(--orange); width:26px; height:26px; }
  .info-card .info-main{ font-size:14.5px; font-weight:700; color:var(--white); }
  .info-card .info-sub{ font-size:12.5px; color:rgba(255,255,255,.55); margin-top:2px; }

  @media (max-width: 880px){
    .hero-grid{ grid-template-columns:1fr; }
    .hero-copy{ grid-column:1; }
    .hero-img{ object-position:center; }
    .hero-scrim{
      background:
        linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.80) 55%, #000 100%),
        radial-gradient(120% 60% at 70% 12%, rgba(252,61,10,.36), transparent 62%);
    }
    .info-strip{ grid-template-columns:1fr; }
  }

  section.band{ padding:88px 0; }
  @media (max-width: 880px){ section.band{ padding:56px 0; } }

  .section-heading{ font-size:clamp(1.7rem, 3vw, 2.4rem); color:var(--black); }
  .section-heading.on-dark{ color:var(--white); }

  .why-attend{ background:var(--gray-bg); }
  .why-attend .grid{
    display:grid;
    grid-template-columns:.85fr 1.4fr;
    gap:48px;
    align-items:start;
  }
  .why-attend p{ color:var(--text-body); font-size:15px; margin-top:16px; }
  .cards-3{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
  }
  .card{
    background:var(--white);
    border-radius:var(--radius-md);
    padding:28px 24px;
    display:flex;
    flex-direction:column;
    box-shadow:0 1px 2px rgba(0,0,0,.05);
  }
  .card .icon-circle{
    width:44px; height:44px;
    border-radius:50%;
    border:1.4px solid var(--orange);
    display:flex; align-items:center; justify-content:center;
    color:var(--orange);
    margin-bottom:18px;
  }
  .card .icon-circle .icon{ width:20px; height:20px; }
  .card h3{ font-size:18px; font-weight:700; margin-bottom:8px; }
  .card p{ font-size:14px; color:var(--text-body); flex-grow:1; margin:0; }
  .card .underline{ width:26px; height:3px; background:var(--orange); margin-top:20px; border-radius:2px; }

  @media (max-width: 880px){
    .why-attend .grid{ grid-template-columns:1fr; }
    .cards-3{ grid-template-columns:1fr; }
  }

  .event-overview{ background:var(--navy); color:var(--white); }
  .event-overview .grid{
    display:grid;
    grid-template-columns:.8fr 1.5fr;
    gap:48px;
    align-items:center;
  }
  .event-overview .grid p{ color:var(--text-body-dark); font-size:15px; margin-top:16px; max-width:380px; }

  .timeline{
    position:relative;
    display:flex;
    justify-content:space-between;
    padding-top:6px;
  }
  .timeline::before{
    content:'';
    position:absolute;
    top:24px; left:0; right:0;
    height:1px;
    background:rgba(252,61,10,.4);
  }
  .timeline-item{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    flex:1;
    padding:0 6px;
  }
  .timeline-item .dot{
    width:48px; height:48px;
    border-radius:50%;
    border:1.4px solid var(--orange);
    background:var(--navy);
    display:flex; align-items:center; justify-content:center;
    color:var(--orange);
    margin-bottom:14px;
    position:relative;
    z-index:1;
  }
  .timeline-item .dot .icon{ width:20px; height:20px; }
  .timeline-item .time{ font-size:14px; font-weight:700; color:var(--orange); }
  .timeline-item .label{ font-size:13px; color:rgba(255,255,255,.7); margin-top:4px; }

  .sponsors{ margin-top:64px; }
  .sponsors-divider{
    height:1px;
    background:linear-gradient(90deg, var(--orange) 0%, var(--red) 100%);
    margin-bottom:40px;
  }
  .sponsors-heading{ font-size:20px; font-weight:700; margin-bottom:28px; }
  .sponsor-logos{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:28px 32px;
  }
  .sponsor-logos img{
    max-height:40px;
    width:auto;
    filter:brightness(0) invert(1);
    opacity:.9;
  }
  .sponsors-more{
    text-align:center;
    font-size:14px;
    font-weight:700;
    color:rgba(255,255,255,.55);
    margin-top:40px;
  }

  @media (max-width: 880px){
    .event-overview .grid{ grid-template-columns:1fr; }
    .timeline{ flex-direction:column; align-items:flex-start; gap:24px; padding-left:24px; }
    .timeline::before{ top:0; bottom:0; left:24px; right:auto; width:1px; height:auto; }
    .timeline-item{ flex-direction:row; text-align:left; align-items:center; gap:16px; }
    .timeline-item .dot{ margin-bottom:0; margin-left:-24px; }
    .sponsor-logos{ justify-content:flex-start; gap:24px 32px; }
  }

  .embed-section{
    display:grid;
    grid-template-columns: 1fr 1fr;
  }
  .embed-col{
    position:relative;
    display:flex;
    flex-direction:column;
    padding:44px var(--pad) 0;
  }
  .embed-col--venue{ background:var(--gray-bg); }
  .embed-col--register{
    background:#F14617;
  }
  .embed-header{ margin-bottom:24px; }
  .embed-header h2{ font-size:clamp(1.3rem, 2vw, 1.7rem); }
  .embed-col--venue .embed-header h2{ color:var(--black); }
  .embed-col--register .embed-header h2{ color:var(--white); }
  .embed-col--register .embed-header .eyebrow{ color:var(--white); }
  .embed-mount{
    flex:1;
    min-height:480px;
    display:flex;
    padding-bottom:44px;
  }
  .embed-mount > iframe{ flex:none; }
  .embed-mount > iframe{ width:100%; border:0; display:block; }

  .venue-intro{
    font-size:15.5px;
    color:var(--text-body);
    line-height:1.6;
    max-width:52ch;
    margin-bottom:28px;
  }
  .venue-details{ display:grid; gap:22px; margin-bottom:32px; }
  .venue-details li{ display:flex; align-items:flex-start; gap:16px; }
  .venue-icon{
    flex-shrink:0;
    width:44px; height:44px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--orange);
    background:rgba(252,61,10,.09);
    border:1.5px solid rgba(252,61,10,.30);
  }
  .venue-icon .icon{ width:22px; height:22px; stroke-width:1.75; }
  .venue-icon .icon--solid{ width:20px; height:20px; }
  .venue-details h3{ font-size:15px; font-weight:700; margin-bottom:4px; }
  .venue-details p{ font-size:14.5px; color:var(--text-body); line-height:1.55; }

  .venue-map{
    flex:1;
    min-height:320px;
    margin-bottom:44px;
    border-radius:var(--radius-md);
    overflow:hidden;
    border:1px solid var(--gray-border);
  }
  .venue-map iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
    filter:grayscale(.28);
  }

  .embed-placeholder{
    margin:auto;
    max-width:420px;
    padding:36px 32px;
    text-align:center;
    border:1.5px dashed rgba(0,0,0,.25);
    border-radius:var(--radius-md);
    background:rgba(255,255,255,.5);
  }
  .embed-col--register .embed-placeholder{
    border-color:rgba(255,255,255,.55);
    background:rgba(0,0,0,.12);
    color:var(--white);
  }
  .embed-placeholder__tag{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:20px;
    background:rgba(0,0,0,.08);
    margin-bottom:14px;
  }
  .embed-col--register .embed-placeholder__tag{ background:rgba(255,255,255,.2); }
  .embed-placeholder p{ font-size:14.5px; color:var(--text-body); margin-bottom:14px; line-height:1.5; }
  .embed-col--register .embed-placeholder p{ color:rgba(255,255,255,.9); }
  .embed-placeholder code{
    display:block;
    font-family:'SFMono-Regular', Menlo, Consolas, monospace;
    font-size:12px;
    padding:10px 12px;
    border-radius:6px;
    background:rgba(0,0,0,.06);
    color:var(--black);
    word-break:break-all;
  }
  .embed-col--register .embed-placeholder code{
    background:rgba(0,0,0,.25);
    color:var(--white);
  }

  @media (max-width: 880px){
    .embed-section{ grid-template-columns:1fr; }
    .embed-col{ min-height:420px; }
    .venue-map{ margin-top:8px; }
  }

  .faqs{ background:var(--white); }
  .faq-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:32px;
  }
  .faq-item{
    border:1px solid var(--gray-border);
    border-radius:var(--radius-sm);
    overflow:hidden;
  }
  .faq-item summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:17px 18px;
    font-size:14.5px;
    font-weight:600;
    cursor:pointer;
    list-style:none;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .icon{ width:18px; height:18px; color:var(--text-body); transition:transform .2s ease; flex-shrink:0; }
  .faq-item[open] summary .icon{ transform:rotate(180deg); }
  .faq-item .faq-answer{ padding:0 18px 18px; font-size:14px; color:var(--text-body); line-height:1.55; }

  @media (max-width: 880px){ .faq-grid{ grid-template-columns:1fr; } }

  .cta-band{
    background:linear-gradient(120deg, #fc4f16 0%, #c42420 100%);
    color:var(--white);
    position:relative;
    overflow:hidden;
  }
  .cta-band::before{
    content:'';
    position:absolute; inset:0;
    background:repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 60px);
  }
  .cta-band .wrap{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    padding-top:56px;
    padding-bottom:56px;
  }
  .cta-band h2{ font-size:clamp(1.6rem, 2.6vw, 2.1rem); max-width:520px; }
  .cta-band p{ font-size:15px; color:rgba(255,255,255,.9); margin-top:12px; max-width:480px; }

  @media (max-width: 780px){
    .cta-band .wrap{ flex-direction:column; align-items:flex-start; text-align:left; }
  }

  .site-footer{ background:var(--navy); color:rgba(255,255,255,.6); padding:40px 0; }
  .site-footer .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
  }
  .site-footer .logo .logo-img{ height:60px; }
  .footer-links{ display:flex; gap:24px; flex-wrap:wrap; }
  .footer-links a{ font-size:13.5px; }
  .footer-links a:hover{ color:var(--white); }
  .footer-copy{ font-size:12.5px; }

  @media (max-width: 620px){
    .site-footer .wrap{ flex-direction:column; align-items:flex-start; }
  }

  #cc-main{
    --cc-font-family:var(--font);
    --cc-bg:var(--white);
    --cc-primary-color:var(--black);
    --cc-secondary-color:var(--text-body);
    --cc-link-color:var(--orange);

    --cc-btn-primary-bg:var(--orange);
    --cc-btn-primary-color:var(--white);
    --cc-btn-primary-border-color:var(--orange);
    --cc-btn-primary-hover-bg:var(--orange-dark);
    --cc-btn-primary-hover-color:var(--white);
    --cc-btn-primary-hover-border-color:var(--orange-dark);

    --cc-btn-secondary-bg:var(--gray-bg);
    --cc-btn-secondary-color:var(--black);
    --cc-btn-secondary-border-color:var(--gray-border);
    --cc-btn-secondary-hover-bg:#ebe9e7;
    --cc-btn-secondary-hover-color:var(--black);
    --cc-btn-secondary-hover-border-color:#d9d6d3;

    --cc-toggle-on-bg:var(--orange);
    --cc-toggle-off-bg:#b4b1ae;
    --cc-toggle-readonly-bg:#dcd9d6;

    --cc-cookie-category-block-bg:var(--gray-bg-2);
    --cc-cookie-category-block-border:var(--gray-border);
    --cc-cookie-category-block-hover-bg:var(--gray-bg);
    --cc-separator-border-color:var(--gray-border);
    --cc-overlay-bg:rgba(0,0,0,.65);

    --cc-btn-border-radius:var(--radius-sm);
    --cc-modal-border-radius:var(--radius-md);
  }

  .consent-gated{ position:relative; }
  .consent-gated .consent-placeholder{ display:none; }
  .consent-gated--blocked iframe{ visibility:hidden; }
  .consent-gated--blocked .consent-placeholder{
    display:flex;
    position:absolute;
    inset:0;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:28px;
    text-align:center;
    background:var(--gray-bg-2);
  }
  .consent-placeholder p{ font-size:14.5px; color:var(--text-body); max-width:34ch; }
  .consent-placeholder__alt a{ color:var(--orange); font-weight:600; text-decoration:underline; }

  .embed-placeholder__alt{ margin-top:4px; }
  .embed-col--register .embed-placeholder__alt a{
    color:var(--white);
    font-weight:600;
    text-decoration:underline;
  }
