:root{
    --bg:#ffffff;
    --surface:#f5f6f6;
    --surface-alt:#eef0f0;
    --surface-dark:#eceeee;
    --text:#333333;
    --text-muted:#5b6770;
    --text-soft:#7c868d;
    --border:#d0d3d4;
    --border-strong:#c2c6c9;

    --teal:#78a22f;
    --teal-deep:#5c7f24;
    --navy:#00467f;
    --navy-deep:#002e53;
    --blue:#3d4242;
    --slate:#5c6363;
    --tan:#8b9291;
    --tan-deep:#2b3030;
    --green:#3d4242;
    --purple:#00467f;
    --orange:#008b99;
    --orange-deep:#00707c;

    --on-navy:#f2f3f3;
    --on-navy-muted:#a3aaae;

    --shadow-sm: 0 1px 2px rgba(29,37,44,.06);
    --shadow-md: 0 8px 24px rgba(29,37,44,.10);
    --shadow-lg: 0 24px 56px rgba(29,37,44,.22);

    --font-display: 'Times New Roman', Times, Georgia, serif;
    --font-body: Arial, Helvetica, sans-serif;
    --font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#14191c;
      --surface:#1a2124;
      --surface-alt:#1c2225;
      --surface-dark:#171d20;
      --text:#f2f3f3;
      --text-muted:#c2c6c9;
      --text-soft:#a3aaae;
      --border:#3a4247;
      --border-strong:#4a5257;

      --teal:#a8d15c;
      --teal-deep:#c3e085;
      --navy:#3d7ab8;
      --navy-deep:#001f38;
      --blue:#8b9291;
      --slate:#a8afae;
      --tan:#c2c6c9;
      --tan-deep:#d0d3d4;
      --green:#8b9291;
      --purple:#3d7ab8;
      --orange:#33b0bd;
      --orange-deep:#5cc7d1;

      --on-navy:#f2f3f3;
      --on-navy-muted:#c2c6c9;

      --shadow-lg: 0 24px 56px rgba(0,0,0,.5);
    }
  }
  :root[data-theme="dark"]{
    --bg:#14191c;
    --surface:#1a2124;
    --surface-alt:#1c2225;
    --surface-dark:#171d20;
    --text:#f2f3f3;
    --text-muted:#c2c6c9;
    --text-soft:#a3aaae;
    --border:#3a4247;
    --border-strong:#4a5257;

    --teal:#a8d15c;
    --teal-deep:#c3e085;
    --navy:#3d7ab8;
    --navy-deep:#001f38;
    --blue:#8b9291;
    --slate:#a8afae;
    --tan:#c2c6c9;
    --tan-deep:#d0d3d4;
    --green:#8b9291;
    --purple:#3d7ab8;
    --orange:#33b0bd;
    --orange-deep:#5cc7d1;

    --on-navy:#f2f3f3;
    --on-navy-muted:#c2c6c9;

    --shadow-lg: 0 24px 56px rgba(0,0,0,.5);
  }

  /* ---------------------------------------------------------
     RESET-ISH
  --------------------------------------------------------- */
section.section {
    background: unset;
    border-top: unset;
    margin: 30px 0;
    /* padding: 50px 0; */
    padding: 30px 0;
}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    font-size: 18.5px !important;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
	p {
		color: var(--text);
	}
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration: underline;}
  h1,h2,h3,h4{ font-family:var(--font-display); margin:0px 0px 10px 0px; text-wrap:balance; }
  p{ margin:0; }
  ul{ margin:0; }
  .container{
    width:100%;
    max-width:1180px;
    margin-inline:auto;
    padding-inline:24px;
  }
ul.nav-list li a {
    -webkit-transition: background 0.1s;
    transition: background 0.1s;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding: 8px 0 8px 22px;
    display: block;
    color: #666;
    font-size: 0.9em;
    text-decoration: none;
    line-height: 27px;
}
ul.nav-list li > a.active {
    font-weight: 100;
}
  section{ overflow-x:hidden; }
  :focus-visible{ outline:3px solid var(--orange); outline-offset:3px; border-radius:2px; }

  .eyebrow{
    font-family:var(--font-mono);
    font-weight:700;
    font-size:14.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:17px;
    letter-spacing:.01em;
    padding:15px 30px;
    border-radius:3px;
    border:2px solid transparent;
    cursor:pointer;
    text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
    white-space:nowrap;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{
    background:var(--orange);
    color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
    font-weight:700;
    box-shadow: var(--shadow-md);
  }
  .btn-primary:hover{ background:var(--orange-deep); }
  .btn-ghost{
    background:transparent;
    border-color:rgba(238,244,246,.55);
    color:var(--on-navy);
  }
  .btn-ghost:hover{ border-color:#fff; background:rgba(238,244,246,.08); }
  .btn-outline{
    background:transparent;
    border-color:var(--navy);
    color:var(--navy);
  }
  .btn-outline:hover{ background:var(--navy); color:var(--on-navy); }
  .btn-sm{ padding:11px 22px; font-size:15.5px; }

  .badge-pill{
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid rgba(238,244,246,.4);
    border-radius:999px;
    padding:9px 18px 9px 14px;
    font-size:15px; font-weight:600;
    color:var(--on-navy);
  }
  .badge-pill .dot-live{
    width:7px; height:7px; border-radius:50%;
    background:var(--orange-deep);
    box-shadow:0 0 0 3px rgba(208,111,26,.28);
  }

  /* ---------------------------------------------------------
     HEADER
  --------------------------------------------------------- */
  .site-header{
    position:sticky; top:0; z-index:100;
    background:#ffffff;
    border-bottom:1px solid var(--border);
  }
  .site-header .container{
    display:flex; align-items:center; justify-content:space-between;
    padding-block:14px;
    gap:20px;
  }
  .brand{ display:flex; align-items:center; gap:9px; text-decoration:none; }
  .brand-logo{ height:38px; width:auto; display:block; }
  .brand-mark{
    font-family:var(--font-display); font-weight:900; font-size:25.5px;
    letter-spacing:.01em; color:var(--text);
  }
  .brand-sub{
    font-family:var(--font-mono); font-size:12px; letter-spacing:.1em;
    color:var(--teal-deep); text-transform:uppercase; font-weight:700;
  }
  .main-nav{ display:flex; align-items:center; justify-content:space-between; width:100%; gap:30px; }
  .main-nav a:not(.btn){
    font-size:16px; font-weight:600; text-decoration:none; color:var(--text);
    transition:color .15s ease;
  }
  .main-nav a:not(.btn):hover{ color:var(--teal); }
  .nav-links{ display:flex; gap:28px; }
  .nav-cta-group{ display:flex; align-items:center; gap:14px; }
  .nav-toggle{
    display:none;
    width:40px; height:40px;
    align-items:center; justify-content:center;
    background:transparent; border:1px solid var(--border-strong); border-radius:4px;
    color:var(--text); cursor:pointer;
  }
  .nav-toggle svg{ width:19px; height:19px; }
  .mobile-panel{
    display:none;
    flex-direction:column;
    gap:4px;
    padding:8px 24px 22px;
    background:#ffffff;
    border-bottom:1px solid var(--border);
  }
  .mobile-panel a:not(.btn){
    padding:12px 4px;
    font-size:17px; font-weight:600; text-decoration:none;
    color:var(--text);
    border-bottom:1px solid var(--border);
  }
  .mobile-panel .btn{ margin-top:14px; }
  @media (max-width: 880px){
    .nav-links{ display:none; }
    .nav-toggle{ display:flex; }
    .mobile-panel.is-open{ display:flex; }
  }

  /* ---------------------------------------------------------
     HERO
  --------------------------------------------------------- */
  .hero{
    position:relative;
    overflow:hidden;
    background:var(--surface); /* fallback while the hero photo is loading */
  }
  .hero-bg{
    display:block;
    width:100%;
    height:auto;
  }
  .hero-wave{
    position:absolute;
    left:0; right:0; bottom:-1px;
    line-height:0;
    pointer-events:none;
    z-index:3;
  }
  .hero-wave svg{ width:100%; height:150px; display:block; }
  @media (max-width:700px){ .hero-wave svg{ height:46px; } }
  .hero-content{
    position:absolute;
    top:0; left:0; right:0;
    z-index:2;
    padding-top:44px;
    max-width:640px;
  }
  /* Below ~700px the source image is too short to hold the text overlay without
     crowding the buildings, so the text stacks above the image in normal flow
     instead of sitting on top of it &mdash; still no dark scrim, just reflowed. */
  @media (max-width:700px){
    .hero{ display:flex; flex-direction:column; }
    .hero-content{ position:static; order:1; max-width:100%; }
    .hero-bg{ order:2; margin-top: 20px}
  }
  .hero-logo{ margin-bottom:18px; }
  .hero-logo img{ height:110px; width:auto; display:block; }
  @media (max-width:700px){ .hero-logo img{ height:38px; } }
  .hero-sub{
    max-width:46ch;
    font-size:16px;
    color:var(--text);
  }
  @media (max-width:700px){ .hero-sub{ font-size:14px; } }
  .hero-cta-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:22px; }

  /* ---------------------------------------------------------
     WAVE DIVIDERS
  --------------------------------------------------------- */
  .wave{ line-height:0; }
  .wave svg{ width:100%; height:64px; display:block; }
  @media (max-width:700px){ .wave svg{ height:36px; } }

  /* ---------------------------------------------------------
     SECTION HEADS
  --------------------------------------------------------- */
  .section{ padding-block:92px; }
  .section-head.center{ max-width:56ch; margin-inline:auto; text-align:center; }
  .section-head .eyebrow{ color:var(--teal); }
  .section-head h2{

    font-size:clamp(1.85rem,3.3vw,2.5rem);
    font-weight:800;
    color:var(--text);
    letter-spacing:-.01em;
	  line-height: normal;
  }
  .section-head p{
    margin-top:16px;
    font-size:19.5px;
    color:var(--text-muted);
  }
  .section-head.center p{ margin-inline:auto; }

  /* ---------------------------------------------------------
     ABOUT
  --------------------------------------------------------- */
  section.about{ background:var(--bg); }
  section.abstract{ background:var(--bg); }
  section.sponsorship {background: #ffecec;}

  /* ---------------------------------------------------------
     ABSTRACT INFO (deadlines / tracks / sessions / resources)
  --------------------------------------------------------- */
  .abstract-intro{ margin-top:36px; max-width:78ch; }
  .abstract-intro p{ color:var(--text-muted); font-size:17.5px; }
  .abstract-intro p + p{ margin-top:14px; }
  .abstract-intro a{ color:var(--teal-deep); font-weight:700; text-decoration:underline; }
  .abstract-highlight{
    margin-top:32px;
    background:var(--surface);
    border-left:4px solid var(--orange);
    border-radius:4px;
    padding:22px 26px;
  }
  .abstract-highlight h4{
    font-family:var(--font-display);
    font-size:19px; font-weight:700; color:var(--text);
  }
  .abstract-highlight p{ margin-top:8px; color:var(--text-muted); font-size:16.5px; }
  .abstract-highlight p + p{ margin-top:10px; }
  .abstract-block{ margin-top:52px; }
  .abstract-block h3{
    font-size:22px; font-weight:700; color:var(--text);
    margin-bottom:18px;
  }
  .abstract-columns{
    margin-top:52px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:start;
  }
  @media (max-width:820px){ .abstract-columns{ grid-template-columns:1fr; gap:40px; } }
  .deadline-list{ display:flex; flex-direction:column; gap:0; }
  .deadline-row{
    display:flex; justify-content:space-between; align-items:baseline; gap:16px;
    padding:14px 0;
    border-bottom:1px solid var(--border);
    font-size:16px;
  }
  .deadline-row:first-child{ padding-top:0; }
  .deadline-row dt{ font-weight:700; color:var(--text); }
  .deadline-row dd{ margin:0; color:var(--text-muted); text-align:right; white-space:nowrap; }
  .track-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
  .track-list li{
    display:flex; align-items:baseline; gap:10px;
    font-size:16px; color:var(--text-muted);
    padding-bottom:12px; border-bottom:1px solid var(--border);
  }
  .track-list li:last-child{ border-bottom:0; padding-bottom:0; }
  .track-list li::before{
    content:'';
    flex:none;
    width:7px; height:7px; margin-top:7px;
    border-radius:50%;
    background:var(--orange);
  }
  .session-list{ list-style:none; padding:0; margin-top:52px; display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; }
  @media (max-width:820px){ .session-list{ grid-template-columns:1fr; } }
  .session-list li{ padding-bottom:16px; border-bottom:1px solid var(--border); }
  .session-list .session-name{ font-weight:700; color:var(--text); font-size:16.5px; }
  .session-list .session-name span{ font-weight:600; color:var(--teal-deep); }
  .session-list .session-cap{ margin-top:4px; font-size:15px; font-style:italic; color:var(--text-soft); }
  .resource-grid{
    margin-top:52px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  @media (max-width:820px){ .resource-grid{ grid-template-columns:1fr; } }
  .resource-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:6px;
    padding:28px 24px;
    text-decoration:none;
    display:block;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .resource-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
  .resource-card .resource-tag{
    display:inline-block;
    font-family:var(--font-mono);
    font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--orange);
    background:color-mix(in srgb, var(--orange) 14%, transparent);
    padding:7px 14px; border-radius:999px;
  }
  .resource-card p{ margin-top:14px; color:var(--text-muted); font-size:15.5px; }
  .partner-strip{ margin-top:64px; padding-top:44px; border-top:1px solid var(--border); }
  .partner-strip .eyebrow{ color:var(--teal); display:block; margin-bottom:22px; }
  .partner-row{
    display:flex; flex-wrap:wrap;
    align-items:center;
    gap:14px 34px;
  }
  .partner-row span{
    font-family:var(--font-display);
    font-weight:700;
    font-size:16.5px;
    color:var(--text-soft);
    letter-spacing:.01em;
  }
  .about-grid{
    margin-top:44px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:52px;
    align-items:center;
  }
  @media (max-width:880px){ .about-grid{ grid-template-columns:1fr; gap:32px; } }
  .about-copy{ max-width:70ch; }
  .about-copy p{ color:var(--text-muted); font-size:18.5px; }
  .about-copy p + p{ margin-top:16px; }
  .about-photo{
    border-radius:8px;
    overflow:hidden;
    box-shadow:var(--shadow-md);
    aspect-ratio:8/5;
  }
  .about-photo img{ width:100%; height:100%; object-fit:cover; }
  @media (max-width:880px){ .about-photo{ aspect-ratio:16/10; } }

  /* ---------------------------------------------------------
     CTA BANDS (Register Now / Call for Abstract)
  --------------------------------------------------------- */
  .cta-band{ padding-block:64px; text-align:center; }
  .cta-band-inner{ max-width:640px; margin-inline:auto; }
  .cta-band .eyebrow{ display:block; margin-bottom:14px; }
  .cta-band h2{
    font-size:clamp(1.6rem, 2.8vw, 2.2rem);
    font-weight:800;
    letter-spacing:-.01em;
  }
  .cta-band p{ margin-top:14px; font-size:17px; }
  .cta-band .btn{ margin-top:28px; }

  .cta-register{ background:var(--navy-deep); color:var(--on-navy); }
  .cta-register .eyebrow{ color:var(--teal-deep); }
  .cta-register p{ color:var(--on-navy-muted); }

  .cta-abstract{ background:var(--orange); color:#ffffff; }
  .cta-abstract .eyebrow{ color:#ffffff; }
  .cta-abstract p{ color:rgba(255,255,255,.9); }
  .cta-abstract .btn-invert{
    background:#ffffff;
    color:var(--orange-deep);
    font-family:Arial, Helvetica, sans-serif;
    font-weight:700;
    box-shadow:var(--shadow-md);
  }
  .cta-abstract .btn-invert:hover{ background:#f5f5f5; }

  /* ---------------------------------------------------------
     WHY ATTEND / PILLARS
  --------------------------------------------------------- */
  .pillars{ background:var(--surface); }
  .pillar-grid{
    margin-top:52px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
  }
  @media (max-width:980px){ .pillar-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .pillar-grid{ grid-template-columns:1fr; } }
  .pillar-card{
    position:relative;
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:6px;
    overflow:hidden;
    display:flex; flex-direction:column;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .pillar-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
  .pillar-top{
    padding:24px 22px 20px;
    display:flex; flex-direction:column; gap:14px;
    flex:1;
  }
  .pillar-num{
    font-family:var(--font-mono); font-weight:700; font-size:14px;
    color:var(--pillar-color, var(--teal));
    letter-spacing:.06em;
  }
  .pillar-icon{
    width:42px; height:42px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:color-mix(in srgb, var(--pillar-color) 16%, transparent);
    color:var(--pillar-color);
  }
  .pillar-icon svg{ width:22px; height:22px; }
  .pillar-card h3{ font-size:19px; font-weight:700; color:var(--text); }
  .pillar-card p{ font-size:16px; color:var(--text-muted); }
  .pillar-tag{
    margin-top:auto;
    padding-top:6px;
    font-family:var(--font-mono);
    font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:var(--pillar-color);
  }
  .pillar-foot{
    height:64px;
    background:linear-gradient(120deg, var(--pillar-color), color-mix(in srgb, var(--pillar-color) 55%, black 15%));
    opacity:.9;
  }

  /* Stats counter */
  .stats-counter{
    margin-top:64px;
    background:linear-gradient(120deg, var(--navy-deep), var(--teal-deep));
    border-radius:8px;
    padding:40px 32px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    color:var(--on-navy);
    box-shadow:var(--shadow-md);
  }
  @media (max-width:700px){ .stats-counter{ grid-template-columns:1fr; text-align:center; } }
  .stat-block .stat-num{
    font-family:var(--font-mono);
    font-weight:700;
    font-size:clamp(2.1rem,4.5vw,2.9rem);
    color:#fff;
    font-variant-numeric:tabular-nums;
  }
  .stat-block .stat-label{
    margin-top:6px; font-size:15.5px; font-weight:600; color:var(--on-navy-muted);
    text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-mono); font-size:12.5px;
  }

  /* ---------------------------------------------------------
     EXPERIENCE / GALLERY
  --------------------------------------------------------- */
  .experience{ background:var(--bg); }
  .gallery-grid{
    margin-top:52px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
  @media (max-width:860px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .gallery-grid{ grid-template-columns:1fr; } }
  .gallery-tile{
    position:relative;
    aspect-ratio:4/3;
    border-radius:6px;
    overflow:hidden;
    display:block;
    padding:0;
    border:0;
    cursor:zoom-in;
    background:var(--surface);
  }
  .gallery-tile img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .4s ease;
  }
  .gallery-tile:hover img{ transform:scale(1.06); }
  .gallery-tile::after{
    content:'';
    position:absolute; inset:0;
    background:rgba(0,20,40,0);
    transition:background .25s ease;
  }
  .gallery-tile:hover::after{ background:rgba(0,20,40,.2); }
  .gallery-tile .zoom-icon{
    position:absolute; top:50%; left:50%;
    width:42px; height:42px;
    transform:translate(-50%,-50%) scale(.85);
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:var(--navy-deep);
    display:flex; align-items:center; justify-content:center;
    opacity:0;
    transition:opacity .2s ease, transform .2s ease;
    pointer-events:none;
  }
  .gallery-tile:hover .zoom-icon{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .gallery-tile .zoom-icon svg{ width:19px; height:19px; }
  .gallery-tile:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }

  /* Lightbox */
  .lightbox{
    position:fixed; inset:0; z-index:1000;
    display:none;
    align-items:center; justify-content:center;
    background:rgba(4,10,16,.88);
    padding:28px;
  }
  .lightbox.is-open{ display:flex; }
  .lightbox img{
    max-width:min(92vw, 1100px);
    max-height:88vh;
    border-radius:6px;
    box-shadow:0 24px 64px rgba(0,0,0,.5);
  }
  .lightbox-close{
    position:absolute; top:22px; right:26px;
    width:44px; height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.3);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
  }
  .lightbox-close:hover{ background:rgba(255,255,255,.22); }
  .lightbox-close svg{ width:20px; height:20px; }

  /* ---------------------------------------------------------
     TESTIMONIALS
  --------------------------------------------------------- */
  .testimonials{
    background:var(--navy-deep) !important;
    color:var(--on-navy);
  }
  .testimonials .section-head .eyebrow{ color:var(--teal-deep); }
  .testimonials .section-head h2{ color:#fff; }
  .testimonials .section-head p{ color:var(--on-navy-muted); }
  .testimonials-head-row{
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .quote-grid{
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  @media (max-width:940px){ .quote-grid{ grid-template-columns:1fr; } }
  .quote-card{
    background:rgba(238,244,246,.05);
    border:1px solid rgba(238,244,246,.14);
    border-radius:6px;
    padding:26px 24px;
    display:flex; flex-direction:column; gap:18px;
  }
  .quote-text{ font-size:17px; line-height:1.65; color:var(--on-navy); }
  .quote-attr{ display:flex; align-items:center; gap:12px; margin-top:auto; }
  .quote-avatar{
    width:40px; height:40px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-mono); font-weight:700; font-size:14.5px;
    color:#fff;
    background:linear-gradient(135deg, var(--qa-a), var(--qa-b));
  }
  .quote-name{ font-weight:700; font-size:15.5px; }
  .quote-role{ font-size:14px; color:var(--on-navy-muted); }

  /* ---------------------------------------------------------
     SPONSORS
  --------------------------------------------------------- */
  .sponsors{ background:var(--surface); }
  .sponsor-tier{ margin-top:44px; }
  .sponsor-tier:first-of-type{ margin-top:52px; }
  .tier-head{ display:flex; align-items:baseline; gap:12px; margin-bottom:18px; }
  .tier-head .tier-name{ font-family:var(--font-mono); font-weight:700; font-size:14px; letter-spacing:.12em; text-transform:uppercase; }
  .tier-head .tier-rule{ flex:1; height:1px; background:var(--border-strong); }
  .tier-platinum .tier-name{ color:var(--navy); }
  .tier-gold .tier-name{ color:var(--tan-deep); }
  .tier-silver .tier-name{ color:var(--slate); }
  .sponsor-row{ display:grid; gap:16px; }
  .tier-platinum .sponsor-row{ grid-template-columns:repeat(3,1fr); }
  .tier-gold .sponsor-row{ grid-template-columns:repeat(4,1fr); }
  .tier-silver .sponsor-row{ grid-template-columns:repeat(6,1fr); }
  @media (max-width:900px){
    .tier-platinum .sponsor-row{ grid-template-columns:repeat(2,1fr); }
    .tier-gold .sponsor-row{ grid-template-columns:repeat(3,1fr); }
    .tier-silver .sponsor-row{ grid-template-columns:repeat(3,1fr); }
  }
  @media (max-width:560px){
    .tier-platinum .sponsor-row, .tier-gold .sponsor-row, .tier-silver .sponsor-row{ grid-template-columns:repeat(2,1fr); }
  }
  .sponsor-slot{
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:5px;
    display:flex; align-items:center; justify-content:center;
    padding:14px 16px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .sponsor-slot:hover{ border-color:var(--border-strong); box-shadow:var(--shadow-sm); }
  .sponsor-slot svg{
    width:100%; height:auto;
    color:var(--text-soft);
    transition:color .2s ease;
  }
  .sponsor-slot:hover svg{ color:var(--logo-color, var(--navy)); }
  .tier-platinum .sponsor-slot{ height:92px; }
  .tier-gold .sponsor-slot{ height:76px; }
  .tier-silver .sponsor-slot{ height:60px; }
  .sponsor-cta{
    margin-top:52px;
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
    padding:30px 32px;
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:8px;
  }
  .sponsor-cta h3{ font-size:22px; font-weight:700; }
  .sponsor-cta p{ margin-top:6px; color:var(--text-muted); font-size:16.5px; }

  /* ---------------------------------------------------------
     ORLANDO
  --------------------------------------------------------- */
  .orlando{ background:var(--bg); }
  .orlando-cards{
    margin-top:52px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  @media (max-width:820px){ .orlando-cards{ grid-template-columns:1fr; } }
  .orlando-card{
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
    background:var(--surface);
  }
  .orlando-card-art{
    aspect-ratio:16/9;
    position:relative;
    overflow:hidden;
    background:var(--surface-alt);
  }
  .orlando-card-art img{ width:100%; height:100%; object-fit:cover; }
  .orlando-card-body{ padding:26px 26px 28px; }
  .orlando-card-body h3{ font-size:20.5px; font-weight:700; color:var(--text); }
  .orlando-card-body p{ margin-top:10px; font-size:16.5px; color:var(--text-muted); }
  .orlando-card-body a{
    margin-top:16px;
    display:inline-flex; align-items:center; gap:6px;
    font-size:15.5px; font-weight:700; color:var(--teal-deep); text-decoration:none;
  }
  .orlando-card-body a:hover{ text-decoration:underline; }

  /* ---------------------------------------------------------
     NEWSLETTER / REGISTRATION
  --------------------------------------------------------- */
  .newsletter{
    position:relative;
    background:linear-gradient(155deg, var(--navy-deep) 0%, var(--navy) 60%, var(--teal-deep) 130%);
    color:var(--on-navy);
    overflow:hidden;
  }
  .newsletter-skyline{
    position:absolute; left:0; right:0; bottom:0;
    height:120px;
    opacity:.16;
    pointer-events:none;
  }
  .newsletter-inner{
    position:relative;
    max-width:640px;
  }
  .newsletter .eyebrow{ color:var(--teal-deep); }
  .newsletter h2{ margin-top:14px; font-size:clamp(1.85rem,3.3vw,2.5rem); font-weight:800; color:#fff; }
  .newsletter p.lead{ margin-top:14px; font-size:19px; color:var(--on-navy-muted); max-width:56ch; }
  .newsletter-cta-row{
    margin-top:34px;
  }

  /* ---------------------------------------------------------
     FAQ
  --------------------------------------------------------- */
  .faq{ background:var(--surface); }
  .faq-list{ margin-top:44px; display:flex; flex-direction:column; gap:12px; max-width:840px; }
  .faq-item{
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:6px;
    padding:6px 22px;
  }
  .faq-item summary{
    list-style:none;
    cursor:pointer;
    padding:18px 0;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    font-weight:700; font-size:18px; color:var(--text);
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{
    content:'+';
    flex:none;
    width:26px; height:26px;
    border-radius:50%;
    border:1px solid var(--border-strong);
    display:flex; align-items:center; justify-content:center;
    font-size:18.5px; font-weight:400; color:var(--teal-deep);
    transition:transform .18s ease;
  }
  .faq-item[open] summary::after{ content:'\2212'; transform:rotate(180deg); }
  .faq-item p{ padding-bottom:20px; font-size:16.5px; color:var(--text-muted); max-width:72ch; }

  /* ---------------------------------------------------------
     FOOTER
  --------------------------------------------------------- */
  .site-footer{
    background:var(--navy-deep);
    color:var(--on-navy-muted);
    padding-top:64px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:48px;
    border-bottom:1px solid rgba(238,244,246,.12);
  }
  @media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
  .footer-brand .brand-mark{ font-size:23px; color:#ffffff;}
  .footer-brand p{ margin-top:14px; font-size:16px; max-width:34ch; color:var(--on-navy-muted); }
  .footer-col h5{
    font-family:var(--font-mono); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--teal-deep); font-weight:700; margin-bottom:16px;
  }
  .footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
  .footer-col a{ text-decoration:none; font-size:16px; color:var(--on-navy-muted); transition:color .15s ease; }
  .footer-col a:hover{ color:#fff; }
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
    padding-block:22px;
    font-size:14.5px;
  }
  .footer-legal{ display:flex; gap:18px; flex-wrap:wrap; }
  .footer-legal a{ text-decoration:none; color:var(--on-navy-muted); }
  .footer-legal a:hover{ color:#fff; }
  .footer-social{ display:flex; gap:14px; }
  .footer-social a{
    width:32px; height:32px; border-radius:50%;
    border:1px solid rgba(238,244,246,.25);
    display:flex; align-items:center; justify-content:center;
    transition:background .15s ease, border-color .15s ease;
  }
  .footer-social a:hover{ background:rgba(238,244,246,.1); border-color:#fff; }
  .footer-social svg{ width:15px; height:15px; }

  /* ---------------------------------------------------------
     OVERRIDE
  --------------------------------------------------------- */
.pageTitle, h1 {
    font-size: 2.85rem;
    margin-top: 1.2rem;
    margin-bottom: 1.2rem;
    /* text-transform: uppercase; */
}
.tb-text {
    font-family: var(--font-body);
    font-size: 18.5px;
    color: var(--text-muted);
    text-align: left;
	line-height: 30px;
}
li {
    line-height: 30px;
	color: var(--text-muted);
}

a.bttn-form-default, input.bttn-form-default, button.bttn-form-default  {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .01em;
    padding: 15px 30px;
    border-radius: 3px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
    white-space: nowrap;
}
a.bttn-form-default, input.bttn-form-default, button.bttn-form-default  {
    background: var(--orange);
	background-color: var(--orange) !important;
    color: #ffffff;
    font-weight: 700;
    box-shadow: var(--shadow-md);
}

html .btn-primary {
    background-color: var(--orange);
    border-color: var(--orange);
    color: #ffffff;
}

.inner-rule {
    width: 60px;
    height: 3px;
    background: #000 !important;
    border-radius: 2px;
    margin-bottom: 26px;
}
.tb-color1 {
	background-color: #e65627 !important;
}
.tb-color2 {
	background-color: #434a51 !important;
}