@font-face {
  font-family:Archivo;
  src:url('/assets/fonts/archivo-regular.ttf') format('truetype');
  font-weight:100 900;
  font-display:swap
}

@font-face {
  font-family:Plex Mono;
  src:url('/assets/fonts/ibm-plex-mono-regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap
}

:root {
  --ink:#101a2b;
  --navy:#091222;
  --blue:#174fda;
  --blue-hover:#0d3bb2;
  --muted:#5d6777;
  --paper:#fff;
  --soft:#f3f5f8;
  --pale:#e9effa;
  --line:#d6dce5;
  --white:#fff;
  --radius-xs:10px;
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --radius-pill:999px;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:96px;
  --section-space:clamp(72px,6.2vw,104px);
  --container:1504px;
  --gutter:clamp(24px,4.3vw,80px);
  --font-sans:Archivo,Arial,sans-serif;
  --font-mono:'Plex Mono',monospace;
  --display:clamp(52px,6.5vw,112px);
  --statement:clamp(36px,3.9vw,66px);
  --duration:240ms;
  --ease:cubic-bezier(.2,.75,.25,1);
  --breakpoint-mobile:767px;
  --breakpoint-nav:1100px;
  --border:1px solid var(--line)
}

*, *::before, *::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:130px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:17px/1.6 var(--font-sans);
  -webkit-font-smoothing:antialiased
}

body.menu-open {
  overflow:hidden
}

h1, h2, h3, h4, p, figure {
  margin:0
}

h1, h2, h3 {
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.045em
}

p+p {
  margin-top:20px
}

h3+p, h2+p {
  margin-top:24px
}

p {
  color:var(--muted)
}

a {
  color:inherit;
  text-decoration:none
}

button, input, select, textarea {
  font:inherit
}

button, a, input, textarea, select, summary {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:disabled {
  cursor:not-allowed;
  opacity:.48
}

a, button {
  touch-action:manipulation
}

img, svg {
  display:block;
  max-width:100%
}

img {
  object-fit:cover
}

button {
  color:inherit
}

button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline:3px solid #5081ff;
  outline-offset:5px
}

::selection {
  background:#bdd0ff;
  color:#091222
}

em {
  font-style:normal;
  color:var(--blue)
}

[hidden] {
  display:none!important
}

.container {
  width:min(calc(100% - var(--gutter)*2),var(--container));
  margin-inline:auto
}

.section {
  padding-block:var(--section-space)
}

.soft {
  background:var(--soft)
}

.split {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:48px
}

.split> :first-child {
  grid-column:1/7
}

.split> :last-child {
  grid-column:8/13
}

.statement {
  font-size:var(--statement);
  line-height:1.1
}

.lead {
  font-size:clamp(22px,1.8vw,28px);
  line-height:1.4;
  letter-spacing:-.025em;
  color:var(--ink)
}

.measure {
  max-width:580px
}

.meta {
  font:13px/1.5 var(--font-mono);
  letter-spacing:.035em
}

.section-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  padding-bottom:24px;
  margin-bottom:52px;
  border-bottom:var(--border)
}

.section-heading h2 {
  font-size:clamp(28px,2.5vw,40px);
  line-height:1.14
}

.text-link {
  font-size:15px;
  display:inline-flex;
  align-items:center;
  gap:22px;
  min-height:44px;
  white-space:nowrap
}

.text-link:hover {
  color:var(--blue)
}

.button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  min-height:54px;
  padding:16px 22px;
  border-radius:var(--radius-sm);
  font:13px/1.5 var(--font-mono);
  letter-spacing:0;
  text-decoration:none;
  border:1px solid transparent;
  transition:background var(--duration),transform var(--duration),color var(--duration)
}

.button:hover {
  transform:translateY(-2px)
}

.button-dark {
  background:var(--ink);
  color:#fff
}

.button-dark:hover {
  background:var(--blue)
}

.button-blue {
  background:var(--blue);
  color:#fff
}

.button-blue:hover {
  background:var(--blue-hover)
}

.button-light {
  background:#fff;
  color:var(--ink)
}

.button-light:hover {
  background:#dbe6ff
}

.button-outline {
  border-color:#ffffff60;
  background:transparent;
  color:#fff
}

.button-outline:hover {
  background:#ffffff15
}

.button-pale {
  background:var(--pale);
  color:var(--ink)
}

.button-pale:hover {
  background:#d8e3fa
}

.button-group {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px
}

.icon-button {
  height:44px;
  width:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:var(--border);
  border-radius:50%;
  background:transparent;
  font:24px/1 var(--font-sans);
  flex:none
}

.skip-link {
  position:fixed;
  top:10px;
  left:20px;
  z-index:200;
  padding:12px 20px;
  background:#fff;
  border-radius:10px;
  transform:translateY(-160%)
}

.skip-link:focus {
  transform:none
}

.site-header {
  position:fixed;
  left:0;
  top:20px;
  right:0;
  z-index:100;
  padding-inline:28px;
  transition:top var(--duration)
}

.nav-shell {
  position:relative;
  display:flex;
  align-items:center;
  gap:28px;
  max-width:1440px;
  margin:auto;
  min-height:84px;
  padding:8px 16px 8px 24px;
  border-radius:22px;
  background:#f1f4f7e8;
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  box-shadow:0 4px 24px #09122206;
  transition:background var(--duration),box-shadow var(--duration)
}

.home .site-header:not(.scrolled):not(.menu-active) .nav-shell {
  background:#ffffff10;
  color:#fff
}

.home .site-header:not(.scrolled):not(.menu-active) .tais-logo {
  filter:brightness(0) invert(1)
}

.site-header.scrolled {
  top:12px
}

.site-header.scrolled .nav-shell {
  background:#fffffff2;
  box-shadow:0 8px 30px #09122210
}

.brand {
  flex:none;
  width:72px;
  height:60px;
  display:grid;
  place-items:center
}

.tais-logo {
  width:100%;
  height:100%
}

.desktop-nav {
  display:flex;
  align-items:center;
  gap:18px;
  flex:1;
  justify-content:center
}

.nav-item {
  display:flex;
  align-items:center
}

.nav-item>a {
  padding:12px 0;
  font-size:14px;
  white-space:nowrap
}

.nav-item>a[aria-current=page] {
  text-decoration:underline;
  text-underline-offset:6px
}

.nav-toggle {
  border:0;
  background:transparent;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0
}

.nav-toggle[aria-expanded=true] span {
  transform:rotate(180deg)
}

.nav-toggle span {
  transition:transform var(--duration)
}

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

.header-actions .button {
  min-height:48px;
  padding:12px 19px;
  gap:22px
}

.mega-menu {
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  right:0;
  display:grid;
  grid-template-columns:1fr 1.7fr;
  gap:60px;
  padding:48px;
  border-radius:28px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 24px 60px #09122222;
  animation:menu-in 220ms var(--ease)
}

.mega-menu::before {
  content:'';
  position:absolute;
  top:-16px;
  height:18px;
  left:0;
  right:0
}

.mega-intro h2 {
  font-size:48px;
  margin:15px 0 24px
}

.mega-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 32px;
  align-content:start
}

.mega-links a {
  border-bottom:var(--border);
  padding:16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  line-height:1.3
}

.mega-links a:hover {
  color:var(--blue)
}

.mobile-toggle {
  display:none
}

.mobile-nav {
  border:0;
  padding:24px;
  width:calc(100% - 24px);
  max-width:700px;
  height:calc(100dvh - 24px);
  max-height:none;
  margin:12px;
  border-radius:28px;
  background:var(--soft);
  color:var(--ink)
}

.mobile-nav::backdrop {
  background:#0912229c;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px)
}

.mobile-nav[open] {
  display:flex;
  flex-direction:column;
  animation:menu-in 250ms var(--ease)
}

.mobile-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:30px
}

.mobile-top>a {
  width:76px;
  height:60px
}

.mobile-actions {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:center;
  margin-top:auto;
  padding-top:28px
}

.mobile-actions .button {
  width:100%
}

.mobile-meta {
  font-size:14px;
  margin-top:28px
}

.mobile-row {
  display:flex;
  align-items:center;
  border-bottom:var(--border)
}

.mobile-row>a {
  font-size:30px;
  line-height:1.2;
  padding:20px 0;
  flex:1
}

.mobile-row>button {
  background:transparent;
  border:0;
  height:60px;
  width:52px;
  font-size:26px
}

.mobile-back {
  background:none;
  border:0;
  padding:12px 0;
  margin-bottom:16px;
  min-height:44px;
  display:block
}

.mobile-subtitle {
  font-size:38px;
  margin:12px 0 22px
}

.mobile-subitem {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:15px 0;
  line-height:1.3;
  border-bottom:var(--border);
  min-height:54px
}

.hero-art {
  position:absolute;
  inset:-3%;
  z-index:-2;
  background:#050b18 url('/assets/images/hero-1920.jpg') center/cover no-repeat;
  background-image:image-set(url('/assets/images/hero-1920.webp') type('image/webp'),url('/assets/images/hero-1920.jpg') type('image/jpeg'));
  animation:hero-drift 22s ease-in-out infinite alternate
}

.hero-bottom {
  position:absolute;
  bottom:32px;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font:12px/1.5 var(--font-mono);
  color:#c8d2e6
}

.hero-bottom>a {
  display:flex;
  gap:24px;
  align-items:center;
  min-height:44px
}

.motion-toggle {
  min-height:44px;
  background:none;
  border:0;
  color:inherit;
  font:inherit;
  padding:12px 0
}

.motion-paused .hero-art {
  animation-play-state:paused
}

.intro-copy .button {
  margin-top:30px
}

.focus-section {
  background:var(--soft)
}

.focus-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px
}

.focus-card {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:28px;
  color:#fff;
  grid-column:span 4;
  min-height:300px;
  background:#091222
}

.focus-card:nth-child(-n+2) {
  grid-column:span 6;
  min-height:385px
}

.focus-card img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  z-index:-2;
  transition:transform 500ms var(--ease)
}

.focus-card::after {
  position:absolute;
  inset:0;
  content:'';
  background:linear-gradient(180deg,#060d1a20,#060d1a10 25%,#060d1ac7);
  z-index:-1
}

.focus-card:hover img {
  transform:scale(1.03)
}

.focus-content {
  padding:30px;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:inherit;
  position:relative
}

.focus-content h3 {
  font-size:clamp(25px,2.4vw,36px);
  max-width:85%;
  margin-top:auto;
  padding-top:80px;
  line-height:1.12
}

.focus-content .meta {
  color:#fff
}

.rail-controls {
  display:none;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px
}

.rail-count {
  font:13px var(--font-mono);
  margin-right:auto
}

.panel-preview-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}

.section-note {
  margin-top:28px;
  font-size:14px
}

.participation-panel {
  padding:clamp(32px,5vw,80px);
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:72px;
  border-radius:36px;
  background:#0d2257;
  color:#fff;
  align-items:center
}

.participation-panel .meta {
  color:#adbedf;
  margin-bottom:42px
}

.participation-panel h2 {
  font-size:clamp(44px,5vw,78px);
  line-height:1.05
}

.participation-panel h2 em {
  color:#a9c8ff
}

.participation-panel p:not(.meta) {
  color:#c0cce1;
  max-width:480px;
  margin-top:28px
}

.participation-panel .participation-actions {
  gap:12px
}

.participation-panel .participation-actions .button {
  min-height:52px;
  padding:14px 18px;
  justify-content:center;
  gap:0;
  font-size:12px;
  text-align:center;
  text-transform:uppercase
}

.participation-actions .button-tertiary {
  color:#dbe4f6;
  background:transparent;
  border-color:transparent
}

.participation-actions .button-tertiary:hover {
  color:#fff;
  background:#ffffff0c
}

.participation-links {
  display:flex;
  flex-direction:column;
  gap:16px
}

.participation-links a {
  padding:28px;
  border-radius:20px;
  background:#ffffff0c;
  display:flex;
  gap:20px;
  align-items:center;
  font-size:20px;
  line-height:1.25;
  transition:background var(--duration),transform var(--duration)
}

.participation-links a:nth-child(even) {
  transform:translateX(16px)
}

.participation-links a:hover {
  background:#ffffff1f
}

.participation-links a>span:first-child {
  font:12px var(--font-mono);
  color:#a4b9de
}

.institutional {
  border-top:var(--border)
}

.institutional p {
  margin-top:25px
}

.institutional .button {
  margin-top:30px
}

.site-footer {
  background:#080f1e;
  color:#fff;
  padding:88px 0 24px;
  border-radius:36px 36px 0 0
}

.footer-top {
  display:grid;
  grid-template-columns:1fr 2.3fr;
  gap:70px;
  margin-bottom:80px
}

.footer-brand>a {
  display:block;
  width:108px;
  height:88px
}

.site-footer .tais-logo {
  filter:brightness(0) invert(1)
}

.footer-brand p {
  max-width:290px;
  font-size:15px;
  color:#a3aec2;
  margin-top:30px
}

.footer-columns {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px
}

.footer-columns h2 {
  font-size:14px;
  letter-spacing:0;
  margin-bottom:23px;
  color:#8593ac
}

.footer-columns a {
  font-size:14px;
  display:block;
  padding:6px 0
}

.site-footer a:hover {
  color:#a9c6ff
}

.footer-bottom {
  border-top:1px solid #ffffff20;
  padding-top:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  font-size:16px
}

.footer-bottom p {
  color:#d3dbeb
}

.footer-bottom>div a {
  display:block;
  font-size:15px;
  line-height:1.8
}

.footer-fine {
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:#7f8ca3;
  font-size:12px;
  margin-top:55px
}

.site-footer .icon-button {
  border-color:#ffffff40
}

.page-hero {
  padding-top:178px;
  padding-bottom:72px;
  border-bottom:var(--border)
}

.page-hero>.meta {
  margin-bottom:40px;
  color:var(--blue)
}

.hero-columns {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:70px;
  align-items:end
}

.page-hero h1 {
  font-size:clamp(50px,6.3vw,100px);
  line-height:1.02
}

.hero-columns>.lead {
  max-width:500px
}

.hero-columns .button {
  margin-top:28px
}

.event-note {
  background:var(--soft);
  padding:28px;
  border-radius:20px;
  margin-top:34px
}

.event-note>span {
  font-size:18px
}

.event-note p {
  font-size:15px;
  margin-top:12px
}

.vision-section {
  background:var(--soft)
}

.vision-layout {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px
}

.vision-image {
  grid-column:1/6;
  grid-row:1/3;
  overflow:hidden;
  border-radius:36px;
  min-height:600px
}

.vision-image img {
  height:100%;
  width:100%
}

.vision-card {
  grid-column:7/13;
  padding:40px;
  background:white;
  border-radius:28px
}

.mission-card {
  grid-column:6/13;
  margin-left:0;
  padding:40px;
  background:var(--pale);
  border-radius:28px
}

.vision-layout h3 {
  font-size:36px;
  margin-top:22px
}

.vision-layout p:not(.meta) {
  font-size:17px
}

.outcomes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px
}

.outcomes article>span {
  font-size:86px;
  line-height:1;
  color:var(--blue);
  letter-spacing:-.06em;
  display:block;
  margin-bottom:50px
}

.outcomes h3 {
  font-size:32px
}

.outcomes p {
  font-size:16px;
  margin-top:24px
}

summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  min-height:52px;
  border-top:var(--border);
  padding-top:14px
}

summary::-webkit-details-marker {
  display:none
}

summary>span {
  font-size:28px
}

details[open]>summary>span {
  transform:rotate(45deg)
}

.metadata-list {
  margin-top:20px
}

.metadata-list>div {
  display:flex;
  justify-content:space-between;
  border-bottom:var(--border);
  padding-block:12px;
  gap:25px;
  font-size:15px
}

.metadata-list dt {
  color:var(--muted)
}

.metadata-list dd {
  margin:0;
  text-align:right
}

.focus-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center
}

.focus-detail-media {
  height:500px;
  border-radius:36px;
  overflow:hidden
}

.focus-detail-media img {
  width:100%;
  height:100%
}

.focus-detail-copy .meta {
  color:var(--blue);
  margin-bottom:24px
}

.focus-detail h2 {
  font-size:clamp(38px,4vw,60px)
}

.focus-detail .button {
  margin-top:28px
}

.focus-detail.reverse .focus-detail-media {
  order:2
}

.focus-detail+.focus-detail {
  border-top:var(--border)
}

.audience-list {
  list-style:none;
  margin:0;
  padding:0
}

.audience-list li {
  display:flex;
  gap:26px;
  border-bottom:var(--border);
  padding:25px 0
}

.audience-list li:first-child {
  padding-top:0
}

.audience-list h3 {
  font-size:25px;
  line-height:1.2
}

.audience-list .meta {
  color:var(--blue)
}

.three-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}

.surface-card {
  border-radius:28px;
  background:#fff;
  padding:36px
}

.surface-card h3 {
  font-size:30px
}

.surface-card p {
  font-size:16px
}

.contact-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.contact-card {
  padding:32px;
  background:var(--soft);
  border-radius:24px
}

.contact-card .meta {
  color:var(--muted)
}

.contact-card a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:clamp(20px,2vw,30px);
  letter-spacing:-.035em;
  margin-top:35px
}

.form-section {
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:88px
}

.form-aside {
  position:sticky;
  top:150px;
  align-self:start
}

.form-aside h2 {
  font-size:var(--statement)
}

.form-aside p {
  margin-top:28px;
  max-width:400px
}

.form-card {
  padding:42px;
  background:var(--soft);
  border-radius:28px
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}

.field {
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0
}

.field.full, .full {
  grid-column:1/-1
}

.field label, .field legend {
  font-size:15px;
  line-height:1.4;
  color:var(--ink)
}

.field label small {
  font-size:13px;
  color:var(--muted)
}

input:not([type=checkbox]):not([type=radio]), select, textarea {
  width:100%;
  min-height:54px;
  border:1px solid #bfc8d7;
  border-radius:12px;
  padding:14px 16px;
  background:#fff;
  color:var(--ink);
  outline-offset:3px;
  min-width:0;
  font-size:16px
}

textarea {
  min-height:150px;
  resize:vertical
}

input:invalid:not(:focus):not(:placeholder-shown) {
  box-shadow:none
}

input[aria-invalid=true], textarea[aria-invalid=true], select[aria-invalid=true] {
  border-color:#b22d3b
}

.field-error {
  color:#ab2030;
  font-size:13px;
  line-height:1.4
}

.field-help {
  font-size:13px;
  color:var(--muted)
}

.check-label {
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:14px;
  line-height:1.5;
  cursor:pointer;
  min-height:44px
}

.check-label input {
  accent-color:var(--blue);
  width:19px;
  height:19px;
  flex:none;
  margin:2px 0 0
}

.check-label a {
  text-decoration:underline;
  text-underline-offset:3px
}

.form-status {
  padding:16px 20px;
  border-radius:14px;
  background:#e5ecfb;
  color:#223d71;
  font-size:15px;
  margin-bottom:24px;
  line-height:1.5
}

.form-status.error {
  background:#fce8ea;
  color:#8d2230
}

.form-status.success {
  background:#e1f2eb;
  color:#205c44
}

.form-status:empty {
  display:none
}

.config-notice {
  padding:20px 24px;
  border:1px solid #c6d6f3;
  border-radius:16px;
  background:#edf3ff;
  color:#354e77;
  font-size:14px;
  margin-bottom:28px
}

.config-notice a {
  text-decoration:underline
}

.form-actions {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px
}

.honeypot {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}

.success-panel {
  background:#e8f1ec;
  padding:40px;
  border-radius:28px
}

.success-panel h2 {
  font-size:36px
}

.success-panel p {
  margin-top:24px
}

.faq-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px
}

.faq-grid details {
  padding:28px;
  background:var(--soft);
  border-radius:20px
}

.faq-grid summary {
  border:0;
  padding:0;
  font-size:22px;
  letter-spacing:-.02em
}

.faq-grid details p {
  font-size:16px;
  margin-top:22px
}

.opportunity-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.opportunity-card {
  padding:32px;
  background:var(--soft);
  border-radius:24px;
  min-height:240px;
  display:flex;
  flex-direction:column
}

.opportunity-card h3 {
  font-size:27px;
  margin-top:28px
}

.opportunity-card p {
  font-size:15px
}

.opportunity-card>a {
  display:inline-flex;
  align-items:center;
  gap:20px;
  margin-top:auto;
  padding-top:25px;
  min-height:44px;
  font-size:14px
}

.auth-section {
  padding-top:172px;
  padding-bottom:110px
}

.auth-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:start;
  max-width:1120px;
  margin:auto
}

.auth-intro {
  padding-top:35px
}

.auth-intro h1 {
  font-size:clamp(45px,5.4vw,78px)
}

.auth-intro>.meta {
  color:var(--blue);
  margin-bottom:35px
}

.auth-intro p {
  max-width:410px;
  margin-top:30px
}

.auth-art {
  margin-top:48px;
  border-radius:28px;
  overflow:hidden;
  max-height:260px
}

.auth-art img {
  width:100%;
  height:260px;
  object-fit:cover
}

.auth-form {
  background:var(--soft);
  border-radius:28px;
  padding:36px
}

.auth-form h2 {
  font-size:28px;
  margin-bottom:30px
}

.auth-form .form-grid {
  gap:22px
}

.auth-form .button[type=submit] {
  width:100%;
  justify-content:center
}

.auth-switch {
  font-size:14px;
  margin-top:25px;
  text-align:center
}

.auth-switch a, .form-small-link {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px
}

.password-control {
  position:relative
}

.password-control input {
  padding-right:72px!important
}

.password-toggle {
  position:absolute;
  right:6px;
  top:5px;
  height:44px;
  padding:0 12px;
  background:transparent;
  border:0;
  font-size:13px
}

.remember-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  font-size:14px
}

.application-wrap {
  max-width:1060px;
  padding-top:176px;
  padding-bottom:120px
}

.application-heading {
  margin-bottom:44px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px
}

.application-heading h1 {
  font-size:clamp(40px,5vw,72px)
}

.application-heading p {
  max-width:380px;
  margin-top:20px
}

.stepper {
  display:flex;
  list-style:none;
  gap:8px;
  margin:0 0 32px;
  padding:12px;
  background:var(--soft);
  border-radius:20px
}

.stepper li {
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  font-size:13px;
  color:var(--muted);
  padding:12px;
  border-radius:12px;
  line-height:1.3
}

.stepper span {
  width:26px;
  height:26px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dde4ee;
  color:#3f506c;
  font:12px var(--font-mono)
}

.stepper [aria-current=step] {
  background:#fff;
  color:var(--blue)
}

.stepper [aria-current=step] span {
  background:var(--blue);
  color:#fff
}

.application-card {
  border:var(--border);
  border-radius:28px;
  padding:48px
}

.application-card h2 {
  font-size:34px;
  margin-bottom:10px
}

.step-intro {
  margin-bottom:32px;
  font-size:16px
}

.step-fields {
  border:0;
  margin:0;
  padding:0;
  min-width:0
}

.application-actions {
  border-top:var(--border);
  padding-top:28px;
  margin-top:36px;
  display:flex;
  gap:12px;
  align-items:center
}

.application-actions .next-action {
  margin-left:auto
}

.save-draft {
  background:transparent;
  border:0;
  min-height:44px;
  padding:12px;
  font-size:14px;
  color:var(--blue)
}

.choice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}

.choice-card {
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px;
  border:var(--border);
  border-radius:16px;
  min-height:76px;
  font-size:16px;
  line-height:1.35;
  cursor:pointer
}

.choice-card:has(input:checked) {
  background:#eaf0ff;
  border-color:var(--blue);
  color:#143d9f
}

.choice-card input {
  width:19px;
  height:19px;
  flex:none;
  accent-color:var(--blue)
}

.review-list {
  display:grid;
  gap:0;
  margin:28px 0
}

.review-list>div {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:28px;
  border-bottom:var(--border);
  padding:17px 0;
  font-size:15px
}

.review-list dt {
  color:var(--muted)
}

.review-list dd {
  margin:0;
  overflow-wrap:anywhere;
  white-space:pre-line
}

.application-confirmation {
  padding:55px;
  border-radius:28px;
  background:var(--pale);
  text-align:center
}

.application-confirmation .success-symbol {
  font-size:58px;
  color:var(--blue)
}

.application-confirmation h2 {
  font-size:44px;
  margin:25px 0
}

.application-confirmation .button-group {
  justify-content:center
}

.dashboard {
  padding-top:180px;
  padding-bottom:120px
}

.dashboard-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:50px
}

.dashboard-heading h1 {
  font-size:clamp(40px,5vw,72px)
}

.dashboard-grid {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:28px
}

.dashboard-card {
  padding:36px;
  background:var(--soft);
  border-radius:28px
}

.dashboard-card h2 {
  font-size:30px
}

.dashboard-card .form-grid {
  margin-top:26px
}

.status-badge {
  display:inline-flex;
  align-items:center;
  background:var(--pale);
  color:#1648a5;
  border-radius:var(--radius-pill);
  padding:8px 16px;
  font-size:14px;
  margin:22px 0 12px
}

.status-badge[data-status=approved] {
  background:#dceddf;
  color:#245c34
}

.status-badge[data-status=not_selected] {
  background:#f7e6e8;
  color:#8b303e
}

.dashboard-empty {
  padding:35px 0
}

.dashboard-empty p {
  margin:22px 0
}

.legal-content {
  max-width:880px;
  padding-top:72px;
  padding-bottom:120px
}

.legal-content section {
  margin-bottom:48px
}

.legal-content h2 {
  font-size:30px;
  margin-bottom:22px
}

.legal-content p, .legal-content li {
  font-size:17px
}

.legal-content a {
  text-decoration:underline;
  text-underline-offset:3px
}

.legal-content ul {
  padding-left:22px;
  color:var(--muted)
}

.error-page {
  text-align:center;
  padding-top:190px;
  padding-bottom:130px
}

.error-page .error-code {
  font-size:clamp(100px,20vw,240px);
  color:var(--blue);
  line-height:1;
  letter-spacing:-.08em
}

.error-page h1 {
  font-size:clamp(40px,5vw,70px);
  margin-top:25px
}

.error-page p {
  margin:25px auto;
  max-width:460px
}

.error-page .button-group {
  justify-content:center
}

.noscript-note {
  padding:20px;
  background:#e8effe;
  text-align:center
}

.reveal-ready {
  opacity:1;
  transform:none
}

.reveal-ready.visible { animation:content-enter 550ms var(--ease); }
@keyframes content-enter { from { opacity:.8; } to { opacity:1; } }

@keyframes hero-drift {
  from {
    transform:scale(1) translate(0,0)
  }
  to {
    transform:scale(1.035) translate(-.4%,.4%)
  }
}

@keyframes menu-in {
  from {
    opacity:0;
    transform:translateY(-8px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}


/* Responsive layout */
@media(min-width:1800px) {
  .nav-shell {
    max-width:1520px
  }
}

@media(max-width:1200px) {
  .nav-shell {
    gap:18px
  }
  .desktop-nav {
    gap:9px
  }
  .header-actions {
    gap:16px
  }
  .nav-item>a {
    font-size:13px
  }
  .footer-top {
    gap:40px;
    grid-template-columns:1fr 3fr
  }
  .hero-columns {
    gap:45px
  }
  .form-section {
    gap:50px
  }
  .participation-panel {
    gap:40px
  }
  .participation-links a {
    font-size:18px;
    padding:24px
  }
  .focus-content h3 {
    font-size:28px
  }
  .auth-layout {
    gap:60px
  }
  .footer-columns {
    gap:16px
  }
}

@media(max-width:1100px) {
  .desktop-nav {
    display:none
  }
  .header-actions {
    margin-left:auto
  }
  .mobile-toggle {
    display:flex;
    flex-direction:column;
    gap:5px;
    border:0
  }
  .mobile-toggle span {
    width:22px;
    height:1px;
    background:currentColor
  }
  .site-header {
    padding-inline:24px;
    top:16px
  }
  .nav-shell {
    min-height:78px;
    padding:8px 12px 8px 20px;
    border-radius:20px
  }
  .brand {
    height:54px;
    width:66px
  }
  .split {
    gap:34px
  }
  .split>:last-child {
    grid-column:7/13
  }
  .hero-columns {
    grid-template-columns:1.25fr 1fr
  }
  .hero-columns .lead {
    font-size:22px
  }
  .focus-content {
    padding:25px
  }
  .focus-card:nth-child(-n+2) {
    min-height:310px
  }
  .focus-card {
    min-height:285px
  }
  .focus-content h3 {
    font-size:26px
  }
  .participation-panel {
    grid-template-columns:1fr 1fr
  }
  .participation-panel .button-group {
    flex-direction:row;
    align-items:center
  }
  .footer-top {
    grid-template-columns:1fr
  }
  .footer-brand {
    display:flex;
    gap:40px;
    align-items:center
  }
  .footer-brand p {
    margin:0;
    max-width:420px
  }
  .footer-columns {
    gap:30px
  }
  .focus-detail {
    gap:40px
  }
  .focus-detail-media {
    height:420px
  }
  .contact-card {
    padding:24px
  }
  .contact-card a {
    font-size:23px
  }
  .opportunity-grid {
    grid-template-columns:1fr 1fr
  }
  .form-card {
    padding:30px
  }
  .auth-layout {
    gap:40px
  }
  .stepper li {
    padding:10px 7px;
    gap:6px
  }
  .stepper {
    gap:4px
  }
}

@media(max-width:900px) {
  :root {
    --section-space:76px;
    --gutter:28px
  }
  .hero-bottom>span {
    display:none
  }
  .focus-content h3 {
    font-size:25px
  }
  .focus-card:nth-child(n+3) .focus-content {
    padding:23px
  }
  .focus-card:nth-child(n+3) .focus-content h3 {
    font-size:23px;
    max-width:100%;
    padding-bottom:46px
  }
  .participation-panel {
    grid-template-columns:1fr;
    gap:48px
  }
  .participation-panel .button-group {
    flex-direction:row
  }
  .participation-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
  }
  .participation-links a:nth-child(even) {
    transform:none
  }
  .participation-links a {
    font-size:17px
  }
  .participation-links a>span:first-child {
    display:none
  }
  .form-section {
    grid-template-columns:1fr;
    gap:45px
  }
  .form-aside {
    position:static
  }
  .form-aside p {
    max-width:640px
  }
  .three-grid {
    gap:16px
  }
  .surface-card {
    padding:26px
  }
  .surface-card h3 {
    font-size:25px
  }
  .auth-layout {
    grid-template-columns:1fr 1.1fr;
    gap:30px
  }
  .auth-form {
    padding:28px
  }
  .application-card {
    padding:36px
  }
  .dashboard-grid {
    grid-template-columns:1fr
  }
  .vision-layout {
    gap:20px
  }
  .vision-card, .mission-card {
    padding:30px
  }
  .vision-layout h3 {
    font-size:30px
  }
  .outcomes {
    gap:28px
  }
  .outcomes h3 {
    font-size:28px
  }
  .contact-cards {
    gap:14px
  }
  .contact-card a {
    font-size:20px;
    gap:10px
  }
}

@media(max-width:767px) {
  :root {
    --gutter:22px;
    --section-space:64px;
    --statement:38px
  }
  .site-header {
    padding-inline:12px;
    top:12px
  }
  .nav-shell {
    padding:8px 10px 8px 17px;
    min-height:72px;
    border-radius:20px
  }
  .brand {
    width:62px;
    height:49px
  }
  .header-actions {
    gap:10px
  }
  .header-actions .button {
    padding:11px 15px;
    gap:14px;
    min-height:44px
  }
  .desktop-break {
    display:none
  }
  .hero-bottom {
    bottom:20px;
    font-size:11px;
    gap:20px
  }
  .hero-bottom>a {
    gap:10px
  }
  .hero-art {
    background-image:url('/assets/images/hero-960.jpg');
    background-image:image-set(url('/assets/images/hero-960.webp') type('image/webp'),url('/assets/images/hero-960.jpg') type('image/jpeg'));
    background-position:center
  }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
    padding-bottom:20px;
    margin-bottom:36px
  }
  .section-heading h2 {
    font-size:29px;
    max-width:310px;
    line-height:1.16
  }
  .section-heading .text-link {
    min-height:44px;
    font-size:14px
  }
  .split {
    display:flex;
    flex-direction:column;
    gap:34px
  }
  .statement {
    line-height:1.13
  }
  .lead {
    font-size:22px
  }
  .intro-copy p:not(.lead) {
    font-size:16px
  }
  .intro-copy .button {
    margin-top:24px
  }
  .focus-section .container {
    width:100%;
    padding-inline:var(--gutter);
    overflow:hidden
  }
  .focus-grid.mobile-rail {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    margin-right:calc(-1*var(--gutter));
    padding-right:var(--gutter);
    scroll-padding-left:0
  }
  .mobile-rail {
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch
  }
  .mobile-rail::-webkit-scrollbar {
    display:none
  }
  .focus-card, .focus-card:nth-child(-n+2) {
    flex:0 0 80vw;
    max-width:330px;
    min-height:310px;
    scroll-snap-align:start;
    border-radius:26px
  }
  .focus-card .focus-content, .focus-card:nth-child(n+3) .focus-content {
    padding:25px
  }
  .focus-content h3, .focus-card:nth-child(n+3) .focus-content h3 {
    font-size:28px;
    padding-bottom:50px;
    max-width:100%;
    padding-top:75px
  }
  .focus-content .meta {
    font-size:12px
  }
  .rail-controls {
    display:flex
  }
  .panel-preview-grid {
    grid-template-columns:1fr;
    gap:16px
  }
  .section-note {
    font-size:13px;
    margin-top:24px
  }
  .participation-panel {
    padding:38px 28px;
    border-radius:28px;
    gap:42px
  }
  .participation-panel .meta {
    font-size:13px;
    margin-bottom:30px
  }
  .participation-panel h2 {
    font-size:45px
  }
  .participation-panel p:not(.meta) {
    font-size:16px
  }
  .participation-panel .button-group {
    flex-direction:column
  }
  .participation-panel .button {
    width:100%;
    gap:12px;
    font-size:12px
  }
  .participation-links {
    grid-template-columns:1fr;
    gap:12px
  }
  .participation-links a {
    padding:22px;
    font-size:18px
  }
  .institutional .split {
    gap:45px
  }
  .site-footer {
    padding-top:60px;
    border-radius:28px 28px 0 0
  }
  .footer-top {
    gap:46px;
    margin-bottom:50px
  }
  .footer-brand {
    display:block
  }
  .footer-brand>a {
    width:90px;
    height:76px
  }
  .footer-brand p {
    margin-top:24px;
    max-width:290px
  }
  .footer-columns {
    grid-template-columns:1fr 1fr;
    gap:35px 24px
  }
  .footer-columns h2 {
    margin-bottom:15px
  }
  .footer-columns a {
    padding-block:9px;
    min-height:44px
  }
  .footer-bottom {
    flex-wrap:wrap;
    position:relative;
    gap:22px;
    padding-top:30px;
    font-size:14px
  }
  .footer-bottom>p {
    padding-right:35px
  }
  .back-top {
    position:absolute;
    right:0;
    top:28px
  }
  .footer-fine {
    font-size:11px;
    gap:25px;
    margin-top:42px
  }
  .page-hero {
    padding-top:150px;
    padding-bottom:50px
  }
  .page-hero>.meta {
    margin-bottom:28px
  }
  .hero-columns {
    display:block
  }
  .page-hero h1 {
    font-size:clamp(46px,10.3vw,66px);
    line-height:1.06
  }
  .hero-columns>div {
    margin-top:30px
  }
  .hero-columns .lead {
    font-size:20px;
    max-width:500px
  }
  .vision-layout {
    display:flex;
    flex-direction:column;
    gap:18px
  }
  .vision-image {
    min-height:0;
    height:280px;
    border-radius:28px
  }
  .vision-card, .mission-card {
    padding:30px;
    border-radius:24px
  }
  .vision-layout h3 {
    font-size:30px
  }
  .vision-layout p:not(.meta) {
    font-size:16px
  }
  .outcomes {
    grid-template-columns:1fr;
    gap:44px
  }
  .outcomes article {
    border-bottom:var(--border);
    padding-bottom:30px
  }
  .outcomes article>span {
    font-size:70px;
    margin-bottom:24px
  }
  .outcomes h3 {
    font-size:32px;
    max-width:340px
  }
  .focus-detail {
    display:flex;
    flex-direction:column;
    gap:32px;
    align-items:stretch
  }
  .focus-detail.reverse .focus-detail-media {
    order:0
  }
  .focus-detail-media {
    height:320px;
    border-radius:28px
  }
  .focus-detail h2 {
    font-size:36px
  }
  .focus-detail .lead {
    font-size:21px
  }
  .audience-list h3 {
    font-size:24px
  }
  .three-grid {
    grid-template-columns:1fr;
    gap:16px
  }
  .surface-card {
    padding:30px
  }
  .surface-card h3 {
    font-size:29px
  }
  .contact-cards {
    grid-template-columns:1fr;
    gap:14px
  }
  .contact-card {
    padding:28px
  }
  .contact-card a {
    font-size:26px;
    margin-top:25px
  }
  .form-section {
    gap:35px
  }
  .form-aside h2 {
    font-size:38px
  }
  .form-card {
    padding:28px 22px
  }
  .form-grid {
    grid-template-columns:1fr;
    gap:22px
  }
  .form-actions .button {
    width:100%
  }
  .faq-grid {
    grid-template-columns:1fr;
    gap:16px
  }
  .faq-grid details {
    padding:25px
  }
  .faq-grid summary {
    font-size:22px
  }
  .opportunity-grid {
    grid-template-columns:1fr
  }
  .opportunity-card {
    min-height:0;
    padding:30px
  }
  .opportunity-card h3 {
    font-size:28px
  }
  .auth-section {
    padding-top:144px;
    padding-bottom:80px
  }
  .auth-layout {
    display:flex;
    flex-direction:column;
    gap:35px
  }
  .auth-intro {
    padding:0
  }
  .auth-intro>.meta {
    margin-bottom:25px
  }
  .auth-intro h1 {
    font-size:48px
  }
  .auth-intro p {
    margin-top:22px
  }
  .auth-art {
    display:none
  }
  .auth-form {
    padding:30px 24px;
    width:100%
  }
  .auth-form h2 {
    font-size:26px
  }
  .application-wrap {
    padding-top:140px;
    padding-bottom:80px
  }
  .application-heading {
    display:block;
    margin-bottom:30px
  }
  .application-heading h1 {
    font-size:43px
  }
  .application-heading p {
    font-size:16px
  }
  .stepper {
    gap:3px;
    padding:9px
  }
  .stepper li {
    flex:1;
    padding:8px 0;
    justify-content:center
  }
  .stepper .step-label {
    display:none
  }
  .stepper [aria-current=step] {
    flex:1.6
  }
  .application-card {
    padding:28px 22px;
    border-radius:24px
  }
  .application-card h2 {
    font-size:29px
  }
  .step-intro {
    font-size:15px
  }
  .choice-grid {
    grid-template-columns:1fr
  }
  .choice-card {
    min-height:68px;
    padding:18px;
    font-size:16px
  }
  .application-actions {
    flex-wrap:wrap;
    gap:10px;
    padding-top:22px
  }
  .application-actions .button {
    font-size:12px;
    padding:14px 17px;
    gap:14px
  }
  .application-actions .save-draft {
    order:3;
    flex:0 0 100%;
    text-align:center
  }
  .review-list>div {
    grid-template-columns:1fr;
    gap:7px;
    padding-block:15px
  }
  .application-confirmation {
    padding:35px 25px
  }
  .application-confirmation h2 {
    font-size:36px
  }
  .dashboard {
    padding-top:145px;
    padding-bottom:80px
  }
  .dashboard-heading {
    align-items:flex-start;
    margin-bottom:32px
  }
  .dashboard-heading h1 {
    font-size:40px
  }
  .dashboard-heading .button {
    padding:12px 16px;
    font-size:12px;
    min-height:44px;
    flex:none
  }
  .dashboard-card {
    padding:28px 24px
  }
  .dashboard-card h2 {
    font-size:28px
  }
  .legal-content {
    padding-top:50px;
    padding-bottom:80px
  }
  .legal-content h2 {
    font-size:28px
  }
  .legal-content p, .legal-content li {
    font-size:16px
  }
  .error-page {
    padding-top:155px;
    padding-bottom:90px
  }
  .error-page h1 {
    font-size:40px
  }
  .error-page .error-code {
    font-size:130px
  }
  .config-notice {
    padding:18px;
    font-size:14px
  }
  .form-status {
    padding:16px;
    font-size:14px
  }
}

@media(max-width:390px) {
  :root {
    --gutter:20px
  }
  .hero-bottom {
    font-size:10px
  }
  .participation-panel h2 {
    font-size:40px
  }
  .participation-panel {
    padding-inline:24px
  }
  .form-card, .auth-form, .application-card {
    padding-inline:20px
  }
  .remember-row {
    font-size:13px;
    gap:10px
  }
  .header-actions {
    gap:6px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *, *::before, *::after {
    animation:none!important;
    transition:none!important
  }
  .reveal-ready {
    opacity:1;
    transform:none
  }
  .motion-toggle {
    display:none
  }
}


/* Preserve the framing of the abstract artwork on narrow screens. */
@media(max-width:767px) {
  .hero-art {
    background-size:100% 100%
  }
  .stepper b {
    font-weight:400
  }
}

@media (max-width: 767px) {
}


/* Event photography and connected page rhythm */
.section + .section.container {
  padding-top:calc(var(--section-space)*.45)
}

.section-heading {
  margin-bottom:36px
}

.event-photo {
  width:100%;
  height:100%;
  object-fit:cover
}

.photo-reveal {
  overflow:hidden
}

.photo-reveal img {
  transition:transform 800ms var(--ease),filter 800ms var(--ease)
}

.photo-reveal.reveal-ready img {
  transform:none;
  filter:none
}

.photo-reveal.visible img {
  transform:scale(1);
  filter:none
}

.nav-shell {
  gap:20px;
  background:#f7f9fbd9;
  border:1px solid #ffffff45
}

.desktop-nav {
  gap:16px
}

.nav-item>a {
  font-size:13px
}

.nav-toggle {
  width:28px
}

.header-actions {
  gap:10px
}

.header-actions .button {
  padding:12px 16px;
  gap:14px;
  white-space:nowrap;
  font-size:11px
}

.button-exhibit {
  border:1px solid currentColor;
  background:transparent
}

.button-exhibit:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
}

.home .site-header:not(.scrolled):not(.menu-active) .button-exhibit:hover {
  background:#ffffff20;
  border-color:#fff
}

.mobile-row>a {
  padding:13px 0;
  font-size:27px
}

.mobile-row>button {
  height:52px
}

.mobile-actions {
  gap:10px
}

.mobile-actions p {
  font-size:14px;
  width:100%
}

.mobile-actions p a {
  text-decoration:underline;
  text-underline-offset:4px
}

.mobile-top {
  margin-bottom:16px
}

.mobile-meta {
  margin-top:16px
}


/* Brand-led hero with one photographic window */
.home-hero {
  position:relative;
  isolation:isolate;
  min-height:760px;
  height:92svh;
  max-height:1100px;
  background:var(--navy);
  color:#fff;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:0 0 36px 36px
}

.home-hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#06102250,#06102200 75%)
}

.hero-content {
  position:relative;
  z-index:2;
  padding-top:120px;
  padding-bottom:120px;
  pointer-events:none
}

.hero-content a {
  pointer-events:auto
}

.hero-kicker {
  color:#b8cbf1;
  font:12px var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:30px
}

.home-hero h1 {
  font-size:clamp(60px,6.85vw,112px);
  letter-spacing:-.055em;
  line-height:1.03;
  max-width:1080px;
  text-shadow:0 3px 30px #04102230
}

.home-hero h1 span {
  color:#d8e5ff
}

.event-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 26px;
  font:16px/1.5 var(--font-mono)
}

.event-meta-item { display:flex; align-items:center; gap:9px; }
.event-icon { width:20px; height:20px; flex:none; opacity:.8; }
.home-hero .event-meta { margin-top:30px; }

.hero-description {
  color:#c9d5ea;
  font-size:18px;
  line-height:1.5;
  max-width:530px;
  margin-top:25px
}

.hero-content .button-group {
  margin-top:28px
}

.hero-photo {
  position:absolute;
  right:-3%;
  bottom:96px;
  width:43%;
  height:46%;
  border-radius:48px;
  overflow:hidden;
  z-index:0;
  box-shadow:0 0 85px #487af128
}

.hero-photo::before,
.hero-photo::after {
  content:none
}

.hero-photo .media-source,
.hero-photo img {
  border-radius:inherit
}

.hero-photo img {
  object-position:center 45%;
  transform:none
}

.hero-bottom {
  z-index:3
}

.hero-art {
  opacity:.8
}


/* Six formats,
three photographic compositions,
a numbered connection track */
.experience-section {
  background:var(--soft)
}

.event-experiences {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px
}

.experience-feature {
  grid-column:span 6;
  position:relative;
  border-radius:28px;
  min-height:500px;
  isolation:isolate;
  color:#fff
}

.experience-feature img {
  position:absolute;
  inset:0;
  z-index:-2
}

.experience-feature::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#05102108,#06102214 35%,#061022ef)
}

.experience-feature>div {
  padding:32px;
  position:absolute;
  bottom:0;
  left:0;
  right:0
}

.experience-feature h3 {
  font-size:clamp(30px,3.2vw,48px);
  margin:16px 0
}

.experience-feature p {
  color:#d6dfef;
  font-size:15px;
  max-width:85%
}

.experience-feature .meta {
  color:#d6dfef
}

.experience-story {
  grid-column:span 3;
  position:relative;
  display:flex;
  flex-direction:column;
  padding-bottom:34px
}

.experience-story-blue {
  margin-top:35px;
  background:transparent;
  box-shadow:none
}

.experience-photo {
  height:250px;
  border-radius:24px;
  overflow:hidden;
  margin-bottom:24px
}

.experience-photo img {
  width:100%;
  height:100%;
  transition:transform 600ms var(--ease)
}

.experience-story h3 {
  font-size:30px;
  margin-top:12px
}

.experience-story p {
  font-size:15px;
  margin-top:16px
}

.experience-story:hover img, .experience-feature:hover img {
  transform:scale(1.025)
}

.connection-track {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:36px;
  border-top:var(--border);
  gap:36px
}

.connection-track>a {
  position:relative;
  padding-top:24px
}

.connection-track>a>span:first-child {
  font-size:52px;
  line-height:1;
  color:#9aaed0;
  letter-spacing:-.06em
}

.connection-track h3 {
  font-size:27px;
  margin-top:18px
}

.connection-track p {
  font-size:15px;
  margin-top:16px;
  max-width:340px
}

.experience-note {
  margin-top:32px;
  padding-top:20px;
  border-top:var(--border);
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center
}

.experience-note a {
  font-size:15px
}

.focus-section {
  background:#fff
}

.focus-card:nth-child(-n+2) {
  min-height:330px
}

.focus-card {
  min-height:285px
}

.focus-number {
  font-size:56px;
  line-height:1;
  letter-spacing:-.06em;
  color:#ffffff95
}

.focus-content h3 {
  padding-top:40px
}

.focus-card::after {
  background:linear-gradient(180deg,#06102230,#06102205 25%,#061022e5)
}

.focus-finance img {
  object-position:center 61%
}

.focus-relations img {
  object-position:center 46%
}

.focus-card:hover img {
  transform:scale(1.025)
}


/* All four official panel themes */
.panel-preview-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px
}

.panel-preview {
  border-radius:24px;
  overflow:hidden;
  background:var(--soft);
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  min-height:310px;
  transition:transform var(--duration),background var(--duration)
}

.panel-preview:nth-child(2) {
  background:#e9effc
}

.panel-preview:nth-child(3) {
  background:#e8edf4
}

.panel-preview:hover {
  transform:translateY(-3px);
  background:#e2eafa
}

.panel-card-media {
  position:relative;
  overflow:hidden
}

.panel-card-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#06102245,transparent)
}

.panel-card-media img {
  transition:transform 600ms var(--ease)
}

.panel-preview:hover img {
  transform:scale(1.025)
}

.panel-number {
  position:absolute;
  top:22px;
  left:22px;
  color:white;
  font-size:62px;
  letter-spacing:-.055em;
  line-height:1;
  z-index:1
}

.panel-card-copy {
  padding:27px;
  display:flex;
  flex-direction:column
}

.panel-card-copy .meta {
  font-size:10px;
  line-height:1.5;
  color:#526584;
  margin-bottom:22px
}

.panel-card-copy h3 {
  font-size:clamp(23px,2vw,32px);
  line-height:1.14
}

.panel-card-foot {
  margin-top:auto;
  padding-top:25px;
  font-size:11px;
  color:var(--muted);
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:space-between
}

.panel-section {
  padding-top:30px
}


/* Announcements are designed as editorial content,
never fake people or logos */
.speakers-teaser {
  display:grid;
  grid-template-columns:1fr 1.9fr;
  gap:50px;
  align-items:center
}

.teaser-copy h2 {
  font-size:42px;
  margin-top:18px
}

.teaser-copy p:not(.meta) {
  margin:18px 0 24px
}

.speaker-themes {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.speaker-theme {
  isolation:isolate;
  position:relative;
  overflow:hidden;
  background:#112a57;
  color:#fff;
  padding:25px;
  min-height:250px;
  border-radius:24px;
  display:flex;
  flex-direction:column
}

.speaker-theme .meta {
  color:#c6d7f5;
  font-size:9px;
  line-height:1.7;
  letter-spacing:.04em;
  position:relative;
  z-index:1
}

.speaker-theme h3, .speaker-theme h2 {
  margin-top:auto;
  font-size:28px;
  line-height:1.1;
  position:relative;
  z-index:1
}

.speaker-theme p {
  color:#d9e4f6;
  font-size:14px
}

.theme-orbit {
  position:absolute;
  width:200px;
  height:200px;
  border:1px solid #a8c8ff38;
  box-shadow:0 0 0 22px #a8c8ff06,0 0 0 44px #a8c8ff05,0 0 0 66px #a8c8ff04;
  border-radius:50%;
  right:-100px;
  top:15px;
  transform:rotate(-30deg)
}

.theme-1 {
  background:linear-gradient(140deg,#2458c8,#122d6c)
}

.theme-2 {
  background:linear-gradient(130deg,#386c9a,#122b42)
}

.speaker-themes .speaker-theme h3 {
  padding-right:10px
}

.sponsors-teaser {
  display:grid;
  grid-template-columns:.8fr 1.25fr 1.2fr;
  align-items:center;
  gap:45px;
  border-top:var(--border);
  border-bottom:var(--border);
  padding-block:40px
}

.sponsors-teaser h2 {
  font-size:42px
}

.sponsors-teaser p {
  font-size:16px;
  margin-bottom:16px
}

.community-layout {
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:60px;
  align-items:center
}

.community-photo {
  border-radius:28px;
  height:490px;
  position:relative
}

.community-photo::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 45%,#061022b8)
}

.community .section-heading {
  margin-bottom:10px
}

.pricing-section {
  background:#edf2f9
}

.pricing-layout {
  display:grid;
  grid-template-columns:1fr 1.65fr;
  gap:70px;
  align-items:center
}

.pricing-layout h2 {
  font-size:clamp(38px,3.9vw,60px);
  margin-top:22px
}

.pricing-layout>div>p:not(.meta) {
  max-width:400px;
  margin-top:24px
}

.ticket-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}

.ticket {
  background:#fff;
  border-radius:22px;
  padding:28px;
  overflow:hidden
}

.ticket-student {
  background:#dbe7ff
}

.ticket-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center
}

.ticket-top .meta, .ticket-currency {
  font:10px var(--font-mono)
}

.ticket-price {
  font-size:92px;
  line-height:1;
  color:var(--ink);
  letter-spacing:-.06em;
  margin:38px 0 26px
}

.ticket-price>span {
  font-size:.48em;
  vertical-align:top;
  line-height:1.6;
  margin-right:4px
}

.ticket h3 {
  font-size:25px
}

.ticket>p:not(.ticket-price) {
  font-size:14px;
  min-height:67px;
  margin-top:14px
}

.ticket-divider {
  margin:24px -28px;
  border-top:1px dashed #a5b6cf;
  position:relative
}

.ticket-divider::before, .ticket-divider::after {
  content:'';
  width:20px;
  height:20px;
  border-radius:50%;
  background:#edf2f9;
  position:absolute;
  top:-10px;
  left:-10px
}

.ticket-divider::after {
  left:auto;
  right:-10px
}

.ticket .button {
  width:100%;
  padding:15px;
  gap:10px;
  justify-content:space-between;
  font-size:10px
}

.institutional-layout {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:90px;
  align-items:center
}

.institutional-wordmark>span {
  font-size:clamp(70px,8vw,125px);
  letter-spacing:-.07em;
  line-height:1;
  color:var(--blue)
}

.institutional-wordmark p {
  font-size:22px;
  line-height:1.3;
  margin-top:20px;
  color:var(--ink)
}

.institutional-layout h2 {
  font-size:42px
}

.institutional-layout>div>p {
  max-width:640px
}


/* Photo-rich finale */
.final-cta {
  margin-top:20px;
  margin-bottom:80px;
  background:linear-gradient(115deg,#153d9e,#081c45);
  color:#fff;
  border-radius:32px;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  overflow:hidden;
  position:relative
}

.finale-copy {
  position:relative;
  isolation:isolate;
  padding:64px 45px 64px 55px;
  overflow:hidden
}

.finale-copy h2 {
  font-size:clamp(38px,4.15vw,66px);
  line-height:1.09
}

.finale-copy em {
  color:#a6c7ff
}

.finale-copy>p {
  color:#ccdafa;
  max-width:400px;
  font-size:16px;
  margin-top:25px
}

.finale-watermark {
  position:absolute;
  left:-12px;
  bottom:10px;
  z-index:-1;
  font-size:240px;
  line-height:.85;
  letter-spacing:-.08em;
  color:#ffffff04
}

.finale-copy .button-group {
  margin-top:28px
}

.finale-copy .button {
  padding:14px 18px;
  gap:18px;
  font-size:11px
}

.finale-photo {
  position:relative;
  min-height:520px;
  clip-path:ellipse(95% 86% at 95% 53%)
}

.finale-photo img {
  object-position:45% center
}

.finale-photo::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#10295b05,#061c4485)
}

.footer-brand strong {
  font-weight:400;
  color:#fff;
  font-size:18px;
  letter-spacing:.08em
}


/* Distinct internal page identities */
.photo-hero {
  padding:165px var(--gutter) 60px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:55px;
  align-items:center;
  max-width:1664px;
  margin:auto
}

.photo-hero-copy>.meta {
  margin-bottom:24px;
  color:var(--blue)
}

.photo-hero h1 {
  font-size:clamp(50px,5.5vw,86px);
  line-height:1.04
}

.photo-hero .lead {
  margin-top:26px;
  font-size:22px;
  max-width:620px
}

.photo-hero-copy>.button {
  margin-top:28px
}

.photo-hero-media {
  height:490px;
  border-radius:28px;
  position:relative
}

.photo-hero-about .photo-hero-media {
  border-radius:180px 24px 24px 24px;
  height:510px
}

.photo-hero-immersive {
  display:block;
  isolation:isolate;
  position:relative;
  max-width:none;
  min-height:720px;
  color:#fff;
  background:var(--navy);
  padding-top:280px;
  padding-bottom:85px
}

.photo-hero-immersive .photo-hero-copy {
  position:relative;
  z-index:2;
  max-width:1504px;
  margin:auto
}

.photo-hero-immersive .photo-hero-copy>.meta {
  color:#c3d6fc
}

.photo-hero-immersive .lead {
  color:#e3e9f4;
  max-width:640px
}

.photo-hero-immersive .photo-hero-media {
  position:absolute;
  inset:0;
  height:100%;
  border-radius:0;
  z-index:0
}

.photo-hero-immersive .photo-hero-media img {
  object-position:center 58%
}

.photo-hero-immersive .photo-hero-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#051122eb 10%,#05112255 80%)
}

body:has(.photo-hero-immersive) .site-header:not(.scrolled):not(.menu-active) .nav-shell {
  background:#ffffff20;
  color:white
}

body:has(.photo-hero-immersive) .site-header:not(.scrolled):not(.menu-active) .tais-logo {
  filter:brightness(0) invert(1)
}

.photo-hero-panels {
  grid-template-columns:.95fr 1.1fr
}

.photo-hero-panels .photo-hero-media {
  height:430px;
  border-radius:28px 120px 28px 28px
}

.photo-hero-attend .photo-hero-media {
  transform:rotate(2deg);
  height:500px
}

.program-notice {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:40px;
  align-items:center;
  padding-block:36px 40px;
  border-bottom:var(--border)
}

.program-notice-meta { gap:18px 26px; font-size:14px; color:var(--ink); }
.program-notice p { max-width:760px; font-size:16px; line-height:1.65; }

.format-row {
  background:none;
  display:grid;
  grid-template-columns:.15fr .85fr 1.45fr;
  gap:38px;
  padding:40px 0;
  border-bottom:var(--border)
}

.format-row:first-child {
  padding-top:0
}

.format-number {
  font-size:44px;
  letter-spacing:-.06em;
  color:#7e96bc;
  line-height:1
}

.format-photo {
  background:none;
  height:310px;
  border-radius:22px;
  overflow:hidden
}

.format-photo img {
  height:100%;
  width:100%
}

.format-copy { background:none; }

.format-copy h2 {
  font-size:38px
}

.format-copy .lead {
  font-size:22px;
  margin-top:22px
}

.format-copy dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin:25px 0 0
}

.format-copy dt {
  font:11px var(--font-mono);
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:10px
}

.format-copy dd {
  margin:0;
  color:var(--muted);
  font-size:14px
}

.format-copy .button {
  margin-top:24px
}

.panel-detail {
  display:grid;
  grid-template-columns:.2fr 1.5fr .85fr;
  gap:40px;
  border-bottom:var(--border);
  padding:45px 0
}

.panel-detail:first-child {
  padding-top:0
}

.panel-detail-index {
  font-size:clamp(50px,6vw,85px);
  letter-spacing:-.07em;
  line-height:1;
  color:#adc0df
}

.panel-detail h2 {
  font-size:clamp(34px,3.7vw,55px);
  margin-top:18px
}

.panel-detail .lead {
  font-size:21px
}

.panel-detail figure {
  height:360px;
  border-radius:24px;
  overflow:hidden
}



.announcement-heading {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:26px
}

.speaker-pending-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px
}

.speaker-pending-grid>.speaker-theme {
  grid-column:span 2;
  min-height:315px
}

.speaker-pending-grid>.speaker-theme:nth-child(n+4) {
  grid-column:span 3;
  min-height:260px
}

.speaker-pending-grid h2 {
  font-size:36px
}

.speaker-program-strip {
  margin-top:65px;
  display:grid;
  grid-template-columns:.7fr 1fr;
  align-items:center;
  gap:65px
}

.speaker-program-strip figure {
  height:360px;
  border-radius:24px;
  overflow:hidden
}

.speaker-program-strip img {
  object-position:center 57%
}

.speaker-program-strip h2 {
  font-size:44px;
  margin:22px 0
}

.speaker-program-strip .button {
  margin-top:26px
}

.speaker-directory-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}

.speaker-card>img {
  width:100%;
  height:360px;
  border-radius:24px;
  margin-bottom:22px
}

.speaker-card h2 {
  font-size:30px
}

.speaker-card p {
  font-size:16px;
  margin-top:10px
}

.sponsor-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden
}


.partner-announcement {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:50px;
  align-items:center;
  padding:55px;
  background:var(--soft);
  border-radius:28px
}


.partner-announcement h2 {
  font-size:46px;
  margin-top:22px
}

.sponsor-tier h2 {
  font-size:30px;
  border-bottom:var(--border);
  padding-bottom:20px;
  margin:35px 0
}

.sponsor-logo-grid {
  display:flex;
  gap:40px;
  flex-wrap:wrap;
  align-items:center
}

.sponsor-logo-grid a {
  display:flex;
  min-width:180px;
  min-height:100px;
  align-items:center;
  justify-content:center
}

.sponsor-logo-grid img {
  max-width:180px;
  max-height:90px;
  object-fit:contain
}

.process-list {
  list-style:none;
  margin:0;
  padding:0
}

.process-list li {
  display:flex;
  gap:25px;
  padding:25px 0;
  border-bottom:var(--border)
}

.process-list li:first-child {
  padding-top:0
}

.process-list li>span {
  color:var(--blue);
  font:18px var(--font-mono);
  padding-top:3px
}

.process-list h3 {
  font-size:28px
}

.process-list p {
  font-size:16px;
  margin-top:14px
}

.exhibit-types {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:35px
}

.exhibit-types article {
  border-top:var(--border);
  padding-top:22px
}

.exhibit-types h3 {
  font-size:28px;
  margin:24px 0 18px
}

.exhibit-types p {
  font-size:16px
}

.contact-page .page-hero {
  background:radial-gradient(ellipse at 95% 5%,#d9e6ff70,transparent 55%)
}


/* Account-first applications */
.account-ready {
  padding:38px;
  border-radius:24px;
  background:var(--soft)
}

.account-ready h2 {
  font-size:36px;
  margin-top:20px
}

.account-ready p {
  font-size:17px
}

.account-choices {
  display:grid;
  gap:12px;
  margin-top:28px
}

.account-choices a {
  justify-content:space-between
}

.apply-gate {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:75px;
  align-items:start
}

.apply-gate h2 {
  font-size:46px;
  margin-top:20px
}

.apply-gate aside {
  padding:32px;
  background:var(--soft);
  border-radius:22px
}

.apply-gate h3 {
  font-size:30px
}

.apply-gate .button {
  font-size:11px
}

.application-service-note .config-notice {
  margin-top:25px
}

#application-loading {
  font-size:14px;
  padding-top:20px
}

.application-section {
  max-width:1050px;
  padding-block:55px 85px
}

.application-form {
  background:var(--soft);
  padding:45px;
  border-radius:24px
}

.application-form h2 {
  font-size:36px
}

.application-stepper {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  list-style:none;
  padding:0;
  margin:0 0 24px;
  gap:16px
}

.application-stepper li {
  border-top:3px solid var(--line);
  padding-top:12px;
  font:12px var(--font-mono);
  color:var(--muted)
}

.application-stepper li[aria-current] {
  border-color:var(--blue);
  color:var(--blue)
}

.interest-fields {
  margin-top:28px
}

.category-choice strong {
  display:block;
  margin-top:15px;
  font-size:32px;
  font-weight:400
}

.dashboard-applications {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:35px 0 24px
}

.dashboard-card>.meta {
  margin-bottom:15px
}

.dashboard-support .text-link {
  display:block;
  margin-top:22px;
  font-size:15px
}

.dashboard-card .field-help {
  margin-top:24px
}

.application-fee {
  font-size:25px;
  color:var(--ink);
  margin-block:20px
}

.dashboard-card details {
  margin:25px 0
}

.dashboard-card summary {
  cursor:pointer;
  min-height:44px;
  display:flex;
  align-items:center
}

@media(max-width:1200px) {
  .desktop-nav {
    gap:10px
  }
  .nav-shell {
    gap:15px
  }
  .header-actions .button {
    padding:12px;
    gap:8px
  }
  .pricing-layout {
    gap:35px;
    grid-template-columns:.85fr 1.5fr
  }
  .ticket {
    padding:24px
  }
  .ticket-price {
    font-size:80px
  }
  .speakers-teaser {
    grid-template-columns:1fr;
    gap:28px
  }
  .teaser-copy {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px 30px
  }
  .teaser-copy>.meta {
    grid-column:1/-1
  }
  .teaser-copy h2 {
    margin:0;
    grid-row:2/4
  }
  .teaser-copy .button {
    justify-self:start
  }
  .teaser-copy p:not(.meta) {
    margin:0
  }
  .speaker-theme {
    min-height:230px
  }
  .community-layout {
    gap:35px
  }
  .panel-card-copy {
    padding:22px
  }
  .panel-card-copy h3 {
    font-size:26px
  }
  .finale-copy {
    padding:45px 35px
  }
  .finale-photo {
    min-height:500px
  }
  .institutional-layout {
    gap:50px
  }
}

@media(max-width:1024px) {
  .home-hero {
    min-height:760px
  }
  .home-hero h1 {
    font-size:clamp(60px,8vw,85px)
  }
  .hero-photo {
    width:44%;
    height:40%;
    bottom:90px
  }
  .hero-content {
    padding-bottom:150px
  }
  .event-experiences {
    gap:18px
  }
  .experience-feature {
    grid-column:span 7;
    min-height:490px
  }
  .experience-story {
    grid-column:span 5
  }
  .experience-story-blue {
    grid-column:1/-1;
    margin-top:0;
    display:grid;
    grid-template-columns:.8fr 1fr;
    gap:0 30px
  }
  .experience-story-blue .experience-photo {
    grid-row:1/5;
    height:250px;
    margin-bottom:0
  }
  .experience-story-blue h3 {
    font-size:34px
  }
  .pricing-layout {
    grid-template-columns:1fr
  }
  .pricing-layout>div>p:not(.meta) {
    max-width:620px
  }
  .ticket-price {
    font-size:90px
  }
  .ticket>p:not(.ticket-price) {
    min-height:44px
  }
  .photo-hero {
    gap:30px;
    padding-top:145px
  }
  .photo-hero h1 {
    font-size:55px
  }
  .photo-hero .lead {
    font-size:20px
  }
  .photo-hero-media,.photo-hero-about .photo-hero-media,.photo-hero-attend .photo-hero-media {
    height:420px
  }
  .photo-hero-immersive {
    padding-top:250px;
    min-height:650px
  }
  .photo-hero-immersive .photo-hero-media {
    height:100%
  }
  .panel-detail {
    grid-template-columns:.18fr 1.4fr;
    gap:25px
  }
  .panel-detail figure {
    grid-column:2;
    height:240px
  }
  .panel-detail figure img {
    object-position:center 55%
  }
  .format-row {
    grid-template-columns:40px .7fr 1.3fr;
    gap:25px
  }
  .format-copy h2 {
    font-size:32px
  }
  .format-copy dl {
    grid-template-columns:1fr;
    gap:18px
  }
  .program-notice {
    grid-template-columns:1fr;
    gap:22px
  }
  .exhibit-types {
    grid-template-columns:1fr 1fr
  }
  .community-photo {
    height:470px
  }
  .finale-copy .button-group {
    flex-direction:column;
    align-items:flex-start
  }
  .finale-photo {
    clip-path:ellipse(110% 75% at 110% 50%)
  }
  .apply-gate {
    gap:35px
  }
}

@media(max-width:767px) {
  .section+.section.container {
    padding-top:20px
  }
  .section-heading {
    margin-bottom:28px
  }
  .section-heading h2 {
    max-width:none
  }
  .header-actions>.button-exhibit {
    display:none
  }
  .header-actions .button {
    padding:11px 14px;
    font-size:10px;
    gap:12px
  }
  .nav-shell {
    gap:10px;
    background:#f8faffbf;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px)
  }
  .home .site-header:not(.scrolled):not(.menu-active) .nav-shell {
    background:#12264a65
  }
  .home-hero {
    height:auto;
    min-height:840px;
    max-height:none;
    display:block;
    border-radius:0 0 28px 28px
  }
  .hero-content {
    padding-top:151px;
    padding-bottom:315px;
    pointer-events:auto;
    text-align:left
  }
  .hero-kicker {
    margin-bottom:26px;
    font-size:10px
  }
  .home-hero h1 {
    font-size:clamp(40px,8.9vw,67px);
    line-height:1.07;
    letter-spacing:-.055em
  }
  .home-hero h1 span {
    display:block
  }
  .event-meta {
    font-size:13px;
    gap:14px 20px;
    justify-content:flex-start
  }
  .event-icon { width:18px; height:18px; }
  .home-hero .event-meta { margin-top:25px; }
  .hero-description {
    font-size:16px;
    max-width:370px;
    margin:24px 0 0
  }
  .hero-content .button-group {
    margin-top:25px;
    flex-direction:row;
    gap:10px;
    justify-content:flex-start
  }
  .hero-content .button {
    min-width:0;
    padding:13px 15px;
    font-size:10px;
    gap:15px;
    justify-content:space-between
  }
  .hero-photo {
    width:calc(100% - 44px);
    right:22px;
    bottom:87px;
    height:230px;
    border-radius:28px;
    opacity:1
  }
  .hero-photo img {
    object-position:center 43%
  }
  .hero-bottom {
    bottom:20px
  }
  .event-experiences {
    grid-template-columns:1fr 1fr;
    gap:25px 16px
  }
  .experience-feature {
    grid-column:1/-1;
    min-height:400px
  }
  .experience-feature>div {
    padding:25px
  }
  .experience-feature h3 {
    font-size:34px
  }
  .experience-feature p {
    font-size:14px
  }
  .experience-story,.experience-story-blue {
    grid-column:span 1;
    display:flex;
    margin-top:0;
    gap:0;
    padding-bottom:0
  }
  .experience-photo,.experience-story-blue .experience-photo {
    height:170px;
    margin-bottom:20px;
    border-radius:19px
  }
  .experience-story h3,.experience-story-blue h3 {
    font-size:23px
  }
  .experience-story .meta {
    font-size:8px
  }
  .experience-story p {
    font-size:14px;
    line-height:1.5;
    margin-top:12px
  }
  .connection-track {
    gap:0;
    grid-template-columns:1fr;
    margin-top:30px
  }
  .connection-track>a {
    display:grid;
    grid-template-columns:45px 1fr;
    gap:0 15px;
    border-bottom:var(--border);
    padding:24px 0
  }
  .connection-track>a>span:first-child {
    grid-row:1/3;
    font-size:36px
  }
  .connection-track h3 {
    margin:0;
    font-size:25px;
    padding-right:30px
  }
  .connection-track p {
    margin-top:10px;
    grid-column:2;
    font-size:14px
  }
  .experience-note {
    display:block;
    margin-top:25px;
    padding-top:0;
    border:0
  }
  .experience-note a {
    display:block;
    margin-top:12px;
    font-size:14px
  }
  .focus-card, .focus-card:nth-child(-n+2) {
    min-height:305px;
    height:305px;
    max-width:330px
  }
  .focus-number {
    font-size:48px
  }
  .focus-content h3,.focus-card:nth-child(n+3) .focus-content h3 {
    padding-top:25px;
    font-size:27px;
    padding-bottom:48px
  }
  .panel-section {
    overflow:hidden
  }
  .panel-preview-grid.mobile-rail {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    margin-right:calc(-1*var(--gutter));
    padding-right:var(--gutter)
  }
  .panel-preview {
    flex:0 0 82vw;
    max-width:360px;
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    min-height:470px;
    border-radius:24px;
    transform:none
  }
  .panel-card-media {
    height:180px;
    flex:none
  }
  .panel-card-media img {
    object-position:center 55%
  }
  .panel-card-copy {
    padding:24px;
    flex:1
  }
  .panel-card-copy h3 {
    font-size:28px
  }
  .panel-card-copy .meta {
    margin-bottom:15px
  }
  .panel-card-foot {
    padding-top:22px
  }
  .panel-number {
    font-size:48px
  }
  .teaser-copy {
    display:block
  }
  .teaser-copy h2 {
    font-size:36px;
    margin:18px 0
  }
  .teaser-copy p:not(.meta) {
    margin-bottom:24px
  }
  .speakers-teaser {
    display:block
  }
  .speaker-themes {
    margin-top:28px;
    gap:10px
  }
  .speaker-theme {
    padding:16px;
    border-radius:18px;
    min-height:190px
  }
  .speaker-theme h3 {
    font-size:21px
  }
  .speaker-theme .meta {
    font-size:7px
  }
  .theme-orbit {
    width:130px;
    height:130px;
    right:-75px
  }
  .speaker-themes .speaker-theme h3 {
    padding:0
  }
  .sponsors-teaser {
    grid-template-columns:1fr;
    gap:22px;
    padding-block:32px
  }
  .sponsors-teaser h2 {
    font-size:36px
  }
  .sponsors-teaser p {
    font-size:15px
  }
  .community-layout {
    grid-template-columns:1fr;
    gap:34px
  }
  .community-photo {
    height:355px
  }
  .community .section-heading {
    margin-bottom:5px
  }
  .pricing-layout {
    gap:28px
  }
  .pricing-layout h2 {
    font-size:39px;
    margin-top:18px
  }
  .pricing-layout>div>p:not(.meta) {
    margin-top:20px;
    font-size:16px
  }
  .pricing-layout>div>.field-help {
    font-size:13px!important
  }
  .ticket-grid {
    gap:14px;
    grid-template-columns:1fr
  }
  .ticket {
    padding:25px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 20px
  }
  .ticket-top {
    grid-column:1/-1
  }
  .ticket-price {
    font-size:82px;
    margin:24px 0 20px;
    grid-row:2/4
  }
  .ticket h3 {
    font-size:26px;
    align-self:end;
    padding-bottom:10px;
    padding-top:22px
  }
  .ticket>p:not(.ticket-price) {
    margin:0;
    min-height:0;
    font-size:12px
  }
  .ticket-divider {
    grid-column:1/-1;
    margin:20px -25px
  }
  .ticket .button {
    grid-column:1/-1;
    font-size:11px
  }
  .participation-panel {
    padding:32px 25px;
    border-radius:26px
  }
  .participation-panel h2 {
    font-size:39px
  }
  .participation-panel p:not(.meta) {
    font-size:16px
  }
  .participation-links {
    grid-template-columns:1fr;
    gap:10px
  }
  .participation-panel .button {
    font-size:10px;
    padding:14px;
    gap:10px
  }
  .institutional-layout {
    grid-template-columns:1fr;
    gap:32px
  }
  .institutional-wordmark {
    display:flex;
    align-items:center;
    gap:25px
  }
  .institutional-wordmark>span {
    font-size:64px
  }
  .institutional-wordmark p {
    font-size:14px;
    margin:0
  }
  .institutional-layout h2 {
    font-size:34px
  }
  .institutional-layout p {
    font-size:16px
  }
  .final-cta {
    margin-top:10px;
    margin-bottom:64px;
    grid-template-columns:1fr;
    border-radius:28px
  }
  .finale-copy {
    padding:35px 26px
  }
  .finale-copy h2 {
    font-size:41px;
    line-height:1.08
  }
  .finale-copy>p {
    font-size:15px
  }
  .finale-copy .button-group {
    flex-direction:row;
    gap:10px
  }
  .finale-copy .button {
    font-size:10px;
    padding:13px;
    gap:14px
  }
  .finale-photo {
    min-height:280px;
    height:280px;
    clip-path:none;
    border-radius:70px 0 0 0;
    margin-left:25px
  }
  .finale-photo img {
    object-position:center 48%
  }
  .finale-watermark {
    font-size:200px
  }
  .photo-hero {
    grid-template-columns:1fr;
    padding:135px var(--gutter) 35px;
    gap:32px
  }
  .photo-hero h1 {
    font-size:clamp(43px,10.6vw,65px)
  }
  .photo-hero-copy>.meta {
    margin-bottom:20px
  }
  .photo-hero .lead {
    font-size:19px;
    margin-top:24px
  }
  .photo-hero-media,.photo-hero-about .photo-hero-media,.photo-hero-attend .photo-hero-media,.photo-hero-panels .photo-hero-media {
    height:310px;
    border-radius:24px;
    transform:none
  }
  .photo-hero-about .photo-hero-media {
    border-radius:70px 24px 24px 24px
  }
  .photo-hero-immersive {
    min-height:650px;
    padding-top:220px;
    padding-bottom:60px;
    display:block
  }
  .photo-hero-immersive .photo-hero-media {
    height:100%;
    border-radius:0
  }
  .photo-hero-immersive .photo-hero-media img {
    object-position:55% center
  }
  .photo-hero-immersive .photo-hero-media::after {
    background:linear-gradient(90deg,#051122dd,#05112288)
  }
  .program-notice { gap:24px; padding-block:30px 34px; }
  .program-notice-meta { flex-direction:column; align-items:flex-start; gap:12px; }
  .program-notice p { font-size:15px; margin:0; }
  .format-row {
    grid-template-columns:35px 1fr;
    gap:20px;
    padding:30px 0
  }
  .format-photo {
    grid-column:2;
    height:210px;
    grid-row:1
  }
  .format-number {
    font-size:36px
  }
  .format-copy {
    grid-column:2
  }
  .format-copy h2 {
    font-size:30px
  }
  .format-copy .lead {
    font-size:18px;
    margin-top:18px
  }
  .format-copy dl {
    grid-template-columns:1fr;
    gap:20px
  }
  .format-copy dd {
    font-size:14px
  }
  .panel-detail {
    grid-template-columns:40px 1fr;
    gap:20px;
    padding:35px 0
  }
  .panel-detail-index {
    font-size:45px
  }
  .panel-detail h2 {
    font-size:31px;
    margin-top:14px
  }
  .panel-detail .meta {
    font-size:10px
  }
  .panel-detail .lead {
    font-size:18px
  }
  .panel-detail figure {
    height:230px
  }


  .panel-detail .text-link {
    font-size:13px
  }
  .speaker-pending-grid {
    grid-template-columns:1fr 1fr;
    gap:14px
  }
  .speaker-pending-grid>.speaker-theme,.speaker-pending-grid>.speaker-theme:nth-child(n+4) {
    grid-column:span 1;
    min-height:250px;
    padding:20px
  }
  .speaker-pending-grid>.speaker-theme:last-child {
    grid-column:1/-1;
    min-height:205px
  }
  .speaker-pending-grid h2 {
    font-size:29px
  }
  .speaker-pending-grid p {
    font-size:12px;
    margin-top:16px
  }
  .speaker-program-strip {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:50px
  }
  .speaker-program-strip figure {
    height:280px
  }
  .speaker-program-strip h2 {
    font-size:34px
  }
  .speaker-directory-grid {
    grid-template-columns:1fr
  }
  .partner-announcement {
    grid-template-columns:1fr;
    gap:10px;
    padding:30px
  }

  .partner-announcement h2 {
    font-size:34px
  }
  .partner-announcement p {
    font-size:16px
  }

  .exhibit-types {
    gap:26px 20px
  }
  .exhibit-types h3 {
    font-size:26px
  }
  .exhibit-types p {
    font-size:14px
  }
  .process-list h3 {
    font-size:27px
  }
  .process-list p {
    font-size:15px
  }
  .apply-gate {
    grid-template-columns:1fr;
    gap:30px
  }
  .apply-gate h2 {
    font-size:37px
  }
  .apply-gate .button-group {
    flex-direction:column;
    align-items:flex-start
  }
  .apply-gate aside {
    padding:26px
  }
  .apply-gate aside h3 {
    font-size:28px
  }
  .application-form {
    padding:27px 22px
  }
  .application-form h2 {
    font-size:30px
  }
  .application-stepper {
    gap:7px
  }
  .application-stepper li {
    font-size:8px;
    letter-spacing:0
  }
  .application-actions {
    flex-wrap:wrap;
    gap:12px
  }
  .dashboard-applications {
    grid-template-columns:1fr
  }
  .account-ready {
    padding:27px
  }
  .account-ready h2 {
    font-size:32px
  }
}

@media(max-width:390px) {
  .home-hero {
    min-height:820px
  }
  .hero-content {
    padding-top:140px
  }
  .home-hero h1 {
    font-size:39px
  }
  .hero-description {
    font-size:15px
  }
  .hero-photo {
    height:215px
  }
  .hero-kicker {
    font-size:9px
  }
  .speaker-themes {
    grid-template-columns:1fr 1fr
  }
  .speaker-themes .speaker-theme:last-child {
    display:none
  }
  .finale-copy h2 {
    font-size:37px
  }
  .ticket h3 {
    font-size:23px
  }
  .ticket-price {
    font-size:76px
  }
  .institutional-wordmark {
    gap:20px
  }
  .institutional-wordmark>span {
    font-size:59px
  }
}

@media(prefers-reduced-motion:reduce) {
  .photo-reveal.reveal-ready img {
    transform:none;
    filter:none
  }
  .photo-hero-attend .photo-hero-media {
    transform:none
  }
  .hero-photo {
    transform:none
  }
  .panel-preview:hover {
    transform:none
  }
}

[tabindex="-1"] {
  scroll-margin-top:130px
}

/* V4 — persistent, intentional themes and shared controls. */
:root { --surface-raised:#fff; --glass:rgba(248,250,253,.86); --glass-border:rgba(191,203,222,.6); --button-ink:#101a2b; --field-bg:#fff; --breakpoint-nav:1379px; color-scheme:light; }
html[data-theme="dark"] { --ink:#edf2fc; --muted:#aebcd1; --paper:#0b1423; --soft:#121f32; --pale:#1a2c47; --line:#2d3c51; --surface-raised:#162238; --glass:rgba(12,23,41,.88); --glass-border:rgba(168,193,231,.2); --blue:#315fda; --blue-hover:#4475ef; --button-ink:#0c182b; --field-bg:#0d192b; color-scheme:dark; }
.i18n-pending body { visibility:hidden; }
.button { min-height:50px; padding:14px 24px; gap:10px; border-radius:16px; justify-content:center; letter-spacing:.015em; }
.button-light { color:#101a2b; }
.button-dark { color:var(--paper); }
.button-dark:hover { color:#fff; }
.button-pale:hover { background:var(--line); }
.button-ghost { background:transparent; color:inherit; }
.home-hero .button { min-height:56px; padding-inline:28px; }
.site-header { padding-inline:16px; }
.nav-shell { max-width:1680px; gap:18px; padding:10px 18px; background:var(--glass); border:1px solid var(--glass-border); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); }
.site-header.scrolled .nav-shell,.site-header.menu-active .nav-shell { background:var(--glass); color:var(--ink); }
.home .site-header:not(.scrolled):not(.menu-active) .nav-shell { background:rgba(10,23,44,.76); }
.desktop-nav { gap:14px; }
.nav-item>a { font-size:14px; }
.nav-toggle { width:20px; }
.header-actions { display:flex; gap:8px; }
.header-actions .button { font-size:12px; padding:13px 21px; min-height:48px; border-radius:15px; }
.header-actions [hidden] { display:none; }
.preferences { display:flex; align-items:center; gap:10px; flex:none; }
.language-control { display:flex; padding:3px; gap:2px; border:1px solid var(--glass-border); border-radius:11px; }
.language-control button { border:0; background:none; color:inherit; border-radius:7px; min-width:31px; height:34px; font:12px var(--font-mono); padding:6px; }
.language-control button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.home .site-header:not(.scrolled):not(.menu-active) .language-control button[aria-pressed="true"] { background:#fff; color:#101a2b; }
.theme-toggle { border-radius:12px; border-color:var(--glass-border); width:40px; height:42px; }
.theme-toggle span { font-size:24px; }
.mobile-toggle { display:none; }
.mega-menu,.mobile-nav { background:var(--paper); color:var(--ink); }
.mega-menu { border:var(--border); }
.mega-links a:hover { background:var(--soft); }
.mobile-nav { overscroll-behavior:contain; }
.mobile-nav .preferences { margin-block:12px 20px; }
.mobile-actions { display:grid; grid-template-columns:1fr; }
.mobile-actions .button { width:100%; min-height:52px; }
html[data-theme="dark"] .tais-logo { filter:brightness(0) invert(1); }
.turam-logo { display:block; width:240px; max-width:100%; }
.turam-logo img { width:100%; height:auto; display:block; }
.turam-on-dark { display:none!important; }
html[data-theme="dark"] .turam-on-light,.site-footer .turam-on-light { display:none; }
html[data-theme="dark"] .turam-on-dark,.site-footer .turam-on-dark { display:block!important; }
.institutional-wordmark>.turam-logo { font-size:inherit; letter-spacing:normal; margin-bottom:26px; width:280px; }
.institutional-wordmark p { font-size:20px; }
.institutional-layout h2 { margin-top:20px; }
.footer-brand .turam-logo { width:230px; }
.footer-brand>a { width:auto; height:auto; }
.footer-brand p { margin-top:20px; }
.footer-brand .organizer-label { margin-top:12px; font:12px var(--font-mono); color:#99afd0; }
.contact-organizer { padding-bottom:60px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.contact-organizer .turam-logo { width:180px; }
.contact-organizer p { font-size:14px; }
.continuity-note { font-size:15px; padding-top:22px; border-top:var(--border); margin-top:26px; }
.community-photo { height:580px; }
.community-photo::after { display:none; }
.community-photo img { object-position:52% 45%; }
.audience-flow { display:flex; flex-direction:column; counter-reset:audience; }
.audience-flow a { padding:21px 0; display:grid; grid-template-columns:30px 1fr; gap:15px; font-size:clamp(21px,2vw,29px); line-height:1.2; letter-spacing:-.035em; border-bottom:var(--border); }
.audience-flow a::before { counter-increment:audience; content:'0' counter(audience); font:11px var(--font-mono); color:var(--muted); padding-top:5px; }
.audience-flow a:hover { color:var(--blue); }
.community .section-heading { margin-bottom:10px; }
.focus-relations img,.focus-detail#relations img { object-position:50% 25%; }




.exhibit-editorial { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.exhibit-field-visual img { width:100%; height:280px; object-fit:cover; border-radius:24px 100px 24px 24px; margin-bottom:30px; }
.exhibit-field-visual h2 { font-size:42px; margin-top:16px; }
.showcase-list { list-style:none; margin:0; padding:0; }
.showcase-list li { font-size:25px; letter-spacing:-.035em; padding:19px 0; border-bottom:var(--border); }
.exhibitor-audiences { display:grid; grid-template-columns:1fr 1fr; gap:20px 64px; }
.exhibitor-audiences article { display:flex; gap:24px; border-top:var(--border); padding:28px 0; }
.exhibitor-audiences article:nth-child(even) { margin-top:60px; }
.exhibitor-audiences h3 { font-size:31px; }
.exhibition-process { margin-top:25px; }
.exhibition-process h3 { font-size:24px; }
.exhibit-apply { background:var(--soft); }
.exhibit-apply .form-section { padding:0; }
.exhibit-form-group { border:0; padding:0; margin:0 0 38px; min-width:0; }
.exhibit-form-group>legend { font-size:25px; border-bottom:var(--border); margin-bottom:26px; padding-bottom:14px; width:100%; }
.exhibit-form-group .step-fields { margin-block:26px; }
.exhibit-form-group label:has(+input[required])::after,.exhibit-form-group label:has(+select[required])::after,.exhibit-form-group label:has(+textarea[required])::after { content:' *'; color:var(--muted); }
.contact-page .faq-grid { align-items:start; }
.contact-page .faq-grid details { overflow:hidden; }
.contact-page .faq-grid summary { min-height:100px; box-sizing:border-box; }
.contact-page .faq-grid summary[aria-expanded="true"]>span { transform:rotate(45deg); }
.accordion-close { display:block; margin-top:24px; padding:9px 16px; border:var(--border); border-radius:10px; color:var(--ink); background:var(--soft); cursor:pointer; }
/* Theme surfaces are independent of photography, which is never inverted. */
.focus-section,.form-card,.auth-form,.dashboard-card,.application-form,.application-stepper,.choice-card,.faq-grid details,.ticket,.opportunity-card,.surface-card,.contact-card { background:var(--surface-raised); }
input,textarea,select { background:var(--field-bg); color:var(--ink); border-color:var(--line); }
.panel-preview:nth-child(n),.panel-preview:hover { background:var(--soft); }
.panel-preview:hover { background:var(--pale); }
.panel-card-copy .meta { color:var(--muted); }
html[data-theme="dark"] .experience-story:not(.experience-story-blue),html[data-theme="dark"] .vision-card,html[data-theme="dark"] .mission-card,html[data-theme="dark"] .event-note,html[data-theme="dark"] .apply-gate aside,html[data-theme="dark"] .account-ready,html[data-theme="dark"] .application-confirmation,html[data-theme="dark"] .success-panel { background:var(--soft); }
html[data-theme="dark"] .ticket-student,html[data-theme="dark"] .choice-card:has(input:checked) { background:var(--pale); }
html[data-theme="dark"] .config-notice { background:#272919; color:#ece8c6; border-color:#53553e; }
html[data-theme="dark"] .field-error,html[data-theme="dark"] .form-status.error { color:#ffb4b9; }
html[data-theme="dark"] .form-status.success { color:#a8e6c1; }
html[data-theme="dark"] .partner-announcement { background:var(--soft); color:var(--ink); }
html[data-theme="dark"] .status-badge { background:var(--pale); color:var(--ink); }
html[data-theme="dark"] .text-link:hover { color:#9ebaff; }
html[data-theme="dark"] .auth-switch a,html[data-theme="dark"] .form-small-link { color:#a9c4ff; }
html[data-theme="dark"] .skip-link { background:var(--surface-raised); color:var(--ink); }
html[data-theme="dark"] .field-help { color:var(--muted); }
html[data-theme="dark"] .application-stepper [aria-current="step"] { color:#b8ccff; }
html[data-theme="dark"] .ticket-currency { border-color:var(--line); }
/* Standalone, graphic-led launch page. No event photography or full-site navigation. */
.prelaunch { min-height:100svh; position:relative; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; overflow-x:hidden; isolation:isolate; }
.prelaunch::before,.prelaunch::after { display:none; }
.launch-art { position:absolute; inset:0; z-index:-1; overflow:hidden; background:radial-gradient(ellipse at 14% 30%,#2e67e029,transparent 48%),radial-gradient(ellipse at 92% 62%,#bc1c3820,transparent 43%); }
.launch-art::after { content:''; position:absolute; inset:0; background-image:linear-gradient(#7185a610 1px,transparent 1px),linear-gradient(90deg,#7185a610 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(transparent,#000,transparent); }
.launch-ghost { position:absolute; right:-3%; top:8%; font-size:clamp(200px,30vw,620px); line-height:.82; letter-spacing:-.08em; color:var(--ink); opacity:.035; }
.launch-orbit { position:absolute; width:115vw; height:55vw; border:1px solid #6790d938; border-radius:50%; transform:rotate(-32deg); top:5%; left:-15%; animation:launch-drift 25s ease-in-out infinite alternate; }
.launch-orbit.orbit-two { width:95vw; height:53vw; left:18%; top:17%; animation-direction:alternate-reverse; border-color:#be535627; }
@keyframes launch-drift { to { transform:rotate(-24deg) translate(2%,3%); } }
.launch-header { display:flex; align-items:center; justify-content:space-between; padding:28px 4.5vw; }
.launch-header>.tais-logo { width:84px; height:65px; }
.prelaunch .launch-main { display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; text-align:center; min-height:0; padding:72px 24px 80px; }
.launch-main h1 { font-size:clamp(46px,6.8vw,108px); max-width:1200px; margin-top:0; line-height:1.01; }
.launch-event-meta { justify-content:center; margin-top:30px; color:var(--muted); }
.launch-main .meta { color:var(--muted); }
.launch-main .launch-label { margin-top:34px; color:var(--ink); font-size:24px; border:0; padding:0; background:none; }
.launch-description { max-width:580px; font-size:18px; margin-top:14px; }
.launch-contacts { display:flex; gap:80px; margin-top:42px; }
.launch-contacts>div { display:flex; flex-direction:column; gap:10px; }
.launch-contacts a { font-size:23px; }
.launch-contacts a:hover { text-decoration:underline; }
.prelaunch .launch-footer { display:flex; align-items:end; justify-content:space-between; padding:32px 4.5vw; border-top:var(--border); gap:25px; }
.launch-footer>div { display:grid; grid-template-columns:auto 190px; gap:14px 24px; align-items:center; }
.launch-footer>div p { grid-column:1/-1; font-size:13px; margin:0; }
.launch-footer .turam-logo { width:190px; }
.launch-footer>p { font-size:12px; }

@media (max-width:1379px) { .desktop-nav,.nav-shell>.header-actions { display:none; } .nav-shell>.preferences { margin-left:auto; } .nav-shell>.preferences .language-control { display:none; } .mobile-toggle { display:inline-flex; flex-direction:column; gap:5px; border:0; } .mobile-toggle span { display:block; width:22px; height:1px; background:currentColor; } .nav-shell { min-height:78px; } .mega-menu { display:none!important; } }
@media (max-width:767px) { .nav-shell { padding:9px 12px 9px 17px; min-height:70px; gap:12px; } .site-header { padding-inline:12px; top:12px; } .brand { width:58px; height:46px; } .header-actions { display:none; } .community-photo { height:390px; } .audience-flow a { font-size:25px; padding:21px 0; } .community-layout { gap:32px; } .institutional-wordmark>.turam-logo { width:240px; } .exhibit-editorial,.exhibitor-audiences { grid-template-columns:1fr; gap:30px; } .exhibitor-audiences article:nth-child(even) { margin-top:0; } .showcase-list li { font-size:23px; } .exhibit-field-visual h2 { font-size:35px; } .exhibit-form-group>legend { font-size:23px; } .exhibit-form-group .choice-grid { grid-template-columns:1fr; } .contact-organizer { gap:22px; } .focus-relations img,.focus-detail#relations img { object-position:50% 22%; } .launch-header { padding:20px 24px; } .launch-header>.tais-logo { width:68px; height:53px; } .prelaunch .launch-main { padding:52px 24px 60px; } .launch-main h1 { font-size:clamp(43px,8.9vw,70px); } .launch-main .launch-label { font-size:21px; } .launch-description { font-size:16px; } .launch-contacts { flex-direction:column; gap:25px; } .prelaunch .launch-footer { padding:26px 24px; flex-direction:column; align-items:center; text-align:center; } .launch-footer>div { grid-template-columns:1fr; justify-items:center; gap:12px; } .launch-footer .turam-logo { width:160px; } .launch-ghost { top:25%; font-size:280px; right:-18%; } .launch-orbit { width:210vw; height:140vw; top:15%; } .launch-orbit.orbit-two { width:200vw; height:130vw; left:-40%; } }
@media (prefers-reduced-motion:reduce) { .launch-orbit { animation:none; } }
.institutional-layout>* { min-width:0; }

@media(max-width:767px) { .institutional-wordmark { display:block; } .institutional-wordmark>.turam-logo { margin:0 0 20px; } }
.review-value { display:block; }
.focus-detail#aerospace img { object-position:50% 25%; }
html[data-theme="dark"] .pricing-section { background:var(--soft); }
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea { background:var(--field-bg); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] .page-hero>.meta,html[data-theme="dark"] .photo-hero-copy>.meta,html[data-theme="dark"] .focus-detail-copy>.meta,html[data-theme="dark"] .auth-intro>.meta,html[data-theme="dark"] .audience-list .meta { color:#a9c4ff; }

/* V5 — complete shared finale, editorial announcements, and three header modes. */
.final-cta { grid-template-columns:55fr 45fr; align-items:stretch; }
.finale-copy { padding:58px 42px 58px 48px; }
.finale-copy h2 { font-size:clamp(38px,3.65vw,60px); }
.finale-copy .button { padding-inline:24px; min-height:50px; }
.finale-photo { display:block; min-width:0; min-height:460px; clip-path:none; border-radius:100px 0 0 0; margin:20px 20px 20px 0; overflow:hidden; }
.finale-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 45%; transition:transform 700ms var(--ease); }
.finale-photo::after { background:linear-gradient(90deg,#173c8c28,transparent 45%,#081c4520); pointer-events:none; }
@media(hover:hover) { .final-cta:hover .finale-photo img { transform:scale(1.025); } }
.speakers-teaser { grid-template-columns:1.15fr 1fr; align-items:center; }
.speaker-pending-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:60px; align-items:center; }
.speaker-pending-layout .measure { margin-top:24px; }
.speaker-pending { width:100%; max-width:460px; padding:24px 26px; border:1px solid var(--line); border-radius:18px; background:var(--soft); color:var(--ink); }
.speaker-pending-label { display:block; font:500 12px var(--font-sans); letter-spacing:.09em; text-transform:uppercase; padding-bottom:16px; border-bottom:1px solid var(--line); color:var(--muted); }
.speaker-pending p { font:400 clamp(22px,2vw,29px)/1.2 var(--font-sans); letter-spacing:-.025em; color:var(--ink); margin:20px 0; max-width:310px; }
.speaker-pending a { font:400 14px var(--font-sans); text-decoration:underline; text-underline-offset:5px; }
.speaker-pending .button { min-height:0; padding:0; border:0; display:inline; }
.panel-detail .speaker-pending { margin-top:28px; }
.format-copy dl { background:transparent; border-top:1px solid var(--line); padding-top:22px; }
.format-copy dl>div { background:transparent; }
.format-copy dt { color:var(--muted); }
.sponsor-hero { background:radial-gradient(ellipse at 80% 35%,rgba(53,96,193,.1),transparent 55%); }
.partner-logo-stage { width:100%; max-width:320px; min-height:250px; padding:42px; background:var(--surface-raised); border:1px solid var(--line); border-radius:24px; display:grid; place-items:center; justify-self:center; }
.partner-logo-stage .tais-logo { width:min(100%,190px); height:auto; aspect-ratio:650/502; }
.footer-brand { display:block; }
.footer-brand .footer-event-logo { display:block; width:110px; height:auto; }
.footer-event-logo .tais-logo { width:100%; height:auto; aspect-ratio:650/502; filter:brightness(0) invert(1); }
.footer-brand .footer-event-name { margin-top:22px; color:#d6e0f1; max-width:280px; line-height:1.6; }
.footer-brand .organizer-label { margin-top:28px; color:#a3b4d0; font:400 13px var(--font-sans); }
.footer-brand .footer-organizer-logo { width:160px; height:auto; margin-top:12px; }
.footer-brand .turam-logo { width:160px; }
/* Tablet: all participation actions stay directly accessible. */
@media(min-width:768px) and (max-width:1379px) {
  .nav-shell { gap:12px; padding-inline:14px; }
  .nav-shell .brand { width:68px; min-width:68px; height:54px; }
  .nav-shell>.preferences { gap:8px; margin-left:auto; }
  .nav-shell>.preferences .language-control { display:flex; }
  .nav-shell>.preferences .language-control button { min-width:32px; height:44px; }
  .nav-shell>.preferences .theme-toggle { width:44px; height:44px; }
  .nav-shell>.header-actions { display:flex; flex:none; gap:8px; margin-left:0; }
  .nav-shell>.header-actions .button { min-height:44px; padding:12px 14px; font-size:12px; border-radius:14px; white-space:nowrap; }
  .nav-shell>.mobile-toggle { width:44px; height:44px; flex:none; }
}
@media(min-width:1024px) and (max-width:1379px) {
  .nav-shell { gap:16px; }
  .nav-shell>.header-actions { gap:10px; }
  .nav-shell>.header-actions .button { padding-inline:20px; }
}
@media(min-width:768px) and (max-width:1023px) {
  .finale-copy { padding:38px 26px; }
  .finale-copy h2 { font-size:38px; }
  .finale-copy .button-group { flex-direction:column; align-items:stretch; }
  .finale-photo { min-height:440px; border-radius:72px 0 0 0; margin:16px 16px 16px 0; }
}
@media(max-width:767px) {
  .final-cta { grid-template-columns:1fr; border-radius:26px; margin-bottom:50px; }
  .finale-copy { padding:36px 26px 32px; }
  .finale-copy h2 { font-size:clamp(35px,8.5vw,48px); }
  .finale-copy .button-group { flex-direction:column; align-items:stretch; }
  .finale-photo { min-height:250px; height:250px; border-radius:24px; margin:0 18px 18px; }
  .speakers-teaser,.speaker-pending-layout { grid-template-columns:1fr; gap:28px; }
  .speaker-pending { max-width:none; padding:22px; }
  .panel-detail .speaker-pending { margin-top:24px; }
  .partner-logo-stage { min-height:220px; max-width:280px; justify-self:start; }
  .footer-brand .footer-event-logo { width:100px; }
}
@media(prefers-reduced-motion:reduce) { .final-cta:hover .finale-photo img { transform:none; } }

/* Safari reliability and desktop header refinement. */
.media-source { display:block; width:100%; height:100%; }
.media-source>img { display:block; width:100%; height:100%; object-fit:cover; }
.focus-card>.media-source,.experience-feature>.media-source { position:absolute; inset:0; z-index:-2; }
.turam-logo>picture { width:100%; }
@font-face { font-family:"Archivo Navigation"; src:url('/assets/fonts/archivo-regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@media(min-width:1380px) {
  .nav-shell .brand { width:clamp(74px,4.4vw,84px); height:66px; }
  .desktop-nav { gap:clamp(22px,1.5vw,30px); }
  .nav-item>a { font-family:"Archivo Navigation",Archivo,Arial,sans-serif; font-weight:600; font-size:15px; }
  .nav-shell>.header-actions { flex:none; }
  .brand .tais-logo { object-fit:contain; }
}
html[data-theme="light"] .home .site-header:not(.scrolled):not(.menu-active) .nav-shell { background:var(--glass); color:var(--ink); }
html[data-theme="light"] .home .site-header:not(.scrolled):not(.menu-active) .tais-logo { filter:none; }
html[data-theme="light"] .home .site-header:not(.scrolled):not(.menu-active) .language-control button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .nav-shell,.home .site-header:not(.scrolled):not(.menu-active) .nav-shell { background:rgba(248,250,253,.96); }
  html[data-theme="dark"] .nav-shell,html[data-theme="dark"] .home .site-header:not(.scrolled):not(.menu-active) .nav-shell { background:rgba(12,23,41,.96); }
}
