:root {
color-scheme: light;
--bg: #ffffff;
--bg-2: #f3f5f9;
--ink: #0d1b36;
--ink-2: #3d4960;
--ink-3: #5f6b82;
--line: #dde2eb;
--line-2: #c5ccd9;
--accent: #1c3f94;
--accent-hover: #142f72;
--accent-soft: #e8edf8;
--navy: #0a1834;
--navy-2: #13254a;
--on-navy: #ffffff;
--on-navy-2: #c2cbdf;
--error: #b42318;
--body: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
--fs-xs: .8125rem;
--fs-sm: .9375rem;
--fs-md: 1.0625rem;
--fs-lg: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);
--fs-h4: 1.125rem;
--fs-h3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
--fs-h2: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem);
--fs-h1: clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem);
--lh-text: 1.6;
--measure: 64ch;
--sp-1: .25rem; --sp-2: .5rem; --sp-3: .75rem; --sp-4: 1rem; --sp-5: 1.5rem;
--sp-6: 2rem; --sp-7: 3rem; --sp-8: 4rem; --sp-9: 6rem;
--container: 72rem;
--container-narrow: 46rem;
--gut: max(clamp(1rem, 4vw, 2.5rem), env(safe-area-inset-left, 0px));
--section-y: clamp(3.5rem, 2.25rem + 4.5vw, 6.5rem);
--header-h: 4rem;
--r-s: .375rem;
--r-m: .5rem;
--ease: cubic-bezier(.22, .61, .36, 1);
--dur-fast: .16s;
--z-header: 50;
--z-menu: 60;
}
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-400-latin.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-600-latin.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-400-latin-ext.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02BA, U+1E00-1EFF; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-500-latin-ext.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0100-02BA, U+1E00-1EFF; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/IBMPlexSans-600-latin-ext.woff2") format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0100-02BA, U+1E00-1EFF; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--sp-4)); }
body {
margin: 0;
min-height: 100vh;
background: var(--bg);
color: var(--ink-2);
font: 400 var(--fs-md) / var(--lh-text) var(--body);
-webkit-font-smoothing: antialiased;
overflow-x: clip;
}
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
:where(ul[class], ol[class]) { padding: 0; list-style: none; }
:where(img, svg, video, canvas) { display: block; max-width: 100%; }
:where(img, video) { height: auto; }
:where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--accent); }
[hidden] { display: none !important; }
::selection { background: var(--accent); color: #fff; }
:where(h1, h2, h3, h4) { color: var(--ink); font-family: var(--body); font-weight: 600; text-wrap: balance; letter-spacing: -.01em; }
:where(h1), .h1 { font-size: var(--fs-h1); line-height: 1.08; }
:where(h2), .h2 { font-size: var(--fs-h2); line-height: 1.15; }
:where(h3), .h3 { font-size: var(--fs-h3); line-height: 1.25; }
:where(h4), .h4 { font-size: var(--fs-h4); line-height: 1.3; letter-spacing: 0; }
:where(p, li, dd, figcaption) { text-wrap: pretty; }
.lede { max-width: var(--measure); font-size: var(--fs-lg); color: var(--ink-2); }
.meta { font-size: var(--fs-xs); line-height: 1.5; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.muted { color: var(--ink-3); }
.small { font-size: var(--fs-sm); }
.eyebrow { font-size: var(--fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: var(--sp-4); }
.prose :where(h2, h3, strong) { color: var(--ink); }
:where(a) { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .18em; }
:where(a:hover) { color: var(--accent-hover); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
main:focus { outline: none; }
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }
.container--narrow { max-width: calc(var(--container-narrow) + 2 * var(--gut)); }
.section { position: relative; padding-block: var(--section-y); }
.section--alt { background: var(--bg-2); }
.section__head { margin-bottom: var(--sp-6); max-width: 48rem; }
.section__head > * + * { margin-top: var(--sp-3); }
.btn {
display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
min-height: 2.75rem; padding: 0 1.25rem;
border: 0; border-radius: var(--r-s);
background: var(--accent); color: #fff;
font: 500 var(--fs-sm) / 1 var(--body); text-decoration: none; white-space: nowrap;
cursor: pointer; transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.btn:hover { background: var(--accent-hover); color: #fff; text-decoration: none; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn--lg { min-height: 3.25rem; padding: 0 1.75rem; font-size: var(--fs-md); }
.btn--ghost { background: transparent; color: var(--accent); box-shadow: inset 0 0 0 1px var(--line-2); }
.btn--ghost:hover { background: var(--accent-soft); color: var(--accent-hover); }
.btn--light { background: #fff; color: var(--navy); }
.btn--light:hover { background: #e6ebf5; color: var(--navy); }
.btn--outline-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .55); }
.btn--outline-light:hover { background: rgb(255 255 255 / .1); color: #fff; }
.photo { position: relative; overflow: hidden; border-radius: var(--r-m); background: var(--bg-2); }
.photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgb(13 27 54 / .08); pointer-events: none; }
.flag { display: inline-flex; align-items: center; gap: .4rem; font-size: var(--fs-xs); color: var(--ink-3); }
.flag img { width: 18px; height: 12px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgb(13 27 54 / .12); }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link {
position: fixed; top: var(--sp-2); left: var(--gut); z-index: calc(var(--z-menu) + 1);
padding: var(--sp-2) var(--sp-4); border-radius: var(--r-s);
background: #fff; color: var(--navy); font-size: var(--fs-sm); font-weight: 600; text-decoration: none;
transform: translateY(-300%);
}
.skip-link:focus-visible { transform: none; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
.s-about__grid { display: grid; gap: var(--sp-7); }
@media (min-width: 61.25em) { .s-about__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sp-8); align-items: start; } }
.s-about__body > * + * { margin-top: var(--sp-4); }
.s-about__body h2 { margin-bottom: var(--sp-5); }
.s-about__lead { font-size: var(--fs-lg); line-height: 1.5; color: var(--ink); font-weight: 500; }
.s-about__body p { max-width: var(--measure); }
.s-about__photo { aspect-ratio: 4 / 3; }
.s-about__card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-4); margin-top: var(--sp-4); padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-m); }
.s-about__facts { display: grid; gap: var(--sp-3); }
.s-about__facts dt { font-size: var(--fs-xs); color: var(--ink-3); }
.s-about__facts dd { font-weight: 600; color: var(--ink); line-height: 1.35; }
.s-agenda__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-6); }
.s-agenda__head .section__head { margin-bottom: 0; }
.s-agenda__when { color: var(--ink-3); }
.s-agenda__list { display: grid; gap: var(--sp-2); }
.s-agenda__item { display: grid; gap: var(--sp-2) var(--sp-6); padding: var(--sp-5); background: #fff; border: 1px solid var(--line); border-radius: var(--r-m); }
@media (min-width: 48em) { .s-agenda__item { grid-template-columns: 9rem minmax(0, 1fr); padding: var(--sp-6); } }
.s-agenda__item--break { padding-block: var(--sp-4); background: transparent; border-style: dashed; }
.s-agenda__item--break .s-agenda__title { font-size: var(--fs-md); font-weight: 500; color: var(--ink-3); }
.s-agenda__time { font-size: var(--fs-md); font-weight: 600; color: var(--accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.s-agenda__main > * + * { margin-top: var(--sp-2); }
.s-agenda__main > .eyebrow + .s-agenda__title { margin-top: var(--sp-1); }
.s-agenda__title { font-size: var(--fs-h3); }
.s-agenda__format { font-size: var(--fs-sm); font-weight: 500; color: var(--ink-2); }
.s-agenda__desc { max-width: var(--measure); font-size: var(--fs-sm); color: var(--ink-2); }
.s-agenda__groups { display: grid; gap: var(--sp-4); margin-top: var(--sp-5) !important; padding-top: var(--sp-5); border-top: 1px solid var(--line); }
@media (min-width: 48em) { .s-agenda__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-6); } }
.s-agenda__group dt { margin-bottom: var(--sp-2); font-size: var(--fs-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.s-agenda__group ul { display: grid; gap: var(--sp-2); padding: 0; list-style: none; }
.s-agenda__person { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--ink); line-height: 1.4; }
.s-agenda__detail { display: block; font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.45; }
.s-agenda__group ul:has(.s-agenda__p) { gap: var(--sp-4); }
.s-agenda__p { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--sp-3); align-items: start; }
.s-agenda__avatar { display: block; width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover; background: var(--bg-2); }
.s-agenda__avatar--initials { display: grid; place-items: center; border: 1px solid var(--line-2); background: #fff; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .04em; color: var(--ink-3); }
.s-agenda__who { min-width: 0; padding-top: .1rem; }
.s-agenda__p:not(:has(.s-agenda__detail, .s-agenda__logo)) { align-items: center; }
.s-agenda__p:not(:has(.s-agenda__detail, .s-agenda__logo)) .s-agenda__who { padding-top: 0; }
.s-agenda__logo { display: block; margin-top: var(--sp-2); object-fit: contain; object-position: left center; }
.s-agenda__rooms { display: grid; gap: var(--sp-4); margin-top: var(--sp-5) !important; }
@media (min-width: 64em) { .s-agenda__rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.s-agenda__room { padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-m); background: var(--bg-2); }
.s-agenda__room > * + * { margin-top: var(--sp-2); }
.s-agenda__room-title { font-size: var(--fs-h4); }
.s-agenda__room .s-agenda__groups { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
.s-agenda__foot { margin-top: var(--sp-5); }
@property --p { syntax: "<number>"; inherits: false; initial-value: 1; }
@media (min-width: 48em) {
.s-agenda__list { position: relative; padding-left: 2.5rem; }
.s-agenda__list::before, .s-agenda__list::after { content: ""; position: absolute; left: .6rem; top: 2.4rem; bottom: 2.4rem; width: 2px; border-radius: 1px; }
.s-agenda__list::before { background: var(--line-2); }
.s-agenda__list::after { --p: inherit; background: var(--accent); transform-origin: 50% 0; transform: scaleY(var(--p, 1)); }
.s-agenda__item { position: relative; }
.s-agenda__item::before { content: ""; position: absolute; z-index: 1; left: calc(-2.5rem + .6rem + 1px - 7px); top: calc(var(--sp-6) + .3rem); width: 14px; height: 14px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px var(--bg-2); transition: background-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1); }
.s-agenda__item--break::before { top: calc(var(--sp-4) + .2rem); }
.s-agenda__list.is-tracked .s-agenda__item:not(.is-passed)::before { background: var(--line-2); transform: scale(.72); }
}
.s-expect__grid { display: grid; gap: var(--sp-6); }
.s-expect__list { display: contents; }
@media (min-width: 40em) { .s-expect__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .s-expect__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--sp-6); } }
.s-expect__head { margin-bottom: 0; }
.s-expect__item { padding-top: var(--sp-4); border-top: 2px solid var(--accent); }
.s-expect__title { font-size: var(--fs-h4); }
.s-expect__text { margin-top: var(--sp-2); font-size: var(--fs-sm); color: var(--ink-2); }
.s-faq__wrap { display: grid; gap: var(--sp-6); }
@media (min-width: 61.25em) { .s-faq__wrap { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--sp-8); align-items: start; } }
.s-faq__head, .s-faq__list { min-width: 0; }
.s-faq__list { border-top: 1px solid var(--line-2); }
.s-faq__item { border-bottom: 1px solid var(--line-2); }
.s-faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); min-height: 3.5rem; padding-block: var(--sp-4); cursor: pointer; list-style: none; font-weight: 600; font-size: var(--fs-md); line-height: 1.35; color: var(--ink); }
.s-faq__q::-webkit-details-marker { display: none; }
.s-faq__q:hover .s-faq__qt { color: var(--accent); }
.s-faq__icon { position: relative; flex: none; width: 1.25rem; height: 1.25rem; }
.s-faq__icon::before, .s-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: .875rem; height: 2px; background: var(--accent); border-radius: 1px; transform: translate(-50%, -50%); transition: transform var(--dur-fast) var(--ease); }
.s-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.s-faq__item[open] .s-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.s-faq__a { padding: 0 var(--sp-6) var(--sp-5) 0; max-width: var(--measure); color: var(--ink-2); }
.s-faq__note { margin-top: var(--sp-2); color: var(--ink-3); }
.s-faq__single { padding: var(--sp-6); background: #fff; border: 1px solid var(--line); border-radius: var(--r-m); }
.s-faq__q-static { font-size: var(--fs-h4); margin-bottom: var(--sp-3); }
.s-faq__a-static { max-width: var(--measure); }
.s-film { position: relative; background: #000; color: #fff; }
.s-film__pin { position: relative; }
.s-film__shot { position: relative; height: 100vh; height: 100svh; max-height: 56.25vw; min-height: 26rem; overflow: hidden; }
.s-film__shot img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.s-film__cv, .s-film__t--sb, .s-film__cap { display: none; }
.s-film__t, .s-film__cap { z-index: 3; margin: 0; pointer-events: none; }
.s-film__t { position: absolute; left: 0; right: 0; top: 64%; padding-inline: var(--gut); text-align: center; font-family: var(--body); font-weight: 600; text-transform: uppercase; color: #fff; line-height: 1; letter-spacing: .04em; text-shadow: 0 2px 30px rgb(0 0 0 / .7); }
.s-film__stn { display: block; font-size: clamp(1rem, .7rem + 1.2vw, 1.75rem); font-weight: 500; letter-spacing: .2em; color: #dbe3f5; }
.s-film__city { display: block; margin-top: .12em; font-size: clamp(3rem, 1rem + 7vw, 9rem); letter-spacing: .06em; }
.s-film__cap { position: absolute; left: 0; right: 0; bottom: 12%; padding-inline: var(--gut); text-align: center; font: 600 clamp(1.5rem, .9rem + 2vw, 2.75rem) / 1.1 var(--body); text-shadow: 0 2px 24px #000; }
.s-film.is-live { height: 760vh; }
.s-film.is-live .s-film__pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.s-film.is-live .s-film__shot { position: static; height: auto; min-height: 0; max-height: none; overflow: visible; }
.s-film.is-live .s-film__shot picture { display: none; }
.s-film.is-live .s-film__cv { display: block; position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; }
.s-film.is-live .s-film__t--sb { display: block; top: 44%; font-size: clamp(3rem, 1rem + 6.4vw, 8.5rem); letter-spacing: .06em; }
.s-film.is-live .s-film__cap { display: block; }
.s-film.is-live .s-film__t--next::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: -45%; bottom: -60%; background: radial-gradient(60% 55% at 50% 50%, rgb(0 0 0 / .72), rgb(0 0 0 / .45) 55%, transparent 100%); }
.s-film.is-live .s-film__t, .s-film.is-live .s-film__cap { visibility: hidden; opacity: 0; will-change: opacity; }
@media (max-width: 44.99em) {
.s-film__shot { max-height: none; height: 80svh; }
.s-film__t { top: 70%; }
}
.s-film-fade { height: clamp(10rem, 38vh, 24rem); pointer-events: none; }
.s-film-fade--in { margin-bottom: -1px; }
.s-film-fade--out { margin-top: -1px; position: relative; }
.s-film-fade--in { background: linear-gradient(180deg, var(--bg-2) 0%, color-mix(in oklab, #000 6%, var(--bg-2)) 15%, color-mix(in oklab, #000 22%, var(--bg-2)) 30%, color-mix(in oklab, #000 43%, var(--bg-2)) 45%, color-mix(in oklab, #000 65%, var(--bg-2)) 60%, color-mix(in oklab, #000 84%, var(--bg-2)) 75%, color-mix(in oklab, #000 97%, var(--bg-2)) 90%, #000 100%); }
.s-film-fade--out { background: linear-gradient(0deg, var(--bg) 0%, color-mix(in oklab, #000 6%, var(--bg)) 15%, color-mix(in oklab, #000 22%, var(--bg)) 30%, color-mix(in oklab, #000 43%, var(--bg)) 45%, color-mix(in oklab, #000 65%, var(--bg)) 60%, color-mix(in oklab, #000 84%, var(--bg)) 75%, color-mix(in oklab, #000 97%, var(--bg)) 90%, #000 100%); }
@media print { .s-film-fade { display: none; } }
.s-footer { background: var(--navy); color: var(--on-navy-2); font-size: var(--fs-sm); }
.s-footer__inner { padding-block: var(--sp-8) var(--sp-5); }
.s-footer__top { display: grid; gap: var(--sp-6); }
@media (min-width: 48em) { .s-footer__top { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: var(--sp-7); } }
.s-footer__name { display: flex; align-items: center; gap: .6rem; color: #fff; font-size: var(--fs-md); font-weight: 600; }
.s-footer__name .sb-mark { width: auto; height: 1.5rem; flex: none; }
.s-footer__org { margin-top: var(--sp-2); }
.s-footer__logos { margin-top: var(--sp-5); }
.s-footer__logo img { height: 2rem; width: auto; }
.s-footer__h { margin-bottom: var(--sp-3); color: #fff; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.s-footer__address { display: grid; gap: .2rem; font-style: normal; }
.s-footer__place { color: #fff; }
.s-footer__list { display: grid; gap: var(--sp-2); }
.s-footer__row dt { color: var(--on-navy-2); font-size: var(--fs-xs); }
.s-footer__link { color: #fff; }
.s-footer__link:hover { color: #fff; }
.s-footer__where .s-footer__link { display: inline-block; margin-top: var(--sp-3); }
.s-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-7); padding-top: var(--sp-5); border-top: 1px solid rgb(255 255 255 / .12); font-size: var(--fs-xs); }
.s-form { padding-block: var(--section-y); }
.s-form--embedded { border-top: 1px solid var(--line); }
.s-form__top { margin-bottom: var(--sp-6); }
.s-form__grid { display: grid; gap: var(--sp-6); width: 100%; max-width: calc(var(--container) + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }
@media (min-width: 61.25em) { .s-form__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--sp-8); align-items: start; } }
.s-form__grid > * { min-width: 0; }
.s-form__aside { display: grid; gap: var(--sp-6); }
@media (min-width: 61.25em) { .s-form__aside { position: sticky; top: calc(var(--header-h) + var(--sp-5)); } }
.s-form__intro > * + * { margin-top: var(--sp-3); }
.s-form__title { font-size: var(--fs-h2); }
.s-form__steps { display: grid; gap: 0; border-left: 2px solid var(--line); list-style: none; padding: 0; margin: 0; }
.s-form__step a { position: relative; display: block; padding: .55rem 0 .55rem var(--sp-4); color: var(--ink-3); font-size: var(--fs-sm); text-decoration: none; }
.s-form__step a:hover { color: var(--accent); }
.s-form__step[data-done="true"] a { color: var(--ink); }
.s-form__step[data-done="true"] a::after { content: ""; position: absolute; left: -2px; top: 0; bottom: 0; width: 2px; background: var(--accent); }
@media (max-width: 61.24em) { .s-form--embedded .s-form__aside { display: none; } }
.s-form__form { display: grid; gap: var(--sp-6); }
.s-form__note { font-size: var(--fs-sm); color: var(--ink-3); }
.s-form__section { padding: var(--sp-6); border: 1px solid var(--line); border-radius: var(--r-m); background: #fff; scroll-margin-top: calc(var(--header-h) + var(--sp-4)); }
@media (max-width: 29.99em) { .s-form__section { padding: var(--sp-5) var(--sp-4); } }
.s-form__heading { margin-bottom: var(--sp-5); font-size: var(--fs-h4); }
.s-form__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
@media (min-width: 40em) { .s-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .s-form__fields > :not(.s-form__field--half) { grid-column: 1 / -1; } }
.s-form__field { min-width: 0; margin: 0; padding: 0; border: 0; }
.s-form__label { display: block; margin-bottom: .4rem; padding: 0; font-size: var(--fs-sm); font-weight: 500; color: var(--ink); }
.s-form__optional { margin-left: .35rem; font-weight: 400; color: var(--ink-3); font-size: var(--fs-xs); }
.s-form__hint { margin-bottom: var(--sp-2); font-size: var(--fs-xs); color: var(--ink-3); }
.s-form__input { display: block; width: 100%; min-height: 2.875rem; padding: .6rem .8rem; border: 1px solid var(--line-2); border-radius: var(--r-s); background: #fff; color: var(--ink); font-size: var(--fs-md); line-height: 1.4; transition: border-color var(--dur-fast) var(--ease); }
.s-form__input::placeholder { color: #8b95a8; }
.s-form__input:hover { border-color: #9aa5b9; }
.s-form__input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgb(28 63 148 / .15); }
.s-form__input--area { min-height: 8rem; resize: vertical; }
.s-form__input--select { appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235f6b82' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .75rem center; background-size: 1rem; }
[data-invalid] .s-form__input { border-color: var(--error); }
.s-form__error { margin-top: .4rem; font-size: var(--fs-xs); color: var(--error); }
.s-form__under { display: flex; justify-content: space-between; gap: var(--sp-3); }
.s-form__count { margin-top: .4rem; margin-left: auto; font-size: var(--fs-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.s-form__count[data-over="true"] { color: var(--error); }
.s-form__options { display: grid; gap: var(--sp-2); }
@media (min-width: 40em) { .s-form__options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.s-form__options--pair { grid-template-columns: repeat(2, minmax(0, 10rem)); }
.s-form__option { display: flex; align-items: flex-start; gap: .6rem; padding: .65rem .8rem; border: 1px solid var(--line-2); border-radius: var(--r-s); background: #fff; font-size: var(--fs-sm); line-height: 1.4; color: var(--ink); cursor: pointer; }
.s-form__option:hover { border-color: #9aa5b9; }
.s-form__option:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.s-form__option input { flex: none; width: 1.05rem; height: 1.05rem; margin: .1rem 0 0; }
.s-form__option--consent { border: 0; padding: 0; background: transparent; }
.s-form__option--consent:has(input:checked) { background: transparent; }
.s-form__other { grid-column: 1 / -1; margin-top: var(--sp-2); }
.s-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.s-form__actions { display: grid; justify-items: start; gap: var(--sp-4); }
.s-form__submit { min-width: 14rem; }
.s-form__spinner { display: none; width: 1rem; height: 1rem; border: 2px solid rgb(255 255 255 / .4); border-top-color: #fff; border-radius: 50%; animation: s-form-spin .8s linear infinite; }
.s-form__submit[data-sending="true"] .s-form__spinner { display: inline-block; }
@keyframes s-form-spin { to { transform: rotate(360deg); } }
.s-form__status { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-s); font-size: var(--fs-sm); background: var(--accent-soft); color: var(--ink); }
.s-form__status[data-tone="error"] { background: #fdeceb; color: var(--error); }
.s-form__contact { font-size: var(--fs-sm); color: var(--ink-3); }
.s-header { position: sticky; top: 0; z-index: var(--z-header); background: var(--navy); color: var(--on-navy); border-bottom: 1px solid rgb(255 255 255 / .08); }
.s-header__bar { display: flex; align-items: center; gap: var(--sp-5); min-height: var(--header-h); }
.s-header__brand { display: inline-flex; align-items: center; gap: .6rem; margin-right: auto; color: #fff; font-weight: 600; font-size: 1.0625rem; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.s-header__brand:hover { color: #fff; text-decoration: none; }
.s-header__brand .sb-mark { width: auto; height: 1.35rem; flex: none; }
.s-header__nav { display: flex; align-items: center; gap: var(--sp-5); }
.s-header__list { display: flex; gap: var(--sp-5); }
.s-header__link { color: var(--on-navy-2); font-size: var(--fs-sm); font-weight: 500; text-decoration: none; }
.s-header__link:hover { color: #fff; text-decoration: none; }
.s-header__cta { min-height: 2.5rem; padding-inline: 1.1rem; }
.s-header__cta--menu { display: none; }
.s-header__burger { display: none; }
@media (max-width: 61.24em) {
.s-header__burger { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-right: -.5rem; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
.s-header__burger-lines, .s-header__burger-lines::before, .s-header__burger-lines::after { display: block; width: 1.25rem; height: 2px; background: currentColor; border-radius: 1px; content: ""; transition: transform var(--dur-fast) var(--ease); }
.s-header__burger-lines { position: relative; }
.s-header__burger-lines::before { position: absolute; top: -6px; }
.s-header__burger-lines::after { position: absolute; top: 6px; }
.s-header.is-open .s-header__burger-lines { background: transparent; }
.s-header.is-open .s-header__burger-lines::before { transform: translateY(6px) rotate(45deg); }
.s-header.is-open .s-header__burger-lines::after { transform: translateY(-6px) rotate(-45deg); }
.s-header__nav { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: var(--sp-4); padding: var(--sp-4) var(--gut) var(--sp-5); background: var(--navy); border-top: 1px solid rgb(255 255 255 / .08); }
.s-header.is-open .s-header__nav { display: flex; }
.s-header__list { flex-direction: column; gap: 0; }
.s-header__link { display: block; padding: .7rem 0; font-size: var(--fs-md); border-bottom: 1px solid rgb(255 255 255 / .08); }
.s-header__cta--menu { display: inline-flex; }
.s-header__cta--bar { display: none; }
}
@media (min-width: 30em) and (max-width: 61.24em) {
.s-header__cta--bar { display: inline-flex; }
.s-header__cta--menu { display: none; }
}
.s-hero { position: relative; background: var(--navy); color: #fff; }
.s-hero__pin { position: relative; display: flex; align-items: center; min-height: min(calc(100svh - var(--header-h)), 54rem); padding-block: clamp(3rem, 6vw, 5.5rem); overflow: hidden; background: var(--navy); isolation: isolate; }
.s-hero__bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; container-type: size; }
.s-hero__bg picture { position: absolute; inset: 0; display: block; }
.s-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.s-hero__art { display: none; }
.s-hero__art svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.s-hero__planet { position: absolute; background: url("/img/forum/planet.webp?v=3fd060bef8") 0 0 / 100% 100% no-repeat; }
@media (min-width: 75em) {
.s-hero__art { display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
@supports (width: 1cqw) {
.s-hero__art { width: max(100cqw, 177.78cqh); height: max(100cqh, 56.25cqw); left: 70%; top: 50%; transform: translate(-70%, -50%); }
}
}
.s-hero__beam-glow { fill: none; stroke: rgb(110 176 255 / .55); stroke-width: 6; }
.s-hero__beam { fill: none; stroke: rgb(232 242 255 / .9); stroke-width: 1.6; stroke-linecap: round; }
.s-hero__spark { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 46 var(--len); stroke-dashoffset: 46; opacity: 0; }
.s-hero__city { fill: #ffe2a8; }
.s-hero__city-glow { fill: rgb(255 200 110 / .35); }
.s-hero__home { fill: #fff; }
.s-hero__home-ring { fill: none; stroke: rgb(255 255 255 / .7); stroke-width: 1.5; }
@media (prefers-reduced-motion: no-preference) {
.s-hero__planet { opacity: 0; transform: translateY(2%) scale(.97); animation: s-hero-rise 1.8s cubic-bezier(.16, 1, .3, 1) .2s forwards; }
.s-hero__beam, .s-hero__beam-glow { stroke-dasharray: var(--len); stroke-dashoffset: var(--len); animation: s-hero-draw 1.6s cubic-bezier(.65, 0, .35, 1) forwards; animation-delay: calc(1.1s + var(--i) * .18s); }
.s-hero__city, .s-hero__city-glow { opacity: 0; animation: s-hero-fade .5s ease forwards; animation-delay: calc(2.6s + var(--i) * .18s); }
.s-hero__spark { animation: s-hero-spark 3.6s cubic-bezier(.45, 0, .55, 1) infinite; animation-delay: calc(3.4s + var(--i) * .55s); }
.s-hero__home, .s-hero__home-ring { opacity: 0; animation: s-hero-fade .6s ease .9s forwards; }
.s-hero__home-ring { transform-box: fill-box; transform-origin: center; animation: s-hero-fade .6s ease .9s forwards, s-hero-ring 2.8s ease-out 1.6s infinite; }
}
@keyframes s-hero-draw { to { stroke-dashoffset: 0; } }
@keyframes s-hero-fade { to { opacity: 1; } }
@keyframes s-hero-rise { to { opacity: 1; transform: none; } }
@keyframes s-hero-spark { 0% { stroke-dashoffset: 46; opacity: 0; } 12% { opacity: 1; } 80% { opacity: 1; } 100% { stroke-dashoffset: calc(var(--len) * -1); opacity: 0; } }
@keyframes s-hero-ring { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(2.6); opacity: 0; } }
.s-hero__pin::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(10 24 52 / .82) 0%, rgb(10 24 52 / .55) 38%, rgb(10 24 52 / 0) 62%); }
.s-hero__inner { position: relative; }
.s-hero__text { max-width: 40rem; }
.s-hero__hosts { display: flex; align-items: center; gap: 1rem; margin-bottom: var(--sp-6); }
.s-hero__qist { font-size: 1.75rem; font-weight: 600; letter-spacing: .04em; line-height: 1; }
.s-hero__rule { width: 1px; height: 2.25rem; background: rgb(255 255 255 / .5); }
.s-hero__narxoz { height: 2.1rem; width: auto; }
.s-hero__title { color: #fff; font-size: clamp(2.125rem, 1.2rem + 3.1vw, 3.75rem); line-height: 1.06; font-weight: 600; text-transform: uppercase; letter-spacing: -.005em; }
.s-hero__line { display: block; }
.s-hero__line > span { display: block; }
@media (min-width: 48em) { .s-hero__text { max-width: 46rem; } .s-hero__line { white-space: nowrap; } }
.s-hero__promise { max-width: 34rem; margin-top: var(--sp-5); padding-left: var(--sp-4); border-left: 2px solid #7fb2ff; font-size: var(--fs-lg); line-height: 1.5; color: #e9eef9; }
.s-hero__facts { display: flex; flex-wrap: wrap; gap: var(--sp-4) var(--sp-6); margin-top: var(--sp-6); font-size: var(--fs-md); line-height: 1.35; }
.s-hero__facts li { display: flex; align-items: flex-start; gap: .65rem; }
.s-hero__facts li:first-child { font-weight: 600; align-items: center; }
.s-hero__facts svg { width: 1.5rem; height: 1.5rem; flex: none; color: #fff; }
.s-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-6); }
.s-hero__org { margin-top: var(--sp-5); font-size: var(--fs-xs); color: var(--on-navy-2); }
@media (min-width: 45em) and (max-width: 74.99em) {
.s-hero__bg img { object-position: 92% 50%; }
.s-hero__pin::before { background: linear-gradient(90deg, rgb(10 24 52 / .9) 0%, rgb(10 24 52 / .78) 45%, rgb(10 24 52 / .35) 75%, rgb(10 24 52 / .1) 100%); }
}
@media (max-width: 44.99em) {
.s-hero__pin { align-items: flex-start; min-height: 0; padding-block: var(--sp-7) var(--sp-8); }
.s-hero__bg img { object-position: 50% 100%; }
.s-hero__pin::before { background: linear-gradient(180deg, rgb(10 24 52 / .9) 0%, rgb(10 24 52 / .78) 55%, rgb(10 24 52 / .45) 100%); }
.s-hero__hosts { margin-bottom: var(--sp-5); }
.s-hero__qist { font-size: 1.4rem; }
.s-hero__narxoz { height: 1.75rem; }
.s-hero__actions .btn { flex: 1 1 100%; }
}
.has-hero-scene .s-hero { height: 200vh; background: var(--bg); }
.has-hero-scene .s-hero:has(+ .s-institutions) { background: #070a24; }
.has-hero-scene .s-hero__pin {
position: sticky; top: var(--header-h);
height: calc(100vh - var(--header-h)); min-height: 0;
clip-path: inset(calc(var(--c, 0) * 5vh) calc(var(--c, 0) * 5vw) round calc(var(--c, 0) * 28px));
will-change: clip-path;
}
.has-hero-scene .s-hero__bg { transform: scale(calc(1 + var(--h, 0) * .16)) translateY(calc(var(--h, 0) * -2.5%)); transform-origin: 62% 74%; will-change: transform; }
.has-hero-scene .s-hero__pin::before { opacity: calc(1 - var(--a, 0) * .75); }
.has-hero-scene .s-hero__text { opacity: calc(1 - var(--a, 0) * 1.15); transform: translateY(calc(var(--a, 0) * -9vh)); will-change: opacity, transform; }
.has-hero-scene .s-hero.is-text-gone .s-hero__text { visibility: hidden; }
.s-institutions { background: #070a24; color: #fff; }
.s-institutions .section__head h2 { color: #fff; }
.s-institutions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .08); border-radius: var(--r-m); overflow: hidden; }
@media (min-width: 40em) { .s-institutions__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64em) { .s-institutions__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.s-institutions__item { background: #070a24; }
.s-institutions__logo { display: flex; align-items: center; justify-content: center; height: 7rem; padding: var(--sp-4) var(--sp-2); }
.s-institutions__logo img { display: block; max-width: 100%; object-fit: contain; }
a.s-institutions__logo { transition: background-color .3s ease; }
a.s-institutions__logo:hover { background: rgb(255 255 255 / .05); }
@media (max-width: 39.99em) { .s-institutions__item:last-child:nth-child(2n + 1) { grid-column: span 2; } }
@media (min-width: 40em) and (max-width: 63.99em) {
.s-institutions__item:last-child:nth-child(3n + 1) { grid-column: span 3; }
.s-institutions__item:last-child:nth-child(3n + 2) { grid-column: span 2; }
}
@media (min-width: 64em) {
.s-institutions__item:last-child:nth-child(7n + 1) { grid-column: span 7; }
.s-institutions__item:last-child:nth-child(7n + 2) { grid-column: span 6; }
.s-institutions__item:last-child:nth-child(7n + 3) { grid-column: span 5; }
.s-institutions__item:last-child:nth-child(7n + 4) { grid-column: span 4; }
.s-institutions__item:last-child:nth-child(7n + 5) { grid-column: span 3; }
.s-institutions__item:last-child:nth-child(7n + 6) { grid-column: span 2; }
}
.s-minister__grid { display: grid; gap: var(--sp-7); align-items: center; }
@media (min-width: 61.25em) { .s-minister__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--sp-8); } }
.s-minister__copy > * + * { margin-top: var(--sp-4); }
.s-minister__copy h2 { max-width: 18ch; }
.s-minister__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-6); margin-top: var(--sp-6) !important; padding-top: var(--sp-6); border-top: 1px solid var(--line); }
.s-minister__figure { display: flex; flex-direction: column-reverse; gap: .2rem; }
.s-minister__figure dd { font-size: clamp(2rem, 1.6rem + 1.6vw, 2.75rem); font-weight: 600; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.s-minister__figure dt { font-size: var(--fs-sm); color: var(--ink-3); }
.s-minister__photo .photo { aspect-ratio: 3 / 2; }
.s-minister__photo figcaption { margin-top: var(--sp-3); }
.s-minister__play { display: inline-flex; align-items: center; gap: var(--sp-2); max-width: 100%; margin-top: var(--sp-4); white-space: normal; text-align: left; }
.s-minister__play svg { flex: none; }
.s-minister__grid > * { min-width: 0; }
.s-minister__play .meta { margin-left: var(--sp-1); }
.s-minister__dialog { width: min(92vw, calc(86svh * 9 / 16)); max-width: none; padding: 0; border: 0; border-radius: var(--r-m); background: #000; overflow: visible; }
.s-minister__dialog::backdrop { background: rgb(5 10 26 / .82); }
.s-minister__dialog video { display: block; width: 100%; height: auto; border-radius: var(--r-m); }
.s-minister__close { position: absolute; top: -.25rem; right: -3rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; background: #fff; color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; }
@media (max-width: 40em) { .s-minister__close { top: .5rem; right: .5rem; z-index: 1; } }
:root { --ease-out: cubic-bezier(.16, 1, .3, 1); --ease-io: cubic-bezier(.65, 0, .35, 1); }
@property --scroll { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --lit { syntax: "<number>"; inherits: false; initial-value: 0; }
.s-header::after { --scroll: inherit; content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #7fb2ff; transform-origin: 0 50%; transform: scaleX(var(--scroll, 0)); pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
@supports (animation-timeline: scroll()) {
.s-header::after { animation: m-progress linear both; animation-timeline: scroll(root); }
}
}
@keyframes m-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: no-preference) {
.s-hero__bg img { animation: m-settle 2.8s var(--ease-out) both; }
.s-hero__line { overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.s-hero__line > span { animation: m-line 1.1s var(--ease-out) both; }
.s-hero__line + .s-hero__line > span { animation-delay: .12s; }
.s-hero__hosts { animation: m-rise .9s var(--ease-out) .05s both; }
.s-hero__promise { animation: m-rise .9s var(--ease-out) .55s both; }
.s-hero__facts { animation: m-rise .9s var(--ease-out) .65s both; }
.s-hero__actions { animation: m-rise .9s var(--ease-out) .75s both; }
.s-hero__org { animation: m-fade 1.2s ease .95s both; }
.s-hero__cta span[aria-hidden] { transition: transform .35s var(--ease-out); }
.s-hero__cta:hover span[aria-hidden] { transform: translateX(4px); }
.has-motion [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease-out), transform 1.1s var(--ease-out); transition-delay: var(--d, 0s); }
.has-motion [data-reveal].is-in { opacity: 1; transform: none; }
.has-motion [data-wipe] { clip-path: inset(100% 0 0 0 round var(--r-m)); transition: clip-path 1.25s var(--ease-io); transition-delay: var(--d, 0s); }
.has-motion [data-wipe] img { transform: scale(1.14); transition: transform 1.8s var(--ease-out); transition-delay: var(--d, 0s); }
.has-motion [data-wipe].is-in { clip-path: inset(0 0 0 0 round var(--r-m)); }
.has-motion [data-wipe].is-in img { transform: none; }
.s-speakers__photo img { transition: transform .8s var(--ease-out); }
.s-speakers__card:hover .s-speakers__photo img { transform: scale(1.045); }
.has-motion .s-statement__text .m-w { color: rgb(255 255 255 / .2); transition: color .35s ease; }
.has-motion .s-statement__text .m-w.is-lit { color: #fff; }
.has-motion .s-statement__text::before { --lit: inherit; transform-origin: 0 50%; transform: scaleX(var(--lit, 0)); }
}
@keyframes m-settle { from { transform: scale(1.09); } to { transform: none; } }
@keyframes m-settle-sm { from { transform: scale(1.06); } to { transform: none; } }
@keyframes m-line { from { transform: translateY(108%); } to { transform: none; } }
@keyframes m-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes m-fade { from { opacity: 0; } to { opacity: 1; } }
@media print {
.has-motion [data-reveal], .has-motion [data-wipe] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.has-motion [data-wipe] img { transform: none !important; }
.has-motion .s-statement__text .m-w { color: #fff !important; }
.s-header::after { display: none; }
}
.s-notfound__grid { display: grid; gap: var(--sp-6); align-items: center; }
@media (min-width: 48em) { .s-notfound__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-8); } }
.s-notfound__code { font-size: clamp(5rem, 3rem + 10vw, 9rem); font-weight: 600; line-height: 1; color: var(--accent); letter-spacing: -.02em; }
.s-notfound__bridge { width: 100%; height: auto; margin-top: var(--sp-4); color: var(--line-2); }
.s-notfound__body > * + * { margin-top: var(--sp-4); }
.s-notfound__actions { margin-top: var(--sp-6) !important; }
.s-privacy__panel > * + * { margin-top: var(--sp-4); }
.s-privacy__title { font-size: var(--fs-h2); }
.s-privacy__actions { margin-top: var(--sp-6) !important; }
.s-roster { overflow: hidden; }
.s-roster__head { margin-inline: auto; text-align: center; }
.s-roster__viewport {
--card: min(21rem, 78vw);
--gap: clamp(1rem, 2.5vw, 2rem);
position: relative;
margin-inline: calc(50% - 50vw);
overflow-x: auto;
overscroll-behavior-x: contain;
scroll-snap-type: x mandatory;
scrollbar-width: none;
}
.s-roster__viewport::-webkit-scrollbar { display: none; }
.s-roster__viewport:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.s-roster__viewport.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
@media (hover: hover) and (pointer: fine) { .s-roster__viewport { cursor: grab; } }
.s-roster__track { display: flex; gap: var(--gap); padding-block: var(--sp-4) var(--sp-5); }
.s-roster__track::before, .s-roster__track::after { content: ""; flex: 0 0 calc((100% - var(--card)) / 2 - var(--gap)); }
@property --t { syntax: "<number>"; inherits: false; initial-value: 0; }
.s-roster__card {
--t: 0;
flex: 0 0 var(--card);
display: flex; flex-direction: column;
scroll-snap-align: center;
background: #fff;
border: 1px solid var(--line);
border-radius: var(--r-m);
overflow: hidden;
text-align: center;
filter: brightness(calc(1 - .45 * var(--t))) saturate(calc(1 - .35 * var(--t)));
transform: scale(calc(1 - .08 * var(--t)));
transition: border-color .3s ease;
}
.s-roster__card.is-active { border-color: #b9c4dc; }
.s-roster__card img { -webkit-user-drag: none; }
.s-roster__photo { aspect-ratio: 1 / 1; background: var(--bg-2); overflow: hidden; }
.s-roster__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.s-roster__body { display: flex; flex: 1; flex-direction: column; align-items: center; padding: var(--sp-5) var(--sp-5) var(--sp-6); }
.s-roster__name { font-size: var(--fs-h3); line-height: 1.2; }
.s-roster__role { margin-top: var(--sp-3); font-size: var(--fs-sm); line-height: 1.45; color: var(--ink); }
.s-roster__org { margin-top: var(--sp-1); font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-3); }
.s-roster__former { margin-top: var(--sp-1); font-size: var(--fs-xs); line-height: 1.45; color: var(--ink-3); font-style: italic; }
.s-roster__country { margin-top: var(--sp-3); }
.s-roster__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.6rem; margin-top: auto; box-sizing: content-box; padding-top: var(--sp-5); }
.s-roster__logo img { display: block; max-width: 100%; object-fit: contain; }
.s-roster__controls { display: flex; align-items: center; justify-content: center; gap: var(--sp-4); margin-top: var(--sp-4); }
.s-roster__stage { position: relative; --card: min(21rem, 78vw); --gap: clamp(1rem, 2.5vw, 2rem); }
.s-roster__arrow--prev, .s-roster__arrow--next { position: absolute; z-index: 2; top: calc(50% + (var(--sp-4) - var(--sp-5)) / 2); transform: translate(-50%, -50%); }
.s-roster__arrow--prev { left: calc(50% - var(--card) / 2 - var(--gap) / 2); }
.s-roster__arrow--next { left: calc(50% + var(--card) / 2 + var(--gap) / 2); }
.s-roster__arrow[hidden] { display: none; }
.s-roster__controls[hidden] { display: none; }
.s-roster__dots { display: flex; gap: .25rem; }
.s-roster__dot { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; padding: 0; border: 0; background: transparent; cursor: pointer; }
.s-roster__dot::before { content: ""; width: .5rem; height: .5rem; border-radius: 1rem; background: var(--line-2); transition: width .35s cubic-bezier(.16, 1, .3, 1), background-color .25s ease; }
.s-roster__dot[aria-current="true"]::before { width: 1.5rem; background: var(--accent); }
.s-roster__dot:hover::before { background: var(--ink-3); }
.s-roster__dot[aria-current="true"]:hover::before { background: var(--accent); }
.s-roster__arrow { flex: none; display: grid; place-items: center; width: 3.25rem; height: 3.25rem; padding: 0; border: 1px solid var(--line-2); border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; transition: border-color .2s ease, color .2s ease; }
.s-roster__arrow:hover { border-color: var(--accent); color: var(--accent); }
.s-roster__arrow[disabled] { opacity: .35; cursor: default; border-color: var(--line-2); color: var(--ink); }
.s-roster__arrow svg { width: 1.15rem; height: 1.15rem; }
@media (prefers-reduced-motion: reduce) {
.s-roster__card { filter: none; transform: none; }
}
@media (hover: none) {
.s-roster__card { filter: none; transform: none; }
.s-roster.is-loop .s-roster__card { position: relative; }
.s-roster.is-loop .s-roster__card::after { content: ""; position: absolute; inset: 0; background: #000; opacity: .42; transition: opacity .35s ease; pointer-events: none; }
.s-roster.is-loop .s-roster__card.is-active::after { opacity: 0; }
}
.s-roster { position: relative; isolation: isolate; background: #070a24; color: #fff; }
.s-roster__cloth { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 1.4s ease; pointer-events: none; }
.s-roster.is-cloth .s-roster__cloth { opacity: .6; }
.s-roster::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, #070a24 0%, rgb(7 10 36 / .25) 24%, rgb(7 10 36 / .25) 76%, #070a24 100%); }
.s-roster__head h2 { color: #fff; }
.s-roster__card, .s-roster__card.is-active { border-color: transparent; }
.s-roster__arrow { background: #fff; color: var(--navy); border-color: #fff; }
.s-roster__arrow:hover { background: #e6ebf5; border-color: #e6ebf5; color: var(--navy); }
.s-roster__dot::before { background: rgb(255 255 255 / .35); }
.s-roster__dot:hover::before { background: rgb(255 255 255 / .7); }
.s-roster__dot[aria-current="true"]::before, .s-roster__dot[aria-current="true"]:hover::before { background: #fff; }
.s-roster__viewport:focus-visible { outline-color: #fff; }
.s-institutions + .s-roster { padding-top: 0; }
.s-speakers__group + .s-speakers__group { margin-top: var(--sp-8); }
.s-speakers__cat { padding-bottom: var(--sp-3); margin-bottom: var(--sp-5); border-bottom: 1px solid var(--line); }
.s-speakers__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-6) var(--sp-4); }
.s-speakers__grid > .s-speakers__card { grid-column: span 2; }
.s-speakers__grid > .s-speakers__card:last-child:nth-child(odd) { grid-column: 2 / span 2; }
@media (min-width: 48em) {
.s-speakers__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-7) var(--sp-5); }
.s-speakers__grid > .s-speakers__card:last-child:nth-child(odd) { grid-column: span 2; }
.s-speakers__grid > .s-speakers__card:last-child:nth-child(3n + 1) { grid-column: 3 / span 2; }
.s-speakers__grid > .s-speakers__card:nth-last-child(2):nth-child(3n + 1) { grid-column: 2 / span 2; }
}
@media (min-width: 64em) {
.s-speakers__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.s-speakers__grid > .s-speakers__card,
.s-speakers__grid > .s-speakers__card:last-child:nth-child(odd),
.s-speakers__grid > .s-speakers__card:last-child:nth-child(3n + 1),
.s-speakers__grid > .s-speakers__card:nth-last-child(2):nth-child(3n + 1) { grid-column: auto; }
}
.s-speakers__card { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 0; align-content: start; }
.s-speakers__name { align-self: start; }
.s-speakers__photo { aspect-ratio: 4 / 5; margin-bottom: var(--sp-4); }
.s-speakers__photo img { object-position: 50% 18%; }
.s-speakers__initials { display: grid; place-items: center; width: 100%; height: 100%; font-size: 2rem; font-weight: 600; color: var(--ink-3); }
.s-speakers__name { font-size: var(--fs-md); line-height: 1.3; }
.s-speakers__role { margin-top: var(--sp-2); font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-2); }
.s-speakers__org { margin-top: var(--sp-1); font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-3); }
.s-speakers__former { margin-top: var(--sp-1); font-size: var(--fs-xs); line-height: 1.45; color: var(--ink-3); font-style: italic; }
.s-speakers__country { margin-top: var(--sp-3); }
@media (max-width: 29.99em) { .s-speakers__name { font-size: var(--fs-sm); } .s-speakers__role, .s-speakers__org { font-size: var(--fs-xs); } }
@media (min-width: 64em) { .s-speakers__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: var(--sp-4); } }
.s-statement { background: var(--navy); color: #fff; padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.s-statement__text { max-width: 52rem; font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2.125rem); line-height: 1.35; font-weight: 500; letter-spacing: -.005em; text-wrap: balance; }
.s-statement__text::before { content: ""; display: block; width: 3rem; height: 2px; margin-bottom: var(--sp-5); background: #7fb2ff; }
.s-thanks__panel { padding: var(--sp-7) var(--sp-6); border: 1px solid var(--line); border-radius: var(--r-m); }
.s-thanks__panel > * + * { margin-top: var(--sp-4); }
.s-thanks__title { font-size: var(--fs-h2); }
.s-thanks__mark { display: block; color: var(--accent); }
.s-thanks__mail { padding: var(--sp-4) var(--sp-5); border-radius: var(--r-m); background: var(--accent-soft); }
.s-thanks__mail > * + * { margin-top: var(--sp-1); }
.s-thanks__mail strong { color: var(--ink); overflow-wrap: anywhere; }
.s-thanks__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-6) !important; }
.s-venue__grid { display: grid; gap: var(--sp-5); align-items: end; margin-bottom: var(--sp-6); }
@media (min-width: 48em) { .s-venue__grid { grid-template-columns: minmax(0, 1fr) auto; } }
.s-venue__id > * + * { margin-top: var(--sp-2); }
.s-venue__hall { display: block; color: var(--accent); }
.s-venue__place { color: var(--ink-3); }
.s-venue__info { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-5); }
.s-venue__crest { width: auto; height: 2.75rem; }
.s-venue__facts dt { font-size: var(--fs-xs); color: var(--ink-3); }
.s-venue__facts dd { font-weight: 500; color: var(--ink); }
.s-venue__photos { display: grid; gap: var(--sp-4); }
@media (min-width: 48em) { .s-venue__photos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .s-venue__photos--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.s-venue__photo { aspect-ratio: 4 / 3; }