@import url("https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700;800&display=swap");

:root { --ink:#111318; --navy:#071426; --blue:#0759f7; --blue-light:#3987ff; --paper:#f5f7fa; --white:#fff; --muted:#647084; --line:#dce2ea; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--navy); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Exo 2",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wrap { width:min(calc(100% - 48px),var(--max)); margin:0 auto; }

.site-header { position:sticky; z-index:50; top:0; display:flex; height:68px; align-items:center; justify-content:space-between; padding:0 max(24px,calc((100vw - var(--max))/2)); background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand { display:flex; width:200px; height:48px; align-items:center; }
.brand img { display:block; width:100%; max-height:48px; object-fit:contain; object-position:left center; }
.site-header nav { display:flex; align-items:center; gap:24px; font-size:13px; font-weight:600; }
.site-header nav a { transition:color 160ms ease; }
.site-header nav a:hover { color:var(--blue); }
.nav-cta,.button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 20px; border:1px solid transparent; font-weight:700; transition:transform 160ms ease,background 160ms ease; }
.nav-cta { color:var(--white) !important; background:var(--blue); }
.nav-cta:hover,.button:hover { transform:translateY(-2px); }
.menu-toggle { display:none; }

.hero { color:var(--white); background:var(--navy); }
.hero-layout { display:grid; min-height:580px; align-items:center; grid-template-columns:1.15fr .85fr; gap:56px; padding:60px 0; }
.eyebrow,.kicker { margin:0 0 18px; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow { color:#72a8ff; }
.hero h1 { margin:0; font-size:clamp(56px,6.4vw,86px); font-weight:600; letter-spacing:-.055em; line-height:.94; text-transform:uppercase; }
.hero h1 span { color:var(--blue-light); }
.hero-lead { max-width:680px; margin:22px 0 0; color:#b7c3d3; font-size:18px; line-height:1.55; }
.hero-actions { display:flex; gap:10px; margin-top:28px; }
.button-primary { color:var(--white); background:var(--blue); }
.button-outline { color:var(--white); border-color:#53647b; background:transparent; }
.event-meta { display:grid; margin:34px 0 0; grid-template-columns:repeat(4,1fr); border-top:1px solid #34445a; }
.event-meta div { padding:14px 14px 0 0; }
.event-meta dt { margin-bottom:6px; color:#75869e; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.event-meta dd { margin:0; font-size:13px; font-weight:600; }
.hero-symbol { display:flex; min-height:360px; align-items:center; justify-content:center; flex-direction:column; padding:32px; background:var(--white); }
.hero-symbol img { display:block; width:min(100%,290px); aspect-ratio:1; object-fit:cover; }
.hero-symbol span { margin-top:18px; color:#687489; font-size:9px; font-weight:800; letter-spacing:.18em; }

.section { padding:72px 0; scroll-margin-top:68px; }
.section h2 { margin:0; font-size:clamp(36px,4.4vw,56px); font-weight:600; letter-spacing:-.04em; line-height:1.02; text-transform:uppercase; }
.section-intro,.section-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; }
.intro-copy { padding-top:10px; }
.intro-copy p { margin:0 0 13px; color:var(--muted); font-size:17px; line-height:1.6; }
.intro-copy p:first-child { color:var(--ink); font-size:20px; }
.topic-grid { display:grid; margin-top:44px; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.topic-grid article { min-height:160px; padding:22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.topic-grid span { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.14em; }
.topic-grid h3 { margin:25px 0 8px; font-size:19px; text-transform:uppercase; }
.topic-grid p { margin:0; color:var(--muted); line-height:1.55; }
.section-heading { align-items:end; }
.section-note { max-width:570px; margin:0; color:var(--muted); line-height:1.65; }
.section-note strong { color:var(--ink); }

.schedule { background:var(--white); }
.schedule-tabs { display:grid; margin-top:38px; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.schedule-tabs button { min-height:58px; padding:0 20px; color:#758094; border:1px solid var(--line); border-bottom:0; background:transparent; cursor:pointer; font-weight:700; text-align:left; text-transform:uppercase; }
.schedule-tabs button + button { border-left:0; }
.schedule-tabs button span { margin-right:16px; font-size:9px; letter-spacing:.15em; }
.schedule-tabs button.active { color:var(--white); border-color:var(--blue); background:var(--blue); }
.schedule-item { border-bottom:1px solid var(--line); }
.schedule-item summary { position:relative; display:grid; min-height:88px; align-items:center; grid-template-columns:95px minmax(0,1fr) 190px 32px; gap:18px; cursor:pointer; list-style:none; }
.schedule-item summary::-webkit-details-marker { display:none; }
.schedule-time { display:flex; flex-direction:column; gap:3px; }
.schedule-time time { color:var(--blue); font-size:18px; font-weight:700; }
.schedule-time span { color:#9ba5b4; font-size:10px; }
.schedule-title h3 { margin:0; font-size:18px; }
.schedule-title p { margin:6px 0 0; color:var(--muted); font-size:14px; }
.schedule-speaker { padding-left:20px; border-left:1px solid var(--line); }
.schedule-speaker span { display:block; margin-bottom:5px; color:#98a2b1; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.schedule-speaker strong { font-size:13px; }
.schedule-toggle { color:var(--blue); font-size:27px; text-align:center; transition:transform 160ms ease; }
.schedule-item[open] .schedule-toggle { transform:rotate(45deg); }
.slot-index { display:none; }
.schedule-agenda { display:grid; grid-template-columns:95px 1fr; gap:18px; padding:20px 52px 22px 0; background:#eef4ff; }
.schedule-agenda>span { color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.schedule-agenda ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.schedule-agenda li { position:relative; padding-left:18px; color:#49566a; line-height:1.5; }
.schedule-agenda li::before { position:absolute; top:.7em; left:0; width:8px; height:2px; content:""; background:var(--blue); }

.organizers { background:#eef2f7; }
.organizer-grid { display:grid; margin-top:38px; grid-template-columns:1fr 1fr; gap:16px; }
.organizer-grid article { display:flex; align-items:flex-start; gap:24px; min-height:218px; padding:28px; background:var(--white); border:1px solid var(--line); }
.organizer-mark { display:grid; width:72px; height:72px; flex:none; place-items:center; color:var(--white); background:var(--blue); font-size:19px; font-weight:800; letter-spacing:.08em; }
.organizer-photo { position:relative; width:112px; aspect-ratio:4/5; flex:0 0 112px; overflow:hidden; color:var(--white); background:var(--blue); border:1px solid var(--blue); isolation:isolate; }
.organizer-photo::after { position:absolute; z-index:2; top:0; right:0; width:28px; height:6px; content:""; background:var(--white); }
.organizer-photo img,.organizer-photo-placeholder { position:absolute; inset:0; width:100%; height:100%; }
.organizer-photo img { z-index:1; display:block; object-fit:cover; object-position:center top; }
.organizer-photo-placeholder { display:grid; place-items:center; font-size:24px; font-weight:800; letter-spacing:.1em; }
.organizer-copy { display:flex; min-height:160px; flex:1; flex-direction:column; }
.organizer-grid p { margin:0 0 6px; color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.organizer-grid h3 { margin:0 0 10px; font-size:27px; }
.organizer-grid h3 a { width:auto; margin:0; padding:0; color:inherit; font-size:inherit; font-weight:inherit; text-transform:none; }
.organizer-grid h3 a:hover { color:var(--blue); }
.organizer-grid span { color:var(--muted); font-size:15px; line-height:1.6; }
.organizer-copy>a { width:max-content; margin-top:auto; padding-top:16px; color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; }

.participation { color:var(--white); background:var(--blue); }
.participation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.participation article { display:flex; min-width:0; min-height:330px; flex-direction:column; padding:38px; border:1px solid rgba(255,255,255,.3); }
.participation article+article { border-left:0; }
.kicker.light { color:#dbe8ff; }
.participation h2 { font-size:clamp(29px,3vw,42px); }
.participation p:not(.kicker) { max-width:520px; margin:18px 0 24px; color:#e1ebff; font-size:16px; line-height:1.6; }
.participation .button { align-self:flex-start; margin-top:auto; }
.button-white { color:var(--blue); background:var(--white); }

.partners { background:var(--white); }
.partner-grid { display:grid; margin-top:38px; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.partner-logo-slot { display:grid; min-width:0; min-height:144px; place-items:center; padding:24px; color:#8a96a8; background:var(--paper); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.partner-logo-slot span,.partner-logo-slot img { grid-area:1/1; }
.partner-logo-slot span { font-size:10px; font-weight:800; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
.partner-logo-slot img { display:block; width:min(240px,100%); height:96px; margin:auto; object-fit:contain; object-position:center; }
.partner-logo-slot a { display:grid; width:100%; height:100%; place-items:center; }

footer { padding:38px 0; color:var(--white); background:#030a16; }
.footer-layout { display:grid; align-items:end; grid-template-columns:minmax(220px,1.5fr) auto auto auto; gap:44px; }
.footer-brand img { display:block; width:210px; filter:invert(1) grayscale(1) brightness(4); }
.footer-layout p { margin:12px 0 0; color:#6f7e94; font-size:13px; }
.footer-group { display:flex; align-items:flex-start; flex-direction:column; gap:8px; }
.footer-label { color:#66758b; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.footer-layout a { color:#c5cfdd; }
.social-links { display:flex; align-items:center; gap:8px; }
.social-link { display:inline-flex; min-height:38px; align-items:center; gap:7px; padding:0 11px; border:1px solid #263449; font-size:12px; font-weight:700; transition:color 160ms ease,background 160ms ease,border-color 160ms ease,transform 160ms ease; }
.social-link svg { width:17px; height:17px; flex:none; fill:currentColor; }
.social-link:hover,.social-link:focus-visible { color:var(--white); background:var(--blue); border-color:var(--blue); transform:translateY(-2px); }
.social-link:focus-visible { outline:2px solid var(--white); outline-offset:3px; }
.footer-copyright { white-space:nowrap; }

@media (max-width:1000px) {
  .site-header nav { gap:18px; }
  .hero-layout { gap:42px; grid-template-columns:1.2fr .8fr; }
  .hero h1 { font-size:66px; }
  .partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .participation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .participation article:nth-child(3) { grid-column:1/-1; min-height:260px; border-top:0; border-left:1px solid rgba(255,255,255,.3); }
}
@media (max-width:820px) {
  .site-header { height:64px; }
  .brand { width:180px; height:44px; }
  .brand img { max-height:44px; }
  .menu-toggle { position:relative; z-index:60; display:grid; width:44px; height:40px; place-content:center; gap:5px; border:0; background:transparent; }
  .menu-toggle span:not(.sr-only) { display:block; width:25px; height:2px; background:var(--ink); }
  .site-header nav { position:absolute; top:64px; right:0; left:0; display:none; align-items:stretch; padding:14px 24px 22px; background:var(--white); border-bottom:1px solid var(--line); flex-direction:column; gap:0; }
  .site-header nav.open { display:flex; }
  .site-header nav a { padding:13px 0; border-bottom:1px solid var(--line); }
  .site-header nav .nav-cta { margin-top:14px; padding:0 20px; border:0; }
  .hero-layout,.section-intro,.section-heading { grid-template-columns:1fr; gap:42px; }
  .hero-layout { min-height:auto; padding:54px 0; }
  .hero-symbol { max-width:500px; min-height:auto; }
  .topic-grid,.organizer-grid,.participation-grid { grid-template-columns:1fr; }
  .participation article:nth-child(3) { grid-column:auto; min-height:auto; }
  .participation article+article { border-top:0; border-left:1px solid rgba(255,255,255,.3); }
  .footer-layout { align-items:start; grid-template-columns:1fr 1fr; }
  .footer-copyright { justify-self:end; }
}
@media (max-width:600px) {
  .wrap { width:min(calc(100% - 32px),var(--max)); }
  .hero h1 { font-size:clamp(46px,14vw,62px); }
  .hero-lead { font-size:17px; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .event-meta { grid-template-columns:1fr; }
  .event-meta div { padding:14px 0; border-bottom:1px solid #34445a; }
  .hero-symbol { padding:26px; }
  .section { padding:58px 0; scroll-margin-top:64px; }
  .section h2 { font-size:37px; }
  .topic-grid { grid-template-columns:1fr; }
  .topic-grid article { min-height:145px; }
  .partner-grid { grid-template-columns:1fr; }
  .partner-logo-slot { min-height:112px; }
  .schedule-tabs button { padding:0 12px; font-size:13px; }
  .schedule-tabs button span { display:block; margin:0 0 4px; }
  .schedule-item summary { grid-template-columns:70px 1fr 32px; gap:10px; padding:18px 0; }
  .schedule-title h3 { font-size:16px; }
  .schedule-speaker { grid-column:2; padding:9px 0 0; border-top:1px solid var(--line); border-left:0; }
  .schedule-toggle { grid-column:3; grid-row:1; }
  .schedule-agenda { grid-template-columns:70px 1fr; gap:10px; padding:22px 0; }
  .organizer-grid article { min-height:auto; padding:22px; }
  .organizer-mark { width:62px; height:62px; }
  .organizer-photo { width:88px; flex-basis:88px; }
  .organizer-grid h3 { font-size:23px; }
  .organizer-copy { min-height:0; }
  .participation article { min-height:auto; padding:34px 26px; }
  .footer-layout { grid-template-columns:1fr; gap:30px; }
  .footer-copyright { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *,*::before,*::after{transition-duration:.01ms !important;} }
