/* Design tokens (2025 Google-ish) */
:root{
  --g1:#5b6cff;           /* primary indigo */
  --g2:#7f5cff;           /* gradient partner */
  --bg:#FAFAFA;
  --surface:#FFFFFF;
  --text:#121212;
  --muted:#5f6368;        /* Google-muted */
  --ring: color-mix(in oklab, var(--g1) 40%, transparent);
  --radius: 16px;
  --radius-sm: 12px;
  --shadow: 0 6px 24px rgba(0,0,0,.08);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1115;
    --surface:#141820;
    --text:#EDEDED;
    --muted:#b5bac4;
    --shadow: 0 6px 28px rgba(0,0,0,.55);
  }
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  color:var(--text); background:var(--bg); line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  -webkit-tap-highlight-color: transparent;
}
.container{width:min(1120px, calc(100% - 2rem)); margin-inline:auto}

/* A11y */
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:fixed; left:1rem; top:1rem; width:auto; height:auto; background:var(--surface); border:2px solid var(--g1); padding:.5rem .75rem; z-index:9999; border-radius:10px}

/* App bar */
.site-header{position:sticky; top:0; z-index:50; background:color-mix(in oklab, var(--surface) 88%, transparent); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid color-mix(in oklab, var(--text) 10%, transparent); transition: box-shadow .2s ease}
.site-header[data-scrolled="true"]{ box-shadow: 0 6px 16px rgba(0,0,0,.06) }
.nav{display:flex; align-items:center; justify-content:space-between; padding:.7rem 0}
.brand{display:inline-flex; gap:.6rem; align-items:center; text-decoration:none; color:var(--text); font-weight:800; letter-spacing:.2px}
.logo-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 0 0 4px color-mix(in oklab, var(--g1) 25%, transparent)}
.menu{display:flex; gap:.25rem}
.menu a{color:var(--text); text-decoration:none; font-weight:700; padding:.75rem .9rem; border-radius:12px; line-height:1}
.menu a:hover{background:color-mix(in oklab, var(--text) 10%, transparent)}
.menu-toggle{display:none; border:0; background:transparent; padding:.5rem; border-radius:12px; cursor:pointer; min-width:44px; min-height:44px}
.menu-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:40}

/* Intro band */
.intro{border-bottom:1px solid color-mix(in oklab, var(--text) 10%, transparent); background:
  radial-gradient(900px 160px at 10% 0%, color-mix(in oklab, var(--g1) 18%, transparent), transparent),
  radial-gradient(800px 140px at 90% 0%, color-mix(in oklab, var(--g2) 16%, transparent), transparent);
}
.intro-inner{display:grid; grid-template-columns: 1.4fr .6fr; gap:1.2rem; align-items:center; padding:clamp(1.6rem, 3.2vw, 2.4rem) 0}
.kicker{margin:0; color:var(--muted); font-weight:700; letter-spacing:.3px}
.intro-title{margin:.2rem 0 .4rem; line-height:1.25; font-size:clamp(1.45rem, 2.6vw, 2.1rem)}
.intro-lede{margin:0; color:var(--muted); font-size:clamp(.98rem, 1.6vw, 1.05rem)}
.intro-actions{display:flex; gap:.6rem; justify-content:flex-start; align-items:center; flex-wrap:wrap}

/* Buttons */
.btn{display:inline-flex; align-items:center; gap:.4rem; padding:.8rem 1rem; border-radius:12px; text-decoration:none; border:1px solid transparent; font-weight:800; transition:transform .15s ease, background .2s ease, border-color .2s ease; min-height:44px}
.btn:active{ transform: translateY(1px) }
.btn-primary{background:var(--g1); color:#fff; box-shadow:var(--shadow)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-outline{background:transparent; color:var(--text); border-color:color-mix(in oklab, var(--text) 14%, transparent)}
.btn-ghost{background:var(--surface); color:var(--text); border-color:color-mix(in oklab, var(--text) 10%, transparent)}

/* Sections */
.section{padding:clamp(1.8rem, 3.5vw, 3rem) 0}
.section.alt{background:var(--surface)}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1rem}
.section h2{margin:0 0 .3rem}
.muted{color:var(--muted)}

/* Chips */
.chip-grid{display:flex; flex-wrap:wrap; gap:.5rem}
.chip{display:inline-flex; align-items:center; gap:.35rem; padding:.5rem .7rem; font-weight:700; border-radius:999px; background:color-mix(in oklab, var(--g1) 12%, var(--surface)); border:1px solid color-mix(in oklab, var(--g1) 20%, transparent); color:var(--text)}

/* Cards: Years */
.grid.cards{display:grid; gap:1rem; grid-template-columns: repeat( auto-fit, minmax(280px, 1fr) )}
.card{background:var(--surface); border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:var(--radius); padding:1.1rem; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:.6rem}
.card-head{display:flex; align-items:center; justify-content:space-between; gap:.6rem}
.badge{font-size:.72rem; font-weight:900; letter-spacing:.25px; padding:.2rem .55rem; border-radius:999px; color:#fff; background:linear-gradient(135deg, var(--g1), var(--g2))}
.card h3{margin:.2rem 0; font-size:clamp(1.05rem, 1.2rem, 1.25rem)}
.theme{margin:.2rem 0; color:var(--muted)}
.card-points{list-style:none; padding-left:0; margin:.2rem 0 0; display:grid; gap:.25rem}
.card-points li{display:flex; gap:.45rem; align-items:center}
.card-actions{margin-top:.6rem; display:flex; gap:.6rem; flex-wrap:wrap}

/* Metrics */
.grid.metrics{display:grid; gap:1rem; grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) )}
.metric{background:var(--surface); border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:var(--radius-sm); padding:1rem; box-shadow:var(--shadow); text-align:left}
.metric-num{font-weight:900; font-size:1.8rem; line-height:1}
.metric-label{color:var(--muted); margin-top:.25rem}

/* Proceedings */
.cta{background:var(--surface); border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:20px; padding:1.1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; box-shadow:var(--shadow)}
.cta-actions{display:flex; gap:.6rem; flex-wrap:wrap}
.list-compact{list-style:none; padding:0; margin:.6rem 0 0; display:grid; gap:.25rem}
.list-compact li{display:flex; align-items:center; gap:.4rem; color:var(--muted)}

/* Sponsors */
.sponsor-row{display:grid; grid-template-columns: repeat( auto-fit, minmax(140px, 1fr) ); gap:1rem; align-items:center}
.sponsor{background:var(--surface); border:1px dashed color-mix(in oklab, var(--text) 12%, transparent); border-radius:12px; display:grid; place-items:center; padding:.8rem}
.sponsor img{max-width:100%; height:auto}

/* FAQ */
.faq{background:var(--surface); border:1px solid color-mix(in oklab, var(--text) 10%, transparent); border-radius:12px; padding:.8rem 1rem; margin:.5rem 0}
.faq summary{cursor:pointer; font-weight:700}
.faq p{margin:.5rem 0 0}

/* Contact + Footer */
.contact-list{list-style:none; padding:0; margin:.6rem 0 0; display:grid; gap:.5rem}
.contact-list li{display:flex; align-items:center; gap:.5rem}
.contact-list a{color:var(--text); text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.site-footer{border-top:1px solid color-mix(in oklab, var(--text) 10%, transparent); background:var(--surface)}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0}
.footer-inner .top{display:inline-flex; align-items:center; gap:.3rem; text-decoration:none; font-weight:800; color:var(--text); padding:.6rem .75rem; border-radius:10px; border:1px solid color-mix(in oklab, var(--text) 12%, transparent)}

/* Focus + Motion */
:focus-visible{ outline:2px solid var(--ring); outline-offset:2px }
@media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important} }

/* Mobile menu as sheet */
@media (max-width: 900px){
  .intro-inner{grid-template-columns:1fr}
  .section-head{flex-direction:column; align-items:flex-start}
  .cta{flex-direction:column; align-items:flex-start}
  .menu{
    position:fixed; top:64px; right:0; left:0;
    display:flex; flex-direction:column; gap:.25rem;
    background:var(--surface); border-bottom:1px solid color-mix(in oklab, var(--text) 10%, transparent);
    transform:translateY(-16px); opacity:0; pointer-events:none; padding:.5rem; z-index:45;
    transition: transform .18s ease, opacity .18s ease;
  }
  .menu a{padding:1rem; border-radius:12px}
  .menu.is-open{ transform:translateY(0); opacity:1; pointer-events:auto }
  .menu-toggle{display:inline-grid; place-items:center}
}

.logo-img {
  height: 32px;
  width: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.15));
}

/* Optional tweak for dark mode */
@media (prefers-color-scheme: dark) {
  .logo-img {
    filter: brightness(1.2) drop-shadow(0 2px 3px rgba(0,0,0,.5));
  }
}


