#site-header {
    position: sticky;
    top: 0;
    background-color: #0D4580 !important;
    transition: height .3s
  }
@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,300..900&family=Inter:opsz,wght@14..32,400..600&display=swap");

/* AF27 WordPress / Elementor Canvas bridge — Home page ID 1981 */
body.page-id-1981 { margin:0 !important; padding:0 !important; overflow-x:clip; }
body.page-id-1981 .elementor-1981,
body.page-id-1981 .elementor-1981 > .e-con,
body.page-id-1981 .elementor-1981 .e-con,
body.page-id-1981 .elementor-1981 .e-con-inner,
body.page-id-1981 .elementor-widget-html,
body.page-id-1981 .elementor-widget-html > .elementor-widget-container {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; gap:0 !important;
}
body.page-id-1981 .elementor-1981 > .e-con { --container-max-width:100%; }
body.admin-bar.page-id-1981 .nav { top:32px; }
@media (max-width:782px){ body.admin-bar.page-id-1981 .nav { top:46px; } }


/* WordPress / Elementor Canvas bridge: page-local only */
body.page-id-1981.elementor-page{ margin: 0 !important; }
body.page-id-1981.elementor-page .elementor, body.page-id-1981.elementor-page .elementor-element, body.page-id-1981.elementor-page .e-con, body.page-id-1981.elementor-page .e-con-inner, body.page-id-1981.elementor-page .elementor-widget, body.page-id-1981.elementor-page .elementor-widget-container{
  max-width: none !important;
}
body.page-id-1981.elementor-page .e-con{
  --container-max-width: none;
}
body.page-id-1981.elementor-page .elementor-widget-html, body.page-id-1981.elementor-page .elementor-widget-html > .elementor-widget-container{
  width: 100% !important;
}

/* ==========================================================================
   3rd A&F LUM Conference 2027 · Twin Transition and Sustainable Value Creation
   Università LUM Giuseppe Degennaro
   --------------------------------------------------------------------------
   Structure (each block maps to a WordPress block/template part):
   00 tokens · 01 base · 02 components · 03 nav + rail · 04 hero · 05 status
   06 theme · 07 research + tracks · 08 calls · 09 programme · 10 editions
   11 venue · 12 host (LUM moment) · 13 footer · 14 motion states
   15 responsive · 16 reduced motion
   ========================================================================== */

/* 00 · TOKENS ------------------------------------------------------------ */
body.page-id-1981{
  /* institution */
  --lum: #AC103D;            /* sampled from the current official LUM logo */
  --lum-deep: #8F1739;       /* official vector seal */
  --lum-blue: #004A98;       /* official logo rule */

  /* base */
  --paper: #F4F2EE;
  --paper-warm: #F3EFE8;
  --white: #FFFFFF;
  --ink: #0B1B2B;
  --ink-2: #2A3947;
  --muted: #56616E;
  --line: rgba(11, 27, 43, .16);
  --line-2: rgba(11, 27, 43, .08);

  --navy: #0A1F33;
  --navy-2: #0E2A44;
  --on-navy: #FFFFFF;
  --on-navy-muted: #A9B8C8;
  --line-navy: rgba(255, 255, 255, .14);

  /* event (Twin Transition) */
  --green: #9DC46A;
  --green-ink: #3D6B25;
  --cyan: #5BC2EE;
  --cyan-ink: #0A6A94;
  --twin: linear-gradient(90deg, var(--green), var(--cyan));
  --sky-1: #DCE5F0;
  --sky-2: #BFD0EA;

  /* type */
  --f-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-text: "Inter", "Helvetica Neue", Arial, sans-serif;

  /* layout */
  --maxw: 1520px;
  --gutter: clamp(16px, 3.4vw, 52px);
  --col-gap: clamp(16px, 2vw, 32px);
  --nav-h: 88px;
  --nav-h-min: 68px;
  --band-h: 112px;
  --rail-h: 0px;

  /* motion */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
}

@property --arc-in{ syntax: "<number>"; inherits: true; initial-value: 0; }

/* 01 · BASE -------------------------------------------------------------- */
body.page-id-1981 *, body.page-id-1981 *::before, body.page-id-1981 *::after{ box-sizing: border-box; }
html:has(body.page-id-1981){ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-h-min) + 12px); }
@media (prefers-reduced-motion: no-preference){ html:has(body.page-id-1981){ scroll-behavior: smooth; } }
body.page-id-1981{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 17px/1.65 var(--f-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
body.page-id-1981 img, body.page-id-1981 svg, body.page-id-1981 picture{ display: block; max-width: 100%; }
body.page-id-1981 img{ height: auto; }
body.page-id-1981 a{ color: inherit; text-decoration: none; }
body.page-id-1981 h1, body.page-id-1981 h2, body.page-id-1981 h3, body.page-id-1981 p, body.page-id-1981 dl, body.page-id-1981 dd, body.page-id-1981 figure, body.page-id-1981 ol, body.page-id-1981 ul{ margin: 0; }
body.page-id-1981 ol, body.page-id-1981 ul{ padding: 0; list-style: none; }
body.page-id-1981 [hidden]{ display: none !important; }
body.page-id-1981 b, body.page-id-1981 strong{ font-weight: 600; }

body.page-id-1981 .wrap{ width: min(var(--maxw), 100% - 2 * var(--gutter)); margin-inline: auto; }
body.page-id-1981 .sr-only{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.page-id-1981 .skip{ position: fixed; left: 16px; top: 12px; z-index: 200; padding: 12px 18px; background: var(--ink); color: #fff; font: 600 15px/1 var(--f-display); transform: translateY(-160%); transition: transform .3s var(--ease-out); }
body.page-id-1981 .skip:focus{ transform: none; }

body.page-id-1981 :focus-visible{ outline: 2px solid var(--focus, var(--cyan-ink)); outline-offset: 3px; }
body.page-id-1981 .theme, body.page-id-1981 .editions, body.page-id-1981 .footer, body.page-id-1981 .status, body.page-id-1981 .rail{ --focus: var(--cyan); }

/* 02 · COMPONENTS -------------------------------------------------------- */
body.page-id-1981 .btn{
  --bg: transparent; --fg: currentColor; --bd: transparent; --bg-h: var(--ink); --fg-h: #fff;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 54px; padding: 0 20px 0 24px;
  font: 600 15px/1 var(--f-display); letter-spacing: .005em;
  color: var(--fg); background: var(--bg); border: 1px solid var(--bd); border-radius: 2px;
  transition: color .45s var(--ease-out), border-color .45s var(--ease-out);
  white-space: nowrap;
}
body.page-id-1981 .btn::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--bg-h); transform: scaleX(0); transform-origin: right center;
  transition: transform .6s var(--ease-out);
}
body.page-id-1981 .btn:hover::before, body.page-id-1981 .btn:focus-visible::before{ transform: scaleX(1); transform-origin: left center; }
body.page-id-1981 .btn:hover, body.page-id-1981 .btn:focus-visible{ color: var(--fg-h); }
body.page-id-1981 .btn__arrow{ width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; transition: transform .5s var(--ease-out); }
body.page-id-1981 .btn:hover .btn__arrow, body.page-id-1981 .btn:focus-visible .btn__arrow{ transform: translateX(4px); }
body.page-id-1981 .btn--ink{ --bg: var(--ink); --fg: #fff; --bg-h: var(--lum); --fg-h: #fff; }
body.page-id-1981 .btn--light{ --bg: #fff; --fg: var(--ink); --bg-h: var(--twin); --fg-h: var(--ink); }
body.page-id-1981 .btn--lum{ --bg: var(--lum); --fg: #fff; --bg-h: var(--lum-deep); --fg-h: #fff; }
body.page-id-1981 .btn--sm{ min-height: 46px; padding: 0 16px 0 18px; font-size: 14px; gap: 14px; }

body.page-id-1981 .link{
  font: 600 15px/1.35 var(--f-display); color: var(--ink);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px;
  text-decoration-color: var(--line);
  transition: text-decoration-color .3s, color .3s;
}
body.page-id-1981 .link:hover{ text-decoration-color: var(--lum); }
body.page-id-1981 .link--light{ color: #fff; text-decoration-color: rgba(255, 255, 255, .35); }
body.page-id-1981 .link--light:hover{ text-decoration-color: var(--cyan); }

/* Section header (editorial 12-column) */
body.page-id-1981 .s-head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); margin-bottom: clamp(56px, 7vw, 112px); }
body.page-id-1981 .s-kicker{
  grid-column: 1 / span 3; display: flex; align-items: baseline; gap: 14px; padding-top: .8em;
  font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase;
}
body.page-id-1981 .s-num{ color: var(--num, var(--lum)); font-feature-settings: "tnum"; letter-spacing: .04em; }
body.page-id-1981 .s-head__main{ grid-column: 4 / -1; }
body.page-id-1981 .s-title{
  font: 700 clamp(36px, 4.5vw, 76px)/1.0 var(--f-display); font-stretch: 86%;
  letter-spacing: -.022em; max-width: 21ch; text-wrap: balance;
}
body.page-id-1981 .s-lead{ margin-top: 28px; max-width: 60ch; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; color: var(--muted); }

/* 03 · NAV + MOBILE RAIL ------------------------------------------------- */
body.page-id-1981 .nav{
  position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--nav-h);
  color: var(--ink);
  transition: height .6s var(--ease-out), transform .5s var(--ease-out);
}
body.page-id-1981 .nav::before{
  content: ""; position: absolute; inset: 0;
  background: rgba(244, 242, 238, .94);
  -webkit-backdrop-filter: saturate(1.3) blur(16px); backdrop-filter: saturate(1.3) blur(16px);
  border-bottom: 1px solid var(--line-2);
  transform: translateY(-101%); transition: transform .7s var(--ease-out);
}
body.page-id-1981 .nav.is-scrolled{ height: var(--nav-h-min); }
body.page-id-1981 .nav.is-scrolled::before{ transform: none; }
body.page-id-1981 .nav__inner{ position: relative; height: 100%; display: flex; align-items: center; gap: clamp(20px, 2.4vw, 40px); }
body.page-id-1981 .nav__brand{ display: flex; align-items: center; gap: clamp(14px, 1.4vw, 22px); flex: none; }
body.page-id-1981 .nav__lum img{ height: 42px; width: auto; transition: height .6s var(--ease-out); }
body.page-id-1981 .nav.is-scrolled .nav__lum img{ height: 36px; }
body.page-id-1981 .nav__rule{ width: 1px; height: 38px; background: var(--line); }
body.page-id-1981 .nav__event{ display: block; font-family: var(--f-display); line-height: 1.1; }
body.page-id-1981 .nav__event strong{ display: block; font-size: 16px; font-weight: 700; letter-spacing: -.005em; }
body.page-id-1981 .nav__event > span{ display: block; white-space: nowrap; margin-top: 5px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .nav__menu{ margin-left: auto; display: flex; align-items: center; gap: clamp(18px, 2.1vw, 38px); }
body.page-id-1981 .nav__menu a{
  position: relative; padding: 14px 0;
  font: 500 clamp(16px, 1.3vw, 20px)/1 var(--f-display); letter-spacing: -.005em;
  transition: color .3s;
}
body.page-id-1981 .nav__menu a::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px;
  background: var(--lum); transform: scaleX(0); transform-origin: right;
  transition: transform .5s var(--ease-out);
}
body.page-id-1981 .nav__menu a:hover::after, body.page-id-1981 .nav__menu a.is-active::after{ transform: scaleX(1); transform-origin: left; }
body.page-id-1981 .nav__cta{ flex: none; }
body.page-id-1981 .nav__progress{
  position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--twin); transform-origin: left; transform: scaleX(var(--progress, 0));
  opacity: 0; transition: opacity .4s;
}
body.page-id-1981 .nav.is-scrolled .nav__progress{ opacity: 1; }

body.page-id-1981 .rail{ display: none; }

/* 04 · HERO -------------------------------------------------------------- */
body.page-id-1981 .hero{
  /* geometry: the photo frame is positioned so that the sea horizon sits at --horizon */
  --hh: clamp(620px, calc(100svh - var(--band-h)), 1080px);
  --horizon: .52;
  --hz: .3681;                                   /* horizon in the photograph (918 / 2494) */
  --fw: max(100vw, calc(var(--hh) * 1.6));
  --fh: calc(var(--fw) * .5002);                 /* 2494 / 4986 */
  --tower: 50.863% 15.958%, 51.865% 21.251%, 51.945% 21.291%, 51.945% 21.852%, 51.845% 21.852%, 51.845% 29.471%, 52.367% 29.511%, 52.367% 30.553%, 52.326% 30.553%, 52.326% calc(var(--tcut) * 100%), 49.439% calc(var(--tcut) * 100%), 49.439% 30.553%, 49.358% 30.553%, 49.358% 29.511%, 49.900% 29.471%, 49.900% 21.852%, 49.799% 21.852%, 49.799% 21.291%, 49.880% 21.251%;
  --t-size: clamp(64px, min(11.2vw, 19svh), 188px);
  --tcut: .40096;                                /* bottom of the bell-tower cut-out (frame height); JS ends it under TRANSITION */
  --tb: calc(var(--hh) * var(--horizon) + var(--fh) * (var(--tcut) - var(--hz)));
  --night: calc(var(--hh) * .68);                /* start of the dark zone; JS aligns it to the subtitle */
  --hp: 0;
  position: relative; isolation: isolate; overflow: hidden;
  height: var(--hh);
  background: linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 60%, var(--sky-2) 100%);
}
body.page-id-1981 .hero__layer{ position: absolute; inset: 0; pointer-events: none; transform: translate3d(0, calc(var(--hp) * 13%), 0); }
body.page-id-1981 .hero__layer--photo{ z-index: 1; }
body.page-id-1981 .hero__layer--tower{ z-index: 5; }
body.page-id-1981 .hero__frame{
  position: absolute; left: 50%;
  width: var(--fw); height: var(--fh); margin-left: calc(var(--fw) / -2);
  top: calc(var(--hh) * var(--horizon) - var(--fh) * var(--hz));
}
body.page-id-1981 .hero__frame picture, body.page-id-1981 .hero__frame img{ width: 100%; height: 100%; }
body.page-id-1981 .hero__photo{ object-fit: cover; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%); mask-image: linear-gradient(180deg, transparent 0, #000 9%); }
body.page-id-1981 .hero__tower{ object-fit: cover; clip-path: polygon(var(--tower)); }

/* twin arcs */
body.page-id-1981 .arcs{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
body.page-id-1981 .arcs--m{ display: none; }
body.page-id-1981 .arc{ transform: translateX(calc((var(--arc-in) * 300 + var(--hp) * 150) * 1px)); }
body.page-id-1981 .arc--green{ transform: translateX(calc((var(--arc-in) * -300 + var(--hp) * 150) * 1px)); }
body.page-id-1981 .arc--digital{ transform: translateX(calc((var(--arc-in) * 300 - var(--hp) * 150) * 1px)); }
body.page-id-1981 .arc__line{ fill: none; stroke-width: 5.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
body.page-id-1981 .arc__rings path{ fill: none; stroke: #EAF4DA; stroke-width: 3; opacity: .55; stroke-dasharray: 1; }
body.page-id-1981 .arc__data{ color: #E6F6FD; }
body.page-id-1981 .arc__bar{ stroke: currentColor; stroke-width: 3; opacity: .55; transform-box: fill-box; transform-origin: 50% 100%; }
body.page-id-1981 .arc__data circle{ fill: #fff; }
body.page-id-1981 .arcs--m .arc__line{ stroke-width: 4.5; }
body.page-id-1981 .arcs--m .arc{ transform: translateX(calc(var(--arc-in) * 120px)); }
body.page-id-1981 .arcs--m .arc--green{ transform: translateX(calc(var(--arc-in) * -120px)); }

body.page-id-1981 .hero__shade{
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(180deg,
    rgba(10, 31, 51, 0) 0,
    rgba(10, 31, 51, 0) calc(var(--night) - 16px),
    rgba(10, 31, 51, .5) calc(var(--night) + 70px),
    rgba(10, 31, 51, .84) calc(var(--night) + 230px),
    var(--navy) 100%);
}
/* haze of Mediterranean light behind "and Sustainable Value Creation" and the subtitle */
body.page-id-1981 .hero__shade::before{
  content: ""; position: absolute; left: 0; right: 0; top: var(--tb); height: calc(var(--night) - var(--tb) + 40px);
  background: linear-gradient(90deg, rgba(221, 230, 241, .9) 0%, rgba(221, 230, 241, .74) 34%, rgba(221, 230, 241, .3) 56%, rgba(221, 230, 241, 0) 74%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 90px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 90px), transparent 100%);
}
body.page-id-1981 .hero__shade::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: var(--night);
  background: linear-gradient(270deg, rgba(10, 31, 51, .66) 0%, rgba(10, 31, 51, .3) 45%, rgba(10, 31, 51, 0) 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 45%); mask-image: linear-gradient(180deg, transparent 0, #000 45%);
}

body.page-id-1981 .hero__content{
  position: relative; z-index: 4; height: 100%;
  display: flex; flex-direction: column;
  padding-top: calc(var(--nav-h) + clamp(12px, 2.4svh, 36px));
  padding-bottom: clamp(26px, 4svh, 52px);
  transform: translate3d(0, calc(var(--hp) * -7%), 0);
}
body.page-id-1981 .hero__eyebrow{
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
  font: 600 13px/1.35 var(--f-display); letter-spacing: .13em; text-transform: uppercase; color: var(--ink);
}
body.page-id-1981 .hero__tick{ width: 28px; height: 2px; background: var(--lum); margin-right: 4px; }
body.page-id-1981 .hero__eyebrow-rest{ font-weight: 400; color: var(--ink-2); }

body.page-id-1981 .hero__title{ display: flex; flex-direction: column; margin-top: clamp(10px, 2svh, 26px); font-family: var(--f-display); }
body.page-id-1981 .t-line{ display: block; overflow: hidden; padding-bottom: .045em; margin-bottom: -.045em; }
body.page-id-1981 .t-line--twin, body.page-id-1981 .t-line--transition{
  font-size: var(--t-size); line-height: .86; font-weight: 800;
  text-transform: uppercase; color: var(--ink); letter-spacing: -.012em;
}
body.page-id-1981 .t-line--twin{ font-stretch: 125%; }
body.page-id-1981 .t-line--transition{ font-stretch: 62%; }
body.page-id-1981 .t-word{ display: inline-block; white-space: nowrap; }
body.page-id-1981 .t-char{ display: inline-block; }
/* second level of the same title: close to TRANSITION, same ink */
body.page-id-1981 .t-line--value{ margin-top: clamp(22px, 3.3svh, 40px); }
body.page-id-1981 .t-value{
  display: block; color: var(--ink);
  font-size: clamp(28px, 3.5vw, 60px); line-height: 1.04; font-weight: 380; font-stretch: 100%;
  letter-spacing: -.02em;
}
body.page-id-1981 .t-value b{ font-weight: 760; font-stretch: 96%; white-space: nowrap; }

body.page-id-1981 .hero__deck{
  margin-top: clamp(14px, 2svh, 22px); max-width: 40ch; text-wrap: balance;
  font: 500 clamp(17px, 1.45vw, 23px)/1.4 var(--f-display); letter-spacing: -.005em; color: var(--ink-2);
}

/* event facts block */
body.page-id-1981 .hero__foot{ display: flex; justify-content: flex-end; margin-top: auto; padding-top: 24px; color: #fff; }
body.page-id-1981 .hero__facts{
  display: grid; grid-template-columns: repeat(3, auto);
  width: min(100%, 940px);
  border-top: 1px solid rgba(255, 255, 255, .42);
}
body.page-id-1981 .hero__fact{ padding: 20px clamp(20px, 2.6vw, 44px) 0; border-left: 1px solid rgba(255, 255, 255, .2); }
body.page-id-1981 .hero__fact:first-child{ padding-left: 0; border-left: 0; }
body.page-id-1981 .hero__facts dt{ display: flex; align-items: center; gap: 10px; font: 600 11px/1 var(--f-display); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
body.page-id-1981 .hero__facts dt::before{ content: ""; width: 14px; height: 1px; background: var(--twin); }
body.page-id-1981 .hero__facts dd{
  margin-top: 12px; white-space: nowrap;
  font: 600 clamp(20px, 2.05vw, 32px)/1.08 var(--f-display); font-stretch: 94%; letter-spacing: -.012em;
}
body.page-id-1981 .hero__fact--date dd{ text-transform: uppercase; letter-spacing: .01em; }

/* 05 · STATUS ------------------------------------------------------------ */
body.page-id-1981 .status{ position: relative; z-index: 2; background: var(--navy); color: #fff; }
body.page-id-1981 .status::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--twin); opacity: .55; }
body.page-id-1981 .status__inner{
  min-height: var(--band-h); padding-block: 20px;
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 28px;
}
body.page-id-1981 .status__key, body.page-id-1981 .status__next{ padding-left: 28px; border-left: 1px solid var(--line-navy); }
body.page-id-1981 .status__label{
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
  font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted);
}
body.page-id-1981 .status__dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex: none; box-shadow: 0 0 0 0 rgba(157, 196, 106, .55); }
body.page-id-1981 .status__title{ font: 600 clamp(20px, 1.8vw, 28px)/1.1 var(--f-display); font-stretch: 94%; letter-spacing: -.01em; }
body.page-id-1981 .status__value{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font: 500 clamp(18px, 1.5vw, 24px)/1.15 var(--f-display); }
body.page-id-1981 .status__count{ font: 500 13px/1 var(--f-text); color: var(--cyan); }
body.page-id-1981 [data-phase="papers"] .status__dot{ background: var(--cyan); }

/* 05b · CURRENT CALL ----------------------------------------------------- */
body.page-id-1981 .call{ position: relative; background: var(--white); padding-block: clamp(80px, 9vw, 150px); }
body.page-id-1981 .call::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--twin); }
body.page-id-1981 .call__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: end; }
body.page-id-1981 .call__main{ grid-column: 1 / span 7; }
body.page-id-1981 .call__kicker{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font: 700 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
body.page-id-1981 .call__rule{ width: 28px; height: 1px; background: var(--line); }
body.page-id-1981 .call__scope{ color: var(--muted); font-weight: 600; }
body.page-id-1981 .call__title{ margin-top: 28px; max-width: 11ch; font: 750 clamp(50px, 7.6vw, 132px)/.88 var(--f-display); font-stretch: 74%; letter-spacing: -.03em; text-wrap: balance; }
body.page-id-1981 .call__text{ margin-top: 30px; max-width: 50ch; font-size: clamp(18px, 1.4vw, 22px); line-height: 1.55; color: var(--ink-2); }
body.page-id-1981 .call__brief{ margin-top: 26px; max-width: 56ch; border-top: 1px solid var(--line); }
body.page-id-1981 .call__brief div{ display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
body.page-id-1981 .call__brief dt{ font: 700 11px/1.3 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .call__brief dd{ font: 500 16px/1.45 var(--f-display); color: var(--ink); }
body.page-id-1981 .call__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; margin-top: 40px; }
body.page-id-1981 .btn--lg{ min-height: 68px; padding: 0 26px 0 32px; font-size: 18px; gap: 30px; }
body.page-id-1981 .btn--lg .btn__arrow{ width: 22px; height: 22px; }
body.page-id-1981 .call__ref{ margin-top: 26px; }
body.page-id-1981 .link--muted{ color: var(--muted); font-weight: 500; }
body.page-id-1981 .call__side{ grid-column: 9 / -1; }
body.page-id-1981 .call__dates{ border-top: 2px solid var(--ink); }
body.page-id-1981 .cd{ padding: 22px 0 24px; border-bottom: 1px solid var(--line); }
body.page-id-1981 .cd dt{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .cd dd{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-top: 12px; }
body.page-id-1981 .cd__value{ font: 700 clamp(26px, 2.4vw, 38px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.015em; }
body.page-id-1981 .cd--key dt{ color: var(--lum); }
body.page-id-1981 .cd--key .cd__value{ font-size: clamp(42px, 4.6vw, 76px); font-stretch: 76%; letter-spacing: -.025em; }
body.page-id-1981 .cd__count{ padding: 7px 10px; border: 1px solid currentColor; font: 600 14px/1 var(--f-display); letter-spacing: .02em; color: var(--cyan-ink); white-space: nowrap; }
body.page-id-1981 .call__note{ margin-top: 18px; font-size: 15px; color: var(--muted); }
@media (max-width: 1023px){
  body.page-id-1981 .call__main, body.page-id-1981 .call__side{ grid-column: 1 / -1; }
  body.page-id-1981 .call__grid{ row-gap: 48px; }
}
@media (max-width: 700px){
  body.page-id-1981 .call__title{ font-size: clamp(46px, 13.4vw, 64px); }
  body.page-id-1981 .call__actions .btn{ width: 100%; }
}

/* 06 · THEME ------------------------------------------------------------- */
body.page-id-1981 .theme{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(96px, 11vw, 176px) clamp(64px, 8vw, 128px); }
body.page-id-1981 .theme .s-lead{ color: var(--on-navy-muted); }
body.page-id-1981 .theme__stage{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 112px); align-items: start; }
body.page-id-1981 .theme__panel{
  position: sticky; top: calc(var(--nav-h-min) + 24px);
  height: calc(100svh - var(--nav-h-min) - 48px); max-height: 920px; min-height: 520px;
  display: flex; flex-direction: column; gap: 16px;
}
body.page-id-1981 .theme__kv{ flex: 1; min-height: 0; position: relative; overflow: hidden; background: #0d2438; }
body.page-id-1981 .theme__kv svg{ width: 100%; height: 100%; }
body.page-id-1981 .kv-base{ opacity: .22; filter: grayscale(.7); }
body.page-id-1981 .kv-tower__img{ opacity: .3; filter: grayscale(.9); }
body.page-id-1981 .kv-field{ transform-box: fill-box; transform-origin: 50% 100%; transition: transform 1.1s var(--ease-out); }
body.page-id-1981 .kv-rim{ fill: none; stroke-width: 3; opacity: .9; transition: opacity .8s var(--ease-out); }
body.page-id-1981 .kv-rim--green{ stroke: #D8EBB8; }
body.page-id-1981 .kv-rim--digital{ stroke: #C9ECFA; }
body.page-id-1981 .theme__panel[data-kv="green"] .kv-field--digital, body.page-id-1981 .theme__panel[data-kv="digital"] .kv-field--green{ transform: scale(0); }
body.page-id-1981 .theme__panel[data-kv="green"] .kv-rim--digital, body.page-id-1981 .theme__panel[data-kv="digital"] .kv-rim--green{ opacity: .15; }
body.page-id-1981 .theme__caption{ display: flex; flex-wrap: wrap; gap: 8px 24px; font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
body.page-id-1981 .cap{ transition: color .6s; }
body.page-id-1981 .cap--note{ margin-left: auto; letter-spacing: .06em; text-transform: none; font-weight: 400; }
body.page-id-1981 .theme__panel[data-kv="green"] .cap--green, body.page-id-1981 .theme__panel[data-kv="twin"] .cap--green{ color: var(--green); }
body.page-id-1981 .theme__panel[data-kv="digital"] .cap--digital, body.page-id-1981 .theme__panel[data-kv="twin"] .cap--digital{ color: var(--cyan); }

body.page-id-1981 .chapter{ min-height: 76svh; display: flex; flex-direction: column; justify-content: center; padding-block: 48px; transition: opacity .7s var(--ease-out); }
body.page-id-1981 .chapter:first-child{ min-height: 64svh; justify-content: flex-start; padding-top: 12svh; }
body.page-id-1981 .chapter__label{ display: flex; align-items: center; gap: 14px; font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .swatch{ width: 32px; height: 2px; }
body.page-id-1981 .swatch--green{ background: var(--green); }
body.page-id-1981 .swatch--digital{ background: var(--cyan); }
body.page-id-1981 .swatch--twin{ background: var(--twin); }
body.page-id-1981 .chapter__title{ margin: 24px 0 22px; font: 700 clamp(34px, 3.8vw, 62px)/1.0 var(--f-display); font-stretch: 80%; letter-spacing: -.018em; }
body.page-id-1981 .chapter > p:last-child{ max-width: 46ch; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.62; color: #C8D4E0; }

/* 07 · RESEARCH + TRACKS ------------------------------------------------- */
body.page-id-1981 .research{ background: var(--paper); padding-block: clamp(96px, 11vw, 176px); }
body.page-id-1981 .disciplines{ border-top: 1px solid var(--ink); }
body.page-id-1981 .discipline{
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap);
  padding-block: clamp(28px, 3.4vw, 52px); border-bottom: 1px solid var(--line); align-items: start;
}
body.page-id-1981 .discipline__word{
  grid-column: 1 / -1; margin-bottom: clamp(20px, 2.2vw, 34px);
  font: 800 clamp(46px, 9.4vw, 168px)/.8 var(--f-display); font-stretch: 118%;
  letter-spacing: -.024em; text-transform: uppercase; white-space: nowrap; color: var(--ink);
  transition: font-stretch 1.6s var(--ease-out);
}
body.page-id-1981 .discipline__body{ grid-column: 4 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--col-gap); }
body.page-id-1981 .discipline__lens{ font: 500 clamp(19px, 1.6vw, 25px)/1.35 var(--f-display); font-stretch: 96%; letter-spacing: -.008em; max-width: 30ch; }
body.page-id-1981 .discipline__scope{ font-size: 15px; line-height: 1.6; color: var(--muted); }
body.page-id-1981 .discipline__scope span{ display: block; margin-bottom: 8px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }

body.page-id-1981 .research{ padding-bottom: clamp(72px, 8vw, 128px); }

/* Special Tracks (own chapter) */
body.page-id-1981 .tracks{ background: var(--paper); padding-bottom: clamp(96px, 11vw, 176px); }
body.page-id-1981 .tracks > .wrap{ border-top: 1px solid var(--line); padding-top: clamp(72px, 8vw, 128px); }
body.page-id-1981 .tracks__holding{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 22px; }
body.page-id-1981 .tracks__state, body.page-id-1981 .tracks__announce, body.page-id-1981 .tracks__actions{ grid-column: 4 / -1; }
body.page-id-1981 .tracks__state{ font: 700 clamp(30px, 3.4vw, 56px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; max-width: 20ch; }
body.page-id-1981 .tracks__announce{ font: 500 clamp(19px, 1.6vw, 25px)/1.4 var(--f-display); color: var(--ink-2); }
body.page-id-1981 .tracks__announce strong{ color: var(--ink); font-weight: 700; }
body.page-id-1981 .tracks__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; margin-top: 10px; }
body.page-id-1981 .tracks__list{ border-top: 2px solid var(--ink); }
body.page-id-1981 .track{ display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .track__n{ font: 600 14px/1 var(--f-display); color: var(--lum); }
body.page-id-1981 .track__title{ font: 650 clamp(19px, 1.6vw, 24px)/1.25 var(--f-display); }
body.page-id-1981 .track__chairs{ margin-top: 6px; font-size: 15px; color: var(--muted); }
@media (max-width: 1023px){
  body.page-id-1981 .tracks__state, body.page-id-1981 .tracks__announce, body.page-id-1981 .tracks__actions{ grid-column: 1 / -1; }
}

/* 08 · CALLS & DATES: editorial timeline ------------------------------ */
body.page-id-1981 .calls{ background: var(--white); padding-block: clamp(96px, 11vw, 176px); }
body.page-id-1981 .timeline{ border-top: 2px solid var(--ink); }
body.page-id-1981 .step{
  position: relative; display: grid; grid-template-columns: 170px minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--col-gap); align-items: baseline;
  padding-block: clamp(28px, 3vw, 46px); border-bottom: 1px solid var(--line);
}
body.page-id-1981 .step__state{ display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .step__state::before{ content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid currentColor; }
body.page-id-1981 .step__date{ font: 700 clamp(34px, 4.3vw, 72px)/.95 var(--f-display); font-stretch: 76%; letter-spacing: -.022em; }
body.page-id-1981 .step__date--tba{ font-size: clamp(22px, 2vw, 32px); font-weight: 600; font-stretch: 90%; letter-spacing: -.005em; color: rgba(11, 27, 43, .6); }
body.page-id-1981 .step__title{ font: 650 clamp(21px, 1.8vw, 28px)/1.2 var(--f-display); letter-spacing: -.01em; }
body.page-id-1981 .step__body p{ margin-top: 8px; max-width: 46ch; font-size: 16px; line-height: 1.55; color: var(--muted); }
body.page-id-1981 .step__count{ display: block; margin-top: 14px; font: 600 15px/1 var(--f-display); font-stretch: 100%; letter-spacing: .02em; color: var(--cyan-ink); }
body.page-id-1981 .step__cta{ margin-top: 22px; }
body.page-id-1981 .timeline__updated{ margin-top: 20px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .step.is-current{ margin-inline: calc(var(--col-gap) * -1); padding-inline: var(--col-gap); background: var(--paper); }
body.page-id-1981 .step.is-current::before{ content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--green), var(--cyan)); }
body.page-id-1981 .step.is-current .step__state{ color: var(--green-ink); }
body.page-id-1981 .step.is-current .step__state::before{ background: currentColor; }
body.page-id-1981 .step.is-done .step__date, body.page-id-1981 .step.is-done .step__title{ color: rgba(11, 27, 43, .58); }
body.page-id-1981 .step.is-done .step__state::before{ background: currentColor; }
@media (max-width: 1023px){
  body.page-id-1981 .step{ grid-template-columns: minmax(0, 1fr); row-gap: 14px; }
}
@media (max-width: 700px){
  body.page-id-1981 .step__date{ font-size: clamp(34px, 10vw, 44px); }
}

/* 09 · PROGRAMME: compact holding state + schedule component ------------ */
body.page-id-1981 .programme{ background: var(--paper); padding-block: clamp(64px, 7vw, 104px); border-top: 1px solid var(--line-2); }
body.page-id-1981 .programme__bar{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 24px; align-items: end; }
body.page-id-1981 .programme__head{ grid-column: 1 / span 3; }
body.page-id-1981 .programme__head .s-kicker{ padding-top: 0; }
body.page-id-1981 .programme__title{ margin-top: 18px; font: 700 clamp(34px, 3.4vw, 56px)/1 var(--f-display); font-stretch: 86%; letter-spacing: -.02em; }
body.page-id-1981 .programme__days{ grid-column: 4 / span 6; display: grid; grid-template-columns: 1fr 1fr; border-top: 2px solid var(--ink); }
body.page-id-1981 .programme__days li{ display: flex; flex-direction: column; gap: 6px; padding-top: 18px; }
body.page-id-1981 .programme__days li + li{ padding-left: var(--col-gap); border-left: 1px solid var(--line); }
body.page-id-1981 .programme__dow{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .programme__date{ font: 700 clamp(28px, 2.8vw, 46px)/1 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
body.page-id-1981 .programme__state{ grid-column: 10 / -1; padding-top: 18px; border-top: 2px solid var(--ink); font: 600 clamp(16px, 1.25vw, 19px)/1.35 var(--f-display); color: var(--muted); }

body.page-id-1981 .schedule{ margin-top: clamp(40px, 5vw, 72px); display: grid; gap: 56px; }
body.page-id-1981 .schedule__label{ padding-bottom: 14px; border-bottom: 2px solid var(--ink); font: 700 clamp(24px, 2.2vw, 34px)/1.1 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .session{ display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: var(--col-gap); padding: 22px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .session__time{ font: 700 18px/1.2 var(--f-display); font-feature-settings: "tnum"; }
body.page-id-1981 .session__track{ font: 600 11px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); margin-bottom: 8px; }
body.page-id-1981 .session__title{ font: 650 clamp(18px, 1.5vw, 22px)/1.25 var(--f-display); }
body.page-id-1981 .session__meta{ margin-top: 6px; font-size: 15px; color: var(--muted); }
body.page-id-1981 .session__papers{ margin-top: 12px; display: grid; gap: 8px; }
body.page-id-1981 .session__papers li{ display: flex; flex-direction: column; padding-left: 14px; border-left: 2px solid var(--line); }
body.page-id-1981 .session__paper{ font: 500 16px/1.35 var(--f-display); }
body.page-id-1981 .session__authors{ font-size: 14px; color: var(--muted); }
@media (max-width: 1023px){
  body.page-id-1981 .programme__head, body.page-id-1981 .programme__days, body.page-id-1981 .programme__state{ grid-column: 1 / -1; }
  body.page-id-1981 .programme__state{ border-top: 0; padding-top: 0; }
}
@media (max-width: 700px){
  body.page-id-1981 .session{ grid-template-columns: 1fr; row-gap: 8px; }
}

/* 09b · FOR AUTHORS --------------------------------------------------------- */
body.page-id-1981 .authors{ background: var(--white); padding-block: clamp(96px, 11vw, 176px); }
body.page-id-1981 .resources{ border-top: 2px solid var(--ink); }
body.page-id-1981 .resource{ display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 18rem); column-gap: var(--col-gap); align-items: baseline; padding: clamp(20px, 2.2vw, 30px) 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .resource__n{ font: 600 14px/1 var(--f-display); color: var(--lum); font-feature-settings: "tnum"; }
body.page-id-1981 .resource__title{ font: 650 clamp(20px, 1.7vw, 27px)/1.2 var(--f-display); letter-spacing: -.01em; }
body.page-id-1981 .resource__body p{ margin-top: 6px; font-size: 16px; color: var(--muted); max-width: 52ch; }
body.page-id-1981 .resource__state{ justify-self: end; text-align: right; font: 600 12px/1.4 var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .resource__state .link{ font-size: 15px; letter-spacing: 0; text-transform: none; }
body.page-id-1981 .resource.is-available .resource__state{ color: var(--green-ink); }

body.page-id-1981 .pubs{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 28px; margin-top: clamp(64px, 7vw, 112px); padding-top: 28px; border-top: 1px solid var(--line); }
body.page-id-1981 .pubs__head{ grid-column: 1 / span 7; }
body.page-id-1981 .pubs__title{ font: 700 clamp(26px, 2.4vw, 38px)/1.1 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; }
body.page-id-1981 .pubs__state{ margin-top: 14px; max-width: 52ch; font-size: 17px; color: var(--ink-2); }
body.page-id-1981 .pubs__list{ grid-column: 1 / span 7; border-top: 1px solid var(--ink); }
body.page-id-1981 .pub{ display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .pub__type{ font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .pub__journal{ font: 600 17px/1.3 var(--f-display); font-style: italic; }
body.page-id-1981 .pub__note{ font-size: 14px; color: var(--muted); }
body.page-id-1981 .pubs__archive{ grid-column: 9 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
body.page-id-1981 .pubs__label{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 1023px){
  body.page-id-1981 .pubs__head, body.page-id-1981 .pubs__list, body.page-id-1981 .pubs__archive{ grid-column: 1 / -1; }
}
@media (max-width: 700px){
  body.page-id-1981 .resource{ grid-template-columns: 40px minmax(0, 1fr); row-gap: 10px; }
  body.page-id-1981 .resource__state{ grid-column: 2; justify-self: start; text-align: left; }
  body.page-id-1981 .pub{ grid-template-columns: 1fr; gap: 4px; }
}

/* 09c · SCIENTIFIC COMMUNITY (activated by data) ------------------------------ */
body.page-id-1981 .community{ background: var(--paper); padding-block: clamp(96px, 10vw, 160px); border-top: 1px solid var(--line-2); }
body.page-id-1981 .community__groups{ display: grid; gap: clamp(40px, 5vw, 72px); }
body.page-id-1981 .people-group__title{ padding-bottom: 14px; border-bottom: 2px solid var(--ink); font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
body.page-id-1981 .people-group__list{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--col-gap); }
body.page-id-1981 .people-group__list li{ display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .people-group__list strong{ font: 600 18px/1.25 var(--f-display); }
body.page-id-1981 .people-group__list span{ font-size: 14px; color: var(--muted); }
@media (max-width: 1023px){ body.page-id-1981 .people-group__list{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px){ body.page-id-1981 .people-group__list{ grid-template-columns: 1fr; } }

/* 10 · PREVIOUS EDITIONS: editorial archive ---------------------------- */
body.page-id-1981 .editions{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(96px, 11vw, 176px); overflow: hidden; }
body.page-id-1981 .editions .s-lead{ color: var(--on-navy-muted); }
body.page-id-1981 .thread{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, .3); margin-bottom: clamp(64px, 7vw, 112px); }
body.page-id-1981 .thread li{ position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 0 0; }
body.page-id-1981 .thread li::before{ content: ""; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .7); }
body.page-id-1981 .thread li.is-now::before{ background: var(--green); }
body.page-id-1981 .thread__y{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .thread__t{ font: 500 clamp(17px, 1.4vw, 21px)/1.3 var(--f-display); }
body.page-id-1981 .thread .is-now .thread__t{ color: #D6EFB8; }

body.page-id-1981 .ed{ padding-block: clamp(48px, 6vw, 96px); }
body.page-id-1981 .ed__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: center; }
body.page-id-1981 .ed__media{ grid-column: 1 / span 7; position: relative; padding-bottom: 14%; }
body.page-id-1981 .ed__text{ grid-column: 9 / -1; }
body.page-id-1981 .ed--flip .ed__media{ grid-column: 6 / -1; grid-row: 1; }
body.page-id-1981 .ed--flip .ed__text{ grid-column: 1 / span 4; grid-row: 1; }
body.page-id-1981 .ed__main{ overflow: hidden; }
body.page-id-1981 .ed__main img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
body.page-id-1981 .ed__second{ position: absolute; right: -8%; bottom: 0; z-index: 2; width: 40%; will-change: transform; }
body.page-id-1981 .ed--flip .ed__second{ right: auto; left: -8%; width: 30%; }
body.page-id-1981 .ed__second img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
body.page-id-1981 .ed--flip .ed__second img{ aspect-ratio: 4 / 5; }
body.page-id-1981 .ed--flip .ed__main figcaption{ text-align: right; }
body.page-id-1981 .ed figcaption{ margin-top: 12px; font: 500 12px/1.35 var(--f-text); letter-spacing: .02em; color: var(--on-navy-muted); }
body.page-id-1981 .ed__year{ font: 700 clamp(96px, 11.5vw, 196px)/.78 var(--f-display); font-stretch: 62%; letter-spacing: -.025em; }
body.page-id-1981 .ed__n{ margin-top: 24px; font: 600 12px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .ed__theme{ margin-top: 14px; font: 700 clamp(28px, 2.6vw, 42px)/1.05 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
body.page-id-1981 .ed__sub{ margin-top: 14px; font-size: 16px; line-height: 1.55; color: #C8D4E0; }
body.page-id-1981 .ed__facts{ margin-top: 28px; border-top: 1px solid rgba(255, 255, 255, .3); }
body.page-id-1981 .ed__facts div{ display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); align-items: baseline; }
body.page-id-1981 .ed__facts dt{ font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .ed__facts dd{ font: 500 16px/1.45 var(--f-display); }
body.page-id-1981 .ed__facts .ed__num{ font-size: 40px; font-weight: 700; line-height: 1; font-stretch: 80%; }
body.page-id-1981 .ed__links{ display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 24px; }

body.page-id-1981 .keynotes{ margin-top: clamp(56px, 6vw, 96px); }
body.page-id-1981 .keynotes__title{ padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .34); font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .keynotes__list{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 var(--col-gap); }
body.page-id-1981 .keynotes__list li{ display: flex; flex-direction: column; gap: 4px; padding: 18px 0; }
body.page-id-1981 .keynotes__list strong{ font: 600 clamp(16px, 1.25vw, 19px)/1.25 var(--f-display); }
body.page-id-1981 .keynotes__list span{ font-size: 14px; line-height: 1.4; color: var(--on-navy-muted); }

@media (max-width: 1023px){
  body.page-id-1981 .ed__media, body.page-id-1981 .ed--flip .ed__media{ grid-column: 1 / -1; grid-row: 1; padding-bottom: 18%; }
  body.page-id-1981 .ed__text, body.page-id-1981 .ed--flip .ed__text{ grid-column: 1 / -1; grid-row: 2; }
  body.page-id-1981 .ed__second{ right: 0; }
  body.page-id-1981 .ed--flip .ed__second{ left: auto; right: 0; }
  body.page-id-1981 .ed__main figcaption, body.page-id-1981 .ed--flip .ed__main figcaption{ max-width: 50%; text-align: left; }
  body.page-id-1981 .keynotes__list{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px){
  body.page-id-1981 .thread{ grid-template-columns: 1fr; }
  body.page-id-1981 .thread li{ padding: 16px 0 18px 22px; }
  body.page-id-1981 .thread li::before{ top: 22px; }
  body.page-id-1981 .ed__media, body.page-id-1981 .ed--flip .ed__media{ padding-bottom: 26%; }
  body.page-id-1981 .ed__second{ width: 48%; }
  body.page-id-1981 .ed--flip .ed__second{ width: 36%; }
  body.page-id-1981 .ed__year{ font-size: 30vw; }
  body.page-id-1981 .ed__facts div{ grid-template-columns: 1fr; gap: 6px; }
  body.page-id-1981 .keynotes__list{ grid-template-columns: 1fr; }
}

/* 11 · VENUE: Villa Romanazzi Carducci ------------------------------------ */
body.page-id-1981 .venue{ background: var(--paper); padding-block: clamp(96px, 11vw, 176px) clamp(88px, 10vw, 156px); }
body.page-id-1981 .venue__head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 26px; align-items: end; }
body.page-id-1981 .venue__head .s-kicker{ grid-column: 1 / -1; padding-top: 0; }
body.page-id-1981 .venue__title{ grid-column: 1 / span 9; font: 800 clamp(54px, 8.4vw, 152px)/.84 var(--f-display); font-stretch: 74%; letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; }
body.page-id-1981 .venue__lead{ grid-column: 10 / -1; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
body.page-id-1981 .venue__media{ width: min(1760px, 100% - 2 * var(--gutter)); margin: clamp(40px, 5vw, 72px) auto 0; }
body.page-id-1981 .venue__media picture{ overflow: hidden; }
body.page-id-1981 .venue__media img{ width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: 50% 40%; }
body.page-id-1981 .venue__media figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
body.page-id-1981 .venue__info{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; margin-top: clamp(40px, 4.4vw, 64px); }
body.page-id-1981 .venue__facts{ grid-column: 1 / span 9; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
body.page-id-1981 .venue__facts div{ padding: 20px 20px 0 0; }
body.page-id-1981 .venue__facts div + div{ padding-left: 20px; border-left: 1px solid var(--line); }
body.page-id-1981 .venue__facts dt{ font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .venue__facts dd{ margin-top: 12px; font: 600 clamp(17px, 1.35vw, 21px)/1.3 var(--f-display); letter-spacing: -.005em; }
body.page-id-1981 .venue__links{ grid-column: 10 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 20px; border-top: 2px solid var(--ink); }
@media (max-width: 1023px){
  body.page-id-1981 .venue__title, body.page-id-1981 .venue__lead, body.page-id-1981 .venue__facts, body.page-id-1981 .venue__links{ grid-column: 1 / -1; }
  body.page-id-1981 .venue__facts{ grid-template-columns: 1fr 1fr; row-gap: 24px; }
  body.page-id-1981 .venue__facts div + div{ padding-left: 0; border-left: 0; }
  body.page-id-1981 .venue__links{ flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 28px; border-top: 0; padding-top: 0; }
}
@media (max-width: 700px){
  body.page-id-1981 .venue__title{ font-size: clamp(46px, 13.6vw, 64px); }
  body.page-id-1981 .venue__media img{ aspect-ratio: 4 / 3; }
  body.page-id-1981 .venue__facts{ grid-template-columns: 1fr; }
  body.page-id-1981 .venue__facts div{ padding: 16px 0 0; }
}

/* 11b · BARI: short, atmospheric ----------------------------------------- */
body.page-id-1981 .bari{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(72px, 8vw, 128px); }
body.page-id-1981 .bari__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 36px; align-items: center; }
body.page-id-1981 .bari__media{ grid-column: 1 / span 6; }
body.page-id-1981 .bari__media picture{ overflow: hidden; }
body.page-id-1981 .bari__media img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
body.page-id-1981 .bari__media figcaption{ margin-top: 12px; font-size: 13px; color: var(--on-navy-muted); }
body.page-id-1981 .bari__text{ grid-column: 8 / -1; }
body.page-id-1981 .bari__text .s-kicker{ padding-top: 0; }
body.page-id-1981 .bari__title{ margin-top: 22px; font: 800 clamp(44px, 5vw, 86px)/.9 var(--f-display); font-stretch: 116%; letter-spacing: -.03em; text-transform: uppercase; }
body.page-id-1981 .bari__text p:not(.s-kicker){ margin-top: 20px; max-width: 44ch; color: #C8D4E0; }
@media (max-width: 1023px){
  body.page-id-1981 .bari__media, body.page-id-1981 .bari__text{ grid-column: 1 / -1; }
}

/* 12 · HOST · the LUM moment -------------------------------------------- */
body.page-id-1981 .host{
  --hostp: 0;
  --m1: clamp(0, calc(var(--hostp) / .3), 1);
  --m2: clamp(0, calc((var(--hostp) - .26) / .26), 1);
  --m3: clamp(0, calc((var(--hostp) - .46) / .24), 1);
  --m4: clamp(0, calc((var(--hostp) - .5) / .22), 1);
  background: var(--paper-warm);
  border-top: 1px solid var(--line-2);
}
body.page-id-1981 .host__track{ position: relative; height: 210svh; }
body.page-id-1981 .host__stage{
  position: sticky; top: 0; height: 100svh;
  width: min(var(--maxw), 100% - 2 * var(--gutter)); margin-inline: auto;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); align-items: center;
}
body.page-id-1981 .host__mark{ grid-column: 1 / span 6; justify-self: center; position: relative; width: min(40vw, 66svh, 660px); aspect-ratio: 1; }
body.page-id-1981 .host__rings{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; opacity: calc(1 - var(--m3) * .92); }
body.page-id-1981 .hr{ fill: none; stroke-linecap: butt; stroke-width: calc(5px + var(--m2) * 22px); stroke-dasharray: 1; }
body.page-id-1981 .hr--green{ stroke: color-mix(in srgb, var(--lum) calc(var(--m2) * 100%), var(--green)); transform: translateX(calc((1 - var(--m1)) * -320px)); }
body.page-id-1981 .hr--digital{ stroke: color-mix(in srgb, var(--lum) calc(var(--m2) * 100%), var(--cyan)); transform: translateX(calc((1 - var(--m1)) * 320px)); }
body.page-id-1981 .hr--close{ stroke: var(--lum); stroke-dashoffset: calc(1 - var(--m2)); }
body.page-id-1981 .host__seal{ position: absolute; inset: 0; width: 100%; height: 100%; opacity: var(--m3); transform: scale(calc(.94 + var(--m3) * .06)) rotate(calc((1 - var(--m3)) * -8deg)); }
body.page-id-1981 .host__words{ grid-column: 7 / -1; }
body.page-id-1981 .host__pre, body.page-id-1981 .host__name{ opacity: var(--m4); transform: translate3d(0, calc((1 - var(--m4)) * 32px), 0); }
body.page-id-1981 .host__words .s-kicker{ padding-top: 0; }
body.page-id-1981 .host__pre{ margin-top: clamp(28px, 4vw, 56px); font: 600 13px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .host__name{ margin-top: 18px; font: 700 clamp(44px, 5.4vw, 96px)/.94 var(--f-display); font-stretch: 84%; letter-spacing: -.024em; color: var(--lum); }

body.page-id-1981 .host__about{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; padding-bottom: clamp(96px, 11vw, 176px); }
body.page-id-1981 .host__photo{ grid-column: 2 / span 4; }
body.page-id-1981 .host__photo figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
body.page-id-1981 .host__text{ grid-column: 7 / span 5; align-self: end; }
body.page-id-1981 .host__lead{ margin-bottom: 22px; font: 500 clamp(22px, 2vw, 30px)/1.3 var(--f-display); font-stretch: 96%; letter-spacing: -.01em; }
body.page-id-1981 .host__text p:not(.host__lead){ color: var(--ink-2); margin-bottom: 32px; max-width: 50ch; }

/* 13 · FOOTER ------------------------------------------------------------ */
body.page-id-1981 .footer{ position: relative; overflow: hidden; background: var(--navy); color: #fff; padding-top: clamp(220px, 26vw, 420px); }
body.page-id-1981 .footer__night{ position: absolute; left: 0; right: 0; top: 0; height: clamp(360px, 40vw, 640px); }
body.page-id-1981 .footer__night picture, body.page-id-1981 .footer__night img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
body.page-id-1981 .footer__night::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 31, 51, .15) 0%, rgba(10, 31, 51, 0) 30%, rgba(10, 31, 51, .7) 72%, var(--navy) 100%); }
body.page-id-1981 .footer__inner{ position: relative; }
body.page-id-1981 .footer__sign{ position: relative; padding-bottom: clamp(40px, 5vw, 72px); border-bottom: 1px solid var(--line-navy); }
body.page-id-1981 .footer__logo{ width: clamp(260px, 40vw, 640px); }
body.page-id-1981 .footer__seal{ position: absolute; right: -4%; bottom: -60%; width: clamp(260px, 36vw, 560px); opacity: .06; pointer-events: none; }
body.page-id-1981 .footer__cols{ display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px var(--col-gap); padding-block: clamp(40px, 5vw, 64px); }
body.page-id-1981 .footer__title{ font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 88%; letter-spacing: -.01em; }
body.page-id-1981 .footer__event p{ margin-top: 6px; color: var(--on-navy-muted); }
body.page-id-1981 .footer__event .footer__when{ margin-top: 20px; color: #fff; font-family: var(--f-display); font-weight: 500; }
body.page-id-1981 .footer__nav{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; align-content: start; }
body.page-id-1981 .footer__nav a{ font: 500 18px/1.2 var(--f-display); padding-block: 4px; transition: color .3s; }
body.page-id-1981 .footer__nav a:hover{ color: var(--cyan); }
body.page-id-1981 .footer__address{ display: flex; flex-direction: column; align-items: flex-start; gap: 2px; font-style: normal; line-height: 1.6; color: var(--on-navy-muted); }
body.page-id-1981 .footer__address strong{ margin-bottom: 6px; font: 600 16px/1.3 var(--f-display); color: #fff; }
body.page-id-1981 .footer__address .link{ margin-top: 12px; }
body.page-id-1981 .footer__base{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 24px 0 32px; border-top: 1px solid var(--line-navy); font-size: 13px; color: var(--on-navy-muted); }
body.page-id-1981 .footer__contact{ margin-top: 12px !important; font-size: 15px; }
body.page-id-1981 .footer__legal{ display: flex; gap: 20px; }
body.page-id-1981 .footer__legal-link{ color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255, .35); }
body.page-id-1981 .footer__top{ color: #fff; font-family: var(--f-display); font-weight: 600; }

/* 14 · MOTION STATES (only with JS, never with reduced motion) ------------ */
@media (prefers-reduced-motion: no-preference){
  body.page-id-1981 .status__dot{ animation: pulse 2.6s var(--ease-out) infinite; }

  /* opening sequence */
  body.page-id-1981 .nav{ opacity: 0; transition: opacity .8s var(--ease-out) .1s, height .6s var(--ease-out), transform .5s var(--ease-out); }
  body.page-id-1981.is-loaded .nav{ opacity: 1; }

  body.page-id-1981 .hero{ --arc-in: 1; }
  body.page-id-1981 .hero.is-in{ --arc-in: 0; transition: --arc-in 2.2s var(--ease-out) .3s; }

  body.page-id-1981 .hero .hero__shade{ opacity: 0; }
  body.page-id-1981 .hero.is-in .hero__shade{ opacity: 1; transition: opacity 1.6s var(--ease-out) .35s; }
  body.page-id-1981 .hero .hero__frame{ clip-path: inset(calc(var(--hz) * 100%) 0 calc(100% - var(--hz) * 100%) 0); }
  body.page-id-1981 .hero.is-in .hero__frame{ clip-path: inset(-45% -5% 0 -5%); transition: clip-path 1.6s var(--ease-io) .05s; }

  body.page-id-1981 .hero .arc__line{ stroke-dashoffset: 1; }
  body.page-id-1981 .hero.is-in .arc__line{ stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease-io) .55s; }
  body.page-id-1981 .hero .arc__rings path{ stroke-dashoffset: 1; }
  body.page-id-1981 .hero.is-in .arc__rings path{ stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease-out) 1.2s; }
  body.page-id-1981 .hero .arc__field{ opacity: 0; }
  body.page-id-1981 .hero.is-in .arc__field{ opacity: 1; transition: opacity 1.6s var(--ease-out) 1.1s; }
  body.page-id-1981 .hero .arc__bar{ transform: scaleY(0); }
  body.page-id-1981 .hero.is-in .arc__bar{ transform: scaleY(1); transition: transform 1.2s var(--ease-out); }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(1){ transition-delay: 1.30s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(2){ transition-delay: 1.36s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(3){ transition-delay: 1.42s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(4){ transition-delay: 1.48s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(5){ transition-delay: 1.54s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(6){ transition-delay: 1.60s; }
  body.page-id-1981 .hero.is-in .arc__bar:nth-of-type(7){ transition-delay: 1.66s; }
  body.page-id-1981 .hero .arc__data circle{ opacity: 0; }
  body.page-id-1981 .hero.is-in .arc__data circle{ opacity: 1; transition: opacity .8s var(--ease-out) 2s; }

  /* title: the two words exchange widths as they rise - TWIN widens, TRANSITION condenses */
  body.page-id-1981 .hero .t-char{ transform: translate3d(0, 106%, 0); font-weight: 300; }
  body.page-id-1981 .hero .t-line--twin .t-char{ font-stretch: 62%; }
  body.page-id-1981 .hero .t-line--transition .t-char{ font-stretch: 125%; }
  body.page-id-1981 .hero.is-in .t-char{
    transform: none; font-weight: 800;
    transition:
      transform 1.05s var(--ease-out) calc(var(--i) * 34ms + .28s),
      font-stretch 1.7s var(--ease-io) calc(var(--i) * 34ms + .5s),
      font-weight 1.7s var(--ease-io) calc(var(--i) * 34ms + .5s);
  }
  body.page-id-1981 .hero.is-in .t-line--twin .t-char{ font-stretch: 125%; }
  body.page-id-1981 .hero.is-in .t-line--transition .t-char{ font-stretch: 62%; }

  body.page-id-1981 .hero .hero__eyebrow, body.page-id-1981 .hero .t-line--value, body.page-id-1981 .hero .hero__deck, body.page-id-1981 .hero .hero__foot{ opacity: 0; transform: translate3d(0, 18px, 0); }
  body.page-id-1981 .hero.is-in .hero__deck{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.15s, transform 1.2s var(--ease-out) 1.15s; }
  body.page-id-1981 .hero.is-in .hero__eyebrow{ opacity: 1; transform: none; transition: opacity 1s var(--ease-out) .2s, transform 1s var(--ease-out) .2s; }
  body.page-id-1981 .hero.is-in .t-line--value{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.05s, transform 1.2s var(--ease-out) 1.05s; }
  body.page-id-1981 .hero.is-in .hero__foot{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.35s, transform 1.2s var(--ease-out) 1.35s; }

  body.page-id-1981 .status__inner > *{ opacity: 0; transform: translate3d(0, 12px, 0); }
  body.page-id-1981.is-loaded .status__inner > *{ opacity: 1; transform: none; transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
  body.page-id-1981.is-loaded .status__inner > :nth-child(1){ transition-delay: 1.3s; }
  body.page-id-1981.is-loaded .status__inner > :nth-child(2){ transition-delay: 1.4s; }
  body.page-id-1981.is-loaded .status__inner > :nth-child(3){ transition-delay: 1.5s; }
  body.page-id-1981.is-loaded .status__inner > :nth-child(4){ transition-delay: 1.6s; }

  /* scroll reveals */
  body.page-id-1981 [data-reveal]{ opacity: 0; transform: translate3d(0, 36px, 0); transition: opacity 1.1s var(--ease-out), transform 1.3s var(--ease-out); }
  body.page-id-1981 [data-reveal].is-in{ opacity: 1; transform: none; }
  body.page-id-1981 .discipline .discipline__word{ font-stretch: 62%; }
  body.page-id-1981 .discipline.is-in .discipline__word{ font-stretch: 118%; transition-delay: .1s; }
  body.page-id-1981 [data-clip] picture{ clip-path: inset(18% 0 0 0); transition: clip-path 1.6s var(--ease-io); }
  body.page-id-1981 [data-clip] img{ transform: scale(1.14); transition: transform 2.2s var(--ease-out); }
  body.page-id-1981 [data-clip].is-in picture{ clip-path: inset(0); }
  body.page-id-1981 [data-clip].is-in img{ transform: none; }

  body.page-id-1981 .chapter{ opacity: .32; }
  body.page-id-1981 .chapter.is-active{ opacity: 1; }
}

@keyframes pulse{
  0% { box-shadow: 0 0 0 0 rgba(157, 196, 106, .55); }
  70%, 100% { box-shadow: 0 0 0 10px rgba(157, 196, 106, 0); }
}

/* 14b · AMBIENT: a continuous living system -------------------------------
   The photographs never move. Arcs drift and breathe (14-22 s), light and
   dotted flows run along the curves in opposite directions (18-30 s), the
   digital lines pulse, nodes breathe on randomised 3-8 s clocks, the green
   and cyan fields shift their light (12-20 s). Paused off-screen and in
   background tabs; disabled with prefers-reduced-motion.                  */
body.page-id-1981 .arc__glint{ fill: none; stroke-width: 8; stroke-linecap: round; stroke-dasharray: .06 .94; opacity: 0; }
body.page-id-1981 .arc--green .arc__glint{ stroke: #F4FBE8; }
body.page-id-1981 .arc--digital .arc__glint{ stroke: #EAF8FE; }
body.page-id-1981 .arcs--m .arc__glint{ stroke-width: 6; }
body.page-id-1981 .arc__pulse{ fill: none; stroke: #FFFFFF; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 70 1400; opacity: 0; }
body.page-id-1981 .arcs--m .arc__pulse{ stroke-dasharray: 36 700; }
body.page-id-1981 .arc__flow{ fill: none; stroke: #FFFFFF; stroke-width: 4; stroke-linecap: round; stroke-dasharray: .004 .014; opacity: 0; }
body.page-id-1981 .arc__flow--rev{ stroke: #E2F6FE; }
body.page-id-1981 .arcs--m .arc__flow{ stroke-width: 3; stroke-dasharray: .006 .02; }
body.page-id-1981 .arc__sheen{ opacity: 0; }
body.page-id-1981 .arc__halos circle{ fill: #CFF0FC; opacity: 0; transform-box: fill-box; transform-origin: center; }
body.page-id-1981 .arc__node{ transform-box: fill-box; transform-origin: center; }
body.page-id-1981 .amb-rings{ transform-box: fill-box; transform-origin: 50% 100%; }
body.page-id-1981 .amb-drift-g, body.page-id-1981 .amb-drift-d{ transform-box: view-box; }
body.page-id-1981 .arcs--d .amb-drift-g{ transform-origin: 2116px 918px; }
body.page-id-1981 .arcs--d .amb-drift-d{ transform-origin: 2956px 918px; }
body.page-id-1981 .arcs--m .amb-drift-g{ transform-origin: 510px 918px; }
body.page-id-1981 .arcs--m .amb-drift-d{ transform-origin: 890px 918px; }
body.page-id-1981 .kv-tint{ opacity: .6; }
body.page-id-1981 .kv-glint{ fill: none; stroke-width: 5; stroke-linecap: round; stroke-dasharray: .06 .94; opacity: .8; transition: opacity .8s var(--ease-out); }
body.page-id-1981 .kv-glint--green{ stroke: #F4FBE8; }
body.page-id-1981 .kv-glint--digital{ stroke: #EAF8FE; }
body.page-id-1981 .theme__panel[data-kv="green"] .kv-glint--digital, body.page-id-1981 .theme__panel[data-kv="digital"] .kv-glint--green{ opacity: 0; }

@media (prefers-reduced-motion: no-preference){
  body.page-id-1981 .hero.is-in .arc__glint{ opacity: .85; transition: opacity 2.4s var(--ease-out) 2s; }
  body.page-id-1981 .hero.is-in .arc__pulse{ opacity: .8; transition: opacity 2.4s var(--ease-out) 2.2s; }
  body.page-id-1981 .hero.is-in .arc__flow{ opacity: .55; transition: opacity 2.4s var(--ease-out) 1.8s; }
  body.page-id-1981 .hero.is-in .arc__sheen{ opacity: 1; transition: opacity 3s var(--ease-out) 1.6s; }

  /* main arcs: drift + slight deformation */
  body.page-id-1981 .arcs--d .amb-drift-g{ --dx: 80px; }
  body.page-id-1981 .arcs--d .amb-drift-d{ --dx: -70px; }
  body.page-id-1981 .arcs--m .amb-drift-g{ --dx: 50px; }
  body.page-id-1981 .arcs--m .amb-drift-d{ --dx: -44px; }
  body.page-id-1981 .amb-drift-g{ animation: amb-arc 17s ease-in-out -5s infinite; }
  body.page-id-1981 .amb-drift-d{ animation: amb-arc 21s ease-in-out -13s infinite; }

  /* fields: breathing + moving light */
  body.page-id-1981 .amb-breath-g{ animation: amb-breath 14s ease-in-out -3s infinite; }
  body.page-id-1981 .amb-breath-d{ animation: amb-breath 18s ease-in-out -11s infinite; }
  body.page-id-1981 .arcs--d .arc__sheen{ --sx: 3450px; }
  body.page-id-1981 .arcs--m .arc__sheen{ --sx: 1620px; }
  body.page-id-1981 .arc--green .arc__sheen{ animation: amb-sheen 15s ease-in-out -4s infinite alternate; }
  body.page-id-1981 .arc--digital .arc__sheen{ animation: amb-sheen 19s ease-in-out -9s infinite alternate-reverse; }
  body.page-id-1981 .amb-rings{ animation: amb-rings 19s ease-in-out -7s infinite; }

  /* secondary curves: continuous flows, opposite directions */
  body.page-id-1981 .arc__flow{ animation: amb-flow 24s linear infinite; }
  body.page-id-1981 .arc__flow:nth-child(2){ animation-duration: 30s; animation-delay: -12s; }
  body.page-id-1981 .arc__flow--rev{ animation: amb-flow-rev 20s linear infinite; }
  body.page-id-1981 .arc__flow--rev:nth-child(2){ animation-duration: 27s; animation-delay: -6s; }

  /* light running along the main arcs */
  body.page-id-1981 .arc--green .arc__glint{ animation: amb-glint 22s linear -8s infinite; }
  body.page-id-1981 .arc--digital .arc__glint{ animation: amb-glint 18s linear -3s infinite; }

  /* digital lines: breathing + occasional travelling light */
  body.page-id-1981 .arc__bar{ animation: amb-bar 9s ease-in-out infinite; }
  body.page-id-1981 .arc__bar:nth-of-type(2n){ animation-duration: 11s; animation-delay: -4s; }
  body.page-id-1981 .arc__bar:nth-of-type(3n){ animation-duration: 7s; animation-delay: -2s; }
  body.page-id-1981 .arc__pulse{ animation: amb-pulse 12s linear infinite; }
  body.page-id-1981 .arcs--m .arc__pulse{ animation-name: amb-pulse-m; }
  body.page-id-1981 .arc__pulse:nth-child(1){ animation-delay: -2s; }
  body.page-id-1981 .arc__pulse:nth-child(2){ animation-duration: 15s; animation-delay: -9s; }
  body.page-id-1981 .arc__pulse:nth-child(3){ animation-duration: 10s; animation-delay: -5s; }
  body.page-id-1981 .arc__pulse:nth-child(4){ animation-duration: 16s; animation-delay: -13s; }
  body.page-id-1981 .arc__pulse:nth-child(5){ animation-duration: 11s; animation-delay: -7s; }
  body.page-id-1981 .arc__pulse:nth-child(6){ animation-duration: 14s; animation-delay: -1s; }
  body.page-id-1981 .arc__pulse:nth-child(7){ animation-duration: 9s; animation-delay: -6s; }

  /* nodes: asynchronous breathing (durations randomised by JS) */
  body.page-id-1981 .arc__node{ animation: amb-node 5s ease-in-out infinite; }
  body.page-id-1981 .hero.is-in .arc__halos circle{ animation: amb-halo 6s ease-in-out infinite; }

  /* key visual */
  body.page-id-1981 .kv-tint--green{ animation: amb-tint 14s ease-in-out -5s infinite; }
  body.page-id-1981 .kv-tint--digital{ animation: amb-tint 18s ease-in-out -11s infinite; }
  body.page-id-1981 .kv-glint--green{ animation: amb-glint 20s linear -6s infinite; }
  body.page-id-1981 .kv-glint--digital{ animation: amb-glint 26s linear -15s infinite; }

  body.page-id-1981 .step.is-current .step__state::before{ animation: pulse 2.6s var(--ease-out) infinite; }

  /* only where it is seen */
  body.page-id-1981 .is-tab-hidden .amb, body.page-id-1981 .is-off .amb, body.page-id-1981 .is-tab-hidden .arc__halos circle, body.page-id-1981 .is-off .arc__halos circle{ animation-play-state: paused !important; }
}

@keyframes amb-arc{
  0%, 100% { transform: translateX(0) scale(1, 1); }
  30% { transform: translateX(calc(var(--dx) * .55)) scale(1.012, 1.03); }
  65% { transform: translateX(var(--dx)) scale(.994, .985); }
}
@keyframes amb-breath{ 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes amb-sheen{ from { transform: translateX(0); } to { transform: translateX(var(--sx)); } }
@keyframes amb-rings{ 0%, 100% { transform: scale(1); opacity: .7; } 50% { transform: scale(1.04); opacity: 1; } }
@keyframes amb-flow{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1; } }
@keyframes amb-flow-rev{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: 1; } }
@keyframes amb-glint{ from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes amb-bar{ 0%, 100% { opacity: .32; } 50% { opacity: .8; } }
@keyframes amb-pulse{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1470; } }
@keyframes amb-pulse-m{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -736; } }
@keyframes amb-node{ 0%, 100% { transform: scale(1); } 50% { transform: scale(1.8); } }
@keyframes amb-halo{ 0%, 100% { opacity: 0; transform: scale(.5); } 50% { opacity: .4; transform: scale(1); } }
@keyframes amb-tint{ 0%, 100% { opacity: .3; } 50% { opacity: .95; } }

/* 15 · RESPONSIVE -------------------------------------------------------- */
@media (max-width: 1360px){
  body.page-id-1981 .nav__event > span{ letter-spacing: .1em; }
  body.page-id-1981 .status__inner{ grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .9fr) auto; gap: 22px; }
  body.page-id-1981 .status__key, body.page-id-1981 .status__next{ padding-left: 22px; }
}

@media (max-width: 1199px){
  body.page-id-1981{ --nav-h: 72px; --nav-h-min: 64px; --rail-h: 60px; }
  body.page-id-1981 .nav__menu, body.page-id-1981 .nav__cta, body.page-id-1981 .nav__rule{ display: none; }
  body.page-id-1981 .nav__lum img{ height: 34px; }
  body.page-id-1981 .nav.is-scrolled .nav__lum img{ height: 30px; }
  body.page-id-1981 .nav__brand{ gap: 16px; }
  body.page-id-1981 .nav__event{ padding-left: 16px; border-left: 1px solid var(--line); }
  body.page-id-1981 .nav.is-hidden{ transform: translateY(-100%); }

  body.page-id-1981 .rail{
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
    display: flex; align-items: stretch;
    height: calc(var(--rail-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
    background: rgba(10, 31, 51, .97); color: #fff; border-top: 1px solid var(--line-navy);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  }
  body.page-id-1981 .rail__scroll{
    flex: 1; min-width: 0; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none;
    padding-left: 6px;
    -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent);
  }
  body.page-id-1981 .rail__scroll::-webkit-scrollbar{ display: none; }
  body.page-id-1981 .rail__scroll a{ position: relative; flex: none; display: flex; align-items: center; padding: 0 13px; font: 500 15px/1 var(--f-display); color: rgba(255, 255, 255, .7); }
  body.page-id-1981 .rail__scroll a.is-active{ color: #fff; }
  body.page-id-1981 .rail__scroll a.is-active::after{ content: ""; position: absolute; left: 13px; right: 13px; bottom: 12px; height: 2px; background: var(--twin); }
  body.page-id-1981 .rail__cta{ flex: none; display: flex; align-items: center; gap: 10px; padding: 0 16px; background: #fff; color: var(--ink); font: 600 14px/1 var(--f-display); }
  body.page-id-1981 .rail__cta .btn__arrow{ width: 16px; height: 16px; }
  body.page-id-1981 .rail__cta-text{ display: flex; flex-direction: column; gap: 4px; }
  body.page-id-1981 .rail__due{ font: 600 10px/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--lum); }

  body.page-id-1981{ padding-bottom: calc(var(--rail-h) + env(safe-area-inset-bottom)); }
  body.page-id-1981 .hero{ --hh: clamp(600px, calc(100svh - var(--rail-h)), 1080px); }

  body.page-id-1981 .status__inner{ grid-template-columns: 1fr 1fr; padding-block: 28px; gap: 24px 28px; }
  body.page-id-1981 .status__phase{ grid-column: 1 / -1; }
  body.page-id-1981 .status__key{ padding-left: 0; border-left: 0; }
  body.page-id-1981 .status__cta{ grid-column: 1 / -1; justify-self: start; }

  body.page-id-1981 .theme__stage{ gap: 48px; }

}

@media (max-width: 1023px) and (min-width: 701px){
  body.page-id-1981 .hero{ --t-size: clamp(64px, min(15vw, 19svh), 188px); --horizon: .54; }
}

@media (max-width: 1023px){
  body.page-id-1981 .s-kicker{ grid-column: 1 / -1; padding-top: 0; margin-bottom: 24px; }
  body.page-id-1981 .s-head__main{ grid-column: 1 / -1; }

  body.page-id-1981 .theme__stage{ grid-template-columns: 1fr; }
  body.page-id-1981 .theme__panel{ position: relative; top: auto; height: auto; min-height: 0; max-height: none; }
  body.page-id-1981 .theme__kv{ aspect-ratio: 4 / 4.2; flex: none; }
  body.page-id-1981 .chapter, body.page-id-1981 .chapter:first-child{ min-height: 0; padding-block: 44px 8px; justify-content: flex-start; }
  body.page-id-1981 .chapter{ opacity: 1; }

  body.page-id-1981 .discipline__body{ grid-column: 1 / -1; }




  body.page-id-1981 .host__mark{ grid-column: 1 / span 5; width: min(42vw, 52svh); }
  body.page-id-1981 .host__words{ grid-column: 6 / -1; }
  body.page-id-1981 .host__photo{ grid-column: 1 / span 5; }
  body.page-id-1981 .host__text{ grid-column: 7 / -1; }

  body.page-id-1981 .footer__cols{ grid-template-columns: 1fr 1fr; }
  body.page-id-1981 .footer__event{ grid-column: 1 / -1; }
}

@media (max-width: 700px){
  body.page-id-1981{ font-size: 16px; }
  body.page-id-1981 .hero{
    --horizon: .455;
    --fw: max(100vw, calc(var(--hh) * .5));
    --fh: calc(var(--fw) * 1.7814);             /* 2494 / 1400 */
    --tower: 50% 15.958%, 53.571% 21.251%, 53.857% 21.291%, 53.857% 21.852%, 53.5% 21.852%, 53.5% calc(var(--tcut) * 100%), 46.571% calc(var(--tcut) * 100%), 46.571% 21.852%, 46.214% 21.852%, 46.214% 21.291%, 46.5% 21.251%;
    --tcut: .25;
    --t-size: 18.2vw;
  }
  body.page-id-1981 .arcs--d{ display: none; }
  body.page-id-1981 .arcs--m{ display: block; }
  body.page-id-1981 .hero__eyebrow{ font-size: 11px; letter-spacing: .12em; }
  body.page-id-1981 .hero__eyebrow-rest{ flex-basis: 100%; }
  body.page-id-1981 .hero__tick{ width: 18px; }
  body.page-id-1981 .t-line--value{ margin-top: 22px; }
  body.page-id-1981 .t-value{ font-size: clamp(27px, 7.8vw, 36px); }
  body.page-id-1981 .hero__deck{ margin-top: 12px; font-size: 16px; line-height: 1.38; max-width: 34ch; }
  body.page-id-1981 .hero__foot{ justify-content: flex-start; }
  body.page-id-1981 .hero__facts{ grid-template-columns: 1fr; width: 100%; }
  body.page-id-1981 .hero__fact, body.page-id-1981 .hero__fact:first-child{ display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: baseline; padding: 11px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
  body.page-id-1981 .hero__fact:last-child{ border-bottom: 0; padding-bottom: 0; }
  body.page-id-1981 .hero__facts dt{ font-size: 10px; letter-spacing: .16em; }
  body.page-id-1981 .hero__facts dt::before{ display: none; }
  body.page-id-1981 .hero__facts dd{ margin-top: 0; font-size: 20px; white-space: normal; }

  body.page-id-1981 .status__inner{ grid-template-columns: 1fr 1fr; }
  body.page-id-1981 .status__cta{ justify-self: stretch; }

  body.page-id-1981 .s-title{ font-size: clamp(32px, 9vw, 44px); }
  body.page-id-1981 .chapter__title{ font-size: clamp(30px, 8.6vw, 40px); }

  body.page-id-1981 .discipline__word{ font-size: 11.4vw; }
  body.page-id-1981 .discipline__body{ grid-template-columns: 1fr; gap: 18px; }





  /* LUM moment on phones: same idea, shorter track */
  body.page-id-1981 .host__track{ height: 200svh; }
  body.page-id-1981 .host__stage{ grid-template-columns: 1fr; align-content: center; row-gap: 36px; }
  body.page-id-1981 .host__mark{ grid-column: 1; width: min(62vw, 38svh); }
  body.page-id-1981 .host__words{ grid-column: 1; text-align: center; }
  body.page-id-1981 .host__words .s-kicker{ justify-content: center; }
  body.page-id-1981 .host__pre{ margin-top: 18px; }
  body.page-id-1981 .host__name{ font-size: clamp(36px, 10.4vw, 52px); }
  body.page-id-1981 .host__photo, body.page-id-1981 .host__text{ grid-column: 1 / -1; }
  body.page-id-1981 .host__photo{ width: 78%; }

  body.page-id-1981 .footer{ padding-top: 180px; }
  body.page-id-1981 .footer__night{ height: 300px; }
  body.page-id-1981 .footer__cols{ grid-template-columns: 1fr; }
  body.page-id-1981 .footer__seal{ width: 70vw; bottom: -30%; }
}

@media (max-width: 560px){
  body.page-id-1981 .nav__long{ display: none; }
  body.page-id-1981 .nav__event strong{ font-size: 14px; }
  body.page-id-1981 .nav__event > span{ font-size: 10px; letter-spacing: .1em; }
}

@media (max-width: 380px){
  body.page-id-1981 .nav__event > span{ display: none; }
  body.page-id-1981 .rail__scroll a{ padding: 0 11px; font-size: 14px; }
  body.page-id-1981 .rail__cta{ padding: 0 12px; font-size: 13px; }
}

/* No JavaScript: show the final state of every scroll-driven scene */
body.page-id-1981 .no-js .host{ --hostp: 1; }
body.page-id-1981 .no-js .host__track{ height: auto; }
body.page-id-1981 .no-js .host__stage{ position: relative; height: auto; padding-block: clamp(96px, 10vw, 160px) 64px; }

/* 16 · REDUCED MOTION ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  body.page-id-1981 *, body.page-id-1981 *::before, body.page-id-1981 *::after{ transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  body.page-id-1981 .hero__layer, body.page-id-1981 .hero__content{ transform: none !important; }
  body.page-id-1981 .host{ --hostp: 1 !important; }
  body.page-id-1981 .host__track{ height: auto; }
  body.page-id-1981 .host__stage{ position: relative; height: auto; min-height: 0; padding-block: clamp(96px, 10vw, 160px) 64px; }
  body.page-id-1981 .gallery__item{ transform: none !important; }
}

/* ==========================================================================
   A&F LUM Conference · PLATFORM LAYER
   Extends the approved design system (main.css) to a multi-page site:
   P1 navigation & mega menu · P2 mobile sheet · P3 page headers ·
   P4 page layout · P5 editorial components · P6 conference systems
   (tracks, programme, people, publications, registration) · P7 home portal
   blocks · P8 footer · P9 motion & view transitions · P10 print
   Motion (Kowalski method): UI 140-250 ms, ease-out cubic-bezier(.23,1,.32,1),
   exits faster than entries, hover only on fine pointers.
   ========================================================================== */
body.page-id-1981{ --ui-out: cubic-bezier(.23, 1, .32, 1); --ui-io: cubic-bezier(.77, 0, .175, 1); }

/* P1 · NAVIGATION ---------------------------------------------------------- */
body.page-id-1981 .nav__menu{ display: none; }
body.page-id-1981 .mnav{ margin-left: auto; }
body.page-id-1981 .mnav__list{ display: flex; align-items: center; gap: clamp(0px, .3vw, 8px); }
body.page-id-1981 .mnav__item{ display: flex; align-items: center; }
/* label: a real link to the section landing page */
body.page-id-1981 .mnav__link{
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 0 0 6px; white-space: nowrap;
  font: 500 clamp(14px, 1.06vw, 17.5px)/1 var(--f-display); letter-spacing: -.005em; color: inherit;
}
body.page-id-1981 .mnav__link::after{
  content: ""; position: absolute; left: 6px; right: 0; bottom: 6px; height: 2px;
  background: var(--lum); transform: scaleX(0); transform-origin: right; transition: transform .22s var(--ui-out);
}
/* chevron: a separate button that opens and closes the mega menu */
body.page-id-1981 .mnav__toggle{
  display: inline-flex; align-items: center; justify-content: flex-start; width: 24px; min-height: 44px; padding: 0 0 0 5px;
  background: none; border: 0; color: inherit; cursor: pointer;   /* 24 x 44 px target, chevron kept close to the label */
}
body.page-id-1981 .mnav__chev{ width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s var(--ui-out); }
body.page-id-1981 .mnav__item.is-open .mnav__chev{ transform: rotate(180deg); }

body.page-id-1981 .nav.has-menu::before{ transform: none; }
body.page-id-1981 .nav--solid::before{ transform: none; }

body.page-id-1981 .mm{
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--paper); color: var(--ink);
  border-bottom: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(10, 31, 51, .28);
  opacity: 0; transform: translateY(-6px);
  transition: opacity .14s ease-out, transform .14s ease-out;
}
body.page-id-1981 .mm.is-open{ opacity: 1; transform: none; transition: opacity .22s var(--ui-out), transform .22s var(--ui-out); }
body.page-id-1981 .mm__inner{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); padding-block: 36px 40px; }
body.page-id-1981 .mm__intro{ grid-column: 1 / span 3; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
body.page-id-1981 .mm__kicker{ font: 700 clamp(26px, 2.2vw, 34px)/1 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
body.page-id-1981 .mm__desc{ font-size: 15px; line-height: 1.5; color: var(--muted); max-width: 28ch; }
body.page-id-1981 .mm__links{ grid-column: 4 / span 6; display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--col-gap); border-top: 1px solid var(--line); }
body.page-id-1981 .mm__links a{ display: grid; gap: 3px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
body.page-id-1981 .mm__t{ font: 600 17px/1.2 var(--f-display); transition: color .15s ease; }
body.page-id-1981 .mm__d{ font-size: 13.5px; color: var(--muted); }
body.page-id-1981 .mm__state{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .mm__state.is-live{ color: var(--green-ink); }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .mm__links a:hover .mm__t{ color: var(--lum); } }
body.page-id-1981 .mm__links a[aria-current="page"] .mm__t{ color: var(--lum); }
body.page-id-1981 .mm__aside{ grid-column: 10 / -1; padding-left: var(--col-gap); border-left: 1px solid var(--line); }

body.page-id-1981 .mm-host img{ width: 64px; height: 64px; }
body.page-id-1981 .mm-host__pre{ margin-top: 14px; font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .mm-host__name{ margin: 8px 0 12px; font: 700 20px/1.1 var(--f-display); font-stretch: 86%; color: var(--lum); }
body.page-id-1981 .mm-call__status{ display: flex; align-items: center; gap: 8px; font: 700 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
body.page-id-1981 .mm-call__title{ margin: 12px 0 8px; font: 700 22px/1.1 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .mm-call__key{ margin-bottom: 18px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .mm-call__key strong{ display: block; margin-top: 4px; font: 700 20px/1.1 var(--f-display); color: var(--ink); }
body.page-id-1981 .mm-journey li, body.page-id-1981 .mm-thread li{ display: grid; grid-template-columns: 34px 1fr; gap: 2px 8px; padding: 9px 0; border-bottom: 1px solid var(--line-2); font: 600 14px/1.3 var(--f-display); }
body.page-id-1981 .mm-journey span, body.page-id-1981 .mm-thread span{ grid-row: span 2; font-size: 12px; color: var(--lum); }
body.page-id-1981 .mm-journey em{ font: 500 12px/1.3 var(--f-text); font-style: normal; color: var(--muted); }
body.page-id-1981 .mm-thread li.is-now{ color: var(--green-ink); }
body.page-id-1981 .mm-days__label{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .mm-days__day{ margin-top: 12px; font: 700 22px/1 var(--f-display); font-stretch: 84%; }
body.page-id-1981 .mm-days__day span{ display: block; margin-bottom: 4px; font: 600 11px/1 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .mm-days__note{ margin-top: 14px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .mm-venue img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
body.page-id-1981 .mm-venue figcaption{ margin-top: 10px; font-size: 13.5px; color: var(--muted); }

@media (max-width: 1520px){
  body.page-id-1981 .nav__event > span .nav__long{ display: none; }
  body.page-id-1981 .nav__brand{ gap: 14px; }
}
@media (max-width: 1360px){
  body.page-id-1981 .mnav__link{ padding-left: 4px; }
  body.page-id-1981 .mnav__link::after{ left: 4px; }
  body.page-id-1981 .nav__event strong{ font-size: 14.5px; }
  body.page-id-1981 .nav__event > span{ font-size: 10px; letter-spacing: .1em; }
  body.page-id-1981 .nav .nav__cta{ padding: 0 12px 0 14px; gap: 10px; }
}

/* P2 · MOBILE: rail + sheet ------------------------------------------------- */
body.page-id-1981 .rail--platform .rail__menu{ display: none; }
@media (max-width: 1199px){
  body.page-id-1981 .mnav{ display: none; }
  body.page-id-1981 .rail--platform .rail__menu{
    flex: 1; display: flex; align-items: center; gap: 12px; padding: 0 20px;
    font: 600 16px/1 var(--f-display); color: #fff; background: none; border: 0; cursor: pointer;
  }
  body.page-id-1981 .rail__menu-icon{ width: 18px; height: 10px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
}
body.page-id-1981 .sheet{
  position: fixed; inset: 0 0 calc(var(--rail-h) + env(safe-area-inset-bottom)) 0; z-index: 99;
  overflow-y: auto; overscroll-behavior: contain;
  background: var(--paper); color: var(--ink); padding: 20px var(--gutter) 40px;
  transform: translateY(12px); opacity: 0; transition: opacity .14s ease-out, transform .14s ease-out;
}
body.page-id-1981 .sheet.is-open{ transform: none; opacity: 1; transition: opacity .24s var(--ui-out), transform .24s var(--ui-out); }
body.page-id-1981 .sheet__head{ display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
body.page-id-1981 .sheet__title{ font: 700 17px/1.2 var(--f-display); }
body.page-id-1981 .sheet__close{ min-height: 44px; padding: 0 4px; background: none; border: 0; font: 600 15px/1 var(--f-display); color: var(--lum); cursor: pointer; }
body.page-id-1981 .sheet__home{ display: block; padding: 18px 0; border-bottom: 1px solid var(--line); font: 700 24px/1 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .sheet__group{ border-bottom: 1px solid var(--line); }
body.page-id-1981 .sheet__row{ display: flex; align-items: stretch; justify-content: space-between; }
body.page-id-1981 .sheet__sec{ flex: 1; padding: 18px 0; font: 700 24px/1 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .sheet__toggle{ flex: none; display: grid; place-items: center; width: 56px; min-height: 56px; padding: 0; background: none; border: 0; border-left: 1px solid var(--line-2); color: var(--lum); cursor: pointer; }
body.page-id-1981 .sheet__toggle span{ position: relative; width: 16px; height: 16px; }
body.page-id-1981 .sheet__toggle span::before, body.page-id-1981 .sheet__toggle span::after{ content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: currentColor; transition: transform .2s var(--ui-out); }
body.page-id-1981 .sheet__toggle span::after{ transform: rotate(90deg); }
body.page-id-1981 .sheet__toggle[aria-expanded="true"] span::after{ transform: rotate(0deg); }
body.page-id-1981 .sheet__group ul{ padding: 0 0 16px; }
body.page-id-1981 .sheet__group li a{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 12px 0; font: 500 17px/1.3 var(--f-display); border-top: 1px solid var(--line-2); }
body.page-id-1981 .sheet__state{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); align-self: center; }
body.page-id-1981.sheet-open{ overflow: hidden; }

/* P3 · PAGE HEADERS -------------------------------------------------------- */
body.page-id-1981 .ph{ position: relative; overflow: hidden; }
body.page-id-1981 .ph--l2{ background: var(--navy); color: #fff; padding: calc(var(--nav-h-min) + clamp(56px, 8vw, 120px)) 0 clamp(56px, 7vw, 100px); min-height: min(62svh, 640px); display: flex; align-items: flex-end; }
body.page-id-1981 .ph--l2::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--twin); opacity: .7; }
body.page-id-1981 .ph--l3{ background: var(--paper); padding: calc(var(--nav-h-min) + clamp(40px, 5vw, 72px)) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--line); }
body.page-id-1981 .ph__inner{ position: relative; z-index: 1; width: min(var(--maxw), 100% - 2 * var(--gutter)); }
body.page-id-1981 .ph__kicker{ font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .ph--l2 .ph__kicker{ color: #D6EFB8; }
body.page-id-1981 .ph__title{ margin-top: 18px; max-width: 18ch; font: 750 clamp(44px, 6.6vw, 112px)/.92 var(--f-display); font-stretch: 78%; letter-spacing: -.028em; text-wrap: balance; }
body.page-id-1981 .ph--l3 .ph__title{ font-size: clamp(36px, 4.8vw, 80px); max-width: 24ch; }
body.page-id-1981 .ph__lead{ margin-top: 22px; max-width: 60ch; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; color: var(--ink-2); }
body.page-id-1981 .ph--l2 .ph__lead{ color: #C8D4E0; }
body.page-id-1981 .ph__meta{ display: flex; flex-wrap: wrap; gap: 18px 44px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
body.page-id-1981 .ph__meta dt{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .ph__meta dd{ margin-top: 8px; font: 650 clamp(17px, 1.4vw, 22px)/1.2 var(--f-display); }
body.page-id-1981 .ph__meta .is-live dd{ color: var(--green-ink); }
body.page-id-1981 .ph__meta .is-live dd::before{ content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--green); vertical-align: middle; }
body.page-id-1981 .ph__arcs{ position: absolute; right: -4%; bottom: 0; width: min(62vw, 1100px); height: 100%; overflow: visible; opacity: .9; }
body.page-id-1981 .ph-arc path{ fill: none; stroke-width: 1.6; }
body.page-id-1981 .ph-arc--g path{ stroke: rgba(157, 196, 106, .75); }
body.page-id-1981 .ph-arc--d path{ stroke: rgba(91, 194, 238, .75); }
body.page-id-1981 .ph-flow{ fill: none; stroke: rgba(255, 255, 255, .45); stroke-width: 1.4; stroke-dasharray: .006 .016; }

body.page-id-1981 .crumbs ol{ display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; font-size: 13.5px; color: var(--muted); }
body.page-id-1981 .crumbs li + li::before{ content: "/"; margin-right: 6px; color: var(--line); }
body.page-id-1981 .crumbs a{ text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
body.page-id-1981 .ph--l2 .crumbs ol, body.page-id-1981 .crumbs--light ol{ color: var(--on-navy-muted); }
body.page-id-1981 .ph--l2 .crumbs li + li::before, body.page-id-1981 .crumbs--light li + li::before{ color: rgba(255, 255, 255, .3); }

/* P4 · PAGE LAYOUT --------------------------------------------------------- */
body.page-id-1981 .pg{ padding-block: clamp(56px, 7vw, 112px); background: var(--paper); }
body.page-id-1981 .pg--tight{ padding-block: clamp(40px, 5vw, 72px); }
body.page-id-1981 .pg__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; align-items: start; }
body.page-id-1981 .pg__main{ grid-column: 1 / span 8; }
body.page-id-1981 .pg__aside{ grid-column: 10 / -1; position: sticky; top: calc(var(--nav-h-min) + 28px); display: grid; gap: 28px; }
body.page-id-1981 .pg__grid--toc .toc{ grid-column: 1 / span 3; position: sticky; top: calc(var(--nav-h-min) + 28px); }
body.page-id-1981 .pg__grid--toc .pg__main{ grid-column: 4 / -1; }
body.page-id-1981 .pg__h3{ margin: 40px 0 16px; font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
body.page-id-1981 .pg__more{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; }
body.page-id-1981 .pg__note, body.page-id-1981 .pg__source{ margin-top: 24px; font-size: 14px; color: var(--muted); max-width: 70ch; }
@media (max-width: 1023px){
  body.page-id-1981 .pg__main, body.page-id-1981 .pg__aside, body.page-id-1981 .pg__grid--toc .toc, body.page-id-1981 .pg__grid--toc .pg__main{ grid-column: 1 / -1; position: static; }
}

/* P5 · EDITORIAL COMPONENTS ------------------------------------------------ */
body.page-id-1981 .st{ margin: clamp(56px, 6vw, 96px) 0 28px; padding-top: 22px; border-top: 2px solid var(--ink); }
body.page-id-1981 .pg__main > .st:first-child, body.page-id-1981 .pg .wrap > .st:first-child{ margin-top: 0; }
body.page-id-1981 .st__kicker{ display: flex; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .st__title{ margin-top: 12px; font: 700 clamp(28px, 3vw, 48px)/1.02 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
body.page-id-1981 .st__lead{ margin-top: 12px; max-width: 64ch; color: var(--muted); }

body.page-id-1981 .prose{ max-width: 70ch; }
body.page-id-1981 .prose h2{ margin: 44px 0 14px; font: 700 clamp(22px, 2vw, 30px)/1.15 var(--f-display); font-stretch: 88%; letter-spacing: -.012em; }
body.page-id-1981 .prose h2:first-child{ margin-top: 0; }
body.page-id-1981 .prose p{ margin-bottom: 16px; color: var(--ink-2); }
body.page-id-1981 .prose strong{ color: var(--ink); }

body.page-id-1981 .hold{ position: relative; padding: 24px 0 24px 28px; border-left: 3px solid; border-image: linear-gradient(var(--green), var(--cyan)) 1; background: linear-gradient(90deg, rgba(157, 196, 106, .08), transparent 70%); }
body.page-id-1981 .hold__label{ font: 700 11px/1.3 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
body.page-id-1981 .hold__title{ margin-top: 8px; max-width: 46ch; font: 650 clamp(19px, 1.6vw, 24px)/1.3 var(--f-display); }
body.page-id-1981 .hold__text{ margin-top: 8px; max-width: 60ch; font-size: 15.5px; color: var(--muted); }
body.page-id-1981 .hold__link{ margin-top: 12px; }

body.page-id-1981 .ref{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 32px 0 16px; font-size: 14.5px; color: var(--muted); }
body.page-id-1981 .ref__tag{ padding: 4px 8px; border: 1px solid var(--line); font: 700 11px/1 var(--f-display); letter-spacing: .12em; color: var(--ink); }

body.page-id-1981 .kv{ border-top: 1px solid var(--ink); }
body.page-id-1981 .kv > div{ display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .kv dt{ font: 600 11px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
body.page-id-1981 .kv dd{ font: 500 16.5px/1.5 var(--f-display); }
@media (max-width: 700px){ body.page-id-1981 .kv > div{ grid-template-columns: 1fr; gap: 6px; } }

body.page-id-1981 .note{ margin: 24px 0; padding: 22px 24px; background: var(--white); border: 1px solid var(--line); }
body.page-id-1981 .note__t{ font: 700 12px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); margin-bottom: 10px !important; }
body.page-id-1981 .flow{ border-top: 1px solid var(--ink); }
body.page-id-1981 .flow li{ display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .flow time{ font: 700 16px/1.3 var(--f-display); }
@media (max-width: 700px){ body.page-id-1981 .flow li{ grid-template-columns: 1fr; gap: 4px; } }

body.page-id-1981 .actcard{ padding: 26px; background: var(--white); border-top: 4px solid; border-image: var(--twin) 1; display: grid; gap: 16px; }
body.page-id-1981 .actcard__status{ display: flex; align-items: center; gap: 8px; font: 700 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
body.page-id-1981 .actcard__deadline{ font: 750 clamp(34px, 3vw, 48px)/1 var(--f-display); font-stretch: 76%; letter-spacing: -.02em; }
body.page-id-1981 .actcard__count{ font: 600 14px/1 var(--f-display); color: var(--cyan-ink); }
body.page-id-1981 .actcard .btn{ width: 100%; }
body.page-id-1981 .side{ padding-top: 16px; border-top: 2px solid var(--ink); }
body.page-id-1981 .side__t{ margin-bottom: 10px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .side--pager{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

body.page-id-1981 .cix{ border-top: 2px solid var(--ink); }
body.page-id-1981 .cix__item a{ display: grid; grid-template-columns: 52px minmax(0, 1.1fr) minmax(0, 1.4fr) auto 28px; gap: 16px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .cix__n{ font: 600 13px/1 var(--f-display); color: var(--lum); }
body.page-id-1981 .cix__t{ font: 650 clamp(20px, 1.8vw, 28px)/1.15 var(--f-display); font-stretch: 90%; letter-spacing: -.01em; }
body.page-id-1981 .cix__d{ font-size: 15px; color: var(--muted); }
body.page-id-1981 .cix__s{ font: 600 11px/1.2 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
body.page-id-1981 .cix__s.is-live{ color: var(--green-ink); }
body.page-id-1981 .cix__arrow{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; align-self: center; transition: transform .2s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  body.page-id-1981 .cix__item a:hover .cix__t, body.page-id-1981 .trow a:hover .trow__title{ color: var(--lum); }
  body.page-id-1981 .cix__item a:hover .cix__arrow, body.page-id-1981 .trow a:hover .cix__arrow{ transform: translateX(4px); }
}
@media (max-width: 900px){
  body.page-id-1981 .cix__item a{ grid-template-columns: 36px minmax(0, 1fr) 24px; row-gap: 6px; }
  body.page-id-1981 .cix__d, body.page-id-1981 .cix__s{ grid-column: 2; }
  body.page-id-1981 .cix__arrow{ grid-column: 3; grid-row: 1; }
}

body.page-id-1981 .toc{ padding-top: 16px; border-top: 2px solid var(--ink); }
body.page-id-1981 .toc__t{ font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
body.page-id-1981 .toc a{ display: block; padding: 8px 0; font: 500 15px/1.3 var(--f-display); border-bottom: 1px solid var(--line-2); }
body.page-id-1981 .toc a.is-active{ color: var(--lum); }
body.page-id-1981 .cfp{ padding: 26px 0 30px; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--nav-h-min) + 20px); }
body.page-id-1981 .cfp:first-child{ border-top: 2px solid var(--ink); }
body.page-id-1981 .cfp__h{ font: 700 clamp(22px, 2vw, 30px)/1.15 var(--f-display); font-stretch: 88%; }
body.page-id-1981 .cfp__p{ margin-top: 12px; max-width: 64ch; color: var(--ink-2); }
body.page-id-1981 .cfp__state{ display: inline-block; margin-top: 12px; padding: 6px 10px; font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--green-ink); background: rgba(157, 196, 106, .14); }
body.page-id-1981 .cfp__ref{ margin-top: 16px; }
body.page-id-1981 .cfp__ref summary{ cursor: pointer; font: 600 15px/1.4 var(--f-display); color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--line); }
body.page-id-1981 .cfp__ref ul{ margin-top: 12px; padding-left: 18px; list-style: disc; color: var(--ink-2); }
body.page-id-1981 .cfp__ref ul li{ padding: 3px 0; }
body.page-id-1981 .cfp__ref .kv{ margin-top: 12px; }

body.page-id-1981 .ctab{ background: var(--navy); color: #fff; padding-block: clamp(48px, 5vw, 80px); border-top: 3px solid; border-image: var(--twin) 1; }
body.page-id-1981 .ctab__inner{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 28px; }
body.page-id-1981 .ctab__title{ font: 700 clamp(26px, 2.6vw, 42px)/1.05 var(--f-display); font-stretch: 84%; }
body.page-id-1981 .ctab__text{ margin-top: 8px; color: var(--on-navy-muted); }
body.page-id-1981 .ctab__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

body.page-id-1981 .host-card{ padding: 28px; background: var(--paper-warm); border-top: 3px solid var(--lum); }
body.page-id-1981 .host-card img{ width: 72px; height: 72px; }
body.page-id-1981 .host-card__pre{ margin-top: 16px; font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .host-card__name{ margin: 8px 0 12px; font: 700 26px/1.05 var(--f-display); font-stretch: 84%; color: var(--lum); }
body.page-id-1981 .host-card__text{ margin-bottom: 16px; font-size: 15px; color: var(--ink-2); }

/* P6 · CONFERENCE SYSTEMS -------------------------------------------------- */
/* people */
body.page-id-1981 .pdir{ display: grid; column-gap: var(--col-gap); border-top: 1px solid var(--ink); }
body.page-id-1981 .pdir--1{ grid-template-columns: 1fr; border-top: 0; }
body.page-id-1981 .pdir--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-id-1981 .pdir--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.page-id-1981 .pdir li{ display: flex; flex-direction: column; gap: 3px; padding: 13px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .pdir strong{ font: 600 16.5px/1.3 var(--f-display); }
body.page-id-1981 .pdir span{ font-size: 14px; color: var(--muted); }
body.page-id-1981 .pdir em{ font: 600 11px/1.3 var(--f-display); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--lum); }
@media (max-width: 1023px){ body.page-id-1981 .pdir--3, body.page-id-1981 .pdir--4{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ body.page-id-1981 .pdir--3, body.page-id-1981 .pdir--4{ grid-template-columns: 1fr; } }
body.page-id-1981 .kn{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 var(--col-gap); border-top: 1px solid var(--ink); }
body.page-id-1981 .kn__item{ display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .kn__mono{ width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font: 700 17px/1 var(--f-display); letter-spacing: .02em; }
body.page-id-1981 .kn__name{ font: 650 19px/1.2 var(--f-display); }
body.page-id-1981 .kn__aff{ margin-top: 3px; font-size: 14.5px; color: var(--muted); }
body.page-id-1981 .roles{ border-top: 2px solid var(--ink); }
body.page-id-1981 .roles__item{ display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .roles__t{ font: 650 clamp(18px, 1.5vw, 23px)/1.2 var(--f-display); }
body.page-id-1981 .roles__s{ font: 600 11px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }

/* partners */
body.page-id-1981 .prole{ display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); }
body.page-id-1981 .prole__t{ font: 600 11px/1.6 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .prole__tba{ font: 600 16px/1.4 var(--f-display); color: var(--muted); }
body.page-id-1981 .prole__host{ display: flex; align-items: center; gap: 16px; font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 86%; color: var(--lum); }
body.page-id-1981 .prole__host img{ width: 56px; height: 56px; }
body.page-id-1981 .prole__list{ display: grid; gap: 8px; font: 500 16.5px/1.4 var(--f-display); }
body.page-id-1981 .prole__list--cols{ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); column-gap: var(--col-gap); }
@media (max-width: 700px){ body.page-id-1981 .prole{ grid-template-columns: 1fr; gap: 10px; } }

/* publications */
body.page-id-1981 .publist{ border-top: 1px solid var(--ink); }
body.page-id-1981 .publist__item{ display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .publist__type{ font: 700 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .publist__journal{ font: 600 17px/1.3 var(--f-display); font-style: italic; }
body.page-id-1981 .publist__si{ margin-top: 4px; font-size: 15px; color: var(--muted); }
body.page-id-1981 .pubtracks > li{ padding: 18px 0; border-top: 1px solid var(--line); }
body.page-id-1981 .pubtracks__t{ display: block; margin-bottom: 10px; font: 650 16px/1.3 var(--f-display); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
@media (max-width: 700px){ body.page-id-1981 .publist__item{ grid-template-columns: 1fr; gap: 4px; } }

/* downloads */
body.page-id-1981 .dl-list{ border-top: 1px solid var(--ink); }
body.page-id-1981 .dl-list li{ display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .dl-list__type{ font: 700 11px/1 var(--f-display); letter-spacing: .12em; color: var(--lum); }
body.page-id-1981 .dl-list__t{ font: 600 17px/1.3 var(--f-display); }
body.page-id-1981 .dl-list__t em{ display: block; font: 400 14px/1.4 var(--f-text); font-style: normal; color: var(--muted); }
body.page-id-1981 .dl-list__state{ font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); text-align: right; }
@media (max-width: 700px){ body.page-id-1981 .dl-list li{ grid-template-columns: 50px 1fr; } body.page-id-1981 .dl-list li > :last-child{ grid-column: 2; text-align: left; } }

/* registration */
body.page-id-1981 .fees{ overflow-x: auto; border-top: 2px solid var(--ink); }
body.page-id-1981 .fees table{ width: 100%; border-collapse: collapse; min-width: 520px; }
body.page-id-1981 .fees th, body.page-id-1981 .fees td{ padding: 16px 12px 16px 0; text-align: left; border-bottom: 1px solid var(--line); }
body.page-id-1981 .fees thead th{ font: 600 11px/1.4 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .fees tbody th{ font: 600 17px/1.3 var(--f-display); }
body.page-id-1981 .fees td{ font: 700 clamp(20px, 1.8vw, 28px)/1 var(--f-display); font-stretch: 86%; }

/* author journey */
body.page-id-1981 .journey{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--col-gap); border-top: 2px solid var(--ink); }
body.page-id-1981 .journey__step{ display: flex; flex-direction: column; gap: 6px; padding: 20px 0 22px; border-bottom: 1px solid var(--line); }
body.page-id-1981 .journey__n{ font: 600 13px/1 var(--f-display); color: var(--lum); }
body.page-id-1981 .journey__t{ font: 650 20px/1.2 var(--f-display); }
body.page-id-1981 .journey__d{ font-size: 14.5px; color: var(--muted); }
body.page-id-1981 .journey__s{ margin-top: auto; padding-top: 8px; font: 600 11px/1.4 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .journey__step.is-available .journey__s{ color: var(--green-ink); }
body.page-id-1981 .journey__s .link{ font-size: 14px; letter-spacing: 0; text-transform: none; }
@media (max-width: 1023px){ body.page-id-1981 .journey{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ body.page-id-1981 .journey{ grid-template-columns: 1fr; } }

/* track finder + index */
body.page-id-1981 .finder{ margin-bottom: 20px; }
body.page-id-1981 .finder__label{ display: block; margin-bottom: 10px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .finder__row{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
body.page-id-1981 .finder__input{ flex: 1 1 320px; min-height: 52px; padding: 0 18px; font: 500 17px/1 var(--f-display); color: var(--ink); background: var(--white); border: 1px solid var(--line); border-bottom: 2px solid var(--ink); border-radius: 0; }
body.page-id-1981 .finder__input:focus-visible{ outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
body.page-id-1981 .finder__count{ font: 600 14px/1 var(--f-display); color: var(--muted); }
body.page-id-1981 .finder__empty{ padding: 24px 0; color: var(--muted); }
body.page-id-1981 .tlist{ border-top: 2px solid var(--ink); }
body.page-id-1981 .trow a{ display: grid; grid-template-columns: 52px minmax(0, 1fr) auto 28px; gap: 16px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .trow__n{ font: 600 14px/1 var(--f-display); color: var(--lum); font-feature-settings: "tnum"; }
body.page-id-1981 .trow__title{ display: block; font: 650 clamp(17px, 1.45vw, 22px)/1.25 var(--f-display); letter-spacing: -.005em; transition: color .15s ease; }
body.page-id-1981 .trow__chairs{ display: block; margin-top: 6px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .trow__pub{ font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--green-ink); white-space: nowrap; }
body.page-id-1981 .tlist--compact .trow a{ padding: 14px 0; }
body.page-id-1981 .editions .tlist, body.page-id-1981 .edh + .edtoc + .pg .tlist{ border-top-color: var(--ink); }
@media (max-width: 700px){ body.page-id-1981 .trow a{ grid-template-columns: 36px minmax(0, 1fr) 20px; } body.page-id-1981 .trow__pub{ grid-column: 2; } body.page-id-1981 .trow .cix__arrow{ grid-column: 3; grid-row: 1; } }
body.page-id-1981 .kw{ display: flex; flex-wrap: wrap; gap: 8px; }
body.page-id-1981 .kw li{ padding: 6px 10px; border: 1px solid var(--line); font: 500 14px/1.2 var(--f-display); }
body.page-id-1981 .kw--list{ display: block; }
body.page-id-1981 .kw--list li{ display: block; border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; }
body.page-id-1981 .tracks__holding--page{ margin-bottom: 20px; }
body.page-id-1981 .tracks__holding--page .tracks__state, body.page-id-1981 .tracks__holding--page .tracks__announce, body.page-id-1981 .tracks__holding--page .tracks__actions{ grid-column: 1 / -1; }

/* programme */
body.page-id-1981 .prog__bar{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); position: sticky; top: var(--nav-h-min); z-index: 3; background: var(--paper); }
body.page-id-1981 .prog__days, body.page-id-1981 .prog__types{ display: flex; flex-wrap: wrap; gap: 8px; }
body.page-id-1981 .chip{ min-height: 40px; padding: 0 14px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 600 14px/1 var(--f-display); cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
body.page-id-1981 .chip:active{ transform: scale(.97); }
body.page-id-1981 .chip.is-on{ background: var(--ink); color: #fff; border-color: var(--ink); }
body.page-id-1981 .prog__print{ margin-left: auto; background: none; border: 0; cursor: pointer; }
body.page-id-1981 .prog__count{ margin: 14px 0 0; font-size: 14px; color: var(--muted); }
body.page-id-1981 .pday{ margin-top: 28px; }
body.page-id-1981 .pday__label{ display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .pday__label span{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
body.page-id-1981 .sess__row{ display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 16px 0 16px 16px; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; }
body.page-id-1981 .sess__time{ font: 700 16px/1.3 var(--f-display); font-feature-settings: "tnum"; }
body.page-id-1981 .sess__type{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .sess__title{ margin-top: 4px; font: 600 18px/1.3 var(--f-display); }
body.page-id-1981 .sess__meta{ margin-top: 4px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .sess--plenary{ border-left-color: var(--lum); }
body.page-id-1981 .sess--plenary .sess__type{ color: var(--lum); }
body.page-id-1981 .sess--parallel{ border-left-color: var(--cyan); }
body.page-id-1981 .sess--social{ border-left-color: var(--green); }
body.page-id-1981 .sess--break .sess__title, body.page-id-1981 .sess--registration .sess__title{ color: var(--muted); font-weight: 500; }
body.page-id-1981 .sess__row[hidden], body.page-id-1981 .pday[hidden]{ display: none; }
@media (max-width: 700px){ body.page-id-1981 .sess__row{ grid-template-columns: 1fr; gap: 4px; } body.page-id-1981 .prog__bar{ position: static; } }

/* venue travel */
body.page-id-1981 .stay{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 var(--col-gap); border-top: 1px solid var(--ink); }
body.page-id-1981 .stay li{ display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .stay__n{ font: 650 18px/1.25 var(--f-display); }
body.page-id-1981 .stay__a{ font-size: 14px; color: var(--muted); }

/* edition detail */
body.page-id-1981 .edh{ background: var(--navy); color: #fff; padding: calc(var(--nav-h-min) + clamp(48px, 6vw, 96px)) 0 clamp(48px, 6vw, 88px); position: relative; }
body.page-id-1981 .edh::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--twin); opacity: .7; }
body.page-id-1981 .edh__year{ font: 700 clamp(110px, 16vw, 260px)/.78 var(--f-display); font-stretch: 62%; letter-spacing: -.03em; }
body.page-id-1981 .edh__n{ margin-top: 24px; font: 600 12px/1.5 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .edh__title{ margin-top: 12px; max-width: 26ch; font: 700 clamp(30px, 3.4vw, 56px)/1.02 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
body.page-id-1981 .edh__sub{ margin-top: 14px; max-width: 70ch; color: #C8D4E0; }
body.page-id-1981 .edtoc{ position: sticky; top: var(--nav-h-min); z-index: 4; background: var(--paper); border-bottom: 1px solid var(--line); }
body.page-id-1981 .edtoc ol{ display: flex; gap: 4px 22px; overflow-x: auto; scrollbar-width: none; padding: 14px 0; }
body.page-id-1981 .edtoc a{ white-space: nowrap; font: 600 14px/1 var(--f-display); color: var(--muted); }
body.page-id-1981 .edtoc a.is-active{ color: var(--lum); }
body.page-id-1981 .edgal img{ width: 100%; max-width: 980px; aspect-ratio: 3 / 2; object-fit: cover; }
body.page-id-1981 .edgal figcaption{ margin-top: 12px; }
body.page-id-1981 .pg [id]{ scroll-margin-top: calc(var(--nav-h-min) + 64px); }

/* P7 · HOME PORTAL BLOCKS --------------------------------------------------- */
body.page-id-1981 .hdates{ background: var(--paper); padding-block: clamp(64px, 7vw, 112px); border-top: 1px solid var(--line-2); }
body.page-id-1981 .hdates__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; }
body.page-id-1981 .hdates__head{ grid-column: 1 / span 3; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
body.page-id-1981 .hdates__head .s-kicker{ padding-top: 0; }
body.page-id-1981 .hdates__title{ font: 700 clamp(28px, 2.6vw, 40px)/1.05 var(--f-display); font-stretch: 86%; }
body.page-id-1981 .hdates__list{ grid-column: 4 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
body.page-id-1981 .hdates__item{ padding: 18px 16px 0 0; }
body.page-id-1981 .hdates__item + .hdates__item{ padding-left: 16px; border-left: 1px solid var(--line); }
body.page-id-1981 .hdates__date{ font: 700 clamp(20px, 1.7vw, 28px)/1.05 var(--f-display); font-stretch: 80%; }
body.page-id-1981 .hdates__date.is-tba{ color: rgba(11, 27, 43, .58); font-size: clamp(16px, 1.2vw, 19px); font-stretch: 94%; }
body.page-id-1981 .hdates__t{ margin-top: 8px; font-size: 14px; color: var(--muted); }
body.page-id-1981 .hdates__item.is-event .hdates__date{ color: var(--lum); }
@media (max-width: 1023px){ body.page-id-1981 .hdates__head, body.page-id-1981 .hdates__list{ grid-column: 1 / -1; } body.page-id-1981 .hdates__list{ grid-template-columns: repeat(3, 1fr); row-gap: 20px; } body.page-id-1981 .hdates__item:nth-child(4){ padding-left: 0; border-left: 0; } }
@media (max-width: 600px){ body.page-id-1981 .hdates__list{ grid-template-columns: 1fr 1fr; } body.page-id-1981 .hdates__item{ padding-left: 0 !important; border-left: 0 !important; } }

body.page-id-1981 .htheme{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(80px, 9vw, 150px); }
body.page-id-1981 .htheme .s-lead{ color: var(--on-navy-muted); }
body.page-id-1981 .htheme__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; align-items: center; }
body.page-id-1981 .htheme__kv{ grid-column: 1 / span 5; position: relative; top: auto; height: auto; min-height: 0; max-height: none; }
body.page-id-1981 .htheme__kv .theme__kv{ aspect-ratio: 4 / 4.6; flex: none; }
body.page-id-1981 .htheme__text{ grid-column: 7 / -1; }
body.page-id-1981 .htheme__text .s-kicker{ padding-top: 0; margin-bottom: 22px; }
body.page-id-1981 .htheme__fields{ margin-top: 28px; border-top: 1px solid var(--line-navy); }
body.page-id-1981 .htheme__fields li{ display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line-navy); color: #C8D4E0; }
body.page-id-1981 .htheme__fields strong{ color: #fff; font-family: var(--f-display); margin-right: 8px; }
body.page-id-1981 .htheme__links{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 32px; }
body.page-id-1981 .htheme__links .link{ color: #fff; text-decoration-color: rgba(255, 255, 255, .35); }
body.page-id-1981 .htheme .btn--ink{ --bg: #fff; --fg: var(--ink); --bg-h: var(--twin); --fg-h: var(--ink); }
@media (max-width: 1023px){ body.page-id-1981 .htheme__kv, body.page-id-1981 .htheme__text{ grid-column: 1 / -1; } }

body.page-id-1981 .teasers{ background: var(--white); padding-block: clamp(72px, 8vw, 128px); }
body.page-id-1981 .teasers__grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--col-gap); }
body.page-id-1981 .teaser{ display: flex; flex-direction: column; gap: 14px; padding-top: 20px; border-top: 2px solid var(--ink); }
body.page-id-1981 .teaser__kicker{ display: flex; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
body.page-id-1981 .teaser__title{ font: 700 clamp(26px, 2.2vw, 36px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.015em; }
body.page-id-1981 .teaser__state{ font: 650 18px/1.3 var(--f-display); color: var(--green-ink); }
body.page-id-1981 .teaser__text{ color: var(--muted); font-size: 15.5px; }
body.page-id-1981 .teaser__steps li{ display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font: 600 16px/1.3 var(--f-display); }
body.page-id-1981 .teaser__steps em{ font: 600 11px/1.6 var(--f-display); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .teaser__links{ display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: auto; padding-top: 8px; }
@media (max-width: 1023px){ body.page-id-1981 .teasers__grid{ grid-template-columns: 1fr; } }

/* P8 · FOOTER --------------------------------------------------------------- */
body.page-id-1981 .footer__cols--platform{ grid-template-columns: minmax(0, 2fr) repeat(6, minmax(0, 1fr)) minmax(0, 1.6fr); column-gap: 24px; }
body.page-id-1981 .footer__group-title{ margin-bottom: 12px; font: 700 14px/1.2 var(--f-display); }
body.page-id-1981 .footer__group li a{ display: block; padding: 4px 0; font-size: 13.5px; color: var(--on-navy-muted); transition: color .15s ease; }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .footer__group li a:hover{ color: #fff; } }
@media (max-width: 1199px){ body.page-id-1981 .footer__cols--platform{ grid-template-columns: repeat(3, minmax(0, 1fr)); } body.page-id-1981 .footer__event, body.page-id-1981 .footer__address{ grid-column: 1 / -1; } }
@media (max-width: 600px){ body.page-id-1981 .footer__cols--platform{ grid-template-columns: 1fr 1fr; } }

/* P9 · MOTION & VIEW TRANSITIONS ------------------------------------------- */
@view-transition{ }
body.page-id-1981 .nav{ view-transition-name: masthead; }
body.page-id-1981 .rail{ view-transition-name: rail; }
body.page-id-1981 ::view-transition-old(root){ animation: vt-out .16s ease-out both; }
body.page-id-1981 ::view-transition-new(root){ animation: vt-in .26s var(--ui-out) both; }
@keyframes vt-out{ to { opacity: 0; } }
@keyframes vt-in{ from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce){ @view-transition{ } }

@media (prefers-reduced-motion: no-preference){
  body.page-id-1981 .ph-arc--g{ animation: amb-arc 19s ease-in-out -3s infinite; --dx: 18px; transform-box: view-box; transform-origin: 800px 600px; }
  body.page-id-1981 .ph-arc--d{ animation: amb-arc 23s ease-in-out -11s infinite; --dx: -16px; transform-box: view-box; transform-origin: 980px 600px; }
  body.page-id-1981 .ph-flow{ animation: amb-flow 26s linear infinite; }
  body.page-id-1981 .ph-flow--rev{ animation: amb-flow-rev 21s linear infinite; }
  body.page-id-1981 .ph__inner > *{ opacity: 0; transform: translateY(12px); }
  body.page-id-1981.is-loaded .ph__inner > *{ opacity: 1; transform: none; transition: opacity .6s var(--ui-out), transform .6s var(--ui-out); }
  body.page-id-1981.is-loaded .ph__inner > :nth-child(2){ transition-delay: .05s; }
  body.page-id-1981.is-loaded .ph__inner > :nth-child(3){ transition-delay: .1s; }
  body.page-id-1981.is-loaded .ph__inner > :nth-child(4){ transition-delay: .15s; }
  body.page-id-1981.is-loaded .ph__inner > :nth-child(5){ transition-delay: .2s; }
}

/* P10 · PRINT (programme) -------------------------------------------------- */
@media print{
  body.page-id-1981 .nav, body.page-id-1981 .rail, body.page-id-1981 .sheet, body.page-id-1981 .footer, body.page-id-1981 .ph__arcs, body.page-id-1981 .prog__bar, body.page-id-1981 .skip, body.page-id-1981 .edtoc{ display: none !important; }
  body.page-id-1981 .ph--l2, body.page-id-1981 .edh{ background: none; color: #000; padding-top: 0; min-height: 0; }
  body.page-id-1981 .pday, body.page-id-1981 .sess__row{ break-inside: avoid; }
  body.page-id-1981{ padding: 0; }
}

/* mega menu panels span the full viewport, anchored to the fixed masthead */
body.page-id-1981 .nav .nav__inner{ position: static; }
body.page-id-1981 .nav::before{ z-index: -1; }
body.page-id-1981 .pg__aside .kv > div{ grid-template-columns: 1fr; gap: 4px; }
body.page-id-1981 .pg__aside .kv dd{ overflow-wrap: anywhere; }
body.page-id-1981 .page-track .ph__title{ font-size: clamp(30px, 3.3vw, 56px); max-width: 30ch; line-height: 1; }
body.page-id-1981 .sheet{ z-index: 101; padding-top: calc(16px + env(safe-area-inset-top)); }

/* keynotes: editorial, no avatar placeholders (portraits only when real photos are licensed) */
body.page-id-1981 .kn{ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
body.page-id-1981 .kn__mono{ display: none; }
body.page-id-1981 .kn__item{ grid-template-columns: 1fr; padding: 22px 0 24px; }
body.page-id-1981 .kn__name{ font-size: clamp(20px, 1.7vw, 26px); font-stretch: 90%; letter-spacing: -.01em; }

/* P11 · SECTION ACCENTS -----------------------------------------------------
   One accent per top-level section on top of the institutional navy/ink base.
   Accents, not themes: surfaces stay paper, white and navy.
   Never follows the section: status colours (green = open), the LUM logo and
   LUM-as-host elements (--lum). Colour transitions 300-500 ms. */
/* ONE variable per section. Everything else is derived from it with a single formula
   (OKLCH: same hue, lightness clamped), so a new section needs one line only.
     --sec-ink   lightness <= .50  -> >= 4.5:1 on paper, white and tinted surfaces (text)
     --sec-ui    lightness <= .615 -> >= 3:1 (indicators, rules, focus)
     --sec-soft  lightness >= .80  -> >= 4.5:1 on navy and on the tinted internal heroes
   Verified for the six accents: ink >= 4.98, ui >= 3.07, soft >= 4.96 (worst case, tinted surface). */
body.page-id-1981{ --section-accent: var(--lum); --sec-in: .45s; --sec-out: .3s; }
body.page-id-1981 [data-sec="conference"]{ --section-accent: #AC103D; }
body.page-id-1981 [data-sec="calls"]{ --section-accent: #36B9E8; }
body.page-id-1981 [data-sec="authors"]{ --section-accent: #9FCB63; --sec-arc: var(--cyan); }   /* green section: the second Twin arc stays cyan */
body.page-id-1981 [data-sec="programme"]{ --section-accent: #2E5F9E; }
body.page-id-1981 [data-sec="venue"]{ --section-accent: #C9B58A; }
body.page-id-1981 [data-sec="archive"]{ --section-accent: #8795A1; }
/* fallback derivation (color-mix only) */
body.page-id-1981, body.page-id-1981 [data-sec]{
  --sec: var(--section-accent);
  --sec-ink: color-mix(in oklab, var(--section-accent) 48%, #0B1B2B);
  --sec-ui: color-mix(in oklab, var(--section-accent) 66%, #0B1B2B);
  --sec-soft: color-mix(in oklab, var(--section-accent) 52%, #fff);
}
/* exact derivation where relative colours are available */
@supports (color: oklch(from red min(l, .5) c h)){
  body.page-id-1981, body.page-id-1981 [data-sec]{
    --sec-ink: oklch(from var(--section-accent) min(l, .50) c h);
    --sec-ui: oklch(from var(--section-accent) min(l, .615) c h);
    --sec-soft: oklch(from var(--section-accent) max(l, .80) min(c, .13) h);
  }
}

/* nav: label colour + underline indicator (in 450 ms, out 300 ms) */
body.page-id-1981 .mnav__link{ transition: color var(--sec-out) var(--ui-out); }
body.page-id-1981 .mnav__link::after{ background: var(--sec-ui); transition-duration: var(--sec-out); }
body.page-id-1981 .mnav__toggle{ transition: color var(--sec-out) var(--ui-out); }
body.page-id-1981 .mnav__item.is-current .mnav__link, body.page-id-1981 .mnav__item.is-open .mnav__link, body.page-id-1981 .mnav__link:focus-visible, body.page-id-1981 .mnav__item.is-open .mnav__toggle, body.page-id-1981 .mnav__toggle:focus-visible{ color: var(--sec-ink); transition-duration: var(--sec-in); }
body.page-id-1981 .mnav__item.is-current .mnav__link::after, body.page-id-1981 .mnav__item.is-open .mnav__link::after, body.page-id-1981 .mnav__link:focus-visible::after{ transform: scaleX(1); transform-origin: left; transition-duration: var(--sec-in); }
@media (hover: hover) and (pointer: fine){
  body.page-id-1981 .mnav__item:hover .mnav__link, body.page-id-1981 .mnav__item:hover .mnav__toggle{ color: var(--sec-ink); transition-duration: var(--sec-in); }
  body.page-id-1981 .mnav__item:hover .mnav__link::after{ transform: scaleX(1); transform-origin: left; transition-duration: var(--sec-in); }
}

/* mega menu: soft tint from the left, accent rule on top, Twin arc detail */
body.page-id-1981 .mm__inner{ position: relative; z-index: 1; }
body.page-id-1981 .mm::before{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--sec) 8%, transparent), color-mix(in srgb, var(--sec) 3%, transparent) 50%, transparent 85%);
  opacity: 0; transition: opacity var(--sec-out) ease-out;
}
body.page-id-1981 .mm::after{
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--sec-ui);
  transform: scaleX(0); transform-origin: left; transition: transform var(--sec-out) var(--ui-out);
}
body.page-id-1981 .mm.is-open::before{ opacity: 1; transition: opacity .5s var(--ui-out); }
body.page-id-1981 .mm.is-open::after{ transform: scaleX(1); transition: transform .5s var(--ui-out); }
body.page-id-1981 .mm__kicker{ color: var(--sec-ink); }
body.page-id-1981 .mm__links a[aria-current="page"] .mm__t{ color: var(--sec-ink); }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .mm__links a:hover .mm__t{ color: var(--sec-ink); } }
body.page-id-1981 .mm-journey span, body.page-id-1981 .mm-thread span, body.page-id-1981 .mm-days__day span{ color: var(--sec-ink); }
body.page-id-1981 .mm__arcs{ width: 88px; height: auto; margin-top: auto; padding-top: 20px; overflow: visible; }
body.page-id-1981 .mm-arc{ fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset var(--sec-out) ease-out; }
body.page-id-1981 .mm-arc--g{ stroke: var(--green); }
body.page-id-1981 .mm-arc--d{ stroke: var(--sec-arc, var(--sec-ui)); }
body.page-id-1981 .mm.is-open .mm-arc{ stroke-dashoffset: 0; transition: stroke-dashoffset .5s var(--ui-out) .06s; }
body.page-id-1981 .mm.is-open .mm-arc--d{ transition-delay: .14s; }
body.page-id-1981 .nav.has-menu .nav__progress{ opacity: 0; }

/* mobile sheet */
body.page-id-1981 .sheet__sec{ transition: color var(--sec-in) var(--ui-out); }
body.page-id-1981 .sheet__toggle, body.page-id-1981 .sheet__group.is-open .sheet__sec, body.page-id-1981 .sheet__sec[aria-current="page"]{ color: var(--sec-ink); }

/* destination page: kicker, numbers, links, selected states, Twin detail */
body.page-id-1981[data-sec]{ --num: var(--sec-ink); }
body.page-id-1981 .ph__kicker{ color: var(--sec-ink); }
body.page-id-1981 .ph--l2 .ph__kicker{ color: var(--sec-soft); }
body.page-id-1981 .ph-arc--d path{ stroke: var(--sec-arc, var(--sec-soft)); stroke-opacity: .8; }
body.page-id-1981[data-sec] .nav__progress{ background: linear-gradient(90deg, var(--sec-ui), var(--sec)); }
body.page-id-1981 .cix__n, body.page-id-1981 .trow__n, body.page-id-1981 .journey__n, body.page-id-1981 .pday__label span, body.page-id-1981 .dl-list__type, body.page-id-1981 .publist__type, body.page-id-1981 .pdir em, body.page-id-1981 .note__t, body.page-id-1981 .toc a.is-active, body.page-id-1981 .edtoc a.is-active{ color: var(--sec-ink); }
body.page-id-1981 .toc a, body.page-id-1981 .edtoc a{ transition: color var(--sec-in) var(--ui-out); }
body.page-id-1981 .link:hover{ text-decoration-color: var(--sec-ui); }
body.page-id-1981[data-sec] .pg .link{ text-decoration-color: var(--line); text-decoration-color: color-mix(in srgb, var(--sec-ui) 45%, transparent); }
body.page-id-1981[data-sec] .pg .link:hover{ text-decoration-color: var(--sec-ui); }
body.page-id-1981 .crumbs a{ transition: text-decoration-color var(--sec-in); }
@media (hover: hover) and (pointer: fine){
  body.page-id-1981 .cix__item a:hover .cix__t, body.page-id-1981 .trow a:hover .trow__title{ color: var(--sec-ink); }
  body.page-id-1981 .crumbs a:hover{ text-decoration-color: var(--sec-ui); }
  body.page-id-1981 .ph--l2 .crumbs a:hover{ text-decoration-color: var(--sec-soft); }
}
body.page-id-1981 .chip.is-on{ background: var(--sec-ink); border-color: var(--sec-ink); }
body.page-id-1981 .finder__input:focus-visible{ outline-color: var(--sec-ui); }

@media (prefers-reduced-motion: reduce){
  body.page-id-1981 .mnav__link, body.page-id-1981 .mnav__link::after, body.page-id-1981 .mnav__toggle, body.page-id-1981 .mm::before, body.page-id-1981 .mm::after, body.page-id-1981 .mm-arc, body.page-id-1981 .sheet__sec, body.page-id-1981 .sheet__toggle span::after, body.page-id-1981 .toc a, body.page-id-1981 .edtoc a{ transition-duration: .01s !important; transition-delay: 0s !important; }
}

/* P12 · REFINEMENT PASS v1.2 -------------------------------------------------
   Navigation correctness (P1/P2 above), hero fit, home archive diptych,
   institutional partners, calmer Venue and Bari chapters, photography. */

/* 12.1 · HERO: "TRANSITION" always ends at the bell tower, never under it.
   Cause of the bug: with --t-size = 11.2vw the word was 48.3vw wide and started at the
   3.4vw gutter, so it ended at 51.7vw: exactly where the tower stands (49.4%-52.4% of the
   photo). It only looked right when 19svh was the active limit (e.g. at 150% zoom).
   Fix: the size is derived from the tower itself.
     ink right edge of the word = wrap left + 4.26em
     tower left edge            = centre - 0.561% of the photo width
     intended overlap           = .045em (the tower stands in front of the last stem only)
   so  t = (centre - .00561*fw - wrapLeft) / (4.26 - .045).
   Container units follow the real hero width (scrollbars included); vw is the fallback. */
@media (min-width: 701px){
  body.page-id-1981 .hero{
    --t-k: 4.215;
    --t-fit: calc((50vw - var(--fw) * .00561 - max(var(--gutter), (100vw - var(--maxw)) / 2)) / var(--t-k));
    --t-size: clamp(64px, min(var(--t-fit), 19svh), 188px);
  }
}
@supports (width: 1cqw){
  @media (min-width: 701px){
    body.page-id-1981 .hero{ container-type: inline-size; --t-fit: calc((50cqw - var(--fw) * .00561 - max(var(--gutter), (100cqw - var(--maxw)) / 2)) / var(--t-k)); }
  }
}

/* 12.2 · HOME · Conference archive: a two-edition diptych (teaser; the chapters live in /archive/) */
body.page-id-1981 .harch{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(88px, 10vw, 160px) clamp(72px, 8vw, 128px); overflow: hidden; }
body.page-id-1981 .harch__head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 20px; align-items: end; margin-bottom: clamp(44px, 5vw, 80px); }
body.page-id-1981 .harch__head .s-kicker{ grid-column: 1 / span 3; padding-top: 0; align-self: start; }
body.page-id-1981 .harch__intro{ grid-column: 4 / span 6; }
body.page-id-1981 .harch__title{ max-width: 18ch; font: 700 clamp(30px, 3.4vw, 56px)/1.02 var(--f-display); font-stretch: 86%; letter-spacing: -.02em; text-wrap: balance; }
body.page-id-1981 .harch__lead{ margin-top: 16px; max-width: 52ch; color: var(--on-navy-muted); }
body.page-id-1981 .harch__all{ grid-column: 10 / -1; justify-self: end; }
body.page-id-1981 .harch__pair{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: start; }
body.page-id-1981 .harch__ed{ position: relative; grid-column: 1 / span 7; }
body.page-id-1981 .harch__ed + .harch__ed{ grid-column: 8 / -1; margin-top: clamp(56px, 9vw, 150px); }
body.page-id-1981 .harch__fig{ position: relative; overflow: hidden; }
body.page-id-1981 .harch__fig img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.1s var(--ui-out); }
body.page-id-1981 .harch__fig::after{ content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, rgba(10, 31, 51, 0), rgba(10, 31, 51, .82)); pointer-events: none; }
body.page-id-1981 .harch__year{ position: absolute; left: clamp(14px, 1.6vw, 26px); bottom: clamp(4px, .7vw, 12px); z-index: 1; font: 700 clamp(84px, 10.5vw, 184px)/.8 var(--f-display); font-stretch: 62%; letter-spacing: -.025em; color: #fff; }
body.page-id-1981 .harch__ed + .harch__ed .harch__year{ font-size: clamp(72px, 8vw, 140px); }
body.page-id-1981 .harch__n{ margin-top: 20px; font: 600 12px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .harch__theme{ margin-top: 10px; max-width: 24ch; font: 700 clamp(24px, 2.3vw, 38px)/1.08 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
body.page-id-1981 .harch__link::after{ content: ""; position: absolute; inset: 0; z-index: 2; }   /* the whole edition is one link */
body.page-id-1981 .harch__link:focus-visible{ outline: none; }
body.page-id-1981 .harch__ed:focus-within{ outline: 2px solid #9FD8F3; outline-offset: 8px; }
body.page-id-1981 .harch__go{ margin-top: 14px; font: 600 15px/1.35 var(--f-display); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgba(255, 255, 255, .35); transition: text-decoration-color .3s; }
body.page-id-1981 .harch__go span{ display: inline-block; margin-left: .35em; transition: transform .25s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  body.page-id-1981 .harch__ed:hover .harch__fig img{ transform: scale(1.03); }
  body.page-id-1981 .harch__ed:hover .harch__go{ text-decoration-color: var(--cyan); }
  body.page-id-1981 .harch__ed:hover .harch__go span{ transform: translateX(4px); }
}
body.page-id-1981 .harch .harch__thread{ margin: clamp(56px, 7vw, 104px) 0 0; }
@media (max-width: 1023px){
  body.page-id-1981 .harch__head .s-kicker, body.page-id-1981 .harch__intro, body.page-id-1981 .harch__all{ grid-column: 1 / -1; justify-self: start; }
  body.page-id-1981 .harch__ed, body.page-id-1981 .harch__ed + .harch__ed{ grid-column: 1 / -1; margin-top: 0; }
  body.page-id-1981 .harch .harch__thread{ grid-template-columns: 1fr; row-gap: 8px; }
}

/* 12.3 · HOME · Host and supporters: LUM hosts; supporters sit below it at a smaller scale */
body.page-id-1981 .hpart{ background: var(--paper-warm); padding-block: clamp(48px, 5vw, 80px) clamp(56px, 6vw, 96px); }
body.page-id-1981 .hpart__host, body.page-id-1981 .hpart__row{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 12px; }
body.page-id-1981 .hpart__host{ align-items: center; padding-bottom: 28px; border-bottom: 2px solid var(--ink); }
body.page-id-1981 .hpart__row{ align-items: baseline; padding: 24px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .hpart__label{ grid-column: 1 / span 3; font: 600 11px/1.6 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .hpart__ref{ display: inline-block; margin-left: 8px; padding: 2px 7px; border: 1px solid var(--line); letter-spacing: .12em; color: var(--ink); }
body.page-id-1981 .hpart__lum{ grid-column: 4 / -1; display: flex; align-items: center; gap: clamp(14px, 1.4vw, 22px); font: 700 clamp(24px, 2.4vw, 38px)/1.05 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; color: var(--lum); }
body.page-id-1981 .hpart__lum img{ flex: none; width: clamp(48px, 4.4vw, 68px); height: auto; }
body.page-id-1981 .hpart__list{ grid-column: 4 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px var(--col-gap); }
body.page-id-1981 .hpart__list li{ display: flex; flex-direction: column; gap: 4px; }
body.page-id-1981 .hpart__list strong{ font: 600 17px/1.25 var(--f-display); color: var(--ink); }
body.page-id-1981 .hpart__list span{ font-size: 13px; line-height: 1.4; color: var(--muted); }
body.page-id-1981 .hpart__list--plain li{ font: 500 16px/1.3 var(--f-display); }
body.page-id-1981 .hpart__more{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 10px 24px; margin-top: 22px; font-size: 14.5px; color: var(--muted); }
@media (max-width: 1023px){
  body.page-id-1981 .hpart__label, body.page-id-1981 .hpart__lum, body.page-id-1981 .hpart__list{ grid-column: 1 / -1; }
  body.page-id-1981 .hpart__list{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){ body.page-id-1981 .hpart__list{ grid-template-columns: 1fr; } }

/* 12.4 · VENUE: an institutional chapter, not a poster. The plenary hall leads. */
body.page-id-1981 .venue{ padding-block: clamp(88px, 10vw, 160px) clamp(80px, 9vw, 144px); }
body.page-id-1981 .venue__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 40px; align-items: stretch; }
body.page-id-1981 .venue__intro{ grid-column: 1 / span 4; display: flex; flex-direction: column; align-items: flex-start; }
body.page-id-1981 .venue__intro .s-kicker{ padding-top: 0; }
body.page-id-1981 .venue__title{ margin-top: 22px; font: 700 clamp(34px, 3.7vw, 60px)/1.02 var(--f-display); font-stretch: 88%; letter-spacing: -.02em; text-transform: none; text-wrap: balance; }
body.page-id-1981 .venue__when{ margin-top: 18px; font: 600 12.5px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .venue__lead{ margin-top: 20px; max-width: 36ch; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
body.page-id-1981 .venue__aside{ width: 78%; margin-top: auto; padding-top: 40px; }
body.page-id-1981 .venue__aside picture{ display: block; overflow: hidden; }
body.page-id-1981 .venue__aside img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
body.page-id-1981 .venue__aside figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
body.page-id-1981 .venue__media{ grid-column: 6 / -1; width: auto; margin: 0; }
body.page-id-1981 .venue__media img{ aspect-ratio: 3 / 2; object-position: 50% 50%; }
@media (max-width: 1023px){
  body.page-id-1981 .venue__intro, body.page-id-1981 .venue__media{ grid-column: 1 / -1; }
  body.page-id-1981 .venue__aside{ display: none; }
}

/* 12.5 · BARI: context, one step below the venue */
body.page-id-1981 .bari__media{ grid-column: 1 / span 7; display: grid; grid-template-columns: 5fr 2.3fr; column-gap: var(--col-gap); align-items: end; }
body.page-id-1981 .bari__second picture{ display: block; overflow: hidden; }
body.page-id-1981 .bari__media .bari__second img{ aspect-ratio: 4 / 5; }
body.page-id-1981 .bari__text{ grid-column: 9 / -1; }
body.page-id-1981 .bari__title{ margin-top: 20px; font: 700 clamp(30px, 3.2vw, 50px)/1.05 var(--f-display); font-stretch: 90%; letter-spacing: -.018em; text-transform: none; }
@media (max-width: 1023px){ body.page-id-1981 .bari__media, body.page-id-1981 .bari__text{ grid-column: 1 / -1; } }
@media (max-width: 600px){ body.page-id-1981 .bari__media{ grid-template-columns: 1fr; row-gap: 24px; } body.page-id-1981 .bari__second{ width: 58%; } }

/* 12.6 · FIGURES: real photographs with captions */
body.page-id-1981 .figs{ display: grid; gap: 24px var(--col-gap); margin-top: clamp(36px, 4vw, 56px); }
body.page-id-1981 .figs--pair{ grid-template-columns: 1.72fr 1fr; align-items: end; }
body.page-id-1981 .figs--even{ grid-template-columns: 1fr 1fr; }
body.page-id-1981 .figs--lead{ margin: 0 0 clamp(48px, 5vw, 80px); }
body.page-id-1981 .fig picture{ display: block; overflow: hidden; }
body.page-id-1981 .fig img{ width: 100%; height: auto; }
body.page-id-1981 .fig figcaption{ margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--muted); }
body.page-id-1981 .fig--wide{ max-width: 980px; margin-top: clamp(32px, 4vw, 56px); }
@media (max-width: 700px){ body.page-id-1981 .figs--pair{ grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce){ body.page-id-1981 .harch__fig img, body.page-id-1981 .harch__go span{ transition: none; } }

/* room for the link + toggle pairs in the masthead */
body.page-id-1981 .nav .nav__inner{ gap: clamp(16px, 1.8vw, 32px); }
@media (max-width: 1320px){
  body.page-id-1981 .nav .nav__inner{ gap: 14px; }
  body.page-id-1981 .nav__brand{ gap: 10px; }
  body.page-id-1981 .mnav__link{ font-size: 13.5px; padding-left: 3px; }
  body.page-id-1981 .mnav__link::after{ left: 3px; }
  body.page-id-1981 .nav .nav__cta{ padding: 0 10px 0 12px; gap: 8px; }
}
@media (max-width: 1240px){ body.page-id-1981 .nav .nav__cta .btn__arrow{ display: none; } body.page-id-1981 .nav .nav__cta{ padding: 0 12px; } body.page-id-1981 .nav .nav__inner{ gap: 9px; } body.page-id-1981 .nav__brand{ gap: 8px; } }

/* fix (found in the v1.2 review, present since v1): between 701 and 900 px the shared arrow rule
   moved the track-row arrow to column 3 and pushed the publication label into a 28 px column */
@media (min-width: 701px) and (max-width: 900px){ body.page-id-1981 .trow .cix__arrow{ grid-column: 4; } }

/* P13 · FINAL POLISH (v1.3) ----------------------------------------------------
   Refinement only: hierarchy, section identity from --section-accent, calmer internal
   pages, one photography system, one primary CTA per page, authored interactions. */

/* 13.1 · HOME HERO · event facts: third level of the hero, after the title and the value line */
body.page-id-1981 .hero__facts{ width: min(100%, 1040px); grid-template-columns: auto minmax(0, auto) auto; border-top: 1px solid rgba(255, 255, 255, .62); }
body.page-id-1981 .hero__fact{ padding: 22px clamp(24px, 2.8vw, 48px) 2px; border-left: 1px solid rgba(255, 255, 255, .28); }
body.page-id-1981 .hero__facts dt{ gap: 12px; font-size: 12.5px; letter-spacing: .18em; color: rgba(255, 255, 255, .86); }
body.page-id-1981 .hero__facts dt::before{ width: 18px; height: 2px; }
body.page-id-1981 .hero__facts dd{ margin-top: 14px; font: 650 clamp(24px, 2.2vw, 34px)/1.08 var(--f-display); font-stretch: 92%; letter-spacing: -.014em; }
body.page-id-1981 .hero__fact:nth-child(2) dd{ white-space: normal; text-wrap: balance; }
@media (max-width: 700px){
  body.page-id-1981 .hero__facts{ grid-template-columns: 1fr; }
  body.page-id-1981 .hero__fact, body.page-id-1981 .hero__fact:first-child{ padding: 12px 0; grid-template-columns: 84px minmax(0, 1fr); }
  body.page-id-1981 .hero__facts dt{ font-size: 11px; }
  body.page-id-1981 .hero__facts dd{ margin-top: 0; font-size: 21px; }
}

/* 13.2 · CURRENT PHASE BAND: live information, CTA dominant */
body.page-id-1981 .status::before{ height: 2px; opacity: 1; }
body.page-id-1981 .status__inner{ grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(0, .9fr) auto; align-items: center; gap: clamp(20px, 2.4vw, 40px); padding-block: 20px; }
body.page-id-1981 .status__key, body.page-id-1981 .status__next{ padding-left: clamp(20px, 2.4vw, 40px); border-left: 1px solid rgba(255, 255, 255, .22); }
body.page-id-1981 .status__label{ margin-bottom: 9px; font-size: 12px; letter-spacing: .17em; color: #B9C6D4; }
body.page-id-1981 .status__phase .status__label{ color: #D6EFB8; font-weight: 700; }
body.page-id-1981 .status__title{ font: 650 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 92%; letter-spacing: -.012em; }
body.page-id-1981 .status__value{ flex-wrap: nowrap; align-items: center; white-space: nowrap; gap: 6px 12px; font: 600 clamp(19px, 1.6vw, 25px)/1.32 var(--f-display); letter-spacing: -.005em; }
body.page-id-1981 .status__count{ padding: 5px 9px; border: 1px solid rgba(91, 194, 238, .55); font: 600 12.5px/1 var(--f-display); letter-spacing: .02em; color: #8FD6F5; white-space: nowrap; }
body.page-id-1981 .status__cta{ min-height: 58px; padding: 0 22px 0 26px; font-size: 16px; gap: 22px; }
@media (max-width: 1199px){ body.page-id-1981 .status__key{ padding-left: 0; border-left: 0; } body.page-id-1981 .status__value{ flex-wrap: wrap; white-space: normal; } }

/* 13.3 · INTERNAL HEROES: navy base, tinted toward the section accent; 45-55vh */
body.page-id-1981 .ph--l2{
  min-height: clamp(340px, 50svh, 500px);
  padding: calc(var(--nav-h-min) + clamp(36px, 4.4vw, 64px)) 0 clamp(36px, 4.4vw, 60px);
  background: var(--navy);
  background:
    radial-gradient(90% 130% at 88% 118%, color-mix(in oklab, var(--section-accent) 34%, var(--navy)) 0%, transparent 62%),
    linear-gradient(180deg, color-mix(in oklab, var(--section-accent) 7%, var(--navy)) 0%, color-mix(in oklab, var(--section-accent) 17%, var(--navy)) 100%);
  --focus: #BFE6F8;
}
body.page-id-1981 .ph--l2::after{ height: 3px; opacity: 1; background: linear-gradient(90deg, var(--sec-soft) 0%, color-mix(in srgb, var(--sec-soft) 30%, transparent) 46%, transparent 78%); }
body.page-id-1981 .ph__title{ margin-top: 16px; font-size: clamp(38px, 4.7vw, 76px); line-height: .96; font-stretch: 80%; letter-spacing: -.024em; }
body.page-id-1981 .ph--l3 .ph__title{ font-size: clamp(32px, 3.5vw, 54px); line-height: 1; font-stretch: 84%; max-width: 26ch; }
body.page-id-1981 .page-track .ph__title{ font-size: clamp(28px, 2.9vw, 44px); line-height: 1.04; }
body.page-id-1981 .ph__lead{ margin-top: 18px; font-size: clamp(16.5px, 1.25vw, 19px); }
body.page-id-1981 .ph--l3{ background: var(--paper); background: color-mix(in oklab, var(--section-accent) 5%, var(--paper)); padding: calc(var(--nav-h-min) + clamp(32px, 4vw, 56px)) 0 clamp(32px, 4vw, 52px); }
body.page-id-1981 .ph__kicker{ display: flex; align-items: center; gap: 12px; letter-spacing: .17em; }
body.page-id-1981 .ph__kicker::before{ content: ""; width: 28px; height: 2px; background: var(--sec-ui); flex: none; }
body.page-id-1981 .ph--l2 .ph__kicker::before{ background: var(--sec-soft); }
/* the Twin arcs take part in the variation: position, scale and weight per section */
body.page-id-1981 .ph__arcs{ transform: translate(var(--arc-x, 0), var(--arc-y, 0)) scale(var(--arc-s, 1)); transform-origin: 100% 100%; opacity: var(--arc-o, .85); }
body.page-id-1981 [data-sec="calls"] .ph__arcs{ --arc-s: 1.16; }
body.page-id-1981 [data-sec="authors"] .ph__arcs{ --arc-s: .94; --arc-x: -7%; }
body.page-id-1981 [data-sec="programme"] .ph__arcs{ --arc-s: .82; --arc-x: -3%; }
body.page-id-1981 [data-sec="venue"] .ph__arcs{ --arc-s: 1.34; --arc-y: 22%; }
body.page-id-1981 [data-sec="archive"] .ph__arcs{ --arc-s: .74; --arc-o: .55; }
body.page-id-1981 .ph-arc--g path{ stroke: rgba(157, 196, 106, .62); }
/* edition header (archive): same base, calmer numerals */
body.page-id-1981 .edh{ background: var(--navy); background: linear-gradient(180deg, color-mix(in oklab, var(--section-accent) 8%, var(--navy)), color-mix(in oklab, var(--section-accent) 20%, var(--navy))); padding: calc(var(--nav-h-min) + clamp(36px, 4.4vw, 64px)) 0 clamp(40px, 4.6vw, 64px); --focus: #BFE6F8; }
body.page-id-1981 .edh::after{ background: linear-gradient(90deg, var(--sec-soft), transparent 78%); opacity: 1; }
body.page-id-1981 .edh__year{ font-size: clamp(84px, 10.5vw, 168px); }
body.page-id-1981 .edh__title{ font-size: clamp(28px, 3vw, 46px); }

/* 13.4 · BREADCRUMB: a navigation aid that can be read */
body.page-id-1981 .crumbs ol{ gap: 4px 10px; margin-bottom: 22px; font: 500 14px/1.3 var(--f-display); letter-spacing: .005em; color: var(--ink-2); }
body.page-id-1981 .crumbs li{ display: flex; align-items: center; gap: 10px; }
body.page-id-1981 .crumbs li + li::before{ content: "/"; margin-right: 0; color: var(--sec-ui); font-weight: 600; }
body.page-id-1981 .crumbs a{ padding-block: 4px; text-decoration-color: color-mix(in srgb, var(--sec-ui) 55%, transparent); text-underline-offset: 4px; }
body.page-id-1981 .crumbs [aria-current]{ font-weight: 650; color: var(--ink); }
body.page-id-1981 .ph--l2 .crumbs ol, body.page-id-1981 .crumbs--light ol{ color: #D3DCE6; }
body.page-id-1981 .ph--l2 .crumbs li + li::before, body.page-id-1981 .crumbs--light li + li::before{ color: var(--sec-soft); }
body.page-id-1981 .ph--l2 .crumbs a, body.page-id-1981 .crumbs--light a{ text-decoration-color: rgba(255, 255, 255, .42); }
body.page-id-1981 .ph--l2 .crumbs [aria-current], body.page-id-1981 .crumbs--light [aria-current]{ color: #fff; }

/* 13.5 · SECTION HUB: what the section covers + editorial entries */
body.page-id-1981 .hub{ background: var(--paper); background: color-mix(in oklab, var(--section-accent) 5%, var(--paper)); padding-block: clamp(40px, 4.6vw, 72px) clamp(44px, 5vw, 80px); border-bottom: 1px solid var(--line); }
body.page-id-1981 .hub__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; align-items: start; }
body.page-id-1981 .hub__lead{ grid-column: 1 / span 4; }
body.page-id-1981 .hub__kicker{ display: flex; align-items: center; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .17em; text-transform: uppercase; color: var(--sec-ink); }
body.page-id-1981 .hub__kicker::before{ content: ""; width: 28px; height: 2px; background: var(--sec-ui); }
body.page-id-1981 .hub__statement{ margin-top: 18px; max-width: 30ch; font: 500 clamp(19px, 1.55vw, 24px)/1.38 var(--f-display); letter-spacing: -.006em; color: var(--ink); text-wrap: pretty; }
body.page-id-1981 .hub__related{ display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; }
body.page-id-1981 .hub .cix{ grid-column: 6 / -1; }
body.page-id-1981 .cix__item a{ position: relative; grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 176px) 24px; padding: 20px 0; }
body.page-id-1981 .cix__s{ grid-column: 4; text-align: right; white-space: normal; }
body.page-id-1981 .cix__arrow{ grid-column: 5; }
body.page-id-1981 .cix__item a::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--sec-ui); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
body.page-id-1981 .cix__t{ font: 650 clamp(19px, 1.6vw, 24px)/1.18 var(--f-display); font-stretch: 90%; transition: color .3s var(--ui-out); }
body.page-id-1981 .cix__arrow{ transition: transform .35s var(--ui-out); }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .cix__item a:hover::after{ transform: scaleX(1); } }
body.page-id-1981 .cix__item a:focus-visible::after{ transform: scaleX(1); }
@media (max-width: 1023px){ body.page-id-1981 .hub__lead, body.page-id-1981 .hub .cix{ grid-column: 1 / -1; } body.page-id-1981 .hub__statement{ max-width: 46ch; } }
@media (max-width: 900px){ body.page-id-1981 .cix__item a{ grid-template-columns: 34px minmax(0, 1fr) 22px; } body.page-id-1981 .cix__s{ grid-column: 2; text-align: left; } body.page-id-1981 .cix__arrow{ grid-column: 3; } }

/* 13.6 · PHOTOGRAPHY SYSTEM: four treatments, nothing else */
body.page-id-1981 .fig picture{ display: block; overflow: hidden; background: var(--line-2); }
body.page-id-1981 .fig img{ width: 100%; height: auto; object-fit: cover; }
body.page-id-1981 .fig--a img{ aspect-ratio: 21 / 9; }      /* A · full-width contextual */
body.page-id-1981 .fig--b img{ aspect-ratio: 3 / 2; }       /* B · editorial landscape */
body.page-id-1981 .fig--bp img{ aspect-ratio: 4 / 5; }      /* B · editorial portrait */
body.page-id-1981 .fig--c img{ aspect-ratio: 4 / 3; }       /* C · diptych half */
body.page-id-1981 .fig--d img{ aspect-ratio: 16 / 9; }      /* D · wide documentary */
body.page-id-1981 .figs--c{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px var(--col-gap); margin-top: clamp(36px, 4vw, 56px); }
body.page-id-1981 .figs--c.figs--lead{ margin: 0 0 clamp(48px, 5vw, 80px); }
body.page-id-1981 .figwrap{ padding-block: clamp(40px, 4.6vw, 72px) 0; }
body.page-id-1981 .figwrap--half .fig{ width: min(100%, 880px); }
body.page-id-1981 .figwrap--in{ padding-block: clamp(36px, 4vw, 56px) 0; }
body.page-id-1981 .fig--d{ max-width: 980px; margin-top: clamp(32px, 4vw, 56px); }
body.page-id-1981 .venue__aside img{ aspect-ratio: 3 / 2; }
body.page-id-1981 .pg__aside--flow{ position: static; }
body.page-id-1981 .pg__aside--flow .fig{ margin-top: 4px; }
@media (max-width: 700px){ body.page-id-1981 .figs--c{ grid-template-columns: 1fr; } body.page-id-1981 .fig--a img{ aspect-ratio: 16 / 9; } }

/* 13.7 · ARCHIVE: an institutional record per edition */
body.page-id-1981 .rec{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; padding-block: clamp(40px, 4.6vw, 72px); border-top: 2px solid var(--ink); scroll-margin-top: calc(var(--nav-h-min) + 20px); }
body.page-id-1981 .rec + .rec{ margin-top: clamp(24px, 3vw, 48px); }
body.page-id-1981 .rec__head{ grid-column: 1 / span 5; }
body.page-id-1981 .rec__year{ font: 700 clamp(64px, 7vw, 112px)/.82 var(--f-display); font-stretch: 66%; letter-spacing: -.02em; color: var(--ink); }
body.page-id-1981 .rec__n{ margin-top: 18px; font: 600 12px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--sec-ink); }
body.page-id-1981 .rec__title{ margin-top: 10px; max-width: 22ch; font: 700 clamp(24px, 2.3vw, 36px)/1.08 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
body.page-id-1981 .rec__sub{ margin-top: 12px; max-width: 46ch; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
body.page-id-1981 .rec__head .fig{ margin-top: 28px; }
body.page-id-1981 .rec__data{ grid-column: 7 / -1; border-top: 1px solid var(--ink); }
body.page-id-1981 .rec__data > div{ display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-id-1981 .rec__data dt{ padding-top: 3px; font: 600 11px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
body.page-id-1981 .rec__data dd{ font: 500 16.5px/1.5 var(--f-display); }
body.page-id-1981 .rec__people li{ display: flex; flex-wrap: wrap; gap: 2px 10px; padding: 3px 0; }
body.page-id-1981 .rec__people strong{ font-weight: 600; }
body.page-id-1981 .rec__people span, body.page-id-1981 .rec__note, body.page-id-1981 .rec__type{ font: 400 14px/1.5 var(--f-text); color: var(--muted); }
body.page-id-1981 .rec__list{ margin: 6px 0 10px; }
body.page-id-1981 .rec__list li{ padding: 3px 0; }
body.page-id-1981 .rec__type{ margin-left: 6px; letter-spacing: .06em; }
body.page-id-1981 .rec__more{ grid-column: 7 / -1; }
@media (max-width: 1023px){ body.page-id-1981 .rec__head, body.page-id-1981 .rec__data, body.page-id-1981 .rec__more{ grid-column: 1 / -1; } }
@media (max-width: 600px){ body.page-id-1981 .rec__data > div{ grid-template-columns: 1fr; gap: 6px; } }

/* 13.8 · HOME ARCHIVE DIPTYCH: crop shift instead of a generic zoom */
body.page-id-1981 .harch__fig img{ transform: scale(1.04) translate3d(0, 1.2%, 0); transition: transform .9s var(--ui-out); }
body.page-id-1981 .harch__go{ text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 5px; display: inline-block; }
body.page-id-1981 .harch__go::after{ content: ""; display: block; height: 2px; margin-top: 4px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  body.page-id-1981 .harch__ed:hover .harch__fig img{ transform: scale(1.04) translate3d(0, -1.2%, 0); }
  body.page-id-1981 .harch__ed:hover .harch__go::after{ transform: scaleX(1); }
}
body.page-id-1981 .harch__ed:focus-within .harch__go::after{ transform: scaleX(1); }

/* 13.9 · HOST / SUPPORTERS / PARTNERS: the same structure with 2, 6 or 12 entries, text or logo */
body.page-id-1981 .hpart__list{ grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); align-items: start; }
body.page-id-1981 .hpart__list li{ min-height: 44px; justify-content: center; }
body.page-id-1981 .hpart__logo{ display: block; width: auto; max-width: 132px; height: auto; max-height: 40px; object-fit: contain; filter: grayscale(1); opacity: .82; }
body.page-id-1981 .hpart__list--minor{ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
body.page-id-1981 .hpart__list--minor strong{ font-size: 15px; font-weight: 500; }
body.page-id-1981 .hpart__list--minor .hpart__logo{ max-width: 108px; max-height: 32px; }

/* 13.10 · TYPOGRAPHIC SCALE: home may be cinematic, internal pages are calmer */
body.page-id-1981 .call__title{ font-size: clamp(44px, 5.6vw, 96px); line-height: .9; font-stretch: 78%; max-width: 12ch; }
body.page-id-1981 .cd--key .cd__value{ font-size: clamp(36px, 3.6vw, 60px); }
body.page-id-1981 .htheme .s-title{ font-size: clamp(32px, 3.6vw, 58px); }
body.page-id-1981 .st{ margin-top: clamp(48px, 5.2vw, 84px); }
body.page-id-1981 .st__title{ font-size: clamp(26px, 2.5vw, 40px); line-height: 1.06; }
body.page-id-1981 .is-ops .st__title{ font-size: clamp(23px, 2vw, 31px); font-stretch: 90%; }
body.page-id-1981 .is-ops .st{ margin-top: clamp(40px, 4.4vw, 64px); border-top-width: 1px; border-top-color: var(--ink); }
body.page-id-1981 .is-ops .pg{ padding-block: clamp(44px, 5vw, 80px); }
body.page-id-1981 .fees td{ font-size: clamp(19px, 1.6vw, 24px); }
body.page-id-1981 .journey__t{ font-size: 19px; }
@media (max-width: 700px){ body.page-id-1981 .call__title{ font-size: clamp(40px, 11.6vw, 56px); } }

/* 13.11 · CTA HIERARCHY: one primary action per page, secondary actions recede */
body.page-id-1981 .btn--ghost{ --bg: transparent; --fg: var(--ink); --bd: var(--ink); --bg-h: var(--ink); --fg-h: #fff; min-height: 48px; font-size: 14.5px; }
body.page-id-1981 .btn--ghost.btn--on-navy, body.page-id-1981 .htheme .btn--ghost{ --fg: #fff; --bd: rgba(255, 255, 255, .6); --bg-h: #fff; --fg-h: var(--ink); }
body.page-id-1981 .btn--ghost-lum{ --fg: var(--lum); --bd: var(--lum); --bg-h: var(--lum); --fg-h: #fff; }

/* 13.12 · INTERACTION: authored, 250-500 ms */
body.page-id-1981 .link{ transition: text-decoration-color .35s var(--ui-out), color .35s var(--ui-out); }
body.page-id-1981 .trow a{ position: relative; }
body.page-id-1981 .trow a::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--sec-ui); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .trow a:hover::after{ transform: scaleX(1); } }
body.page-id-1981 .trow a:focus-visible::after{ transform: scaleX(1); }
body.page-id-1981 .trow__title{ transition: color .3s var(--ui-out); }

/* 13.13 · STATE IS NEVER COLOUR ONLY */
body.page-id-1981 .toc a{ position: relative; padding-left: 0; transition: color var(--sec-in) var(--ui-out), padding-left .3s var(--ui-out); }
body.page-id-1981 .toc a.is-active{ padding-left: 14px; font-weight: 650; }
body.page-id-1981 .toc a.is-active::before{ content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 2px; background: var(--sec-ui); }
body.page-id-1981 .edtoc a{ padding-block: 6px; border-bottom: 2px solid transparent; }
body.page-id-1981 .edtoc a.is-active{ border-bottom-color: var(--sec-ui); font-weight: 650; }
body.page-id-1981 .sheet__sec[aria-current="page"]{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
body.page-id-1981 .mm__links a[aria-current="page"] .mm__t{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
body.page-id-1981 .harch, body.page-id-1981 .bari, body.page-id-1981 .hero, body.page-id-1981 .ctab, body.page-id-1981 .htheme{ --focus: #BFE6F8; }
body.page-id-1981 .mnav__link:focus-visible, body.page-id-1981 .mnav__toggle:focus-visible{ outline-color: var(--sec-ink); }

/* 13.14 · MOTION HIERARCHY: home = full Twin motion · internal = quieter · operational = still */
@media (prefers-reduced-motion: no-preference){
  body.page-id-1981 .ph-arc--g{ animation-duration: 34s; --dx: 10px; }
  body.page-id-1981 .ph-arc--d{ animation-duration: 41s; --dx: -9px; }
  body.page-id-1981 .ph-flow{ animation-duration: 44s; }
  body.page-id-1981 .ph-flow--rev{ animation-duration: 38s; }
  body.page-id-1981 .is-ops .ph-arc, body.page-id-1981 .is-ops .ph-flow{ animation: none; }
  body.page-id-1981 .is-ops .ph-flow{ opacity: .5; }
}

/* 13.15 · FOOTER: institutional and useful, not a second hero */
body.page-id-1981 .footer{ padding-top: clamp(132px, 15vw, 236px); }
body.page-id-1981 .footer__night{ height: clamp(210px, 22vw, 340px); }
body.page-id-1981 .footer__sign{ padding-bottom: clamp(28px, 3.4vw, 48px); }
body.page-id-1981 .footer__logo{ width: clamp(196px, 22vw, 320px); }
body.page-id-1981 .footer__seal{ width: clamp(200px, 24vw, 380px); bottom: -90%; }
body.page-id-1981 .footer__cols--v13{ grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1.4fr) minmax(0, 1.3fr); column-gap: var(--col-gap); padding-block: clamp(36px, 4.4vw, 56px); }
body.page-id-1981 .footer__title{ font-size: clamp(22px, 2vw, 28px); }
body.page-id-1981 .footer__edition{ margin-top: 8px !important; font: 600 12px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: #fff !important; }
body.page-id-1981 .footer__group-title{ margin-bottom: 14px; font: 600 11px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
body.page-id-1981 .footer__group li{ padding: 4px 0; font-size: 14.5px; line-height: 1.5; color: var(--on-navy-muted); }
body.page-id-1981 .footer__group li a{ display: inline; padding: 0; font-size: inherit; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .28); text-underline-offset: 4px; transition: text-decoration-color .3s var(--ui-out); }
body.page-id-1981 .footer__group li.footer__gap{ margin-top: 12px; }
@media (hover: hover) and (pointer: fine){ body.page-id-1981 .footer__group li a:hover{ text-decoration-color: var(--cyan); } }
@media (max-width: 1023px){ body.page-id-1981 .footer__cols--v13{ grid-template-columns: 1fr 1fr; row-gap: 36px; } }
@media (max-width: 560px){ body.page-id-1981 .footer__cols--v13{ grid-template-columns: 1fr; } }

/* 13.16 · TABLET (701-1199): its own rhythm, not a squeezed desktop */
@media (max-width: 1199px) and (min-width: 701px){
  body.page-id-1981 .hero__facts{ width: 100%; }
  body.page-id-1981 .hero__fact{ padding-inline: clamp(16px, 2.4vw, 28px); }
  body.page-id-1981 .hero__fact:first-child{ padding-left: 0; }
  body.page-id-1981 .status__inner{ grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); row-gap: 20px; }
  body.page-id-1981 .status__phase{ grid-column: 1 / -1; }
  body.page-id-1981 .status__cta{ grid-column: 1 / -1; justify-self: stretch; }
  body.page-id-1981 .ph--l2{ min-height: clamp(320px, 38svh, 440px); }
  body.page-id-1981 .harch__ed, body.page-id-1981 .harch__ed + .harch__ed{ grid-column: span 6; margin-top: 0; }
  body.page-id-1981 .harch__ed + .harch__ed .harch__year, body.page-id-1981 .harch__year{ font-size: clamp(64px, 10vw, 108px); }
  body.page-id-1981 .venue__intro{ grid-column: 1 / -1; }
  body.page-id-1981 .bari__media{ grid-column: 1 / -1; }
}
@media (max-width: 1023px) and (min-width: 701px){
  body.page-id-1981 .harch .harch__thread{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.page-id-1981 .rec__data > div{ grid-template-columns: 150px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce){
  body.page-id-1981 .cix__item a::after, body.page-id-1981 .trow a::after, body.page-id-1981 .harch__go::after, body.page-id-1981 .harch__fig img, body.page-id-1981 .toc a{ transition: none; }
}

/* 13.17 · HERO on tall viewports (portrait tablets): the dark zone never starts higher than 540 px
   above the bottom, so the photograph keeps its space. On landscape desktops --night already wins. */
body.page-id-1981 .hero__shade{
  --n2: max(var(--night), calc(var(--hh) - 540px));
  background: linear-gradient(180deg,
    rgba(10, 31, 51, 0) 0,
    rgba(10, 31, 51, 0) calc(var(--n2) - 16px),
    rgba(10, 31, 51, .5) calc(var(--n2) + 70px),
    rgba(10, 31, 51, .84) calc(var(--n2) + 230px),
    var(--navy) 100%);
}
body.page-id-1981 .hero__shade::after{ top: var(--n2); }
/* on narrow viewports the arcs sit behind the title: keep them as atmosphere only */
@media (max-width: 1023px){ body.page-id-1981 .ph__arcs{ opacity: calc(var(--arc-o, .85) * .5); } }

/* P14 · PRE-FREEZE CORRECTIONS (v1.3, audit docs/09) ---------------------------
   Four proven defects, nothing else. No visual change outside these cases. */

/* P0-01 · PHONE HERO: the bell tower may rise into TRANSITION only with the tip of its spire.
   The tower is as wide as a letter, so no horizontal position can keep a letter free. The
   relationship is therefore vertical: main.js anchors the tip of the spire to the baseline
   of the word, 0.12em above it, at every width up to 700 px. At that depth the spire is
   about 0.09em wide: it touches the foot of one letter and leaves at least 86% of its height
   visible. The values below are the no-script approximation of the same geometry. */
@media (max-width: 700px){
  body.page-id-1981 .hero{ --horizon: .53; --tcut: .18; }
  /* the cut-out ends exactly under the word, also when that is above the base of the spire */
  body.page-id-1981 .hero__layer--tower .hero__frame{ clip-path: inset(0 0 calc(100% - var(--tcut) * 100%) 0); }
}

/* P0-02 · SECTION HUB rows follow the width of the list, not the viewport.
   Below 680 px of available width the description moves under the title, so a long label
   ("Accommodation", "Publication Opportunities") has the whole column. */
body.page-id-1981 .hub .cix{ container-type: inline-size; container-name: cix; }
body.page-id-1981 .cix__t, body.page-id-1981 .cix__d{ min-width: 0; overflow-wrap: break-word; }
@container cix (min-width: 480px) and (max-width: 680px){
  body.page-id-1981 .cix__item a{ grid-template-columns: 40px minmax(0, 1fr) minmax(0, 150px) 22px; row-gap: 4px; }
  body.page-id-1981 .cix__t{ grid-column: 2; grid-row: 1; }
  body.page-id-1981 .cix__d{ grid-column: 2; grid-row: 2; }
  body.page-id-1981 .cix__s{ grid-column: 3; grid-row: 1 / span 2; align-self: center; text-align: right; }
  body.page-id-1981 .cix__arrow{ grid-column: 4; grid-row: 1 / span 2; }
}
@supports not (container-type: inline-size){
  @media (min-width: 1024px) and (max-width: 1289px){
    body.page-id-1981 .hub .cix__item a{ grid-template-columns: 40px minmax(0, 1fr) minmax(0, 150px) 22px; row-gap: 4px; }
    body.page-id-1981 .hub .cix__t{ grid-column: 2; grid-row: 1; }
    body.page-id-1981 .hub .cix__d{ grid-column: 2; grid-row: 2; }
    body.page-id-1981 .hub .cix__s{ grid-column: 3; grid-row: 1 / span 2; align-self: center; text-align: right; }
    body.page-id-1981 .hub .cix__arrow{ grid-column: 4; grid-row: 1 / span 2; }
  }
}

/* P1-03 · PUBLICATIONS in a narrow column (Special Track sidebar): vertical flow.
   type, then journal, then special-issue title, then the link. The wide list is unchanged. */
body.page-id-1981 .publist{ container-type: inline-size; container-name: publist; }
@container publist (max-width: 460px){
  body.page-id-1981 .publist__item{ grid-template-columns: minmax(0, 1fr); gap: 6px; }
  body.page-id-1981 .publist__item .link{ justify-self: start; margin-top: 4px; }
}
/* without container queries: the sidebar exists from 1024 px up; below that the list is full width again */
@supports not (container-type: inline-size){
  @media (min-width: 1024px){
    body.page-id-1981 .pg__aside .publist__item{ grid-template-columns: minmax(0, 1fr); gap: 6px; }
    body.page-id-1981 .pg__aside .publist__item .link{ justify-self: start; margin-top: 4px; }
  }
}
body.page-id-1981 .publist__journal, body.page-id-1981 .publist__si{ overflow-wrap: break-word; }
/* =========================================================
   AF27 · WORDPRESS THEME-CONFLICT FIX
   Append at the VERY END of the existing AF27 Custom CSS.
   Scope: AF27 Home only (page ID 1981)
   ========================================================= */

/* OceanWP / Elementor may apply direct heading styles that beat
   the Golden Master's inherited section colours. Neutralise only
   presentation properties that must come from AF27. */
body.page-id-1981 .af27 h1,
body.page-id-1981 .af27 h2,
body.page-id-1981 .af27 h3,
body.page-id-1981 .af27 h4,
body.page-id-1981 .af27 h5,
body.page-id-1981 .af27 h6 {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Light/paper sections: titles are ink in the frozen Golden Master. */
body.page-id-1981 .af27 .call__title,
body.page-id-1981 .af27 .hdates__title,
body.page-id-1981 .af27 .venue__title {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
}

/* Ensure the Current Call title keeps its authored block geometry,
   rather than inheriting any inline-heading treatment from the theme. */
body.page-id-1981 .af27 .call__title {
  display: block !important;
  padding: 0 !important;
}

/* Venue title: same authored treatment on the paper background. */
body.page-id-1981 .af27 .venue__title {
  padding: 0 !important;
}
/* =========================================================
   AF27 · FIX REALE TITOLI SU FONDO CHIARO
   ERRORE CORRETTO: il root HTML è .af27-root, NON .af27
   Incollare IN FONDO al Custom CSS.
   ========================================================= */

body.page-id-1981 .af27-root #call-title,
body.page-id-1981 .af27-root #hdates-title,
body.page-id-1981 .af27-root #venue-title {
  color: #0B1B2B !important;
  -webkit-text-fill-color: #0B1B2B !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Neutralizza anche eventuali wrapper/spans iniettati dal tema/editor */
body.page-id-1981 .af27-root #call-title *,
body.page-id-1981 .af27-root #hdates-title *,
body.page-id-1981 .af27-root #venue-title * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: none !important;
  background-color: transparent !important;
}
/* AF27 · HERO PERFORMANCE FIX */
@media (prefers-reduced-motion: no-preference) {

  body.page-id-1981 .hero .t-char {
    will-change: transform;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    font-weight: 800 !important;
  }

  body.page-id-1981 .hero .t-line--twin .t-char {
    font-stretch: 125% !important;
    transform: translate3d(0,106%,0) scaleX(.58);
    transform-origin: center bottom;
  }

  body.page-id-1981 .hero .t-line--transition .t-char {
    font-stretch: 62% !important;
    transform: translate3d(0,106%,0) scaleX(1.65);
    transform-origin: center bottom;
  }

  body.page-id-1981 .hero.is-in .t-char {
    transform: translate3d(0,0,0) scaleX(1);
    transition:
      transform 1.15s var(--ease-out)
      calc(var(--i) * 34ms + .28s) !important;
  }

  body.page-id-1981 .hero__frame {
    will-change: clip-path;
  }

  body.page-id-1981 .hero__layer,
  body.page-id-1981 .arc,
  body.page-id-1981 .arc__bar,
  body.page-id-1981 .arc__data circle {
    backface-visibility: hidden;
  }
}
/* =========================================================
   AF27 · HERO PERFORMANCE PASS 02
   Keep ambient Twin motion OFF during the opening sequence.
   Append at the VERY END of AF27 Custom CSS.
   ========================================================= */

@media (prefers-reduced-motion: no-preference) {
  body.page-id-1981:not(.af27-ambient-on) .hero .amb-drift-g,
  body.page-id-1981:not(.af27-ambient-on) .hero .amb-drift-d,
  body.page-id-1981:not(.af27-ambient-on) .hero .amb-breath-g,
  body.page-id-1981:not(.af27-ambient-on) .hero .amb-breath-d,
  body.page-id-1981:not(.af27-ambient-on) .hero .amb-rings,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__sheen,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__flow,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__glint,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__bar,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__pulse,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__node,
  body.page-id-1981:not(.af27-ambient-on) .hero .arc__halos circle {
    animation: none !important;
  }
}
/* =========================================================
   AF27 · INTERNAL PLATFORM — GLOBAL WORDPRESS BRIDGE
   ADD ONCE after the existing AF27 Home CSS.
   Future AF27 internal pages reuse this same block.
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,300..900&family=Inter:opsz,wght@14..32,400..600&display=swap");

body.elementor-page:has(.af27-root[data-af27-platform="internal"]) {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip;
}
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor-element,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .e-con,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .e-con-inner,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor-widget,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .e-con,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .e-con-inner,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor-widget-html,
body.elementor-page:has(.af27-root[data-af27-platform="internal"]) .elementor-widget-html > .elementor-widget-container {
  padding: 0 !important;
  gap: 0 !important;
  --container-max-width: 100%;
}
body.admin-bar:has(.af27-root[data-af27-platform="internal"]) .af27-root .nav { top: 32px; }
@media (max-width:782px) {
  body.admin-bar:has(.af27-root[data-af27-platform="internal"]) .af27-root .nav { top: 46px; }
}
html.sheet-open { overflow: hidden; }

/* ==========================================================================
   3rd A&F LUM Conference 2027 · Twin Transition and Sustainable Value Creation
   Università LUM Giuseppe Degennaro
   --------------------------------------------------------------------------
   Structure (each block maps to a WordPress block/template part):
   00 tokens · 01 base · 02 components · 03 nav + rail · 04 hero · 05 status
   06 theme · 07 research + tracks · 08 calls · 09 programme · 10 editions
   11 venue · 12 host (LUM moment) · 13 footer · 14 motion states
   15 responsive · 16 reduced motion
   ========================================================================== */

/* 00 · TOKENS ------------------------------------------------------------ */
.af27-root[data-af27-platform="internal"]{
  /* institution */
  --lum: #AC103D;            /* sampled from the current official LUM logo */
  --lum-deep: #8F1739;       /* official vector seal */
  --lum-blue: #004A98;       /* official logo rule */

  /* base */
  --paper: #F4F2EE;
  --paper-warm: #F3EFE8;
  --white: #FFFFFF;
  --ink: #0B1B2B;
  --ink-2: #2A3947;
  --muted: #56616E;
  --line: rgba(11, 27, 43, .16);
  --line-2: rgba(11, 27, 43, .08);

  --navy: #0A1F33;
  --navy-2: #0E2A44;
  --on-navy: #FFFFFF;
  --on-navy-muted: #A9B8C8;
  --line-navy: rgba(255, 255, 255, .14);

  /* event (Twin Transition) */
  --green: #9DC46A;
  --green-ink: #3D6B25;
  --cyan: #5BC2EE;
  --cyan-ink: #0A6A94;
  --twin: linear-gradient(90deg, var(--green), var(--cyan));
  --sky-1: #DCE5F0;
  --sky-2: #BFD0EA;

  /* type */
  --f-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-text: "Inter", "Helvetica Neue", Arial, sans-serif;

  /* layout */
  --maxw: 1520px;
  --gutter: clamp(16px, 3.4vw, 52px);
  --col-gap: clamp(16px, 2vw, 32px);
  --nav-h: 88px;
  --nav-h-min: 68px;
  --band-h: 112px;
  --rail-h: 0px;

  /* motion */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
}

@property --arc-in{ syntax: "<number>"; inherits: true; initial-value: 0; }

/* 01 · BASE -------------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] *, .af27-root[data-af27-platform="internal"] *::before, .af27-root[data-af27-platform="internal"] *::after{ box-sizing: border-box; }
html:has(.af27-root[data-af27-platform="internal"]){ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-h-min) + 12px); }
@media (prefers-reduced-motion: no-preference){ html:has(.af27-root[data-af27-platform="internal"]){ scroll-behavior: smooth; } }
.af27-root[data-af27-platform="internal"]{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 17px/1.65 var(--f-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
.af27-root[data-af27-platform="internal"] img, .af27-root[data-af27-platform="internal"] svg, .af27-root[data-af27-platform="internal"] picture{ display: block; max-width: 100%; }
.af27-root[data-af27-platform="internal"] img{ height: auto; }
.af27-root[data-af27-platform="internal"] a{ color: inherit; text-decoration: none; }
.af27-root[data-af27-platform="internal"] h1, .af27-root[data-af27-platform="internal"] h2, .af27-root[data-af27-platform="internal"] h3, .af27-root[data-af27-platform="internal"] p, .af27-root[data-af27-platform="internal"] dl, .af27-root[data-af27-platform="internal"] dd, .af27-root[data-af27-platform="internal"] figure, .af27-root[data-af27-platform="internal"] ol, .af27-root[data-af27-platform="internal"] ul{ margin: 0; }
.af27-root[data-af27-platform="internal"] ol, .af27-root[data-af27-platform="internal"] ul{ padding: 0; list-style: none; }
.af27-root[data-af27-platform="internal"] [hidden]{ display: none !important; }
.af27-root[data-af27-platform="internal"] b, .af27-root[data-af27-platform="internal"] strong{ font-weight: 600; }

.af27-root[data-af27-platform="internal"] .wrap{ width: min(var(--maxw), 100% - 2 * var(--gutter)); margin-inline: auto; }
.af27-root[data-af27-platform="internal"] .sr-only{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.af27-root[data-af27-platform="internal"] .skip{ position: fixed; left: 16px; top: 12px; z-index: 200; padding: 12px 18px; background: var(--ink); color: #fff; font: 600 15px/1 var(--f-display); transform: translateY(-160%); transition: transform .3s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .skip:focus{ transform: none; }

.af27-root[data-af27-platform="internal"] :focus-visible{ outline: 2px solid var(--focus, var(--cyan-ink)); outline-offset: 3px; }
.af27-root[data-af27-platform="internal"] .theme, .af27-root[data-af27-platform="internal"] .editions, .af27-root[data-af27-platform="internal"] .footer, .af27-root[data-af27-platform="internal"] .status, .af27-root[data-af27-platform="internal"] .rail{ --focus: var(--cyan); }

/* 02 · COMPONENTS -------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .btn{
  --bg: transparent; --fg: currentColor; --bd: transparent; --bg-h: var(--ink); --fg-h: #fff;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 54px; padding: 0 20px 0 24px;
  font: 600 15px/1 var(--f-display); letter-spacing: .005em;
  color: var(--fg); background: var(--bg); border: 1px solid var(--bd); border-radius: 2px;
  transition: color .45s var(--ease-out), border-color .45s var(--ease-out);
  white-space: nowrap;
}
.af27-root[data-af27-platform="internal"] .btn::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--bg-h); transform: scaleX(0); transform-origin: right center;
  transition: transform .6s var(--ease-out);
}
.af27-root[data-af27-platform="internal"] .btn:hover::before, .af27-root[data-af27-platform="internal"] .btn:focus-visible::before{ transform: scaleX(1); transform-origin: left center; }
.af27-root[data-af27-platform="internal"] .btn:hover, .af27-root[data-af27-platform="internal"] .btn:focus-visible{ color: var(--fg-h); }
.af27-root[data-af27-platform="internal"] .btn__arrow{ width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; transition: transform .5s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .btn:hover .btn__arrow, .af27-root[data-af27-platform="internal"] .btn:focus-visible .btn__arrow{ transform: translateX(4px); }
.af27-root[data-af27-platform="internal"] .btn--ink{ --bg: var(--ink); --fg: #fff; --bg-h: var(--lum); --fg-h: #fff; }
.af27-root[data-af27-platform="internal"] .btn--light{ --bg: #fff; --fg: var(--ink); --bg-h: var(--twin); --fg-h: var(--ink); }
.af27-root[data-af27-platform="internal"] .btn--lum{ --bg: var(--lum); --fg: #fff; --bg-h: var(--lum-deep); --fg-h: #fff; }
.af27-root[data-af27-platform="internal"] .btn--sm{ min-height: 46px; padding: 0 16px 0 18px; font-size: 14px; gap: 14px; }

.af27-root[data-af27-platform="internal"] .link{
  font: 600 15px/1.35 var(--f-display); color: var(--ink);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px;
  text-decoration-color: var(--line);
  transition: text-decoration-color .3s, color .3s;
}
.af27-root[data-af27-platform="internal"] .link:hover{ text-decoration-color: var(--lum); }
.af27-root[data-af27-platform="internal"] .link--light{ color: #fff; text-decoration-color: rgba(255, 255, 255, .35); }
.af27-root[data-af27-platform="internal"] .link--light:hover{ text-decoration-color: var(--cyan); }

/* Section header (editorial 12-column) */
.af27-root[data-af27-platform="internal"] .s-head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); margin-bottom: clamp(56px, 7vw, 112px); }
.af27-root[data-af27-platform="internal"] .s-kicker{
  grid-column: 1 / span 3; display: flex; align-items: baseline; gap: 14px; padding-top: .8em;
  font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase;
}
.af27-root[data-af27-platform="internal"] .s-num{ color: var(--num, var(--lum)); font-feature-settings: "tnum"; letter-spacing: .04em; }
.af27-root[data-af27-platform="internal"] .s-head__main{ grid-column: 4 / -1; }
.af27-root[data-af27-platform="internal"] .s-title{
  font: 700 clamp(36px, 4.5vw, 76px)/1.0 var(--f-display); font-stretch: 86%;
  letter-spacing: -.022em; max-width: 21ch; text-wrap: balance;
}
.af27-root[data-af27-platform="internal"] .s-lead{ margin-top: 28px; max-width: 60ch; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; color: var(--muted); }

/* 03 · NAV + MOBILE RAIL ------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .nav{
  position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--nav-h);
  color: var(--ink);
  transition: height .6s var(--ease-out), transform .5s var(--ease-out);
}
.af27-root[data-af27-platform="internal"] .nav::before{
  content: ""; position: absolute; inset: 0;
  background: rgba(244, 242, 238, .94);
  -webkit-backdrop-filter: saturate(1.3) blur(16px); backdrop-filter: saturate(1.3) blur(16px);
  border-bottom: 1px solid var(--line-2);
  transform: translateY(-101%); transition: transform .7s var(--ease-out);
}
.af27-root[data-af27-platform="internal"] .nav.is-scrolled{ height: var(--nav-h-min); }
.af27-root[data-af27-platform="internal"] .nav.is-scrolled::before{ transform: none; }
.af27-root[data-af27-platform="internal"] .nav__inner{ position: relative; height: 100%; display: flex; align-items: center; gap: clamp(20px, 2.4vw, 40px); }
.af27-root[data-af27-platform="internal"] .nav__brand{ display: flex; align-items: center; gap: clamp(14px, 1.4vw, 22px); flex: none; }
.af27-root[data-af27-platform="internal"] .nav__lum img{ height: 42px; width: auto; transition: height .6s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .nav.is-scrolled .nav__lum img{ height: 36px; }
.af27-root[data-af27-platform="internal"] .nav__rule{ width: 1px; height: 38px; background: var(--line); }
.af27-root[data-af27-platform="internal"] .nav__event{ display: block; font-family: var(--f-display); line-height: 1.1; }
.af27-root[data-af27-platform="internal"] .nav__event strong{ display: block; font-size: 16px; font-weight: 700; letter-spacing: -.005em; }
.af27-root[data-af27-platform="internal"] .nav__event > span{ display: block; white-space: nowrap; margin-top: 5px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .nav__menu{ margin-left: auto; display: flex; align-items: center; gap: clamp(18px, 2.1vw, 38px); }
.af27-root[data-af27-platform="internal"] .nav__menu a{
  position: relative; padding: 14px 0;
  font: 500 clamp(16px, 1.3vw, 20px)/1 var(--f-display); letter-spacing: -.005em;
  transition: color .3s;
}
.af27-root[data-af27-platform="internal"] .nav__menu a::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px;
  background: var(--lum); transform: scaleX(0); transform-origin: right;
  transition: transform .5s var(--ease-out);
}
.af27-root[data-af27-platform="internal"] .nav__menu a:hover::after, .af27-root[data-af27-platform="internal"] .nav__menu a.is-active::after{ transform: scaleX(1); transform-origin: left; }
.af27-root[data-af27-platform="internal"] .nav__cta{ flex: none; }
.af27-root[data-af27-platform="internal"] .nav__progress{
  position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--twin); transform-origin: left; transform: scaleX(var(--progress, 0));
  opacity: 0; transition: opacity .4s;
}
.af27-root[data-af27-platform="internal"] .nav.is-scrolled .nav__progress{ opacity: 1; }

.af27-root[data-af27-platform="internal"] .rail{ display: none; }

/* 04 · HERO -------------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .hero{
  /* geometry: the photo frame is positioned so that the sea horizon sits at --horizon */
  --hh: clamp(620px, calc(100svh - var(--band-h)), 1080px);
  --horizon: .52;
  --hz: .3681;                                   /* horizon in the photograph (918 / 2494) */
  --fw: max(100vw, calc(var(--hh) * 1.6));
  --fh: calc(var(--fw) * .5002);                 /* 2494 / 4986 */
  --tower: 50.863% 15.958%, 51.865% 21.251%, 51.945% 21.291%, 51.945% 21.852%, 51.845% 21.852%, 51.845% 29.471%, 52.367% 29.511%, 52.367% 30.553%, 52.326% 30.553%, 52.326% calc(var(--tcut) * 100%), 49.439% calc(var(--tcut) * 100%), 49.439% 30.553%, 49.358% 30.553%, 49.358% 29.511%, 49.900% 29.471%, 49.900% 21.852%, 49.799% 21.852%, 49.799% 21.291%, 49.880% 21.251%;
  --t-size: clamp(64px, min(11.2vw, 19svh), 188px);
  --tcut: .40096;                                /* bottom of the bell-tower cut-out (frame height); JS ends it under TRANSITION */
  --tb: calc(var(--hh) * var(--horizon) + var(--fh) * (var(--tcut) - var(--hz)));
  --night: calc(var(--hh) * .68);                /* start of the dark zone; JS aligns it to the subtitle */
  --hp: 0;
  position: relative; isolation: isolate; overflow: hidden;
  height: var(--hh);
  background: linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 60%, var(--sky-2) 100%);
}
.af27-root[data-af27-platform="internal"] .hero__layer{ position: absolute; inset: 0; pointer-events: none; transform: translate3d(0, calc(var(--hp) * 13%), 0); }
.af27-root[data-af27-platform="internal"] .hero__layer--photo{ z-index: 1; }
.af27-root[data-af27-platform="internal"] .hero__layer--tower{ z-index: 5; }
.af27-root[data-af27-platform="internal"] .hero__frame{
  position: absolute; left: 50%;
  width: var(--fw); height: var(--fh); margin-left: calc(var(--fw) / -2);
  top: calc(var(--hh) * var(--horizon) - var(--fh) * var(--hz));
}
.af27-root[data-af27-platform="internal"] .hero__frame picture, .af27-root[data-af27-platform="internal"] .hero__frame img{ width: 100%; height: 100%; }
.af27-root[data-af27-platform="internal"] .hero__photo{ object-fit: cover; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 9%); mask-image: linear-gradient(180deg, transparent 0, #000 9%); }
.af27-root[data-af27-platform="internal"] .hero__tower{ object-fit: cover; clip-path: polygon(var(--tower)); }

/* twin arcs */
.af27-root[data-af27-platform="internal"] .arcs{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.af27-root[data-af27-platform="internal"] .arcs--m{ display: none; }
.af27-root[data-af27-platform="internal"] .arc{ transform: translateX(calc((var(--arc-in) * 300 + var(--hp) * 150) * 1px)); }
.af27-root[data-af27-platform="internal"] .arc--green{ transform: translateX(calc((var(--arc-in) * -300 + var(--hp) * 150) * 1px)); }
.af27-root[data-af27-platform="internal"] .arc--digital{ transform: translateX(calc((var(--arc-in) * 300 - var(--hp) * 150) * 1px)); }
.af27-root[data-af27-platform="internal"] .arc__line{ fill: none; stroke-width: 5.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.af27-root[data-af27-platform="internal"] .arc__rings path{ fill: none; stroke: #EAF4DA; stroke-width: 3; opacity: .55; stroke-dasharray: 1; }
.af27-root[data-af27-platform="internal"] .arc__data{ color: #E6F6FD; }
.af27-root[data-af27-platform="internal"] .arc__bar{ stroke: currentColor; stroke-width: 3; opacity: .55; transform-box: fill-box; transform-origin: 50% 100%; }
.af27-root[data-af27-platform="internal"] .arc__data circle{ fill: #fff; }
.af27-root[data-af27-platform="internal"] .arcs--m .arc__line{ stroke-width: 4.5; }
.af27-root[data-af27-platform="internal"] .arcs--m .arc{ transform: translateX(calc(var(--arc-in) * 120px)); }
.af27-root[data-af27-platform="internal"] .arcs--m .arc--green{ transform: translateX(calc(var(--arc-in) * -120px)); }

.af27-root[data-af27-platform="internal"] .hero__shade{
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(180deg,
    rgba(10, 31, 51, 0) 0,
    rgba(10, 31, 51, 0) calc(var(--night) - 16px),
    rgba(10, 31, 51, .5) calc(var(--night) + 70px),
    rgba(10, 31, 51, .84) calc(var(--night) + 230px),
    var(--navy) 100%);
}
/* haze of Mediterranean light behind "and Sustainable Value Creation" and the subtitle */
.af27-root[data-af27-platform="internal"] .hero__shade::before{
  content: ""; position: absolute; left: 0; right: 0; top: var(--tb); height: calc(var(--night) - var(--tb) + 40px);
  background: linear-gradient(90deg, rgba(221, 230, 241, .9) 0%, rgba(221, 230, 241, .74) 34%, rgba(221, 230, 241, .3) 56%, rgba(221, 230, 241, 0) 74%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 90px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 44px, #000 calc(100% - 90px), transparent 100%);
}
.af27-root[data-af27-platform="internal"] .hero__shade::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: var(--night);
  background: linear-gradient(270deg, rgba(10, 31, 51, .66) 0%, rgba(10, 31, 51, .3) 45%, rgba(10, 31, 51, 0) 75%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 45%); mask-image: linear-gradient(180deg, transparent 0, #000 45%);
}

.af27-root[data-af27-platform="internal"] .hero__content{
  position: relative; z-index: 4; height: 100%;
  display: flex; flex-direction: column;
  padding-top: calc(var(--nav-h) + clamp(12px, 2.4svh, 36px));
  padding-bottom: clamp(26px, 4svh, 52px);
  transform: translate3d(0, calc(var(--hp) * -7%), 0);
}
.af27-root[data-af27-platform="internal"] .hero__eyebrow{
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
  font: 600 13px/1.35 var(--f-display); letter-spacing: .13em; text-transform: uppercase; color: var(--ink);
}
.af27-root[data-af27-platform="internal"] .hero__tick{ width: 28px; height: 2px; background: var(--lum); margin-right: 4px; }
.af27-root[data-af27-platform="internal"] .hero__eyebrow-rest{ font-weight: 400; color: var(--ink-2); }

.af27-root[data-af27-platform="internal"] .hero__title{ display: flex; flex-direction: column; margin-top: clamp(10px, 2svh, 26px); font-family: var(--f-display); }
.af27-root[data-af27-platform="internal"] .t-line{ display: block; overflow: hidden; padding-bottom: .045em; margin-bottom: -.045em; }
.af27-root[data-af27-platform="internal"] .t-line--twin, .af27-root[data-af27-platform="internal"] .t-line--transition{
  font-size: var(--t-size); line-height: .86; font-weight: 800;
  text-transform: uppercase; color: var(--ink); letter-spacing: -.012em;
}
.af27-root[data-af27-platform="internal"] .t-line--twin{ font-stretch: 125%; }
.af27-root[data-af27-platform="internal"] .t-line--transition{ font-stretch: 62%; }
.af27-root[data-af27-platform="internal"] .t-word{ display: inline-block; white-space: nowrap; }
.af27-root[data-af27-platform="internal"] .t-char{ display: inline-block; }
/* second level of the same title: close to TRANSITION, same ink */
.af27-root[data-af27-platform="internal"] .t-line--value{ margin-top: clamp(22px, 3.3svh, 40px); }
.af27-root[data-af27-platform="internal"] .t-value{
  display: block; color: var(--ink);
  font-size: clamp(28px, 3.5vw, 60px); line-height: 1.04; font-weight: 380; font-stretch: 100%;
  letter-spacing: -.02em;
}
.af27-root[data-af27-platform="internal"] .t-value b{ font-weight: 760; font-stretch: 96%; white-space: nowrap; }

.af27-root[data-af27-platform="internal"] .hero__deck{
  margin-top: clamp(14px, 2svh, 22px); max-width: 40ch; text-wrap: balance;
  font: 500 clamp(17px, 1.45vw, 23px)/1.4 var(--f-display); letter-spacing: -.005em; color: var(--ink-2);
}

/* event facts block */
.af27-root[data-af27-platform="internal"] .hero__foot{ display: flex; justify-content: flex-end; margin-top: auto; padding-top: 24px; color: #fff; }
.af27-root[data-af27-platform="internal"] .hero__facts{
  display: grid; grid-template-columns: repeat(3, auto);
  width: min(100%, 940px);
  border-top: 1px solid rgba(255, 255, 255, .42);
}
.af27-root[data-af27-platform="internal"] .hero__fact{ padding: 20px clamp(20px, 2.6vw, 44px) 0; border-left: 1px solid rgba(255, 255, 255, .2); }
.af27-root[data-af27-platform="internal"] .hero__fact:first-child{ padding-left: 0; border-left: 0; }
.af27-root[data-af27-platform="internal"] .hero__facts dt{ display: flex; align-items: center; gap: 10px; font: 600 11px/1 var(--f-display); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.af27-root[data-af27-platform="internal"] .hero__facts dt::before{ content: ""; width: 14px; height: 1px; background: var(--twin); }
.af27-root[data-af27-platform="internal"] .hero__facts dd{
  margin-top: 12px; white-space: nowrap;
  font: 600 clamp(20px, 2.05vw, 32px)/1.08 var(--f-display); font-stretch: 94%; letter-spacing: -.012em;
}
.af27-root[data-af27-platform="internal"] .hero__fact--date dd{ text-transform: uppercase; letter-spacing: .01em; }

/* 05 · STATUS ------------------------------------------------------------ */
.af27-root[data-af27-platform="internal"] .status{ position: relative; z-index: 2; background: var(--navy); color: #fff; }
.af27-root[data-af27-platform="internal"] .status::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--twin); opacity: .55; }
.af27-root[data-af27-platform="internal"] .status__inner{
  min-height: var(--band-h); padding-block: 20px;
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 28px;
}
.af27-root[data-af27-platform="internal"] .status__key, .af27-root[data-af27-platform="internal"] .status__next{ padding-left: 28px; border-left: 1px solid var(--line-navy); }
.af27-root[data-af27-platform="internal"] .status__label{
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
  font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted);
}
.af27-root[data-af27-platform="internal"] .status__dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex: none; box-shadow: 0 0 0 0 rgba(157, 196, 106, .55); }
.af27-root[data-af27-platform="internal"] .status__title{ font: 600 clamp(20px, 1.8vw, 28px)/1.1 var(--f-display); font-stretch: 94%; letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .status__value{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font: 500 clamp(18px, 1.5vw, 24px)/1.15 var(--f-display); }
.af27-root[data-af27-platform="internal"] .status__count{ font: 500 13px/1 var(--f-text); color: var(--cyan); }
.af27-root[data-af27-platform="internal"] [data-phase="papers"] .status__dot{ background: var(--cyan); }

/* 05b · CURRENT CALL ----------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .call{ position: relative; background: var(--white); padding-block: clamp(80px, 9vw, 150px); }
.af27-root[data-af27-platform="internal"] .call::before{ content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--twin); }
.af27-root[data-af27-platform="internal"] .call__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: end; }
.af27-root[data-af27-platform="internal"] .call__main{ grid-column: 1 / span 7; }
.af27-root[data-af27-platform="internal"] .call__kicker{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font: 700 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .call__rule{ width: 28px; height: 1px; background: var(--line); }
.af27-root[data-af27-platform="internal"] .call__scope{ color: var(--muted); font-weight: 600; }
.af27-root[data-af27-platform="internal"] .call__title{ margin-top: 28px; max-width: 11ch; font: 750 clamp(50px, 7.6vw, 132px)/.88 var(--f-display); font-stretch: 74%; letter-spacing: -.03em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .call__text{ margin-top: 30px; max-width: 50ch; font-size: clamp(18px, 1.4vw, 22px); line-height: 1.55; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .call__brief{ margin-top: 26px; max-width: 56ch; border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .call__brief div{ display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.af27-root[data-af27-platform="internal"] .call__brief dt{ font: 700 11px/1.3 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .call__brief dd{ font: 500 16px/1.45 var(--f-display); color: var(--ink); }
.af27-root[data-af27-platform="internal"] .call__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; margin-top: 40px; }
.af27-root[data-af27-platform="internal"] .btn--lg{ min-height: 68px; padding: 0 26px 0 32px; font-size: 18px; gap: 30px; }
.af27-root[data-af27-platform="internal"] .btn--lg .btn__arrow{ width: 22px; height: 22px; }
.af27-root[data-af27-platform="internal"] .call__ref{ margin-top: 26px; }
.af27-root[data-af27-platform="internal"] .link--muted{ color: var(--muted); font-weight: 500; }
.af27-root[data-af27-platform="internal"] .call__side{ grid-column: 9 / -1; }
.af27-root[data-af27-platform="internal"] .call__dates{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .cd{ padding: 22px 0 24px; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .cd dt{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .cd dd{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-top: 12px; }
.af27-root[data-af27-platform="internal"] .cd__value{ font: 700 clamp(26px, 2.4vw, 38px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.015em; }
.af27-root[data-af27-platform="internal"] .cd--key dt{ color: var(--lum); }
.af27-root[data-af27-platform="internal"] .cd--key .cd__value{ font-size: clamp(42px, 4.6vw, 76px); font-stretch: 76%; letter-spacing: -.025em; }
.af27-root[data-af27-platform="internal"] .cd__count{ padding: 7px 10px; border: 1px solid currentColor; font: 600 14px/1 var(--f-display); letter-spacing: .02em; color: var(--cyan-ink); white-space: nowrap; }
.af27-root[data-af27-platform="internal"] .call__note{ margin-top: 18px; font-size: 15px; color: var(--muted); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .call__main, .af27-root[data-af27-platform="internal"] .call__side{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .call__grid{ row-gap: 48px; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .call__title{ font-size: clamp(46px, 13.4vw, 64px); }
  .af27-root[data-af27-platform="internal"] .call__actions .btn{ width: 100%; }
}

/* 06 · THEME ------------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .theme{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(96px, 11vw, 176px) clamp(64px, 8vw, 128px); }
.af27-root[data-af27-platform="internal"] .theme .s-lead{ color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .theme__stage{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 112px); align-items: start; }
.af27-root[data-af27-platform="internal"] .theme__panel{
  position: sticky; top: calc(var(--nav-h-min) + 24px);
  height: calc(100svh - var(--nav-h-min) - 48px); max-height: 920px; min-height: 520px;
  display: flex; flex-direction: column; gap: 16px;
}
.af27-root[data-af27-platform="internal"] .theme__kv{ flex: 1; min-height: 0; position: relative; overflow: hidden; background: #0d2438; }
.af27-root[data-af27-platform="internal"] .theme__kv svg{ width: 100%; height: 100%; }
.af27-root[data-af27-platform="internal"] .kv-base{ opacity: .22; filter: grayscale(.7); }
.af27-root[data-af27-platform="internal"] .kv-tower__img{ opacity: .3; filter: grayscale(.9); }
.af27-root[data-af27-platform="internal"] .kv-field{ transform-box: fill-box; transform-origin: 50% 100%; transition: transform 1.1s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .kv-rim{ fill: none; stroke-width: 3; opacity: .9; transition: opacity .8s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .kv-rim--green{ stroke: #D8EBB8; }
.af27-root[data-af27-platform="internal"] .kv-rim--digital{ stroke: #C9ECFA; }
.af27-root[data-af27-platform="internal"] .theme__panel[data-kv="green"] .kv-field--digital, .af27-root[data-af27-platform="internal"] .theme__panel[data-kv="digital"] .kv-field--green{ transform: scale(0); }
.af27-root[data-af27-platform="internal"] .theme__panel[data-kv="green"] .kv-rim--digital, .af27-root[data-af27-platform="internal"] .theme__panel[data-kv="digital"] .kv-rim--green{ opacity: .15; }
.af27-root[data-af27-platform="internal"] .theme__caption{ display: flex; flex-wrap: wrap; gap: 8px 24px; font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.af27-root[data-af27-platform="internal"] .cap{ transition: color .6s; }
.af27-root[data-af27-platform="internal"] .cap--note{ margin-left: auto; letter-spacing: .06em; text-transform: none; font-weight: 400; }
.af27-root[data-af27-platform="internal"] .theme__panel[data-kv="green"] .cap--green, .af27-root[data-af27-platform="internal"] .theme__panel[data-kv="twin"] .cap--green{ color: var(--green); }
.af27-root[data-af27-platform="internal"] .theme__panel[data-kv="digital"] .cap--digital, .af27-root[data-af27-platform="internal"] .theme__panel[data-kv="twin"] .cap--digital{ color: var(--cyan); }

.af27-root[data-af27-platform="internal"] .chapter{ min-height: 76svh; display: flex; flex-direction: column; justify-content: center; padding-block: 48px; transition: opacity .7s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .chapter:first-child{ min-height: 64svh; justify-content: flex-start; padding-top: 12svh; }
.af27-root[data-af27-platform="internal"] .chapter__label{ display: flex; align-items: center; gap: 14px; font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .swatch{ width: 32px; height: 2px; }
.af27-root[data-af27-platform="internal"] .swatch--green{ background: var(--green); }
.af27-root[data-af27-platform="internal"] .swatch--digital{ background: var(--cyan); }
.af27-root[data-af27-platform="internal"] .swatch--twin{ background: var(--twin); }
.af27-root[data-af27-platform="internal"] .chapter__title{ margin: 24px 0 22px; font: 700 clamp(34px, 3.8vw, 62px)/1.0 var(--f-display); font-stretch: 80%; letter-spacing: -.018em; }
.af27-root[data-af27-platform="internal"] .chapter > p:last-child{ max-width: 46ch; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.62; color: #C8D4E0; }

/* 07 · RESEARCH + TRACKS ------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .research{ background: var(--paper); padding-block: clamp(96px, 11vw, 176px); }
.af27-root[data-af27-platform="internal"] .disciplines{ border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .discipline{
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap);
  padding-block: clamp(28px, 3.4vw, 52px); border-bottom: 1px solid var(--line); align-items: start;
}
.af27-root[data-af27-platform="internal"] .discipline__word{
  grid-column: 1 / -1; margin-bottom: clamp(20px, 2.2vw, 34px);
  font: 800 clamp(46px, 9.4vw, 168px)/.8 var(--f-display); font-stretch: 118%;
  letter-spacing: -.024em; text-transform: uppercase; white-space: nowrap; color: var(--ink);
  transition: font-stretch 1.6s var(--ease-out);
}
.af27-root[data-af27-platform="internal"] .discipline__body{ grid-column: 4 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--col-gap); }
.af27-root[data-af27-platform="internal"] .discipline__lens{ font: 500 clamp(19px, 1.6vw, 25px)/1.35 var(--f-display); font-stretch: 96%; letter-spacing: -.008em; max-width: 30ch; }
.af27-root[data-af27-platform="internal"] .discipline__scope{ font-size: 15px; line-height: 1.6; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .discipline__scope span{ display: block; margin-bottom: 8px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }

.af27-root[data-af27-platform="internal"] .research{ padding-bottom: clamp(72px, 8vw, 128px); }

/* Special Tracks (own chapter) */
.af27-root[data-af27-platform="internal"] .tracks{ background: var(--paper); padding-bottom: clamp(96px, 11vw, 176px); }
.af27-root[data-af27-platform="internal"] .tracks > .wrap{ border-top: 1px solid var(--line); padding-top: clamp(72px, 8vw, 128px); }
.af27-root[data-af27-platform="internal"] .tracks__holding{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 22px; }
.af27-root[data-af27-platform="internal"] .tracks__state, .af27-root[data-af27-platform="internal"] .tracks__announce, .af27-root[data-af27-platform="internal"] .tracks__actions{ grid-column: 4 / -1; }
.af27-root[data-af27-platform="internal"] .tracks__state{ font: 700 clamp(30px, 3.4vw, 56px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; max-width: 20ch; }
.af27-root[data-af27-platform="internal"] .tracks__announce{ font: 500 clamp(19px, 1.6vw, 25px)/1.4 var(--f-display); color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .tracks__announce strong{ color: var(--ink); font-weight: 700; }
.af27-root[data-af27-platform="internal"] .tracks__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; margin-top: 10px; }
.af27-root[data-af27-platform="internal"] .tracks__list{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .track{ display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .track__n{ font: 600 14px/1 var(--f-display); color: var(--lum); }
.af27-root[data-af27-platform="internal"] .track__title{ font: 650 clamp(19px, 1.6vw, 24px)/1.25 var(--f-display); }
.af27-root[data-af27-platform="internal"] .track__chairs{ margin-top: 6px; font-size: 15px; color: var(--muted); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .tracks__state, .af27-root[data-af27-platform="internal"] .tracks__announce, .af27-root[data-af27-platform="internal"] .tracks__actions{ grid-column: 1 / -1; }
}

/* 08 · CALLS & DATES: editorial timeline ------------------------------ */
.af27-root[data-af27-platform="internal"] .calls{ background: var(--white); padding-block: clamp(96px, 11vw, 176px); }
.af27-root[data-af27-platform="internal"] .timeline{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .step{
  position: relative; display: grid; grid-template-columns: 170px minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--col-gap); align-items: baseline;
  padding-block: clamp(28px, 3vw, 46px); border-bottom: 1px solid var(--line);
}
.af27-root[data-af27-platform="internal"] .step__state{ display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .step__state::before{ content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid currentColor; }
.af27-root[data-af27-platform="internal"] .step__date{ font: 700 clamp(34px, 4.3vw, 72px)/.95 var(--f-display); font-stretch: 76%; letter-spacing: -.022em; }
.af27-root[data-af27-platform="internal"] .step__date--tba{ font-size: clamp(22px, 2vw, 32px); font-weight: 600; font-stretch: 90%; letter-spacing: -.005em; color: rgba(11, 27, 43, .6); }
.af27-root[data-af27-platform="internal"] .step__title{ font: 650 clamp(21px, 1.8vw, 28px)/1.2 var(--f-display); letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .step__body p{ margin-top: 8px; max-width: 46ch; font-size: 16px; line-height: 1.55; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .step__count{ display: block; margin-top: 14px; font: 600 15px/1 var(--f-display); font-stretch: 100%; letter-spacing: .02em; color: var(--cyan-ink); }
.af27-root[data-af27-platform="internal"] .step__cta{ margin-top: 22px; }
.af27-root[data-af27-platform="internal"] .timeline__updated{ margin-top: 20px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .step.is-current{ margin-inline: calc(var(--col-gap) * -1); padding-inline: var(--col-gap); background: var(--paper); }
.af27-root[data-af27-platform="internal"] .step.is-current::before{ content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--green), var(--cyan)); }
.af27-root[data-af27-platform="internal"] .step.is-current .step__state{ color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .step.is-current .step__state::before{ background: currentColor; }
.af27-root[data-af27-platform="internal"] .step.is-done .step__date, .af27-root[data-af27-platform="internal"] .step.is-done .step__title{ color: rgba(11, 27, 43, .58); }
.af27-root[data-af27-platform="internal"] .step.is-done .step__state::before{ background: currentColor; }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .step{ grid-template-columns: minmax(0, 1fr); row-gap: 14px; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .step__date{ font-size: clamp(34px, 10vw, 44px); }
}

/* 09 · PROGRAMME: compact holding state + schedule component ------------ */
.af27-root[data-af27-platform="internal"] .programme{ background: var(--paper); padding-block: clamp(64px, 7vw, 104px); border-top: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .programme__bar{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 24px; align-items: end; }
.af27-root[data-af27-platform="internal"] .programme__head{ grid-column: 1 / span 3; }
.af27-root[data-af27-platform="internal"] .programme__head .s-kicker{ padding-top: 0; }
.af27-root[data-af27-platform="internal"] .programme__title{ margin-top: 18px; font: 700 clamp(34px, 3.4vw, 56px)/1 var(--f-display); font-stretch: 86%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .programme__days{ grid-column: 4 / span 6; display: grid; grid-template-columns: 1fr 1fr; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .programme__days li{ display: flex; flex-direction: column; gap: 6px; padding-top: 18px; }
.af27-root[data-af27-platform="internal"] .programme__days li + li{ padding-left: var(--col-gap); border-left: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .programme__dow{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .programme__date{ font: 700 clamp(28px, 2.8vw, 46px)/1 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .programme__state{ grid-column: 10 / -1; padding-top: 18px; border-top: 2px solid var(--ink); font: 600 clamp(16px, 1.25vw, 19px)/1.35 var(--f-display); color: var(--muted); }

.af27-root[data-af27-platform="internal"] .schedule{ margin-top: clamp(40px, 5vw, 72px); display: grid; gap: 56px; }
.af27-root[data-af27-platform="internal"] .schedule__label{ padding-bottom: 14px; border-bottom: 2px solid var(--ink); font: 700 clamp(24px, 2.2vw, 34px)/1.1 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .session{ display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: var(--col-gap); padding: 22px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .session__time{ font: 700 18px/1.2 var(--f-display); font-feature-settings: "tnum"; }
.af27-root[data-af27-platform="internal"] .session__track{ font: 600 11px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); margin-bottom: 8px; }
.af27-root[data-af27-platform="internal"] .session__title{ font: 650 clamp(18px, 1.5vw, 22px)/1.25 var(--f-display); }
.af27-root[data-af27-platform="internal"] .session__meta{ margin-top: 6px; font-size: 15px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .session__papers{ margin-top: 12px; display: grid; gap: 8px; }
.af27-root[data-af27-platform="internal"] .session__papers li{ display: flex; flex-direction: column; padding-left: 14px; border-left: 2px solid var(--line); }
.af27-root[data-af27-platform="internal"] .session__paper{ font: 500 16px/1.35 var(--f-display); }
.af27-root[data-af27-platform="internal"] .session__authors{ font-size: 14px; color: var(--muted); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .programme__head, .af27-root[data-af27-platform="internal"] .programme__days, .af27-root[data-af27-platform="internal"] .programme__state{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .programme__state{ border-top: 0; padding-top: 0; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .session{ grid-template-columns: 1fr; row-gap: 8px; }
}

/* 09b · FOR AUTHORS --------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .authors{ background: var(--white); padding-block: clamp(96px, 11vw, 176px); }
.af27-root[data-af27-platform="internal"] .resources{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .resource{ display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 18rem); column-gap: var(--col-gap); align-items: baseline; padding: clamp(20px, 2.2vw, 30px) 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .resource__n{ font: 600 14px/1 var(--f-display); color: var(--lum); font-feature-settings: "tnum"; }
.af27-root[data-af27-platform="internal"] .resource__title{ font: 650 clamp(20px, 1.7vw, 27px)/1.2 var(--f-display); letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .resource__body p{ margin-top: 6px; font-size: 16px; color: var(--muted); max-width: 52ch; }
.af27-root[data-af27-platform="internal"] .resource__state{ justify-self: end; text-align: right; font: 600 12px/1.4 var(--f-display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .resource__state .link{ font-size: 15px; letter-spacing: 0; text-transform: none; }
.af27-root[data-af27-platform="internal"] .resource.is-available .resource__state{ color: var(--green-ink); }

.af27-root[data-af27-platform="internal"] .pubs{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 28px; margin-top: clamp(64px, 7vw, 112px); padding-top: 28px; border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .pubs__head{ grid-column: 1 / span 7; }
.af27-root[data-af27-platform="internal"] .pubs__title{ font: 700 clamp(26px, 2.4vw, 38px)/1.1 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; }
.af27-root[data-af27-platform="internal"] .pubs__state{ margin-top: 14px; max-width: 52ch; font-size: 17px; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .pubs__list{ grid-column: 1 / span 7; border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .pub{ display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .pub__type{ font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .pub__journal{ font: 600 17px/1.3 var(--f-display); font-style: italic; }
.af27-root[data-af27-platform="internal"] .pub__note{ font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .pubs__archive{ grid-column: 9 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.af27-root[data-af27-platform="internal"] .pubs__label{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .pubs__head, .af27-root[data-af27-platform="internal"] .pubs__list, .af27-root[data-af27-platform="internal"] .pubs__archive{ grid-column: 1 / -1; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .resource{ grid-template-columns: 40px minmax(0, 1fr); row-gap: 10px; }
  .af27-root[data-af27-platform="internal"] .resource__state{ grid-column: 2; justify-self: start; text-align: left; }
  .af27-root[data-af27-platform="internal"] .pub{ grid-template-columns: 1fr; gap: 4px; }
}

/* 09c · SCIENTIFIC COMMUNITY (activated by data) ------------------------------ */
.af27-root[data-af27-platform="internal"] .community{ background: var(--paper); padding-block: clamp(96px, 10vw, 160px); border-top: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .community__groups{ display: grid; gap: clamp(40px, 5vw, 72px); }
.af27-root[data-af27-platform="internal"] .people-group__title{ padding-bottom: 14px; border-bottom: 2px solid var(--ink); font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
.af27-root[data-af27-platform="internal"] .people-group__list{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--col-gap); }
.af27-root[data-af27-platform="internal"] .people-group__list li{ display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .people-group__list strong{ font: 600 18px/1.25 var(--f-display); }
.af27-root[data-af27-platform="internal"] .people-group__list span{ font-size: 14px; color: var(--muted); }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .people-group__list{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .people-group__list{ grid-template-columns: 1fr; } }

/* 10 · PREVIOUS EDITIONS: editorial archive ---------------------------- */
.af27-root[data-af27-platform="internal"] .editions{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(96px, 11vw, 176px); overflow: hidden; }
.af27-root[data-af27-platform="internal"] .editions .s-lead{ color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .thread{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, .3); margin-bottom: clamp(64px, 7vw, 112px); }
.af27-root[data-af27-platform="internal"] .thread li{ position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 0 0; }
.af27-root[data-af27-platform="internal"] .thread li::before{ content: ""; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .7); }
.af27-root[data-af27-platform="internal"] .thread li.is-now::before{ background: var(--green); }
.af27-root[data-af27-platform="internal"] .thread__y{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .thread__t{ font: 500 clamp(17px, 1.4vw, 21px)/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .thread .is-now .thread__t{ color: #D6EFB8; }

.af27-root[data-af27-platform="internal"] .ed{ padding-block: clamp(48px, 6vw, 96px); }
.af27-root[data-af27-platform="internal"] .ed__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: center; }
.af27-root[data-af27-platform="internal"] .ed__media{ grid-column: 1 / span 7; position: relative; padding-bottom: 14%; }
.af27-root[data-af27-platform="internal"] .ed__text{ grid-column: 9 / -1; }
.af27-root[data-af27-platform="internal"] .ed--flip .ed__media{ grid-column: 6 / -1; grid-row: 1; }
.af27-root[data-af27-platform="internal"] .ed--flip .ed__text{ grid-column: 1 / span 4; grid-row: 1; }
.af27-root[data-af27-platform="internal"] .ed__main{ overflow: hidden; }
.af27-root[data-af27-platform="internal"] .ed__main img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .ed__second{ position: absolute; right: -8%; bottom: 0; z-index: 2; width: 40%; will-change: transform; }
.af27-root[data-af27-platform="internal"] .ed--flip .ed__second{ right: auto; left: -8%; width: 30%; }
.af27-root[data-af27-platform="internal"] .ed__second img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.af27-root[data-af27-platform="internal"] .ed--flip .ed__second img{ aspect-ratio: 4 / 5; }
.af27-root[data-af27-platform="internal"] .ed--flip .ed__main figcaption{ text-align: right; }
.af27-root[data-af27-platform="internal"] .ed figcaption{ margin-top: 12px; font: 500 12px/1.35 var(--f-text); letter-spacing: .02em; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .ed__year{ font: 700 clamp(96px, 11.5vw, 196px)/.78 var(--f-display); font-stretch: 62%; letter-spacing: -.025em; }
.af27-root[data-af27-platform="internal"] .ed__n{ margin-top: 24px; font: 600 12px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .ed__theme{ margin-top: 14px; font: 700 clamp(28px, 2.6vw, 42px)/1.05 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .ed__sub{ margin-top: 14px; font-size: 16px; line-height: 1.55; color: #C8D4E0; }
.af27-root[data-af27-platform="internal"] .ed__facts{ margin-top: 28px; border-top: 1px solid rgba(255, 255, 255, .3); }
.af27-root[data-af27-platform="internal"] .ed__facts div{ display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); align-items: baseline; }
.af27-root[data-af27-platform="internal"] .ed__facts dt{ font: 600 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .ed__facts dd{ font: 500 16px/1.45 var(--f-display); }
.af27-root[data-af27-platform="internal"] .ed__facts .ed__num{ font-size: 40px; font-weight: 700; line-height: 1; font-stretch: 80%; }
.af27-root[data-af27-platform="internal"] .ed__links{ display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 24px; }

.af27-root[data-af27-platform="internal"] .keynotes{ margin-top: clamp(56px, 6vw, 96px); }
.af27-root[data-af27-platform="internal"] .keynotes__title{ padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .34); font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .keynotes__list{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 var(--col-gap); }
.af27-root[data-af27-platform="internal"] .keynotes__list li{ display: flex; flex-direction: column; gap: 4px; padding: 18px 0; }
.af27-root[data-af27-platform="internal"] .keynotes__list strong{ font: 600 clamp(16px, 1.25vw, 19px)/1.25 var(--f-display); }
.af27-root[data-af27-platform="internal"] .keynotes__list span{ font-size: 14px; line-height: 1.4; color: var(--on-navy-muted); }

@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .ed__media, .af27-root[data-af27-platform="internal"] .ed--flip .ed__media{ grid-column: 1 / -1; grid-row: 1; padding-bottom: 18%; }
  .af27-root[data-af27-platform="internal"] .ed__text, .af27-root[data-af27-platform="internal"] .ed--flip .ed__text{ grid-column: 1 / -1; grid-row: 2; }
  .af27-root[data-af27-platform="internal"] .ed__second{ right: 0; }
  .af27-root[data-af27-platform="internal"] .ed--flip .ed__second{ left: auto; right: 0; }
  .af27-root[data-af27-platform="internal"] .ed__main figcaption, .af27-root[data-af27-platform="internal"] .ed--flip .ed__main figcaption{ max-width: 50%; text-align: left; }
  .af27-root[data-af27-platform="internal"] .keynotes__list{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .thread{ grid-template-columns: 1fr; }
  .af27-root[data-af27-platform="internal"] .thread li{ padding: 16px 0 18px 22px; }
  .af27-root[data-af27-platform="internal"] .thread li::before{ top: 22px; }
  .af27-root[data-af27-platform="internal"] .ed__media, .af27-root[data-af27-platform="internal"] .ed--flip .ed__media{ padding-bottom: 26%; }
  .af27-root[data-af27-platform="internal"] .ed__second{ width: 48%; }
  .af27-root[data-af27-platform="internal"] .ed--flip .ed__second{ width: 36%; }
  .af27-root[data-af27-platform="internal"] .ed__year{ font-size: 30vw; }
  .af27-root[data-af27-platform="internal"] .ed__facts div{ grid-template-columns: 1fr; gap: 6px; }
  .af27-root[data-af27-platform="internal"] .keynotes__list{ grid-template-columns: 1fr; }
}

/* 11 · VENUE: Villa Romanazzi Carducci ------------------------------------ */
.af27-root[data-af27-platform="internal"] .venue{ background: var(--paper); padding-block: clamp(96px, 11vw, 176px) clamp(88px, 10vw, 156px); }
.af27-root[data-af27-platform="internal"] .venue__head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 26px; align-items: end; }
.af27-root[data-af27-platform="internal"] .venue__head .s-kicker{ grid-column: 1 / -1; padding-top: 0; }
.af27-root[data-af27-platform="internal"] .venue__title{ grid-column: 1 / span 9; font: 800 clamp(54px, 8.4vw, 152px)/.84 var(--f-display); font-stretch: 74%; letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .venue__lead{ grid-column: 10 / -1; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .venue__media{ width: min(1760px, 100% - 2 * var(--gutter)); margin: clamp(40px, 5vw, 72px) auto 0; }
.af27-root[data-af27-platform="internal"] .venue__media picture{ overflow: hidden; }
.af27-root[data-af27-platform="internal"] .venue__media img{ width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: 50% 40%; }
.af27-root[data-af27-platform="internal"] .venue__media figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .venue__info{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; margin-top: clamp(40px, 4.4vw, 64px); }
.af27-root[data-af27-platform="internal"] .venue__facts{ grid-column: 1 / span 9; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .venue__facts div{ padding: 20px 20px 0 0; }
.af27-root[data-af27-platform="internal"] .venue__facts div + div{ padding-left: 20px; border-left: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .venue__facts dt{ font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .venue__facts dd{ margin-top: 12px; font: 600 clamp(17px, 1.35vw, 21px)/1.3 var(--f-display); letter-spacing: -.005em; }
.af27-root[data-af27-platform="internal"] .venue__links{ grid-column: 10 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 20px; border-top: 2px solid var(--ink); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .venue__title, .af27-root[data-af27-platform="internal"] .venue__lead, .af27-root[data-af27-platform="internal"] .venue__facts, .af27-root[data-af27-platform="internal"] .venue__links{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .venue__facts{ grid-template-columns: 1fr 1fr; row-gap: 24px; }
  .af27-root[data-af27-platform="internal"] .venue__facts div + div{ padding-left: 0; border-left: 0; }
  .af27-root[data-af27-platform="internal"] .venue__links{ flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 28px; border-top: 0; padding-top: 0; }
}
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .venue__title{ font-size: clamp(46px, 13.6vw, 64px); }
  .af27-root[data-af27-platform="internal"] .venue__media img{ aspect-ratio: 4 / 3; }
  .af27-root[data-af27-platform="internal"] .venue__facts{ grid-template-columns: 1fr; }
  .af27-root[data-af27-platform="internal"] .venue__facts div{ padding: 16px 0 0; }
}

/* 11b · BARI: short, atmospheric ----------------------------------------- */
.af27-root[data-af27-platform="internal"] .bari{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(72px, 8vw, 128px); }
.af27-root[data-af27-platform="internal"] .bari__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 36px; align-items: center; }
.af27-root[data-af27-platform="internal"] .bari__media{ grid-column: 1 / span 6; }
.af27-root[data-af27-platform="internal"] .bari__media picture{ overflow: hidden; }
.af27-root[data-af27-platform="internal"] .bari__media img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .bari__media figcaption{ margin-top: 12px; font-size: 13px; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .bari__text{ grid-column: 8 / -1; }
.af27-root[data-af27-platform="internal"] .bari__text .s-kicker{ padding-top: 0; }
.af27-root[data-af27-platform="internal"] .bari__title{ margin-top: 22px; font: 800 clamp(44px, 5vw, 86px)/.9 var(--f-display); font-stretch: 116%; letter-spacing: -.03em; text-transform: uppercase; }
.af27-root[data-af27-platform="internal"] .bari__text p:not(.s-kicker){ margin-top: 20px; max-width: 44ch; color: #C8D4E0; }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .bari__media, .af27-root[data-af27-platform="internal"] .bari__text{ grid-column: 1 / -1; }
}

/* 12 · HOST · the LUM moment -------------------------------------------- */
.af27-root[data-af27-platform="internal"] .host{
  --hostp: 0;
  --m1: clamp(0, calc(var(--hostp) / .3), 1);
  --m2: clamp(0, calc((var(--hostp) - .26) / .26), 1);
  --m3: clamp(0, calc((var(--hostp) - .46) / .24), 1);
  --m4: clamp(0, calc((var(--hostp) - .5) / .22), 1);
  background: var(--paper-warm);
  border-top: 1px solid var(--line-2);
}
.af27-root[data-af27-platform="internal"] .host__track{ position: relative; height: 210svh; }
.af27-root[data-af27-platform="internal"] .host__stage{
  position: sticky; top: 0; height: 100svh;
  width: min(var(--maxw), 100% - 2 * var(--gutter)); margin-inline: auto;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); align-items: center;
}
.af27-root[data-af27-platform="internal"] .host__mark{ grid-column: 1 / span 6; justify-self: center; position: relative; width: min(40vw, 66svh, 660px); aspect-ratio: 1; }
.af27-root[data-af27-platform="internal"] .host__rings{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; opacity: calc(1 - var(--m3) * .92); }
.af27-root[data-af27-platform="internal"] .hr{ fill: none; stroke-linecap: butt; stroke-width: calc(5px + var(--m2) * 22px); stroke-dasharray: 1; }
.af27-root[data-af27-platform="internal"] .hr--green{ stroke: color-mix(in srgb, var(--lum) calc(var(--m2) * 100%), var(--green)); transform: translateX(calc((1 - var(--m1)) * -320px)); }
.af27-root[data-af27-platform="internal"] .hr--digital{ stroke: color-mix(in srgb, var(--lum) calc(var(--m2) * 100%), var(--cyan)); transform: translateX(calc((1 - var(--m1)) * 320px)); }
.af27-root[data-af27-platform="internal"] .hr--close{ stroke: var(--lum); stroke-dashoffset: calc(1 - var(--m2)); }
.af27-root[data-af27-platform="internal"] .host__seal{ position: absolute; inset: 0; width: 100%; height: 100%; opacity: var(--m3); transform: scale(calc(.94 + var(--m3) * .06)) rotate(calc((1 - var(--m3)) * -8deg)); }
.af27-root[data-af27-platform="internal"] .host__words{ grid-column: 7 / -1; }
.af27-root[data-af27-platform="internal"] .host__pre, .af27-root[data-af27-platform="internal"] .host__name{ opacity: var(--m4); transform: translate3d(0, calc((1 - var(--m4)) * 32px), 0); }
.af27-root[data-af27-platform="internal"] .host__words .s-kicker{ padding-top: 0; }
.af27-root[data-af27-platform="internal"] .host__pre{ margin-top: clamp(28px, 4vw, 56px); font: 600 13px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .host__name{ margin-top: 18px; font: 700 clamp(44px, 5.4vw, 96px)/.94 var(--f-display); font-stretch: 84%; letter-spacing: -.024em; color: var(--lum); }

.af27-root[data-af27-platform="internal"] .host__about{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; padding-bottom: clamp(96px, 11vw, 176px); }
.af27-root[data-af27-platform="internal"] .host__photo{ grid-column: 2 / span 4; }
.af27-root[data-af27-platform="internal"] .host__photo figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .host__text{ grid-column: 7 / span 5; align-self: end; }
.af27-root[data-af27-platform="internal"] .host__lead{ margin-bottom: 22px; font: 500 clamp(22px, 2vw, 30px)/1.3 var(--f-display); font-stretch: 96%; letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .host__text p:not(.host__lead){ color: var(--ink-2); margin-bottom: 32px; max-width: 50ch; }

/* 13 · FOOTER ------------------------------------------------------------ */
.af27-root[data-af27-platform="internal"] .footer{ position: relative; overflow: hidden; background: var(--navy); color: #fff; padding-top: clamp(220px, 26vw, 420px); }
.af27-root[data-af27-platform="internal"] .footer__night{ position: absolute; left: 0; right: 0; top: 0; height: clamp(360px, 40vw, 640px); }
.af27-root[data-af27-platform="internal"] .footer__night picture, .af27-root[data-af27-platform="internal"] .footer__night img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.af27-root[data-af27-platform="internal"] .footer__night::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 31, 51, .15) 0%, rgba(10, 31, 51, 0) 30%, rgba(10, 31, 51, .7) 72%, var(--navy) 100%); }
.af27-root[data-af27-platform="internal"] .footer__inner{ position: relative; }
.af27-root[data-af27-platform="internal"] .footer__sign{ position: relative; padding-bottom: clamp(40px, 5vw, 72px); border-bottom: 1px solid var(--line-navy); }
.af27-root[data-af27-platform="internal"] .footer__logo{ width: clamp(260px, 40vw, 640px); }
.af27-root[data-af27-platform="internal"] .footer__seal{ position: absolute; right: -4%; bottom: -60%; width: clamp(260px, 36vw, 560px); opacity: .06; pointer-events: none; }
.af27-root[data-af27-platform="internal"] .footer__cols{ display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px var(--col-gap); padding-block: clamp(40px, 5vw, 64px); }
.af27-root[data-af27-platform="internal"] .footer__title{ font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 88%; letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .footer__event p{ margin-top: 6px; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .footer__event .footer__when{ margin-top: 20px; color: #fff; font-family: var(--f-display); font-weight: 500; }
.af27-root[data-af27-platform="internal"] .footer__nav{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; align-content: start; }
.af27-root[data-af27-platform="internal"] .footer__nav a{ font: 500 18px/1.2 var(--f-display); padding-block: 4px; transition: color .3s; }
.af27-root[data-af27-platform="internal"] .footer__nav a:hover{ color: var(--cyan); }
.af27-root[data-af27-platform="internal"] .footer__address{ display: flex; flex-direction: column; align-items: flex-start; gap: 2px; font-style: normal; line-height: 1.6; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .footer__address strong{ margin-bottom: 6px; font: 600 16px/1.3 var(--f-display); color: #fff; }
.af27-root[data-af27-platform="internal"] .footer__address .link{ margin-top: 12px; }
.af27-root[data-af27-platform="internal"] .footer__base{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 24px 0 32px; border-top: 1px solid var(--line-navy); font-size: 13px; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .footer__contact{ margin-top: 12px !important; font-size: 15px; }
.af27-root[data-af27-platform="internal"] .footer__legal{ display: flex; gap: 20px; }
.af27-root[data-af27-platform="internal"] .footer__legal-link{ color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255, .35); }
.af27-root[data-af27-platform="internal"] .footer__top{ color: #fff; font-family: var(--f-display); font-weight: 600; }

/* 14 · MOTION STATES (only with JS, never with reduced motion) ------------ */
@media (prefers-reduced-motion: no-preference){
  .af27-root[data-af27-platform="internal"] .status__dot{ animation: pulse 2.6s var(--ease-out) infinite; }

  /* opening sequence */
  .af27-root[data-af27-platform="internal"] .nav{ opacity: 0; transition: opacity .8s var(--ease-out) .1s, height .6s var(--ease-out), transform .5s var(--ease-out); }
  .af27-root[data-af27-platform="internal"].is-loaded .nav{ opacity: 1; }

  .af27-root[data-af27-platform="internal"] .hero{ --arc-in: 1; }
  .af27-root[data-af27-platform="internal"] .hero.is-in{ --arc-in: 0; transition: --arc-in 2.2s var(--ease-out) .3s; }

  .af27-root[data-af27-platform="internal"] .hero .hero__shade{ opacity: 0; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .hero__shade{ opacity: 1; transition: opacity 1.6s var(--ease-out) .35s; }
  .af27-root[data-af27-platform="internal"] .hero .hero__frame{ clip-path: inset(calc(var(--hz) * 100%) 0 calc(100% - var(--hz) * 100%) 0); }
  .af27-root[data-af27-platform="internal"] .hero.is-in .hero__frame{ clip-path: inset(-45% -5% 0 -5%); transition: clip-path 1.6s var(--ease-io) .05s; }

  .af27-root[data-af27-platform="internal"] .hero .arc__line{ stroke-dashoffset: 1; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__line{ stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease-io) .55s; }
  .af27-root[data-af27-platform="internal"] .hero .arc__rings path{ stroke-dashoffset: 1; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__rings path{ stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease-out) 1.2s; }
  .af27-root[data-af27-platform="internal"] .hero .arc__field{ opacity: 0; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__field{ opacity: 1; transition: opacity 1.6s var(--ease-out) 1.1s; }
  .af27-root[data-af27-platform="internal"] .hero .arc__bar{ transform: scaleY(0); }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar{ transform: scaleY(1); transition: transform 1.2s var(--ease-out); }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(1){ transition-delay: 1.30s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(2){ transition-delay: 1.36s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(3){ transition-delay: 1.42s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(4){ transition-delay: 1.48s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(5){ transition-delay: 1.54s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(6){ transition-delay: 1.60s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__bar:nth-of-type(7){ transition-delay: 1.66s; }
  .af27-root[data-af27-platform="internal"] .hero .arc__data circle{ opacity: 0; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__data circle{ opacity: 1; transition: opacity .8s var(--ease-out) 2s; }

  /* title: the two words exchange widths as they rise - TWIN widens, TRANSITION condenses */
  .af27-root[data-af27-platform="internal"] .hero .t-char{ transform: translate3d(0, 106%, 0); font-weight: 300; }
  .af27-root[data-af27-platform="internal"] .hero .t-line--twin .t-char{ font-stretch: 62%; }
  .af27-root[data-af27-platform="internal"] .hero .t-line--transition .t-char{ font-stretch: 125%; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .t-char{
    transform: none; font-weight: 800;
    transition:
      transform 1.05s var(--ease-out) calc(var(--i) * 34ms + .28s),
      font-stretch 1.7s var(--ease-io) calc(var(--i) * 34ms + .5s),
      font-weight 1.7s var(--ease-io) calc(var(--i) * 34ms + .5s);
  }
  .af27-root[data-af27-platform="internal"] .hero.is-in .t-line--twin .t-char{ font-stretch: 125%; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .t-line--transition .t-char{ font-stretch: 62%; }

  .af27-root[data-af27-platform="internal"] .hero .hero__eyebrow, .af27-root[data-af27-platform="internal"] .hero .t-line--value, .af27-root[data-af27-platform="internal"] .hero .hero__deck, .af27-root[data-af27-platform="internal"] .hero .hero__foot{ opacity: 0; transform: translate3d(0, 18px, 0); }
  .af27-root[data-af27-platform="internal"] .hero.is-in .hero__deck{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.15s, transform 1.2s var(--ease-out) 1.15s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .hero__eyebrow{ opacity: 1; transform: none; transition: opacity 1s var(--ease-out) .2s, transform 1s var(--ease-out) .2s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .t-line--value{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.05s, transform 1.2s var(--ease-out) 1.05s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .hero__foot{ opacity: 1; transform: none; transition: opacity 1.2s var(--ease-out) 1.35s, transform 1.2s var(--ease-out) 1.35s; }

  .af27-root[data-af27-platform="internal"] .status__inner > *{ opacity: 0; transform: translate3d(0, 12px, 0); }
  .af27-root[data-af27-platform="internal"].is-loaded .status__inner > *{ opacity: 1; transform: none; transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
  .af27-root[data-af27-platform="internal"].is-loaded .status__inner > :nth-child(1){ transition-delay: 1.3s; }
  .af27-root[data-af27-platform="internal"].is-loaded .status__inner > :nth-child(2){ transition-delay: 1.4s; }
  .af27-root[data-af27-platform="internal"].is-loaded .status__inner > :nth-child(3){ transition-delay: 1.5s; }
  .af27-root[data-af27-platform="internal"].is-loaded .status__inner > :nth-child(4){ transition-delay: 1.6s; }

  /* scroll reveals */
  .af27-root[data-af27-platform="internal"] [data-reveal]{ opacity: 0; transform: translate3d(0, 36px, 0); transition: opacity 1.1s var(--ease-out), transform 1.3s var(--ease-out); }
  .af27-root[data-af27-platform="internal"] [data-reveal].is-in{ opacity: 1; transform: none; }
  .af27-root[data-af27-platform="internal"] .discipline .discipline__word{ font-stretch: 62%; }
  .af27-root[data-af27-platform="internal"] .discipline.is-in .discipline__word{ font-stretch: 118%; transition-delay: .1s; }
  .af27-root[data-af27-platform="internal"] [data-clip] picture{ clip-path: inset(18% 0 0 0); transition: clip-path 1.6s var(--ease-io); }
  .af27-root[data-af27-platform="internal"] [data-clip] img{ transform: scale(1.14); transition: transform 2.2s var(--ease-out); }
  .af27-root[data-af27-platform="internal"] [data-clip].is-in picture{ clip-path: inset(0); }
  .af27-root[data-af27-platform="internal"] [data-clip].is-in img{ transform: none; }

  .af27-root[data-af27-platform="internal"] .chapter{ opacity: .32; }
  .af27-root[data-af27-platform="internal"] .chapter.is-active{ opacity: 1; }
}

@keyframes pulse{
  0% { box-shadow: 0 0 0 0 rgba(157, 196, 106, .55); }
  70%, 100% { box-shadow: 0 0 0 10px rgba(157, 196, 106, 0); }
}

/* 14b · AMBIENT: a continuous living system -------------------------------
   The photographs never move. Arcs drift and breathe (14-22 s), light and
   dotted flows run along the curves in opposite directions (18-30 s), the
   digital lines pulse, nodes breathe on randomised 3-8 s clocks, the green
   and cyan fields shift their light (12-20 s). Paused off-screen and in
   background tabs; disabled with prefers-reduced-motion.                  */
.af27-root[data-af27-platform="internal"] .arc__glint{ fill: none; stroke-width: 8; stroke-linecap: round; stroke-dasharray: .06 .94; opacity: 0; }
.af27-root[data-af27-platform="internal"] .arc--green .arc__glint{ stroke: #F4FBE8; }
.af27-root[data-af27-platform="internal"] .arc--digital .arc__glint{ stroke: #EAF8FE; }
.af27-root[data-af27-platform="internal"] .arcs--m .arc__glint{ stroke-width: 6; }
.af27-root[data-af27-platform="internal"] .arc__pulse{ fill: none; stroke: #FFFFFF; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 70 1400; opacity: 0; }
.af27-root[data-af27-platform="internal"] .arcs--m .arc__pulse{ stroke-dasharray: 36 700; }
.af27-root[data-af27-platform="internal"] .arc__flow{ fill: none; stroke: #FFFFFF; stroke-width: 4; stroke-linecap: round; stroke-dasharray: .004 .014; opacity: 0; }
.af27-root[data-af27-platform="internal"] .arc__flow--rev{ stroke: #E2F6FE; }
.af27-root[data-af27-platform="internal"] .arcs--m .arc__flow{ stroke-width: 3; stroke-dasharray: .006 .02; }
.af27-root[data-af27-platform="internal"] .arc__sheen{ opacity: 0; }
.af27-root[data-af27-platform="internal"] .arc__halos circle{ fill: #CFF0FC; opacity: 0; transform-box: fill-box; transform-origin: center; }
.af27-root[data-af27-platform="internal"] .arc__node{ transform-box: fill-box; transform-origin: center; }
.af27-root[data-af27-platform="internal"] .amb-rings{ transform-box: fill-box; transform-origin: 50% 100%; }
.af27-root[data-af27-platform="internal"] .amb-drift-g, .af27-root[data-af27-platform="internal"] .amb-drift-d{ transform-box: view-box; }
.af27-root[data-af27-platform="internal"] .arcs--d .amb-drift-g{ transform-origin: 2116px 918px; }
.af27-root[data-af27-platform="internal"] .arcs--d .amb-drift-d{ transform-origin: 2956px 918px; }
.af27-root[data-af27-platform="internal"] .arcs--m .amb-drift-g{ transform-origin: 510px 918px; }
.af27-root[data-af27-platform="internal"] .arcs--m .amb-drift-d{ transform-origin: 890px 918px; }
.af27-root[data-af27-platform="internal"] .kv-tint{ opacity: .6; }
.af27-root[data-af27-platform="internal"] .kv-glint{ fill: none; stroke-width: 5; stroke-linecap: round; stroke-dasharray: .06 .94; opacity: .8; transition: opacity .8s var(--ease-out); }
.af27-root[data-af27-platform="internal"] .kv-glint--green{ stroke: #F4FBE8; }
.af27-root[data-af27-platform="internal"] .kv-glint--digital{ stroke: #EAF8FE; }
.af27-root[data-af27-platform="internal"] .theme__panel[data-kv="green"] .kv-glint--digital, .af27-root[data-af27-platform="internal"] .theme__panel[data-kv="digital"] .kv-glint--green{ opacity: 0; }

@media (prefers-reduced-motion: no-preference){
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__glint{ opacity: .85; transition: opacity 2.4s var(--ease-out) 2s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__pulse{ opacity: .8; transition: opacity 2.4s var(--ease-out) 2.2s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__flow{ opacity: .55; transition: opacity 2.4s var(--ease-out) 1.8s; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__sheen{ opacity: 1; transition: opacity 3s var(--ease-out) 1.6s; }

  /* main arcs: drift + slight deformation */
  .af27-root[data-af27-platform="internal"] .arcs--d .amb-drift-g{ --dx: 80px; }
  .af27-root[data-af27-platform="internal"] .arcs--d .amb-drift-d{ --dx: -70px; }
  .af27-root[data-af27-platform="internal"] .arcs--m .amb-drift-g{ --dx: 50px; }
  .af27-root[data-af27-platform="internal"] .arcs--m .amb-drift-d{ --dx: -44px; }
  .af27-root[data-af27-platform="internal"] .amb-drift-g{ animation: amb-arc 17s ease-in-out -5s infinite; }
  .af27-root[data-af27-platform="internal"] .amb-drift-d{ animation: amb-arc 21s ease-in-out -13s infinite; }

  /* fields: breathing + moving light */
  .af27-root[data-af27-platform="internal"] .amb-breath-g{ animation: amb-breath 14s ease-in-out -3s infinite; }
  .af27-root[data-af27-platform="internal"] .amb-breath-d{ animation: amb-breath 18s ease-in-out -11s infinite; }
  .af27-root[data-af27-platform="internal"] .arcs--d .arc__sheen{ --sx: 3450px; }
  .af27-root[data-af27-platform="internal"] .arcs--m .arc__sheen{ --sx: 1620px; }
  .af27-root[data-af27-platform="internal"] .arc--green .arc__sheen{ animation: amb-sheen 15s ease-in-out -4s infinite alternate; }
  .af27-root[data-af27-platform="internal"] .arc--digital .arc__sheen{ animation: amb-sheen 19s ease-in-out -9s infinite alternate-reverse; }
  .af27-root[data-af27-platform="internal"] .amb-rings{ animation: amb-rings 19s ease-in-out -7s infinite; }

  /* secondary curves: continuous flows, opposite directions */
  .af27-root[data-af27-platform="internal"] .arc__flow{ animation: amb-flow 24s linear infinite; }
  .af27-root[data-af27-platform="internal"] .arc__flow:nth-child(2){ animation-duration: 30s; animation-delay: -12s; }
  .af27-root[data-af27-platform="internal"] .arc__flow--rev{ animation: amb-flow-rev 20s linear infinite; }
  .af27-root[data-af27-platform="internal"] .arc__flow--rev:nth-child(2){ animation-duration: 27s; animation-delay: -6s; }

  /* light running along the main arcs */
  .af27-root[data-af27-platform="internal"] .arc--green .arc__glint{ animation: amb-glint 22s linear -8s infinite; }
  .af27-root[data-af27-platform="internal"] .arc--digital .arc__glint{ animation: amb-glint 18s linear -3s infinite; }

  /* digital lines: breathing + occasional travelling light */
  .af27-root[data-af27-platform="internal"] .arc__bar{ animation: amb-bar 9s ease-in-out infinite; }
  .af27-root[data-af27-platform="internal"] .arc__bar:nth-of-type(2n){ animation-duration: 11s; animation-delay: -4s; }
  .af27-root[data-af27-platform="internal"] .arc__bar:nth-of-type(3n){ animation-duration: 7s; animation-delay: -2s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse{ animation: amb-pulse 12s linear infinite; }
  .af27-root[data-af27-platform="internal"] .arcs--m .arc__pulse{ animation-name: amb-pulse-m; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(1){ animation-delay: -2s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(2){ animation-duration: 15s; animation-delay: -9s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(3){ animation-duration: 10s; animation-delay: -5s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(4){ animation-duration: 16s; animation-delay: -13s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(5){ animation-duration: 11s; animation-delay: -7s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(6){ animation-duration: 14s; animation-delay: -1s; }
  .af27-root[data-af27-platform="internal"] .arc__pulse:nth-child(7){ animation-duration: 9s; animation-delay: -6s; }

  /* nodes: asynchronous breathing (durations randomised by JS) */
  .af27-root[data-af27-platform="internal"] .arc__node{ animation: amb-node 5s ease-in-out infinite; }
  .af27-root[data-af27-platform="internal"] .hero.is-in .arc__halos circle{ animation: amb-halo 6s ease-in-out infinite; }

  /* key visual */
  .af27-root[data-af27-platform="internal"] .kv-tint--green{ animation: amb-tint 14s ease-in-out -5s infinite; }
  .af27-root[data-af27-platform="internal"] .kv-tint--digital{ animation: amb-tint 18s ease-in-out -11s infinite; }
  .af27-root[data-af27-platform="internal"] .kv-glint--green{ animation: amb-glint 20s linear -6s infinite; }
  .af27-root[data-af27-platform="internal"] .kv-glint--digital{ animation: amb-glint 26s linear -15s infinite; }

  .af27-root[data-af27-platform="internal"] .step.is-current .step__state::before{ animation: pulse 2.6s var(--ease-out) infinite; }

  /* only where it is seen */
  .af27-root[data-af27-platform="internal"] .is-tab-hidden .amb, .af27-root[data-af27-platform="internal"] .is-off .amb, .af27-root[data-af27-platform="internal"] .is-tab-hidden .arc__halos circle, .af27-root[data-af27-platform="internal"] .is-off .arc__halos circle{ animation-play-state: paused !important; }
}

@keyframes amb-arc{
  0%, 100% { transform: translateX(0) scale(1, 1); }
  30% { transform: translateX(calc(var(--dx) * .55)) scale(1.012, 1.03); }
  65% { transform: translateX(var(--dx)) scale(.994, .985); }
}
@keyframes amb-breath{ 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes amb-sheen{ from { transform: translateX(0); } to { transform: translateX(var(--sx)); } }
@keyframes amb-rings{ 0%, 100% { transform: scale(1); opacity: .7; } 50% { transform: scale(1.04); opacity: 1; } }
@keyframes amb-flow{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1; } }
@keyframes amb-flow-rev{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: 1; } }
@keyframes amb-glint{ from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes amb-bar{ 0%, 100% { opacity: .32; } 50% { opacity: .8; } }
@keyframes amb-pulse{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1470; } }
@keyframes amb-pulse-m{ from { stroke-dashoffset: 0; } to { stroke-dashoffset: -736; } }
@keyframes amb-node{ 0%, 100% { transform: scale(1); } 50% { transform: scale(1.8); } }
@keyframes amb-halo{ 0%, 100% { opacity: 0; transform: scale(.5); } 50% { opacity: .4; transform: scale(1); } }
@keyframes amb-tint{ 0%, 100% { opacity: .3; } 50% { opacity: .95; } }

/* 15 · RESPONSIVE -------------------------------------------------------- */
@media (max-width: 1360px){
  .af27-root[data-af27-platform="internal"] .nav__event > span{ letter-spacing: .1em; }
  .af27-root[data-af27-platform="internal"] .status__inner{ grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .9fr) auto; gap: 22px; }
  .af27-root[data-af27-platform="internal"] .status__key, .af27-root[data-af27-platform="internal"] .status__next{ padding-left: 22px; }
}

@media (max-width: 1199px){
  .af27-root[data-af27-platform="internal"]{ --nav-h: 72px; --nav-h-min: 64px; --rail-h: 60px; }
  .af27-root[data-af27-platform="internal"] .nav__menu, .af27-root[data-af27-platform="internal"] .nav__cta, .af27-root[data-af27-platform="internal"] .nav__rule{ display: none; }
  .af27-root[data-af27-platform="internal"] .nav__lum img{ height: 34px; }
  .af27-root[data-af27-platform="internal"] .nav.is-scrolled .nav__lum img{ height: 30px; }
  .af27-root[data-af27-platform="internal"] .nav__brand{ gap: 16px; }
  .af27-root[data-af27-platform="internal"] .nav__event{ padding-left: 16px; border-left: 1px solid var(--line); }
  .af27-root[data-af27-platform="internal"] .nav.is-hidden{ transform: translateY(-100%); }

  .af27-root[data-af27-platform="internal"] .rail{
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
    display: flex; align-items: stretch;
    height: calc(var(--rail-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
    background: rgba(10, 31, 51, .97); color: #fff; border-top: 1px solid var(--line-navy);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  }
  .af27-root[data-af27-platform="internal"] .rail__scroll{
    flex: 1; min-width: 0; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none;
    padding-left: 6px;
    -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent);
  }
  .af27-root[data-af27-platform="internal"] .rail__scroll::-webkit-scrollbar{ display: none; }
  .af27-root[data-af27-platform="internal"] .rail__scroll a{ position: relative; flex: none; display: flex; align-items: center; padding: 0 13px; font: 500 15px/1 var(--f-display); color: rgba(255, 255, 255, .7); }
  .af27-root[data-af27-platform="internal"] .rail__scroll a.is-active{ color: #fff; }
  .af27-root[data-af27-platform="internal"] .rail__scroll a.is-active::after{ content: ""; position: absolute; left: 13px; right: 13px; bottom: 12px; height: 2px; background: var(--twin); }
  .af27-root[data-af27-platform="internal"] .rail__cta{ flex: none; display: flex; align-items: center; gap: 10px; padding: 0 16px; background: #fff; color: var(--ink); font: 600 14px/1 var(--f-display); }
  .af27-root[data-af27-platform="internal"] .rail__cta .btn__arrow{ width: 16px; height: 16px; }
  .af27-root[data-af27-platform="internal"] .rail__cta-text{ display: flex; flex-direction: column; gap: 4px; }
  .af27-root[data-af27-platform="internal"] .rail__due{ font: 600 10px/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--lum); }

  .af27-root[data-af27-platform="internal"]{ padding-bottom: calc(var(--rail-h) + env(safe-area-inset-bottom)); }
  .af27-root[data-af27-platform="internal"] .hero{ --hh: clamp(600px, calc(100svh - var(--rail-h)), 1080px); }

  .af27-root[data-af27-platform="internal"] .status__inner{ grid-template-columns: 1fr 1fr; padding-block: 28px; gap: 24px 28px; }
  .af27-root[data-af27-platform="internal"] .status__phase{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .status__key{ padding-left: 0; border-left: 0; }
  .af27-root[data-af27-platform="internal"] .status__cta{ grid-column: 1 / -1; justify-self: start; }

  .af27-root[data-af27-platform="internal"] .theme__stage{ gap: 48px; }

}

@media (max-width: 1023px) and (min-width: 701px){
  .af27-root[data-af27-platform="internal"] .hero{ --t-size: clamp(64px, min(15vw, 19svh), 188px); --horizon: .54; }
}

@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .s-kicker{ grid-column: 1 / -1; padding-top: 0; margin-bottom: 24px; }
  .af27-root[data-af27-platform="internal"] .s-head__main{ grid-column: 1 / -1; }

  .af27-root[data-af27-platform="internal"] .theme__stage{ grid-template-columns: 1fr; }
  .af27-root[data-af27-platform="internal"] .theme__panel{ position: relative; top: auto; height: auto; min-height: 0; max-height: none; }
  .af27-root[data-af27-platform="internal"] .theme__kv{ aspect-ratio: 4 / 4.2; flex: none; }
  .af27-root[data-af27-platform="internal"] .chapter, .af27-root[data-af27-platform="internal"] .chapter:first-child{ min-height: 0; padding-block: 44px 8px; justify-content: flex-start; }
  .af27-root[data-af27-platform="internal"] .chapter{ opacity: 1; }

  .af27-root[data-af27-platform="internal"] .discipline__body{ grid-column: 1 / -1; }




  .af27-root[data-af27-platform="internal"] .host__mark{ grid-column: 1 / span 5; width: min(42vw, 52svh); }
  .af27-root[data-af27-platform="internal"] .host__words{ grid-column: 6 / -1; }
  .af27-root[data-af27-platform="internal"] .host__photo{ grid-column: 1 / span 5; }
  .af27-root[data-af27-platform="internal"] .host__text{ grid-column: 7 / -1; }

  .af27-root[data-af27-platform="internal"] .footer__cols{ grid-template-columns: 1fr 1fr; }
  .af27-root[data-af27-platform="internal"] .footer__event{ grid-column: 1 / -1; }
}

@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"]{ font-size: 16px; }
  .af27-root[data-af27-platform="internal"] .hero{
    --horizon: .455;
    --fw: max(100vw, calc(var(--hh) * .5));
    --fh: calc(var(--fw) * 1.7814);             /* 2494 / 1400 */
    --tower: 50% 15.958%, 53.571% 21.251%, 53.857% 21.291%, 53.857% 21.852%, 53.5% 21.852%, 53.5% calc(var(--tcut) * 100%), 46.571% calc(var(--tcut) * 100%), 46.571% 21.852%, 46.214% 21.852%, 46.214% 21.291%, 46.5% 21.251%;
    --tcut: .25;
    --t-size: 18.2vw;
  }
  .af27-root[data-af27-platform="internal"] .arcs--d{ display: none; }
  .af27-root[data-af27-platform="internal"] .arcs--m{ display: block; }
  .af27-root[data-af27-platform="internal"] .hero__eyebrow{ font-size: 11px; letter-spacing: .12em; }
  .af27-root[data-af27-platform="internal"] .hero__eyebrow-rest{ flex-basis: 100%; }
  .af27-root[data-af27-platform="internal"] .hero__tick{ width: 18px; }
  .af27-root[data-af27-platform="internal"] .t-line--value{ margin-top: 22px; }
  .af27-root[data-af27-platform="internal"] .t-value{ font-size: clamp(27px, 7.8vw, 36px); }
  .af27-root[data-af27-platform="internal"] .hero__deck{ margin-top: 12px; font-size: 16px; line-height: 1.38; max-width: 34ch; }
  .af27-root[data-af27-platform="internal"] .hero__foot{ justify-content: flex-start; }
  .af27-root[data-af27-platform="internal"] .hero__facts{ grid-template-columns: 1fr; width: 100%; }
  .af27-root[data-af27-platform="internal"] .hero__fact, .af27-root[data-af27-platform="internal"] .hero__fact:first-child{ display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: baseline; padding: 11px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
  .af27-root[data-af27-platform="internal"] .hero__fact:last-child{ border-bottom: 0; padding-bottom: 0; }
  .af27-root[data-af27-platform="internal"] .hero__facts dt{ font-size: 10px; letter-spacing: .16em; }
  .af27-root[data-af27-platform="internal"] .hero__facts dt::before{ display: none; }
  .af27-root[data-af27-platform="internal"] .hero__facts dd{ margin-top: 0; font-size: 20px; white-space: normal; }

  .af27-root[data-af27-platform="internal"] .status__inner{ grid-template-columns: 1fr 1fr; }
  .af27-root[data-af27-platform="internal"] .status__cta{ justify-self: stretch; }

  .af27-root[data-af27-platform="internal"] .s-title{ font-size: clamp(32px, 9vw, 44px); }
  .af27-root[data-af27-platform="internal"] .chapter__title{ font-size: clamp(30px, 8.6vw, 40px); }

  .af27-root[data-af27-platform="internal"] .discipline__word{ font-size: 11.4vw; }
  .af27-root[data-af27-platform="internal"] .discipline__body{ grid-template-columns: 1fr; gap: 18px; }





  /* LUM moment on phones: same idea, shorter track */
  .af27-root[data-af27-platform="internal"] .host__track{ height: 200svh; }
  .af27-root[data-af27-platform="internal"] .host__stage{ grid-template-columns: 1fr; align-content: center; row-gap: 36px; }
  .af27-root[data-af27-platform="internal"] .host__mark{ grid-column: 1; width: min(62vw, 38svh); }
  .af27-root[data-af27-platform="internal"] .host__words{ grid-column: 1; text-align: center; }
  .af27-root[data-af27-platform="internal"] .host__words .s-kicker{ justify-content: center; }
  .af27-root[data-af27-platform="internal"] .host__pre{ margin-top: 18px; }
  .af27-root[data-af27-platform="internal"] .host__name{ font-size: clamp(36px, 10.4vw, 52px); }
  .af27-root[data-af27-platform="internal"] .host__photo, .af27-root[data-af27-platform="internal"] .host__text{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .host__photo{ width: 78%; }

  .af27-root[data-af27-platform="internal"] .footer{ padding-top: 180px; }
  .af27-root[data-af27-platform="internal"] .footer__night{ height: 300px; }
  .af27-root[data-af27-platform="internal"] .footer__cols{ grid-template-columns: 1fr; }
  .af27-root[data-af27-platform="internal"] .footer__seal{ width: 70vw; bottom: -30%; }
}

@media (max-width: 560px){
  .af27-root[data-af27-platform="internal"] .nav__long{ display: none; }
  .af27-root[data-af27-platform="internal"] .nav__event strong{ font-size: 14px; }
  .af27-root[data-af27-platform="internal"] .nav__event > span{ font-size: 10px; letter-spacing: .1em; }
}

@media (max-width: 380px){
  .af27-root[data-af27-platform="internal"] .nav__event > span{ display: none; }
  .af27-root[data-af27-platform="internal"] .rail__scroll a{ padding: 0 11px; font-size: 14px; }
  .af27-root[data-af27-platform="internal"] .rail__cta{ padding: 0 12px; font-size: 13px; }
}

/* No JavaScript: show the final state of every scroll-driven scene */
.af27-root[data-af27-platform="internal"] .no-js .host{ --hostp: 1; }
.af27-root[data-af27-platform="internal"] .no-js .host__track{ height: auto; }
.af27-root[data-af27-platform="internal"] .no-js .host__stage{ position: relative; height: auto; padding-block: clamp(96px, 10vw, 160px) 64px; }

/* 16 · REDUCED MOTION ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .af27-root[data-af27-platform="internal"] *, .af27-root[data-af27-platform="internal"] *::before, .af27-root[data-af27-platform="internal"] *::after{ transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .af27-root[data-af27-platform="internal"] .hero__layer, .af27-root[data-af27-platform="internal"] .hero__content{ transform: none !important; }
  .af27-root[data-af27-platform="internal"] .host{ --hostp: 1 !important; }
  .af27-root[data-af27-platform="internal"] .host__track{ height: auto; }
  .af27-root[data-af27-platform="internal"] .host__stage{ position: relative; height: auto; min-height: 0; padding-block: clamp(96px, 10vw, 160px) 64px; }
  .af27-root[data-af27-platform="internal"] .gallery__item{ transform: none !important; }
}

/* ==========================================================================
   A&F LUM Conference · PLATFORM LAYER
   Extends the approved design system (main.css) to a multi-page site:
   P1 navigation & mega menu · P2 mobile sheet · P3 page headers ·
   P4 page layout · P5 editorial components · P6 conference systems
   (tracks, programme, people, publications, registration) · P7 home portal
   blocks · P8 footer · P9 motion & view transitions · P10 print
   Motion (Kowalski method): UI 140-250 ms, ease-out cubic-bezier(.23,1,.32,1),
   exits faster than entries, hover only on fine pointers.
   ========================================================================== */
.af27-root[data-af27-platform="internal"]{ --ui-out: cubic-bezier(.23, 1, .32, 1); --ui-io: cubic-bezier(.77, 0, .175, 1); }

/* P1 · NAVIGATION ---------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .nav__menu{ display: none; }
.af27-root[data-af27-platform="internal"] .mnav{ margin-left: auto; }
.af27-root[data-af27-platform="internal"] .mnav__list{ display: flex; align-items: center; gap: clamp(0px, .3vw, 8px); }
.af27-root[data-af27-platform="internal"] .mnav__item{ display: flex; align-items: center; }
/* label: a real link to the section landing page */
.af27-root[data-af27-platform="internal"] .mnav__link{
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 0 0 6px; white-space: nowrap;
  font: 500 clamp(14px, 1.06vw, 17.5px)/1 var(--f-display); letter-spacing: -.005em; color: inherit;
}
.af27-root[data-af27-platform="internal"] .mnav__link::after{
  content: ""; position: absolute; left: 6px; right: 0; bottom: 6px; height: 2px;
  background: var(--lum); transform: scaleX(0); transform-origin: right; transition: transform .22s var(--ui-out);
}
/* chevron: a separate button that opens and closes the mega menu */
.af27-root[data-af27-platform="internal"] .mnav__toggle{
  display: inline-flex; align-items: center; justify-content: flex-start; width: 24px; min-height: 44px; padding: 0 0 0 5px;
  background: none; border: 0; color: inherit; cursor: pointer;   /* 24 x 44 px target, chevron kept close to the label */
}
.af27-root[data-af27-platform="internal"] .mnav__chev{ width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mnav__item.is-open .mnav__chev{ transform: rotate(180deg); }

.af27-root[data-af27-platform="internal"] .nav.has-menu::before{ transform: none; }
.af27-root[data-af27-platform="internal"] .nav--solid::before{ transform: none; }

.af27-root[data-af27-platform="internal"] .mm{
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--paper); color: var(--ink);
  border-bottom: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(10, 31, 51, .28);
  opacity: 0; transform: translateY(-6px);
  transition: opacity .14s ease-out, transform .14s ease-out;
}
.af27-root[data-af27-platform="internal"] .mm.is-open{ opacity: 1; transform: none; transition: opacity .22s var(--ui-out), transform .22s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mm__inner{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); padding-block: 36px 40px; }
.af27-root[data-af27-platform="internal"] .mm__intro{ grid-column: 1 / span 3; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.af27-root[data-af27-platform="internal"] .mm__kicker{ font: 700 clamp(26px, 2.2vw, 34px)/1 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .mm__desc{ font-size: 15px; line-height: 1.5; color: var(--muted); max-width: 28ch; }
.af27-root[data-af27-platform="internal"] .mm__links{ grid-column: 4 / span 6; display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--col-gap); border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .mm__links a{ display: grid; gap: 3px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .mm__t{ font: 600 17px/1.2 var(--f-display); transition: color .15s ease; }
.af27-root[data-af27-platform="internal"] .mm__d{ font-size: 13.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm__state{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm__state.is-live{ color: var(--green-ink); }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .mm__links a:hover .mm__t{ color: var(--lum); } }
.af27-root[data-af27-platform="internal"] .mm__links a[aria-current="page"] .mm__t{ color: var(--lum); }
.af27-root[data-af27-platform="internal"] .mm__aside{ grid-column: 10 / -1; padding-left: var(--col-gap); border-left: 1px solid var(--line); }

.af27-root[data-af27-platform="internal"] .mm-host img{ width: 64px; height: 64px; }
.af27-root[data-af27-platform="internal"] .mm-host__pre{ margin-top: 14px; font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm-host__name{ margin: 8px 0 12px; font: 700 20px/1.1 var(--f-display); font-stretch: 86%; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .mm-call__status{ display: flex; align-items: center; gap: 8px; font: 700 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .mm-call__title{ margin: 12px 0 8px; font: 700 22px/1.1 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .mm-call__key{ margin-bottom: 18px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm-call__key strong{ display: block; margin-top: 4px; font: 700 20px/1.1 var(--f-display); color: var(--ink); }
.af27-root[data-af27-platform="internal"] .mm-journey li, .af27-root[data-af27-platform="internal"] .mm-thread li{ display: grid; grid-template-columns: 34px 1fr; gap: 2px 8px; padding: 9px 0; border-bottom: 1px solid var(--line-2); font: 600 14px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .mm-journey span, .af27-root[data-af27-platform="internal"] .mm-thread span{ grid-row: span 2; font-size: 12px; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .mm-journey em{ font: 500 12px/1.3 var(--f-text); font-style: normal; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm-thread li.is-now{ color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .mm-days__label{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm-days__day{ margin-top: 12px; font: 700 22px/1 var(--f-display); font-stretch: 84%; }
.af27-root[data-af27-platform="internal"] .mm-days__day span{ display: block; margin-bottom: 4px; font: 600 11px/1 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .mm-days__note{ margin-top: 14px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .mm-venue img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .mm-venue figcaption{ margin-top: 10px; font-size: 13.5px; color: var(--muted); }

@media (max-width: 1520px){
  .af27-root[data-af27-platform="internal"] .nav__event > span .nav__long{ display: none; }
  .af27-root[data-af27-platform="internal"] .nav__brand{ gap: 14px; }
}
@media (max-width: 1360px){
  .af27-root[data-af27-platform="internal"] .mnav__link{ padding-left: 4px; }
  .af27-root[data-af27-platform="internal"] .mnav__link::after{ left: 4px; }
  .af27-root[data-af27-platform="internal"] .nav__event strong{ font-size: 14.5px; }
  .af27-root[data-af27-platform="internal"] .nav__event > span{ font-size: 10px; letter-spacing: .1em; }
  .af27-root[data-af27-platform="internal"] .nav .nav__cta{ padding: 0 12px 0 14px; gap: 10px; }
}

/* P2 · MOBILE: rail + sheet ------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .rail--platform .rail__menu{ display: none; }
@media (max-width: 1199px){
  .af27-root[data-af27-platform="internal"] .mnav{ display: none; }
  .af27-root[data-af27-platform="internal"] .rail--platform .rail__menu{
    flex: 1; display: flex; align-items: center; gap: 12px; padding: 0 20px;
    font: 600 16px/1 var(--f-display); color: #fff; background: none; border: 0; cursor: pointer;
  }
  .af27-root[data-af27-platform="internal"] .rail__menu-icon{ width: 18px; height: 10px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
}
.af27-root[data-af27-platform="internal"] .sheet{
  position: fixed; inset: 0 0 calc(var(--rail-h) + env(safe-area-inset-bottom)) 0; z-index: 99;
  overflow-y: auto; overscroll-behavior: contain;
  background: var(--paper); color: var(--ink); padding: 20px var(--gutter) 40px;
  transform: translateY(12px); opacity: 0; transition: opacity .14s ease-out, transform .14s ease-out;
}
.af27-root[data-af27-platform="internal"] .sheet.is-open{ transform: none; opacity: 1; transition: opacity .24s var(--ui-out), transform .24s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .sheet__head{ display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .sheet__title{ font: 700 17px/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .sheet__close{ min-height: 44px; padding: 0 4px; background: none; border: 0; font: 600 15px/1 var(--f-display); color: var(--lum); cursor: pointer; }
.af27-root[data-af27-platform="internal"] .sheet__home{ display: block; padding: 18px 0; border-bottom: 1px solid var(--line); font: 700 24px/1 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .sheet__group{ border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .sheet__row{ display: flex; align-items: stretch; justify-content: space-between; }
.af27-root[data-af27-platform="internal"] .sheet__sec{ flex: 1; padding: 18px 0; font: 700 24px/1 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .sheet__toggle{ flex: none; display: grid; place-items: center; width: 56px; min-height: 56px; padding: 0; background: none; border: 0; border-left: 1px solid var(--line-2); color: var(--lum); cursor: pointer; }
.af27-root[data-af27-platform="internal"] .sheet__toggle span{ position: relative; width: 16px; height: 16px; }
.af27-root[data-af27-platform="internal"] .sheet__toggle span::before, .af27-root[data-af27-platform="internal"] .sheet__toggle span::after{ content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: currentColor; transition: transform .2s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .sheet__toggle span::after{ transform: rotate(90deg); }
.af27-root[data-af27-platform="internal"] .sheet__toggle[aria-expanded="true"] span::after{ transform: rotate(0deg); }
.af27-root[data-af27-platform="internal"] .sheet__group ul{ padding: 0 0 16px; }
.af27-root[data-af27-platform="internal"] .sheet__group li a{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 12px 0; font: 500 17px/1.3 var(--f-display); border-top: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .sheet__state{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); align-self: center; }
.af27-root[data-af27-platform="internal"].sheet-open{ overflow: hidden; }

/* P3 · PAGE HEADERS -------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .ph{ position: relative; overflow: hidden; }
.af27-root[data-af27-platform="internal"] .ph--l2{ background: var(--navy); color: #fff; padding: calc(var(--nav-h-min) + clamp(56px, 8vw, 120px)) 0 clamp(56px, 7vw, 100px); min-height: min(62svh, 640px); display: flex; align-items: flex-end; }
.af27-root[data-af27-platform="internal"] .ph--l2::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--twin); opacity: .7; }
.af27-root[data-af27-platform="internal"] .ph--l3{ background: var(--paper); padding: calc(var(--nav-h-min) + clamp(40px, 5vw, 72px)) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .ph__inner{ position: relative; z-index: 1; width: min(var(--maxw), 100% - 2 * var(--gutter)); }
.af27-root[data-af27-platform="internal"] .ph__kicker{ font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .ph--l2 .ph__kicker{ color: #D6EFB8; }
.af27-root[data-af27-platform="internal"] .ph__title{ margin-top: 18px; max-width: 18ch; font: 750 clamp(44px, 6.6vw, 112px)/.92 var(--f-display); font-stretch: 78%; letter-spacing: -.028em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .ph--l3 .ph__title{ font-size: clamp(36px, 4.8vw, 80px); max-width: 24ch; }
.af27-root[data-af27-platform="internal"] .ph__lead{ margin-top: 22px; max-width: 60ch; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.55; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .ph--l2 .ph__lead{ color: #C8D4E0; }
.af27-root[data-af27-platform="internal"] .ph__meta{ display: flex; flex-wrap: wrap; gap: 18px 44px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .ph__meta dt{ font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .ph__meta dd{ margin-top: 8px; font: 650 clamp(17px, 1.4vw, 22px)/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .ph__meta .is-live dd{ color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .ph__meta .is-live dd::before{ content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--green); vertical-align: middle; }
.af27-root[data-af27-platform="internal"] .ph__arcs{ position: absolute; right: -4%; bottom: 0; width: min(62vw, 1100px); height: 100%; overflow: visible; opacity: .9; }
.af27-root[data-af27-platform="internal"] .ph-arc path{ fill: none; stroke-width: 1.6; }
.af27-root[data-af27-platform="internal"] .ph-arc--g path{ stroke: rgba(157, 196, 106, .75); }
.af27-root[data-af27-platform="internal"] .ph-arc--d path{ stroke: rgba(91, 194, 238, .75); }
.af27-root[data-af27-platform="internal"] .ph-flow{ fill: none; stroke: rgba(255, 255, 255, .45); stroke-width: 1.4; stroke-dasharray: .006 .016; }

.af27-root[data-af27-platform="internal"] .crumbs ol{ display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; font-size: 13.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .crumbs li + li::before{ content: "/"; margin-right: 6px; color: var(--line); }
.af27-root[data-af27-platform="internal"] .crumbs a{ text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs ol, .af27-root[data-af27-platform="internal"] .crumbs--light ol{ color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs li + li::before, .af27-root[data-af27-platform="internal"] .crumbs--light li + li::before{ color: rgba(255, 255, 255, .3); }

/* P4 · PAGE LAYOUT --------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .pg{ padding-block: clamp(56px, 7vw, 112px); background: var(--paper); }
.af27-root[data-af27-platform="internal"] .pg--tight{ padding-block: clamp(40px, 5vw, 72px); }
.af27-root[data-af27-platform="internal"] .pg__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; align-items: start; }
.af27-root[data-af27-platform="internal"] .pg__main{ grid-column: 1 / span 8; }
.af27-root[data-af27-platform="internal"] .pg__aside{ grid-column: 10 / -1; position: sticky; top: calc(var(--nav-h-min) + 28px); display: grid; gap: 28px; }
.af27-root[data-af27-platform="internal"] .pg__grid--toc .toc{ grid-column: 1 / span 3; position: sticky; top: calc(var(--nav-h-min) + 28px); }
.af27-root[data-af27-platform="internal"] .pg__grid--toc .pg__main{ grid-column: 4 / -1; }
.af27-root[data-af27-platform="internal"] .pg__h3{ margin: 40px 0 16px; font: 600 12px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
.af27-root[data-af27-platform="internal"] .pg__more{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; }
.af27-root[data-af27-platform="internal"] .pg__note, .af27-root[data-af27-platform="internal"] .pg__source{ margin-top: 24px; font-size: 14px; color: var(--muted); max-width: 70ch; }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .pg__main, .af27-root[data-af27-platform="internal"] .pg__aside, .af27-root[data-af27-platform="internal"] .pg__grid--toc .toc, .af27-root[data-af27-platform="internal"] .pg__grid--toc .pg__main{ grid-column: 1 / -1; position: static; }
}

/* P5 · EDITORIAL COMPONENTS ------------------------------------------------ */
.af27-root[data-af27-platform="internal"] .st{ margin: clamp(56px, 6vw, 96px) 0 28px; padding-top: 22px; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .pg__main > .st:first-child, .af27-root[data-af27-platform="internal"] .pg .wrap > .st:first-child{ margin-top: 0; }
.af27-root[data-af27-platform="internal"] .st__kicker{ display: flex; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .st__title{ margin-top: 12px; font: 700 clamp(28px, 3vw, 48px)/1.02 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .st__lead{ margin-top: 12px; max-width: 64ch; color: var(--muted); }

.af27-root[data-af27-platform="internal"] .prose{ max-width: 70ch; }
.af27-root[data-af27-platform="internal"] .prose h2{ margin: 44px 0 14px; font: 700 clamp(22px, 2vw, 30px)/1.15 var(--f-display); font-stretch: 88%; letter-spacing: -.012em; }
.af27-root[data-af27-platform="internal"] .prose h2:first-child{ margin-top: 0; }
.af27-root[data-af27-platform="internal"] .prose p{ margin-bottom: 16px; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .prose strong{ color: var(--ink); }

.af27-root[data-af27-platform="internal"] .hold{ position: relative; padding: 24px 0 24px 28px; border-left: 3px solid; border-image: linear-gradient(var(--green), var(--cyan)) 1; background: linear-gradient(90deg, rgba(157, 196, 106, .08), transparent 70%); }
.af27-root[data-af27-platform="internal"] .hold__label{ font: 700 11px/1.3 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .hold__title{ margin-top: 8px; max-width: 46ch; font: 650 clamp(19px, 1.6vw, 24px)/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .hold__text{ margin-top: 8px; max-width: 60ch; font-size: 15.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .hold__link{ margin-top: 12px; }

.af27-root[data-af27-platform="internal"] .ref{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 32px 0 16px; font-size: 14.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .ref__tag{ padding: 4px 8px; border: 1px solid var(--line); font: 700 11px/1 var(--f-display); letter-spacing: .12em; color: var(--ink); }

.af27-root[data-af27-platform="internal"] .kv{ border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .kv > div{ display: grid; grid-template-columns: minmax(120px, 220px) minmax(0, 1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .kv dt{ font: 600 11px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.af27-root[data-af27-platform="internal"] .kv dd{ font: 500 16.5px/1.5 var(--f-display); }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .kv > div{ grid-template-columns: 1fr; gap: 6px; } }

.af27-root[data-af27-platform="internal"] .note{ margin: 24px 0; padding: 22px 24px; background: var(--white); border: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .note__t{ font: 700 12px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); margin-bottom: 10px !important; }
.af27-root[data-af27-platform="internal"] .flow{ border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .flow li{ display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .flow time{ font: 700 16px/1.3 var(--f-display); }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .flow li{ grid-template-columns: 1fr; gap: 4px; } }

.af27-root[data-af27-platform="internal"] .actcard{ padding: 26px; background: var(--white); border-top: 4px solid; border-image: var(--twin) 1; display: grid; gap: 16px; }
.af27-root[data-af27-platform="internal"] .actcard__status{ display: flex; align-items: center; gap: 8px; font: 700 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .actcard__deadline{ font: 750 clamp(34px, 3vw, 48px)/1 var(--f-display); font-stretch: 76%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .actcard__count{ font: 600 14px/1 var(--f-display); color: var(--cyan-ink); }
.af27-root[data-af27-platform="internal"] .actcard .btn{ width: 100%; }
.af27-root[data-af27-platform="internal"] .side{ padding-top: 16px; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .side__t{ margin-bottom: 10px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .side--pager{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

.af27-root[data-af27-platform="internal"] .cix{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .cix__item a{ display: grid; grid-template-columns: 52px minmax(0, 1.1fr) minmax(0, 1.4fr) auto 28px; gap: 16px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .cix__n{ font: 600 13px/1 var(--f-display); color: var(--lum); }
.af27-root[data-af27-platform="internal"] .cix__t{ font: 650 clamp(20px, 1.8vw, 28px)/1.15 var(--f-display); font-stretch: 90%; letter-spacing: -.01em; }
.af27-root[data-af27-platform="internal"] .cix__d{ font-size: 15px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .cix__s{ font: 600 11px/1.2 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.af27-root[data-af27-platform="internal"] .cix__s.is-live{ color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .cix__arrow{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; align-self: center; transition: transform .2s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  .af27-root[data-af27-platform="internal"] .cix__item a:hover .cix__t, .af27-root[data-af27-platform="internal"] .trow a:hover .trow__title{ color: var(--lum); }
  .af27-root[data-af27-platform="internal"] .cix__item a:hover .cix__arrow, .af27-root[data-af27-platform="internal"] .trow a:hover .cix__arrow{ transform: translateX(4px); }
}
@media (max-width: 900px){
  .af27-root[data-af27-platform="internal"] .cix__item a{ grid-template-columns: 36px minmax(0, 1fr) 24px; row-gap: 6px; }
  .af27-root[data-af27-platform="internal"] .cix__d, .af27-root[data-af27-platform="internal"] .cix__s{ grid-column: 2; }
  .af27-root[data-af27-platform="internal"] .cix__arrow{ grid-column: 3; grid-row: 1; }
}

.af27-root[data-af27-platform="internal"] .toc{ padding-top: 16px; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .toc__t{ font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.af27-root[data-af27-platform="internal"] .toc a{ display: block; padding: 8px 0; font: 500 15px/1.3 var(--f-display); border-bottom: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .toc a.is-active{ color: var(--lum); }
.af27-root[data-af27-platform="internal"] .cfp{ padding: 26px 0 30px; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--nav-h-min) + 20px); }
.af27-root[data-af27-platform="internal"] .cfp:first-child{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .cfp__h{ font: 700 clamp(22px, 2vw, 30px)/1.15 var(--f-display); font-stretch: 88%; }
.af27-root[data-af27-platform="internal"] .cfp__p{ margin-top: 12px; max-width: 64ch; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .cfp__state{ display: inline-block; margin-top: 12px; padding: 6px 10px; font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--green-ink); background: rgba(157, 196, 106, .14); }
.af27-root[data-af27-platform="internal"] .cfp__ref{ margin-top: 16px; }
.af27-root[data-af27-platform="internal"] .cfp__ref summary{ cursor: pointer; font: 600 15px/1.4 var(--f-display); color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--line); }
.af27-root[data-af27-platform="internal"] .cfp__ref ul{ margin-top: 12px; padding-left: 18px; list-style: disc; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .cfp__ref ul li{ padding: 3px 0; }
.af27-root[data-af27-platform="internal"] .cfp__ref .kv{ margin-top: 12px; }

.af27-root[data-af27-platform="internal"] .ctab{ background: var(--navy); color: #fff; padding-block: clamp(48px, 5vw, 80px); border-top: 3px solid; border-image: var(--twin) 1; }
.af27-root[data-af27-platform="internal"] .ctab__inner{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 28px; }
.af27-root[data-af27-platform="internal"] .ctab__title{ font: 700 clamp(26px, 2.6vw, 42px)/1.05 var(--f-display); font-stretch: 84%; }
.af27-root[data-af27-platform="internal"] .ctab__text{ margin-top: 8px; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .ctab__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

.af27-root[data-af27-platform="internal"] .host-card{ padding: 28px; background: var(--paper-warm); border-top: 3px solid var(--lum); }
.af27-root[data-af27-platform="internal"] .host-card img{ width: 72px; height: 72px; }
.af27-root[data-af27-platform="internal"] .host-card__pre{ margin-top: 16px; font: 600 11px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .host-card__name{ margin: 8px 0 12px; font: 700 26px/1.05 var(--f-display); font-stretch: 84%; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .host-card__text{ margin-bottom: 16px; font-size: 15px; color: var(--ink-2); }

/* P6 · CONFERENCE SYSTEMS -------------------------------------------------- */
/* people */
.af27-root[data-af27-platform="internal"] .pdir{ display: grid; column-gap: var(--col-gap); border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .pdir--1{ grid-template-columns: 1fr; border-top: 0; }
.af27-root[data-af27-platform="internal"] .pdir--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.af27-root[data-af27-platform="internal"] .pdir--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.af27-root[data-af27-platform="internal"] .pdir li{ display: flex; flex-direction: column; gap: 3px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .pdir strong{ font: 600 16.5px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .pdir span{ font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .pdir em{ font: 600 11px/1.3 var(--f-display); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--lum); }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .pdir--3, .af27-root[data-af27-platform="internal"] .pdir--4{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .pdir--3, .af27-root[data-af27-platform="internal"] .pdir--4{ grid-template-columns: 1fr; } }
.af27-root[data-af27-platform="internal"] .kn{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 var(--col-gap); border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .kn__item{ display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .kn__mono{ width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font: 700 17px/1 var(--f-display); letter-spacing: .02em; }
.af27-root[data-af27-platform="internal"] .kn__name{ font: 650 19px/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .kn__aff{ margin-top: 3px; font-size: 14.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .roles{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .roles__item{ display: flex; justify-content: space-between; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .roles__t{ font: 650 clamp(18px, 1.5vw, 23px)/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .roles__s{ font: 600 11px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }

/* partners */
.af27-root[data-af27-platform="internal"] .prole{ display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .prole__t{ font: 600 11px/1.6 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .prole__tba{ font: 600 16px/1.4 var(--f-display); color: var(--muted); }
.af27-root[data-af27-platform="internal"] .prole__host{ display: flex; align-items: center; gap: 16px; font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 86%; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .prole__host img{ width: 56px; height: 56px; }
.af27-root[data-af27-platform="internal"] .prole__list{ display: grid; gap: 8px; font: 500 16.5px/1.4 var(--f-display); }
.af27-root[data-af27-platform="internal"] .prole__list--cols{ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); column-gap: var(--col-gap); }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .prole{ grid-template-columns: 1fr; gap: 10px; } }

/* publications */
.af27-root[data-af27-platform="internal"] .publist{ border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .publist__item{ display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .publist__type{ font: 700 11px/1.3 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .publist__journal{ font: 600 17px/1.3 var(--f-display); font-style: italic; }
.af27-root[data-af27-platform="internal"] .publist__si{ margin-top: 4px; font-size: 15px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .pubtracks > li{ padding: 18px 0; border-top: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .pubtracks__t{ display: block; margin-bottom: 10px; font: 650 16px/1.3 var(--f-display); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .publist__item{ grid-template-columns: 1fr; gap: 4px; } }

/* downloads */
.af27-root[data-af27-platform="internal"] .dl-list{ border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .dl-list li{ display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .dl-list__type{ font: 700 11px/1 var(--f-display); letter-spacing: .12em; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .dl-list__t{ font: 600 17px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .dl-list__t em{ display: block; font: 400 14px/1.4 var(--f-text); font-style: normal; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .dl-list__state{ font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); text-align: right; }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .dl-list li{ grid-template-columns: 50px 1fr; } .af27-root[data-af27-platform="internal"] .dl-list li > :last-child{ grid-column: 2; text-align: left; } }

/* registration */
.af27-root[data-af27-platform="internal"] .fees{ overflow-x: auto; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .fees table{ width: 100%; border-collapse: collapse; min-width: 520px; }
.af27-root[data-af27-platform="internal"] .fees th, .af27-root[data-af27-platform="internal"] .fees td{ padding: 16px 12px 16px 0; text-align: left; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .fees thead th{ font: 600 11px/1.4 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .fees tbody th{ font: 600 17px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .fees td{ font: 700 clamp(20px, 1.8vw, 28px)/1 var(--f-display); font-stretch: 86%; }

/* author journey */
.af27-root[data-af27-platform="internal"] .journey{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--col-gap); border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .journey__step{ display: flex; flex-direction: column; gap: 6px; padding: 20px 0 22px; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .journey__n{ font: 600 13px/1 var(--f-display); color: var(--lum); }
.af27-root[data-af27-platform="internal"] .journey__t{ font: 650 20px/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .journey__d{ font-size: 14.5px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .journey__s{ margin-top: auto; padding-top: 8px; font: 600 11px/1.4 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .journey__step.is-available .journey__s{ color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .journey__s .link{ font-size: 14px; letter-spacing: 0; text-transform: none; }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .journey{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .journey{ grid-template-columns: 1fr; } }

/* track finder + index */
.af27-root[data-af27-platform="internal"] .finder{ margin-bottom: 20px; }
.af27-root[data-af27-platform="internal"] .finder__label{ display: block; margin-bottom: 10px; font: 600 11px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .finder__row{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.af27-root[data-af27-platform="internal"] .finder__input{ flex: 1 1 320px; min-height: 52px; padding: 0 18px; font: 500 17px/1 var(--f-display); color: var(--ink); background: var(--white); border: 1px solid var(--line); border-bottom: 2px solid var(--ink); border-radius: 0; }
.af27-root[data-af27-platform="internal"] .finder__input:focus-visible{ outline: 2px solid var(--cyan-ink); outline-offset: 2px; }
.af27-root[data-af27-platform="internal"] .finder__count{ font: 600 14px/1 var(--f-display); color: var(--muted); }
.af27-root[data-af27-platform="internal"] .finder__empty{ padding: 24px 0; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .tlist{ border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .trow a{ display: grid; grid-template-columns: 52px minmax(0, 1fr) auto 28px; gap: 16px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .trow__n{ font: 600 14px/1 var(--f-display); color: var(--lum); font-feature-settings: "tnum"; }
.af27-root[data-af27-platform="internal"] .trow__title{ display: block; font: 650 clamp(17px, 1.45vw, 22px)/1.25 var(--f-display); letter-spacing: -.005em; transition: color .15s ease; }
.af27-root[data-af27-platform="internal"] .trow__chairs{ display: block; margin-top: 6px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .trow__pub{ font: 600 11px/1.3 var(--f-display); letter-spacing: .12em; text-transform: uppercase; color: var(--green-ink); white-space: nowrap; }
.af27-root[data-af27-platform="internal"] .tlist--compact .trow a{ padding: 14px 0; }
.af27-root[data-af27-platform="internal"] .editions .tlist, .af27-root[data-af27-platform="internal"] .edh + .edtoc + .pg .tlist{ border-top-color: var(--ink); }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .trow a{ grid-template-columns: 36px minmax(0, 1fr) 20px; } .af27-root[data-af27-platform="internal"] .trow__pub{ grid-column: 2; } .af27-root[data-af27-platform="internal"] .trow .cix__arrow{ grid-column: 3; grid-row: 1; } }
.af27-root[data-af27-platform="internal"] .kw{ display: flex; flex-wrap: wrap; gap: 8px; }
.af27-root[data-af27-platform="internal"] .kw li{ padding: 6px 10px; border: 1px solid var(--line); font: 500 14px/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .kw--list{ display: block; }
.af27-root[data-af27-platform="internal"] .kw--list li{ display: block; border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; }
.af27-root[data-af27-platform="internal"] .tracks__holding--page{ margin-bottom: 20px; }
.af27-root[data-af27-platform="internal"] .tracks__holding--page .tracks__state, .af27-root[data-af27-platform="internal"] .tracks__holding--page .tracks__announce, .af27-root[data-af27-platform="internal"] .tracks__holding--page .tracks__actions{ grid-column: 1 / -1; }

/* programme */
.af27-root[data-af27-platform="internal"] .prog__bar{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); position: sticky; top: var(--nav-h-min); z-index: 3; background: var(--paper); }
.af27-root[data-af27-platform="internal"] .prog__days, .af27-root[data-af27-platform="internal"] .prog__types{ display: flex; flex-wrap: wrap; gap: 8px; }
.af27-root[data-af27-platform="internal"] .chip{ min-height: 40px; padding: 0 14px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 600 14px/1 var(--f-display); cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.af27-root[data-af27-platform="internal"] .chip:active{ transform: scale(.97); }
.af27-root[data-af27-platform="internal"] .chip.is-on{ background: var(--ink); color: #fff; border-color: var(--ink); }
.af27-root[data-af27-platform="internal"] .prog__print{ margin-left: auto; background: none; border: 0; cursor: pointer; }
.af27-root[data-af27-platform="internal"] .prog__count{ margin: 14px 0 0; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .pday{ margin-top: 28px; }
.af27-root[data-af27-platform="internal"] .pday__label{ display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); font: 700 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .pday__label span{ font: 600 12px/1 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .sess__row{ display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 16px 0 16px 16px; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; }
.af27-root[data-af27-platform="internal"] .sess__time{ font: 700 16px/1.3 var(--f-display); font-feature-settings: "tnum"; }
.af27-root[data-af27-platform="internal"] .sess__type{ font: 600 10.5px/1.2 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .sess__title{ margin-top: 4px; font: 600 18px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .sess__meta{ margin-top: 4px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .sess--plenary{ border-left-color: var(--lum); }
.af27-root[data-af27-platform="internal"] .sess--plenary .sess__type{ color: var(--lum); }
.af27-root[data-af27-platform="internal"] .sess--parallel{ border-left-color: var(--cyan); }
.af27-root[data-af27-platform="internal"] .sess--social{ border-left-color: var(--green); }
.af27-root[data-af27-platform="internal"] .sess--break .sess__title, .af27-root[data-af27-platform="internal"] .sess--registration .sess__title{ color: var(--muted); font-weight: 500; }
.af27-root[data-af27-platform="internal"] .sess__row[hidden], .af27-root[data-af27-platform="internal"] .pday[hidden]{ display: none; }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .sess__row{ grid-template-columns: 1fr; gap: 4px; } .af27-root[data-af27-platform="internal"] .prog__bar{ position: static; } }

/* venue travel */
.af27-root[data-af27-platform="internal"] .stay{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 var(--col-gap); border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .stay li{ display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .stay__n{ font: 650 18px/1.25 var(--f-display); }
.af27-root[data-af27-platform="internal"] .stay__a{ font-size: 14px; color: var(--muted); }

/* edition detail */
.af27-root[data-af27-platform="internal"] .edh{ background: var(--navy); color: #fff; padding: calc(var(--nav-h-min) + clamp(48px, 6vw, 96px)) 0 clamp(48px, 6vw, 88px); position: relative; }
.af27-root[data-af27-platform="internal"] .edh::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--twin); opacity: .7; }
.af27-root[data-af27-platform="internal"] .edh__year{ font: 700 clamp(110px, 16vw, 260px)/.78 var(--f-display); font-stretch: 62%; letter-spacing: -.03em; }
.af27-root[data-af27-platform="internal"] .edh__n{ margin-top: 24px; font: 600 12px/1.5 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .edh__title{ margin-top: 12px; max-width: 26ch; font: 700 clamp(30px, 3.4vw, 56px)/1.02 var(--f-display); font-stretch: 84%; letter-spacing: -.02em; }
.af27-root[data-af27-platform="internal"] .edh__sub{ margin-top: 14px; max-width: 70ch; color: #C8D4E0; }
.af27-root[data-af27-platform="internal"] .edtoc{ position: sticky; top: var(--nav-h-min); z-index: 4; background: var(--paper); border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .edtoc ol{ display: flex; gap: 4px 22px; overflow-x: auto; scrollbar-width: none; padding: 14px 0; }
.af27-root[data-af27-platform="internal"] .edtoc a{ white-space: nowrap; font: 600 14px/1 var(--f-display); color: var(--muted); }
.af27-root[data-af27-platform="internal"] .edtoc a.is-active{ color: var(--lum); }
.af27-root[data-af27-platform="internal"] .edgal img{ width: 100%; max-width: 980px; aspect-ratio: 3 / 2; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .edgal figcaption{ margin-top: 12px; }
.af27-root[data-af27-platform="internal"] .pg [id]{ scroll-margin-top: calc(var(--nav-h-min) + 64px); }

/* P7 · HOME PORTAL BLOCKS --------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .hdates{ background: var(--paper); padding-block: clamp(64px, 7vw, 112px); border-top: 1px solid var(--line-2); }
.af27-root[data-af27-platform="internal"] .hdates__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; }
.af27-root[data-af27-platform="internal"] .hdates__head{ grid-column: 1 / span 3; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.af27-root[data-af27-platform="internal"] .hdates__head .s-kicker{ padding-top: 0; }
.af27-root[data-af27-platform="internal"] .hdates__title{ font: 700 clamp(28px, 2.6vw, 40px)/1.05 var(--f-display); font-stretch: 86%; }
.af27-root[data-af27-platform="internal"] .hdates__list{ grid-column: 4 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .hdates__item{ padding: 18px 16px 0 0; }
.af27-root[data-af27-platform="internal"] .hdates__item + .hdates__item{ padding-left: 16px; border-left: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .hdates__date{ font: 700 clamp(20px, 1.7vw, 28px)/1.05 var(--f-display); font-stretch: 80%; }
.af27-root[data-af27-platform="internal"] .hdates__date.is-tba{ color: rgba(11, 27, 43, .58); font-size: clamp(16px, 1.2vw, 19px); font-stretch: 94%; }
.af27-root[data-af27-platform="internal"] .hdates__t{ margin-top: 8px; font-size: 14px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .hdates__item.is-event .hdates__date{ color: var(--lum); }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .hdates__head, .af27-root[data-af27-platform="internal"] .hdates__list{ grid-column: 1 / -1; } .af27-root[data-af27-platform="internal"] .hdates__list{ grid-template-columns: repeat(3, 1fr); row-gap: 20px; } .af27-root[data-af27-platform="internal"] .hdates__item:nth-child(4){ padding-left: 0; border-left: 0; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .hdates__list{ grid-template-columns: 1fr 1fr; } .af27-root[data-af27-platform="internal"] .hdates__item{ padding-left: 0 !important; border-left: 0 !important; } }

.af27-root[data-af27-platform="internal"] .htheme{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(80px, 9vw, 150px); }
.af27-root[data-af27-platform="internal"] .htheme .s-lead{ color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .htheme__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; align-items: center; }
.af27-root[data-af27-platform="internal"] .htheme__kv{ grid-column: 1 / span 5; position: relative; top: auto; height: auto; min-height: 0; max-height: none; }
.af27-root[data-af27-platform="internal"] .htheme__kv .theme__kv{ aspect-ratio: 4 / 4.6; flex: none; }
.af27-root[data-af27-platform="internal"] .htheme__text{ grid-column: 7 / -1; }
.af27-root[data-af27-platform="internal"] .htheme__text .s-kicker{ padding-top: 0; margin-bottom: 22px; }
.af27-root[data-af27-platform="internal"] .htheme__fields{ margin-top: 28px; border-top: 1px solid var(--line-navy); }
.af27-root[data-af27-platform="internal"] .htheme__fields li{ display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line-navy); color: #C8D4E0; }
.af27-root[data-af27-platform="internal"] .htheme__fields strong{ color: #fff; font-family: var(--f-display); margin-right: 8px; }
.af27-root[data-af27-platform="internal"] .htheme__links{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 32px; }
.af27-root[data-af27-platform="internal"] .htheme__links .link{ color: #fff; text-decoration-color: rgba(255, 255, 255, .35); }
.af27-root[data-af27-platform="internal"] .htheme .btn--ink{ --bg: #fff; --fg: var(--ink); --bg-h: var(--twin); --fg-h: var(--ink); }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .htheme__kv, .af27-root[data-af27-platform="internal"] .htheme__text{ grid-column: 1 / -1; } }

.af27-root[data-af27-platform="internal"] .teasers{ background: var(--white); padding-block: clamp(72px, 8vw, 128px); }
.af27-root[data-af27-platform="internal"] .teasers__grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--col-gap); }
.af27-root[data-af27-platform="internal"] .teaser{ display: flex; flex-direction: column; gap: 14px; padding-top: 20px; border-top: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .teaser__kicker{ display: flex; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .16em; text-transform: uppercase; }
.af27-root[data-af27-platform="internal"] .teaser__title{ font: 700 clamp(26px, 2.2vw, 36px)/1.05 var(--f-display); font-stretch: 84%; letter-spacing: -.015em; }
.af27-root[data-af27-platform="internal"] .teaser__state{ font: 650 18px/1.3 var(--f-display); color: var(--green-ink); }
.af27-root[data-af27-platform="internal"] .teaser__text{ color: var(--muted); font-size: 15.5px; }
.af27-root[data-af27-platform="internal"] .teaser__steps li{ display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font: 600 16px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .teaser__steps em{ font: 600 11px/1.6 var(--f-display); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .teaser__links{ display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: auto; padding-top: 8px; }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .teasers__grid{ grid-template-columns: 1fr; } }

/* P8 · FOOTER --------------------------------------------------------------- */
.af27-root[data-af27-platform="internal"] .footer__cols--platform{ grid-template-columns: minmax(0, 2fr) repeat(6, minmax(0, 1fr)) minmax(0, 1.6fr); column-gap: 24px; }
.af27-root[data-af27-platform="internal"] .footer__group-title{ margin-bottom: 12px; font: 700 14px/1.2 var(--f-display); }
.af27-root[data-af27-platform="internal"] .footer__group li a{ display: block; padding: 4px 0; font-size: 13.5px; color: var(--on-navy-muted); transition: color .15s ease; }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .footer__group li a:hover{ color: #fff; } }
@media (max-width: 1199px){ .af27-root[data-af27-platform="internal"] .footer__cols--platform{ grid-template-columns: repeat(3, minmax(0, 1fr)); } .af27-root[data-af27-platform="internal"] .footer__event, .af27-root[data-af27-platform="internal"] .footer__address{ grid-column: 1 / -1; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .footer__cols--platform{ grid-template-columns: 1fr 1fr; } }

/* P9 · MOTION & VIEW TRANSITIONS ------------------------------------------- */
@view-transition{ }
.af27-root[data-af27-platform="internal"] .nav{ view-transition-name: masthead; }
.af27-root[data-af27-platform="internal"] .rail{ view-transition-name: rail; }
.af27-root[data-af27-platform="internal"] ::view-transition-old(root){ animation: vt-out .16s ease-out both; }
.af27-root[data-af27-platform="internal"] ::view-transition-new(root){ animation: vt-in .26s var(--ui-out) both; }
@keyframes vt-out{ to { opacity: 0; } }
@keyframes vt-in{ from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce){ @view-transition{ } }

@media (prefers-reduced-motion: no-preference){
  .af27-root[data-af27-platform="internal"] .ph-arc--g{ animation: amb-arc 19s ease-in-out -3s infinite; --dx: 18px; transform-box: view-box; transform-origin: 800px 600px; }
  .af27-root[data-af27-platform="internal"] .ph-arc--d{ animation: amb-arc 23s ease-in-out -11s infinite; --dx: -16px; transform-box: view-box; transform-origin: 980px 600px; }
  .af27-root[data-af27-platform="internal"] .ph-flow{ animation: amb-flow 26s linear infinite; }
  .af27-root[data-af27-platform="internal"] .ph-flow--rev{ animation: amb-flow-rev 21s linear infinite; }
  .af27-root[data-af27-platform="internal"] .ph__inner > *{ opacity: 0; transform: translateY(12px); }
  .af27-root[data-af27-platform="internal"].is-loaded .ph__inner > *{ opacity: 1; transform: none; transition: opacity .6s var(--ui-out), transform .6s var(--ui-out); }
  .af27-root[data-af27-platform="internal"].is-loaded .ph__inner > :nth-child(2){ transition-delay: .05s; }
  .af27-root[data-af27-platform="internal"].is-loaded .ph__inner > :nth-child(3){ transition-delay: .1s; }
  .af27-root[data-af27-platform="internal"].is-loaded .ph__inner > :nth-child(4){ transition-delay: .15s; }
  .af27-root[data-af27-platform="internal"].is-loaded .ph__inner > :nth-child(5){ transition-delay: .2s; }
}

/* P10 · PRINT (programme) -------------------------------------------------- */
@media print{
  .af27-root[data-af27-platform="internal"] .nav, .af27-root[data-af27-platform="internal"] .rail, .af27-root[data-af27-platform="internal"] .sheet, .af27-root[data-af27-platform="internal"] .footer, .af27-root[data-af27-platform="internal"] .ph__arcs, .af27-root[data-af27-platform="internal"] .prog__bar, .af27-root[data-af27-platform="internal"] .skip, .af27-root[data-af27-platform="internal"] .edtoc{ display: none !important; }
  .af27-root[data-af27-platform="internal"] .ph--l2, .af27-root[data-af27-platform="internal"] .edh{ background: none; color: #000; padding-top: 0; min-height: 0; }
  .af27-root[data-af27-platform="internal"] .pday, .af27-root[data-af27-platform="internal"] .sess__row{ break-inside: avoid; }
  .af27-root[data-af27-platform="internal"]{ padding: 0; }
}

/* mega menu panels span the full viewport, anchored to the fixed masthead */
.af27-root[data-af27-platform="internal"] .nav .nav__inner{ position: static; }
.af27-root[data-af27-platform="internal"] .nav::before{ z-index: -1; }
.af27-root[data-af27-platform="internal"] .pg__aside .kv > div{ grid-template-columns: 1fr; gap: 4px; }
.af27-root[data-af27-platform="internal"] .pg__aside .kv dd{ overflow-wrap: anywhere; }
.af27-root[data-af27-platform="internal"] .page-track .ph__title{ font-size: clamp(30px, 3.3vw, 56px); max-width: 30ch; line-height: 1; }
.af27-root[data-af27-platform="internal"] .sheet{ z-index: 101; padding-top: calc(16px + env(safe-area-inset-top)); }

/* keynotes: editorial, no avatar placeholders (portraits only when real photos are licensed) */
.af27-root[data-af27-platform="internal"] .kn{ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.af27-root[data-af27-platform="internal"] .kn__mono{ display: none; }
.af27-root[data-af27-platform="internal"] .kn__item{ grid-template-columns: 1fr; padding: 22px 0 24px; }
.af27-root[data-af27-platform="internal"] .kn__name{ font-size: clamp(20px, 1.7vw, 26px); font-stretch: 90%; letter-spacing: -.01em; }

/* P11 · SECTION ACCENTS -----------------------------------------------------
   One accent per top-level section on top of the institutional navy/ink base.
   Accents, not themes: surfaces stay paper, white and navy.
   Never follows the section: status colours (green = open), the LUM logo and
   LUM-as-host elements (--lum). Colour transitions 300-500 ms. */
/* ONE variable per section. Everything else is derived from it with a single formula
   (OKLCH: same hue, lightness clamped), so a new section needs one line only.
     --sec-ink   lightness <= .50  -> >= 4.5:1 on paper, white and tinted surfaces (text)
     --sec-ui    lightness <= .615 -> >= 3:1 (indicators, rules, focus)
     --sec-soft  lightness >= .80  -> >= 4.5:1 on navy and on the tinted internal heroes
   Verified for the six accents: ink >= 4.98, ui >= 3.07, soft >= 4.96 (worst case, tinted surface). */
.af27-root[data-af27-platform="internal"]{ --section-accent: var(--lum); --sec-in: .45s; --sec-out: .3s; }
.af27-root[data-af27-platform="internal"] [data-sec="conference"]{ --section-accent: #AC103D; }
.af27-root[data-af27-platform="internal"] [data-sec="calls"]{ --section-accent: #36B9E8; }
.af27-root[data-af27-platform="internal"] [data-sec="authors"]{ --section-accent: #9FCB63; --sec-arc: var(--cyan); }   /* green section: the second Twin arc stays cyan */
.af27-root[data-af27-platform="internal"] [data-sec="programme"]{ --section-accent: #2E5F9E; }
.af27-root[data-af27-platform="internal"] [data-sec="venue"]{ --section-accent: #C9B58A; }
.af27-root[data-af27-platform="internal"] [data-sec="archive"]{ --section-accent: #8795A1; }
/* fallback derivation (color-mix only) */
.af27-root[data-af27-platform="internal"], .af27-root[data-af27-platform="internal"] [data-sec]{
  --sec: var(--section-accent);
  --sec-ink: color-mix(in oklab, var(--section-accent) 48%, #0B1B2B);
  --sec-ui: color-mix(in oklab, var(--section-accent) 66%, #0B1B2B);
  --sec-soft: color-mix(in oklab, var(--section-accent) 52%, #fff);
}
/* exact derivation where relative colours are available */
@supports (color: oklch(from red min(l, .5) c h)){
  .af27-root[data-af27-platform="internal"], .af27-root[data-af27-platform="internal"] [data-sec]{
    --sec-ink: oklch(from var(--section-accent) min(l, .50) c h);
    --sec-ui: oklch(from var(--section-accent) min(l, .615) c h);
    --sec-soft: oklch(from var(--section-accent) max(l, .80) min(c, .13) h);
  }
}

/* nav: label colour + underline indicator (in 450 ms, out 300 ms) */
.af27-root[data-af27-platform="internal"] .mnav__link{ transition: color var(--sec-out) var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mnav__link::after{ background: var(--sec-ui); transition-duration: var(--sec-out); }
.af27-root[data-af27-platform="internal"] .mnav__toggle{ transition: color var(--sec-out) var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mnav__item.is-current .mnav__link, .af27-root[data-af27-platform="internal"] .mnav__item.is-open .mnav__link, .af27-root[data-af27-platform="internal"] .mnav__link:focus-visible, .af27-root[data-af27-platform="internal"] .mnav__item.is-open .mnav__toggle, .af27-root[data-af27-platform="internal"] .mnav__toggle:focus-visible{ color: var(--sec-ink); transition-duration: var(--sec-in); }
.af27-root[data-af27-platform="internal"] .mnav__item.is-current .mnav__link::after, .af27-root[data-af27-platform="internal"] .mnav__item.is-open .mnav__link::after, .af27-root[data-af27-platform="internal"] .mnav__link:focus-visible::after{ transform: scaleX(1); transform-origin: left; transition-duration: var(--sec-in); }
@media (hover: hover) and (pointer: fine){
  .af27-root[data-af27-platform="internal"] .mnav__item:hover .mnav__link, .af27-root[data-af27-platform="internal"] .mnav__item:hover .mnav__toggle{ color: var(--sec-ink); transition-duration: var(--sec-in); }
  .af27-root[data-af27-platform="internal"] .mnav__item:hover .mnav__link::after{ transform: scaleX(1); transform-origin: left; transition-duration: var(--sec-in); }
}

/* mega menu: soft tint from the left, accent rule on top, Twin arc detail */
.af27-root[data-af27-platform="internal"] .mm__inner{ position: relative; z-index: 1; }
.af27-root[data-af27-platform="internal"] .mm::before{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--sec) 8%, transparent), color-mix(in srgb, var(--sec) 3%, transparent) 50%, transparent 85%);
  opacity: 0; transition: opacity var(--sec-out) ease-out;
}
.af27-root[data-af27-platform="internal"] .mm::after{
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--sec-ui);
  transform: scaleX(0); transform-origin: left; transition: transform var(--sec-out) var(--ui-out);
}
.af27-root[data-af27-platform="internal"] .mm.is-open::before{ opacity: 1; transition: opacity .5s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mm.is-open::after{ transform: scaleX(1); transition: transform .5s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .mm__kicker{ color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .mm__links a[aria-current="page"] .mm__t{ color: var(--sec-ink); }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .mm__links a:hover .mm__t{ color: var(--sec-ink); } }
.af27-root[data-af27-platform="internal"] .mm-journey span, .af27-root[data-af27-platform="internal"] .mm-thread span, .af27-root[data-af27-platform="internal"] .mm-days__day span{ color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .mm__arcs{ width: 88px; height: auto; margin-top: auto; padding-top: 20px; overflow: visible; }
.af27-root[data-af27-platform="internal"] .mm-arc{ fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset var(--sec-out) ease-out; }
.af27-root[data-af27-platform="internal"] .mm-arc--g{ stroke: var(--green); }
.af27-root[data-af27-platform="internal"] .mm-arc--d{ stroke: var(--sec-arc, var(--sec-ui)); }
.af27-root[data-af27-platform="internal"] .mm.is-open .mm-arc{ stroke-dashoffset: 0; transition: stroke-dashoffset .5s var(--ui-out) .06s; }
.af27-root[data-af27-platform="internal"] .mm.is-open .mm-arc--d{ transition-delay: .14s; }
.af27-root[data-af27-platform="internal"] .nav.has-menu .nav__progress{ opacity: 0; }

/* mobile sheet */
.af27-root[data-af27-platform="internal"] .sheet__sec{ transition: color var(--sec-in) var(--ui-out); }
.af27-root[data-af27-platform="internal"] .sheet__toggle, .af27-root[data-af27-platform="internal"] .sheet__group.is-open .sheet__sec, .af27-root[data-af27-platform="internal"] .sheet__sec[aria-current="page"]{ color: var(--sec-ink); }

/* destination page: kicker, numbers, links, selected states, Twin detail */
.af27-root[data-af27-platform="internal"][data-sec]{ --num: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .ph__kicker{ color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .ph--l2 .ph__kicker{ color: var(--sec-soft); }
.af27-root[data-af27-platform="internal"] .ph-arc--d path{ stroke: var(--sec-arc, var(--sec-soft)); stroke-opacity: .8; }
.af27-root[data-af27-platform="internal"][data-sec] .nav__progress{ background: linear-gradient(90deg, var(--sec-ui), var(--sec)); }
.af27-root[data-af27-platform="internal"] .cix__n, .af27-root[data-af27-platform="internal"] .trow__n, .af27-root[data-af27-platform="internal"] .journey__n, .af27-root[data-af27-platform="internal"] .pday__label span, .af27-root[data-af27-platform="internal"] .dl-list__type, .af27-root[data-af27-platform="internal"] .publist__type, .af27-root[data-af27-platform="internal"] .pdir em, .af27-root[data-af27-platform="internal"] .note__t, .af27-root[data-af27-platform="internal"] .toc a.is-active, .af27-root[data-af27-platform="internal"] .edtoc a.is-active{ color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .toc a, .af27-root[data-af27-platform="internal"] .edtoc a{ transition: color var(--sec-in) var(--ui-out); }
.af27-root[data-af27-platform="internal"] .link:hover{ text-decoration-color: var(--sec-ui); }
.af27-root[data-af27-platform="internal"][data-sec] .pg .link{ text-decoration-color: var(--line); text-decoration-color: color-mix(in srgb, var(--sec-ui) 45%, transparent); }
.af27-root[data-af27-platform="internal"][data-sec] .pg .link:hover{ text-decoration-color: var(--sec-ui); }
.af27-root[data-af27-platform="internal"] .crumbs a{ transition: text-decoration-color var(--sec-in); }
@media (hover: hover) and (pointer: fine){
  .af27-root[data-af27-platform="internal"] .cix__item a:hover .cix__t, .af27-root[data-af27-platform="internal"] .trow a:hover .trow__title{ color: var(--sec-ink); }
  .af27-root[data-af27-platform="internal"] .crumbs a:hover{ text-decoration-color: var(--sec-ui); }
  .af27-root[data-af27-platform="internal"] .ph--l2 .crumbs a:hover{ text-decoration-color: var(--sec-soft); }
}
.af27-root[data-af27-platform="internal"] .chip.is-on{ background: var(--sec-ink); border-color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .finder__input:focus-visible{ outline-color: var(--sec-ui); }

@media (prefers-reduced-motion: reduce){
  .af27-root[data-af27-platform="internal"] .mnav__link, .af27-root[data-af27-platform="internal"] .mnav__link::after, .af27-root[data-af27-platform="internal"] .mnav__toggle, .af27-root[data-af27-platform="internal"] .mm::before, .af27-root[data-af27-platform="internal"] .mm::after, .af27-root[data-af27-platform="internal"] .mm-arc, .af27-root[data-af27-platform="internal"] .sheet__sec, .af27-root[data-af27-platform="internal"] .sheet__toggle span::after, .af27-root[data-af27-platform="internal"] .toc a, .af27-root[data-af27-platform="internal"] .edtoc a{ transition-duration: .01s !important; transition-delay: 0s !important; }
}

/* P12 · REFINEMENT PASS v1.2 -------------------------------------------------
   Navigation correctness (P1/P2 above), hero fit, home archive diptych,
   institutional partners, calmer Venue and Bari chapters, photography. */

/* 12.1 · HERO: "TRANSITION" always ends at the bell tower, never under it.
   Cause of the bug: with --t-size = 11.2vw the word was 48.3vw wide and started at the
   3.4vw gutter, so it ended at 51.7vw: exactly where the tower stands (49.4%-52.4% of the
   photo). It only looked right when 19svh was the active limit (e.g. at 150% zoom).
   Fix: the size is derived from the tower itself.
     ink right edge of the word = wrap left + 4.26em
     tower left edge            = centre - 0.561% of the photo width
     intended overlap           = .045em (the tower stands in front of the last stem only)
   so  t = (centre - .00561*fw - wrapLeft) / (4.26 - .045).
   Container units follow the real hero width (scrollbars included); vw is the fallback. */
@media (min-width: 701px){
  .af27-root[data-af27-platform="internal"] .hero{
    --t-k: 4.215;
    --t-fit: calc((50vw - var(--fw) * .00561 - max(var(--gutter), (100vw - var(--maxw)) / 2)) / var(--t-k));
    --t-size: clamp(64px, min(var(--t-fit), 19svh), 188px);
  }
}
@supports (width: 1cqw){
  @media (min-width: 701px){
    .af27-root[data-af27-platform="internal"] .hero{ container-type: inline-size; --t-fit: calc((50cqw - var(--fw) * .00561 - max(var(--gutter), (100cqw - var(--maxw)) / 2)) / var(--t-k)); }
  }
}

/* 12.2 · HOME · Conference archive: a two-edition diptych (teaser; the chapters live in /archive/) */
.af27-root[data-af27-platform="internal"] .harch{ --num: var(--on-navy-muted); background: var(--navy); color: #fff; padding-block: clamp(88px, 10vw, 160px) clamp(72px, 8vw, 128px); overflow: hidden; }
.af27-root[data-af27-platform="internal"] .harch__head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 20px; align-items: end; margin-bottom: clamp(44px, 5vw, 80px); }
.af27-root[data-af27-platform="internal"] .harch__head .s-kicker{ grid-column: 1 / span 3; padding-top: 0; align-self: start; }
.af27-root[data-af27-platform="internal"] .harch__intro{ grid-column: 4 / span 6; }
.af27-root[data-af27-platform="internal"] .harch__title{ max-width: 18ch; font: 700 clamp(30px, 3.4vw, 56px)/1.02 var(--f-display); font-stretch: 86%; letter-spacing: -.02em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .harch__lead{ margin-top: 16px; max-width: 52ch; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .harch__all{ grid-column: 10 / -1; justify-self: end; }
.af27-root[data-af27-platform="internal"] .harch__pair{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 56px; align-items: start; }
.af27-root[data-af27-platform="internal"] .harch__ed{ position: relative; grid-column: 1 / span 7; }
.af27-root[data-af27-platform="internal"] .harch__ed + .harch__ed{ grid-column: 8 / -1; margin-top: clamp(56px, 9vw, 150px); }
.af27-root[data-af27-platform="internal"] .harch__fig{ position: relative; overflow: hidden; }
.af27-root[data-af27-platform="internal"] .harch__fig img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.1s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .harch__fig::after{ content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, rgba(10, 31, 51, 0), rgba(10, 31, 51, .82)); pointer-events: none; }
.af27-root[data-af27-platform="internal"] .harch__year{ position: absolute; left: clamp(14px, 1.6vw, 26px); bottom: clamp(4px, .7vw, 12px); z-index: 1; font: 700 clamp(84px, 10.5vw, 184px)/.8 var(--f-display); font-stretch: 62%; letter-spacing: -.025em; color: #fff; }
.af27-root[data-af27-platform="internal"] .harch__ed + .harch__ed .harch__year{ font-size: clamp(72px, 8vw, 140px); }
.af27-root[data-af27-platform="internal"] .harch__n{ margin-top: 20px; font: 600 12px/1.6 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .harch__theme{ margin-top: 10px; max-width: 24ch; font: 700 clamp(24px, 2.3vw, 38px)/1.08 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .harch__link::after{ content: ""; position: absolute; inset: 0; z-index: 2; }   /* the whole edition is one link */
.af27-root[data-af27-platform="internal"] .harch__link:focus-visible{ outline: none; }
.af27-root[data-af27-platform="internal"] .harch__ed:focus-within{ outline: 2px solid #9FD8F3; outline-offset: 8px; }
.af27-root[data-af27-platform="internal"] .harch__go{ margin-top: 14px; font: 600 15px/1.35 var(--f-display); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgba(255, 255, 255, .35); transition: text-decoration-color .3s; }
.af27-root[data-af27-platform="internal"] .harch__go span{ display: inline-block; margin-left: .35em; transition: transform .25s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  .af27-root[data-af27-platform="internal"] .harch__ed:hover .harch__fig img{ transform: scale(1.03); }
  .af27-root[data-af27-platform="internal"] .harch__ed:hover .harch__go{ text-decoration-color: var(--cyan); }
  .af27-root[data-af27-platform="internal"] .harch__ed:hover .harch__go span{ transform: translateX(4px); }
}
.af27-root[data-af27-platform="internal"] .harch .harch__thread{ margin: clamp(56px, 7vw, 104px) 0 0; }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .harch__head .s-kicker, .af27-root[data-af27-platform="internal"] .harch__intro, .af27-root[data-af27-platform="internal"] .harch__all{ grid-column: 1 / -1; justify-self: start; }
  .af27-root[data-af27-platform="internal"] .harch__ed, .af27-root[data-af27-platform="internal"] .harch__ed + .harch__ed{ grid-column: 1 / -1; margin-top: 0; }
  .af27-root[data-af27-platform="internal"] .harch .harch__thread{ grid-template-columns: 1fr; row-gap: 8px; }
}

/* 12.3 · HOME · Host and supporters: LUM hosts; supporters sit below it at a smaller scale */
.af27-root[data-af27-platform="internal"] .hpart{ background: var(--paper-warm); padding-block: clamp(48px, 5vw, 80px) clamp(56px, 6vw, 96px); }
.af27-root[data-af27-platform="internal"] .hpart__host, .af27-root[data-af27-platform="internal"] .hpart__row{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 12px; }
.af27-root[data-af27-platform="internal"] .hpart__host{ align-items: center; padding-bottom: 28px; border-bottom: 2px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .hpart__row{ align-items: baseline; padding: 24px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .hpart__label{ grid-column: 1 / span 3; font: 600 11px/1.6 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .hpart__ref{ display: inline-block; margin-left: 8px; padding: 2px 7px; border: 1px solid var(--line); letter-spacing: .12em; color: var(--ink); }
.af27-root[data-af27-platform="internal"] .hpart__lum{ grid-column: 4 / -1; display: flex; align-items: center; gap: clamp(14px, 1.4vw, 22px); font: 700 clamp(24px, 2.4vw, 38px)/1.05 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; color: var(--lum); }
.af27-root[data-af27-platform="internal"] .hpart__lum img{ flex: none; width: clamp(48px, 4.4vw, 68px); height: auto; }
.af27-root[data-af27-platform="internal"] .hpart__list{ grid-column: 4 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px var(--col-gap); }
.af27-root[data-af27-platform="internal"] .hpart__list li{ display: flex; flex-direction: column; gap: 4px; }
.af27-root[data-af27-platform="internal"] .hpart__list strong{ font: 600 17px/1.25 var(--f-display); color: var(--ink); }
.af27-root[data-af27-platform="internal"] .hpart__list span{ font-size: 13px; line-height: 1.4; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .hpart__list--plain li{ font: 500 16px/1.3 var(--f-display); }
.af27-root[data-af27-platform="internal"] .hpart__more{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 10px 24px; margin-top: 22px; font-size: 14.5px; color: var(--muted); }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .hpart__label, .af27-root[data-af27-platform="internal"] .hpart__lum, .af27-root[data-af27-platform="internal"] .hpart__list{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .hpart__list{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .hpart__list{ grid-template-columns: 1fr; } }

/* 12.4 · VENUE: an institutional chapter, not a poster. The plenary hall leads. */
.af27-root[data-af27-platform="internal"] .venue{ padding-block: clamp(88px, 10vw, 160px) clamp(80px, 9vw, 144px); }
.af27-root[data-af27-platform="internal"] .venue__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 40px; align-items: stretch; }
.af27-root[data-af27-platform="internal"] .venue__intro{ grid-column: 1 / span 4; display: flex; flex-direction: column; align-items: flex-start; }
.af27-root[data-af27-platform="internal"] .venue__intro .s-kicker{ padding-top: 0; }
.af27-root[data-af27-platform="internal"] .venue__title{ margin-top: 22px; font: 700 clamp(34px, 3.7vw, 60px)/1.02 var(--f-display); font-stretch: 88%; letter-spacing: -.02em; text-transform: none; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .venue__when{ margin-top: 18px; font: 600 12.5px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .venue__lead{ margin-top: 20px; max-width: 36ch; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .venue__aside{ width: 78%; margin-top: auto; padding-top: 40px; }
.af27-root[data-af27-platform="internal"] .venue__aside picture{ display: block; overflow: hidden; }
.af27-root[data-af27-platform="internal"] .venue__aside img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .venue__aside figcaption{ margin-top: 12px; font-size: 13px; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .venue__media{ grid-column: 6 / -1; width: auto; margin: 0; }
.af27-root[data-af27-platform="internal"] .venue__media img{ aspect-ratio: 3 / 2; object-position: 50% 50%; }
@media (max-width: 1023px){
  .af27-root[data-af27-platform="internal"] .venue__intro, .af27-root[data-af27-platform="internal"] .venue__media{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .venue__aside{ display: none; }
}

/* 12.5 · BARI: context, one step below the venue */
.af27-root[data-af27-platform="internal"] .bari__media{ grid-column: 1 / span 7; display: grid; grid-template-columns: 5fr 2.3fr; column-gap: var(--col-gap); align-items: end; }
.af27-root[data-af27-platform="internal"] .bari__second picture{ display: block; overflow: hidden; }
.af27-root[data-af27-platform="internal"] .bari__media .bari__second img{ aspect-ratio: 4 / 5; }
.af27-root[data-af27-platform="internal"] .bari__text{ grid-column: 9 / -1; }
.af27-root[data-af27-platform="internal"] .bari__title{ margin-top: 20px; font: 700 clamp(30px, 3.2vw, 50px)/1.05 var(--f-display); font-stretch: 90%; letter-spacing: -.018em; text-transform: none; }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .bari__media, .af27-root[data-af27-platform="internal"] .bari__text{ grid-column: 1 / -1; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .bari__media{ grid-template-columns: 1fr; row-gap: 24px; } .af27-root[data-af27-platform="internal"] .bari__second{ width: 58%; } }

/* 12.6 · FIGURES: real photographs with captions */
.af27-root[data-af27-platform="internal"] .figs{ display: grid; gap: 24px var(--col-gap); margin-top: clamp(36px, 4vw, 56px); }
.af27-root[data-af27-platform="internal"] .figs--pair{ grid-template-columns: 1.72fr 1fr; align-items: end; }
.af27-root[data-af27-platform="internal"] .figs--even{ grid-template-columns: 1fr 1fr; }
.af27-root[data-af27-platform="internal"] .figs--lead{ margin: 0 0 clamp(48px, 5vw, 80px); }
.af27-root[data-af27-platform="internal"] .fig picture{ display: block; overflow: hidden; }
.af27-root[data-af27-platform="internal"] .fig img{ width: 100%; height: auto; }
.af27-root[data-af27-platform="internal"] .fig figcaption{ margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .fig--wide{ max-width: 980px; margin-top: clamp(32px, 4vw, 56px); }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .figs--pair{ grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce){ .af27-root[data-af27-platform="internal"] .harch__fig img, .af27-root[data-af27-platform="internal"] .harch__go span{ transition: none; } }

/* room for the link + toggle pairs in the masthead */
.af27-root[data-af27-platform="internal"] .nav .nav__inner{ gap: clamp(16px, 1.8vw, 32px); }
@media (max-width: 1320px){
  .af27-root[data-af27-platform="internal"] .nav .nav__inner{ gap: 14px; }
  .af27-root[data-af27-platform="internal"] .nav__brand{ gap: 10px; }
  .af27-root[data-af27-platform="internal"] .mnav__link{ font-size: 13.5px; padding-left: 3px; }
  .af27-root[data-af27-platform="internal"] .mnav__link::after{ left: 3px; }
  .af27-root[data-af27-platform="internal"] .nav .nav__cta{ padding: 0 10px 0 12px; gap: 8px; }
}
@media (max-width: 1240px){ .af27-root[data-af27-platform="internal"] .nav .nav__cta .btn__arrow{ display: none; } .af27-root[data-af27-platform="internal"] .nav .nav__cta{ padding: 0 12px; } .af27-root[data-af27-platform="internal"] .nav .nav__inner{ gap: 9px; } .af27-root[data-af27-platform="internal"] .nav__brand{ gap: 8px; } }

/* fix (found in the v1.2 review, present since v1): between 701 and 900 px the shared arrow rule
   moved the track-row arrow to column 3 and pushed the publication label into a 28 px column */
@media (min-width: 701px) and (max-width: 900px){ .af27-root[data-af27-platform="internal"] .trow .cix__arrow{ grid-column: 4; } }

/* P13 · FINAL POLISH (v1.3) ----------------------------------------------------
   Refinement only: hierarchy, section identity from --section-accent, calmer internal
   pages, one photography system, one primary CTA per page, authored interactions. */

/* 13.1 · HOME HERO · event facts: third level of the hero, after the title and the value line */
.af27-root[data-af27-platform="internal"] .hero__facts{ width: min(100%, 1040px); grid-template-columns: auto minmax(0, auto) auto; border-top: 1px solid rgba(255, 255, 255, .62); }
.af27-root[data-af27-platform="internal"] .hero__fact{ padding: 22px clamp(24px, 2.8vw, 48px) 2px; border-left: 1px solid rgba(255, 255, 255, .28); }
.af27-root[data-af27-platform="internal"] .hero__facts dt{ gap: 12px; font-size: 12.5px; letter-spacing: .18em; color: rgba(255, 255, 255, .86); }
.af27-root[data-af27-platform="internal"] .hero__facts dt::before{ width: 18px; height: 2px; }
.af27-root[data-af27-platform="internal"] .hero__facts dd{ margin-top: 14px; font: 650 clamp(24px, 2.2vw, 34px)/1.08 var(--f-display); font-stretch: 92%; letter-spacing: -.014em; }
.af27-root[data-af27-platform="internal"] .hero__fact:nth-child(2) dd{ white-space: normal; text-wrap: balance; }
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .hero__facts{ grid-template-columns: 1fr; }
  .af27-root[data-af27-platform="internal"] .hero__fact, .af27-root[data-af27-platform="internal"] .hero__fact:first-child{ padding: 12px 0; grid-template-columns: 84px minmax(0, 1fr); }
  .af27-root[data-af27-platform="internal"] .hero__facts dt{ font-size: 11px; }
  .af27-root[data-af27-platform="internal"] .hero__facts dd{ margin-top: 0; font-size: 21px; }
}

/* 13.2 · CURRENT PHASE BAND: live information, CTA dominant */
.af27-root[data-af27-platform="internal"] .status::before{ height: 2px; opacity: 1; }
.af27-root[data-af27-platform="internal"] .status__inner{ grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(0, .9fr) auto; align-items: center; gap: clamp(20px, 2.4vw, 40px); padding-block: 20px; }
.af27-root[data-af27-platform="internal"] .status__key, .af27-root[data-af27-platform="internal"] .status__next{ padding-left: clamp(20px, 2.4vw, 40px); border-left: 1px solid rgba(255, 255, 255, .22); }
.af27-root[data-af27-platform="internal"] .status__label{ margin-bottom: 9px; font-size: 12px; letter-spacing: .17em; color: #B9C6D4; }
.af27-root[data-af27-platform="internal"] .status__phase .status__label{ color: #D6EFB8; font-weight: 700; }
.af27-root[data-af27-platform="internal"] .status__title{ font: 650 clamp(22px, 2vw, 30px)/1.1 var(--f-display); font-stretch: 92%; letter-spacing: -.012em; }
.af27-root[data-af27-platform="internal"] .status__value{ flex-wrap: nowrap; align-items: center; white-space: nowrap; gap: 6px 12px; font: 600 clamp(19px, 1.6vw, 25px)/1.32 var(--f-display); letter-spacing: -.005em; }
.af27-root[data-af27-platform="internal"] .status__count{ padding: 5px 9px; border: 1px solid rgba(91, 194, 238, .55); font: 600 12.5px/1 var(--f-display); letter-spacing: .02em; color: #8FD6F5; white-space: nowrap; }
.af27-root[data-af27-platform="internal"] .status__cta{ min-height: 58px; padding: 0 22px 0 26px; font-size: 16px; gap: 22px; }
@media (max-width: 1199px){ .af27-root[data-af27-platform="internal"] .status__key{ padding-left: 0; border-left: 0; } .af27-root[data-af27-platform="internal"] .status__value{ flex-wrap: wrap; white-space: normal; } }

/* 13.3 · INTERNAL HEROES: navy base, tinted toward the section accent; 45-55vh */
.af27-root[data-af27-platform="internal"] .ph--l2{
  min-height: clamp(340px, 50svh, 500px);
  padding: calc(var(--nav-h-min) + clamp(36px, 4.4vw, 64px)) 0 clamp(36px, 4.4vw, 60px);
  background: var(--navy);
  background:
    radial-gradient(90% 130% at 88% 118%, color-mix(in oklab, var(--section-accent) 34%, var(--navy)) 0%, transparent 62%),
    linear-gradient(180deg, color-mix(in oklab, var(--section-accent) 7%, var(--navy)) 0%, color-mix(in oklab, var(--section-accent) 17%, var(--navy)) 100%);
  --focus: #BFE6F8;
}
.af27-root[data-af27-platform="internal"] .ph--l2::after{ height: 3px; opacity: 1; background: linear-gradient(90deg, var(--sec-soft) 0%, color-mix(in srgb, var(--sec-soft) 30%, transparent) 46%, transparent 78%); }
.af27-root[data-af27-platform="internal"] .ph__title{ margin-top: 16px; font-size: clamp(38px, 4.7vw, 76px); line-height: .96; font-stretch: 80%; letter-spacing: -.024em; }
.af27-root[data-af27-platform="internal"] .ph--l3 .ph__title{ font-size: clamp(32px, 3.5vw, 54px); line-height: 1; font-stretch: 84%; max-width: 26ch; }
.af27-root[data-af27-platform="internal"] .page-track .ph__title{ font-size: clamp(28px, 2.9vw, 44px); line-height: 1.04; }
.af27-root[data-af27-platform="internal"] .ph__lead{ margin-top: 18px; font-size: clamp(16.5px, 1.25vw, 19px); }
.af27-root[data-af27-platform="internal"] .ph--l3{ background: var(--paper); background: color-mix(in oklab, var(--section-accent) 5%, var(--paper)); padding: calc(var(--nav-h-min) + clamp(32px, 4vw, 56px)) 0 clamp(32px, 4vw, 52px); }
.af27-root[data-af27-platform="internal"] .ph__kicker{ display: flex; align-items: center; gap: 12px; letter-spacing: .17em; }
.af27-root[data-af27-platform="internal"] .ph__kicker::before{ content: ""; width: 28px; height: 2px; background: var(--sec-ui); flex: none; }
.af27-root[data-af27-platform="internal"] .ph--l2 .ph__kicker::before{ background: var(--sec-soft); }
/* the Twin arcs take part in the variation: position, scale and weight per section */
.af27-root[data-af27-platform="internal"] .ph__arcs{ transform: translate(var(--arc-x, 0), var(--arc-y, 0)) scale(var(--arc-s, 1)); transform-origin: 100% 100%; opacity: var(--arc-o, .85); }
.af27-root[data-af27-platform="internal"] [data-sec="calls"] .ph__arcs{ --arc-s: 1.16; }
.af27-root[data-af27-platform="internal"] [data-sec="authors"] .ph__arcs{ --arc-s: .94; --arc-x: -7%; }
.af27-root[data-af27-platform="internal"] [data-sec="programme"] .ph__arcs{ --arc-s: .82; --arc-x: -3%; }
.af27-root[data-af27-platform="internal"] [data-sec="venue"] .ph__arcs{ --arc-s: 1.34; --arc-y: 22%; }
.af27-root[data-af27-platform="internal"] [data-sec="archive"] .ph__arcs{ --arc-s: .74; --arc-o: .55; }
.af27-root[data-af27-platform="internal"] .ph-arc--g path{ stroke: rgba(157, 196, 106, .62); }
/* edition header (archive): same base, calmer numerals */
.af27-root[data-af27-platform="internal"] .edh{ background: var(--navy); background: linear-gradient(180deg, color-mix(in oklab, var(--section-accent) 8%, var(--navy)), color-mix(in oklab, var(--section-accent) 20%, var(--navy))); padding: calc(var(--nav-h-min) + clamp(36px, 4.4vw, 64px)) 0 clamp(40px, 4.6vw, 64px); --focus: #BFE6F8; }
.af27-root[data-af27-platform="internal"] .edh::after{ background: linear-gradient(90deg, var(--sec-soft), transparent 78%); opacity: 1; }
.af27-root[data-af27-platform="internal"] .edh__year{ font-size: clamp(84px, 10.5vw, 168px); }
.af27-root[data-af27-platform="internal"] .edh__title{ font-size: clamp(28px, 3vw, 46px); }

/* 13.4 · BREADCRUMB: a navigation aid that can be read */
.af27-root[data-af27-platform="internal"] .crumbs ol{ gap: 4px 10px; margin-bottom: 22px; font: 500 14px/1.3 var(--f-display); letter-spacing: .005em; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .crumbs li{ display: flex; align-items: center; gap: 10px; }
.af27-root[data-af27-platform="internal"] .crumbs li + li::before{ content: "/"; margin-right: 0; color: var(--sec-ui); font-weight: 600; }
.af27-root[data-af27-platform="internal"] .crumbs a{ padding-block: 4px; text-decoration-color: color-mix(in srgb, var(--sec-ui) 55%, transparent); text-underline-offset: 4px; }
.af27-root[data-af27-platform="internal"] .crumbs [aria-current]{ font-weight: 650; color: var(--ink); }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs ol, .af27-root[data-af27-platform="internal"] .crumbs--light ol{ color: #D3DCE6; }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs li + li::before, .af27-root[data-af27-platform="internal"] .crumbs--light li + li::before{ color: var(--sec-soft); }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs a, .af27-root[data-af27-platform="internal"] .crumbs--light a{ text-decoration-color: rgba(255, 255, 255, .42); }
.af27-root[data-af27-platform="internal"] .ph--l2 .crumbs [aria-current], .af27-root[data-af27-platform="internal"] .crumbs--light [aria-current]{ color: #fff; }

/* 13.5 · SECTION HUB: what the section covers + editorial entries */
.af27-root[data-af27-platform="internal"] .hub{ background: var(--paper); background: color-mix(in oklab, var(--section-accent) 5%, var(--paper)); padding-block: clamp(40px, 4.6vw, 72px) clamp(44px, 5vw, 80px); border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .hub__grid{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; align-items: start; }
.af27-root[data-af27-platform="internal"] .hub__lead{ grid-column: 1 / span 4; }
.af27-root[data-af27-platform="internal"] .hub__kicker{ display: flex; align-items: center; gap: 12px; font: 600 11.5px/1.2 var(--f-display); letter-spacing: .17em; text-transform: uppercase; color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .hub__kicker::before{ content: ""; width: 28px; height: 2px; background: var(--sec-ui); }
.af27-root[data-af27-platform="internal"] .hub__statement{ margin-top: 18px; max-width: 30ch; font: 500 clamp(19px, 1.55vw, 24px)/1.38 var(--f-display); letter-spacing: -.006em; color: var(--ink); text-wrap: pretty; }
.af27-root[data-af27-platform="internal"] .hub__related{ display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; }
.af27-root[data-af27-platform="internal"] .hub .cix{ grid-column: 6 / -1; }
.af27-root[data-af27-platform="internal"] .cix__item a{ position: relative; grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 176px) 24px; padding: 20px 0; }
.af27-root[data-af27-platform="internal"] .cix__s{ grid-column: 4; text-align: right; white-space: normal; }
.af27-root[data-af27-platform="internal"] .cix__arrow{ grid-column: 5; }
.af27-root[data-af27-platform="internal"] .cix__item a::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--sec-ui); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .cix__t{ font: 650 clamp(19px, 1.6vw, 24px)/1.18 var(--f-display); font-stretch: 90%; transition: color .3s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .cix__arrow{ transition: transform .35s var(--ui-out); }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .cix__item a:hover::after{ transform: scaleX(1); } }
.af27-root[data-af27-platform="internal"] .cix__item a:focus-visible::after{ transform: scaleX(1); }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .hub__lead, .af27-root[data-af27-platform="internal"] .hub .cix{ grid-column: 1 / -1; } .af27-root[data-af27-platform="internal"] .hub__statement{ max-width: 46ch; } }
@media (max-width: 900px){ .af27-root[data-af27-platform="internal"] .cix__item a{ grid-template-columns: 34px minmax(0, 1fr) 22px; } .af27-root[data-af27-platform="internal"] .cix__s{ grid-column: 2; text-align: left; } .af27-root[data-af27-platform="internal"] .cix__arrow{ grid-column: 3; } }

/* 13.6 · PHOTOGRAPHY SYSTEM: four treatments, nothing else */
.af27-root[data-af27-platform="internal"] .fig picture{ display: block; overflow: hidden; background: var(--line-2); }
.af27-root[data-af27-platform="internal"] .fig img{ width: 100%; height: auto; object-fit: cover; }
.af27-root[data-af27-platform="internal"] .fig--a img{ aspect-ratio: 21 / 9; }      /* A · full-width contextual */
.af27-root[data-af27-platform="internal"] .fig--b img{ aspect-ratio: 3 / 2; }       /* B · editorial landscape */
.af27-root[data-af27-platform="internal"] .fig--bp img{ aspect-ratio: 4 / 5; }      /* B · editorial portrait */
.af27-root[data-af27-platform="internal"] .fig--c img{ aspect-ratio: 4 / 3; }       /* C · diptych half */
.af27-root[data-af27-platform="internal"] .fig--d img{ aspect-ratio: 16 / 9; }      /* D · wide documentary */
.af27-root[data-af27-platform="internal"] .figs--c{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px var(--col-gap); margin-top: clamp(36px, 4vw, 56px); }
.af27-root[data-af27-platform="internal"] .figs--c.figs--lead{ margin: 0 0 clamp(48px, 5vw, 80px); }
.af27-root[data-af27-platform="internal"] .figwrap{ padding-block: clamp(40px, 4.6vw, 72px) 0; }
.af27-root[data-af27-platform="internal"] .figwrap--half .fig{ width: min(100%, 880px); }
.af27-root[data-af27-platform="internal"] .figwrap--in{ padding-block: clamp(36px, 4vw, 56px) 0; }
.af27-root[data-af27-platform="internal"] .fig--d{ max-width: 980px; margin-top: clamp(32px, 4vw, 56px); }
.af27-root[data-af27-platform="internal"] .venue__aside img{ aspect-ratio: 3 / 2; }
.af27-root[data-af27-platform="internal"] .pg__aside--flow{ position: static; }
.af27-root[data-af27-platform="internal"] .pg__aside--flow .fig{ margin-top: 4px; }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .figs--c{ grid-template-columns: 1fr; } .af27-root[data-af27-platform="internal"] .fig--a img{ aspect-ratio: 16 / 9; } }

/* 13.7 · ARCHIVE: an institutional record per edition */
.af27-root[data-af27-platform="internal"] .rec{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 32px; padding-block: clamp(40px, 4.6vw, 72px); border-top: 2px solid var(--ink); scroll-margin-top: calc(var(--nav-h-min) + 20px); }
.af27-root[data-af27-platform="internal"] .rec + .rec{ margin-top: clamp(24px, 3vw, 48px); }
.af27-root[data-af27-platform="internal"] .rec__head{ grid-column: 1 / span 5; }
.af27-root[data-af27-platform="internal"] .rec__year{ font: 700 clamp(64px, 7vw, 112px)/.82 var(--f-display); font-stretch: 66%; letter-spacing: -.02em; color: var(--ink); }
.af27-root[data-af27-platform="internal"] .rec__n{ margin-top: 18px; font: 600 12px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--sec-ink); }
.af27-root[data-af27-platform="internal"] .rec__title{ margin-top: 10px; max-width: 22ch; font: 700 clamp(24px, 2.3vw, 36px)/1.08 var(--f-display); font-stretch: 86%; letter-spacing: -.015em; text-wrap: balance; }
.af27-root[data-af27-platform="internal"] .rec__sub{ margin-top: 12px; max-width: 46ch; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
.af27-root[data-af27-platform="internal"] .rec__head .fig{ margin-top: 28px; }
.af27-root[data-af27-platform="internal"] .rec__data{ grid-column: 7 / -1; border-top: 1px solid var(--ink); }
.af27-root[data-af27-platform="internal"] .rec__data > div{ display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.af27-root[data-af27-platform="internal"] .rec__data dt{ padding-top: 3px; font: 600 11px/1.4 var(--f-display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.af27-root[data-af27-platform="internal"] .rec__data dd{ font: 500 16.5px/1.5 var(--f-display); }
.af27-root[data-af27-platform="internal"] .rec__people li{ display: flex; flex-wrap: wrap; gap: 2px 10px; padding: 3px 0; }
.af27-root[data-af27-platform="internal"] .rec__people strong{ font-weight: 600; }
.af27-root[data-af27-platform="internal"] .rec__people span, .af27-root[data-af27-platform="internal"] .rec__note, .af27-root[data-af27-platform="internal"] .rec__type{ font: 400 14px/1.5 var(--f-text); color: var(--muted); }
.af27-root[data-af27-platform="internal"] .rec__list{ margin: 6px 0 10px; }
.af27-root[data-af27-platform="internal"] .rec__list li{ padding: 3px 0; }
.af27-root[data-af27-platform="internal"] .rec__type{ margin-left: 6px; letter-spacing: .06em; }
.af27-root[data-af27-platform="internal"] .rec__more{ grid-column: 7 / -1; }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .rec__head, .af27-root[data-af27-platform="internal"] .rec__data, .af27-root[data-af27-platform="internal"] .rec__more{ grid-column: 1 / -1; } }
@media (max-width: 600px){ .af27-root[data-af27-platform="internal"] .rec__data > div{ grid-template-columns: 1fr; gap: 6px; } }

/* 13.8 · HOME ARCHIVE DIPTYCH: crop shift instead of a generic zoom */
.af27-root[data-af27-platform="internal"] .harch__fig img{ transform: scale(1.04) translate3d(0, 1.2%, 0); transition: transform .9s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .harch__go{ text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 5px; display: inline-block; }
.af27-root[data-af27-platform="internal"] .harch__go::after{ content: ""; display: block; height: 2px; margin-top: 4px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
@media (hover: hover) and (pointer: fine){
  .af27-root[data-af27-platform="internal"] .harch__ed:hover .harch__fig img{ transform: scale(1.04) translate3d(0, -1.2%, 0); }
  .af27-root[data-af27-platform="internal"] .harch__ed:hover .harch__go::after{ transform: scaleX(1); }
}
.af27-root[data-af27-platform="internal"] .harch__ed:focus-within .harch__go::after{ transform: scaleX(1); }

/* 13.9 · HOST / SUPPORTERS / PARTNERS: the same structure with 2, 6 or 12 entries, text or logo */
.af27-root[data-af27-platform="internal"] .hpart__list{ grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); align-items: start; }
.af27-root[data-af27-platform="internal"] .hpart__list li{ min-height: 44px; justify-content: center; }
.af27-root[data-af27-platform="internal"] .hpart__logo{ display: block; width: auto; max-width: 132px; height: auto; max-height: 40px; object-fit: contain; filter: grayscale(1); opacity: .82; }
.af27-root[data-af27-platform="internal"] .hpart__list--minor{ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.af27-root[data-af27-platform="internal"] .hpart__list--minor strong{ font-size: 15px; font-weight: 500; }
.af27-root[data-af27-platform="internal"] .hpart__list--minor .hpart__logo{ max-width: 108px; max-height: 32px; }

/* 13.10 · TYPOGRAPHIC SCALE: home may be cinematic, internal pages are calmer */
.af27-root[data-af27-platform="internal"] .call__title{ font-size: clamp(44px, 5.6vw, 96px); line-height: .9; font-stretch: 78%; max-width: 12ch; }
.af27-root[data-af27-platform="internal"] .cd--key .cd__value{ font-size: clamp(36px, 3.6vw, 60px); }
.af27-root[data-af27-platform="internal"] .htheme .s-title{ font-size: clamp(32px, 3.6vw, 58px); }
.af27-root[data-af27-platform="internal"] .st{ margin-top: clamp(48px, 5.2vw, 84px); }
.af27-root[data-af27-platform="internal"] .st__title{ font-size: clamp(26px, 2.5vw, 40px); line-height: 1.06; }
.af27-root[data-af27-platform="internal"] .is-ops .st__title{ font-size: clamp(23px, 2vw, 31px); font-stretch: 90%; }
.af27-root[data-af27-platform="internal"] .is-ops .st{ margin-top: clamp(40px, 4.4vw, 64px); border-top-width: 1px; border-top-color: var(--ink); }
.af27-root[data-af27-platform="internal"] .is-ops .pg{ padding-block: clamp(44px, 5vw, 80px); }
.af27-root[data-af27-platform="internal"] .fees td{ font-size: clamp(19px, 1.6vw, 24px); }
.af27-root[data-af27-platform="internal"] .journey__t{ font-size: 19px; }
@media (max-width: 700px){ .af27-root[data-af27-platform="internal"] .call__title{ font-size: clamp(40px, 11.6vw, 56px); } }

/* 13.11 · CTA HIERARCHY: one primary action per page, secondary actions recede */
.af27-root[data-af27-platform="internal"] .btn--ghost{ --bg: transparent; --fg: var(--ink); --bd: var(--ink); --bg-h: var(--ink); --fg-h: #fff; min-height: 48px; font-size: 14.5px; }
.af27-root[data-af27-platform="internal"] .btn--ghost.btn--on-navy, .af27-root[data-af27-platform="internal"] .htheme .btn--ghost{ --fg: #fff; --bd: rgba(255, 255, 255, .6); --bg-h: #fff; --fg-h: var(--ink); }
.af27-root[data-af27-platform="internal"] .btn--ghost-lum{ --fg: var(--lum); --bd: var(--lum); --bg-h: var(--lum); --fg-h: #fff; }

/* 13.12 · INTERACTION: authored, 250-500 ms */
.af27-root[data-af27-platform="internal"] .link{ transition: text-decoration-color .35s var(--ui-out), color .35s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .trow a{ position: relative; }
.af27-root[data-af27-platform="internal"] .trow a::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--sec-ui); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ui-out); }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .trow a:hover::after{ transform: scaleX(1); } }
.af27-root[data-af27-platform="internal"] .trow a:focus-visible::after{ transform: scaleX(1); }
.af27-root[data-af27-platform="internal"] .trow__title{ transition: color .3s var(--ui-out); }

/* 13.13 · STATE IS NEVER COLOUR ONLY */
.af27-root[data-af27-platform="internal"] .toc a{ position: relative; padding-left: 0; transition: color var(--sec-in) var(--ui-out), padding-left .3s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .toc a.is-active{ padding-left: 14px; font-weight: 650; }
.af27-root[data-af27-platform="internal"] .toc a.is-active::before{ content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 2px; background: var(--sec-ui); }
.af27-root[data-af27-platform="internal"] .edtoc a{ padding-block: 6px; border-bottom: 2px solid transparent; }
.af27-root[data-af27-platform="internal"] .edtoc a.is-active{ border-bottom-color: var(--sec-ui); font-weight: 650; }
.af27-root[data-af27-platform="internal"] .sheet__sec[aria-current="page"]{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.af27-root[data-af27-platform="internal"] .mm__links a[aria-current="page"] .mm__t{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.af27-root[data-af27-platform="internal"] .harch, .af27-root[data-af27-platform="internal"] .bari, .af27-root[data-af27-platform="internal"] .hero, .af27-root[data-af27-platform="internal"] .ctab, .af27-root[data-af27-platform="internal"] .htheme{ --focus: #BFE6F8; }
.af27-root[data-af27-platform="internal"] .mnav__link:focus-visible, .af27-root[data-af27-platform="internal"] .mnav__toggle:focus-visible{ outline-color: var(--sec-ink); }

/* 13.14 · MOTION HIERARCHY: home = full Twin motion · internal = quieter · operational = still */
@media (prefers-reduced-motion: no-preference){
  .af27-root[data-af27-platform="internal"] .ph-arc--g{ animation-duration: 34s; --dx: 10px; }
  .af27-root[data-af27-platform="internal"] .ph-arc--d{ animation-duration: 41s; --dx: -9px; }
  .af27-root[data-af27-platform="internal"] .ph-flow{ animation-duration: 44s; }
  .af27-root[data-af27-platform="internal"] .ph-flow--rev{ animation-duration: 38s; }
  .af27-root[data-af27-platform="internal"] .is-ops .ph-arc, .af27-root[data-af27-platform="internal"] .is-ops .ph-flow{ animation: none; }
  .af27-root[data-af27-platform="internal"] .is-ops .ph-flow{ opacity: .5; }
}

/* 13.15 · FOOTER: institutional and useful, not a second hero */
.af27-root[data-af27-platform="internal"] .footer{ padding-top: clamp(132px, 15vw, 236px); }
.af27-root[data-af27-platform="internal"] .footer__night{ height: clamp(210px, 22vw, 340px); }
.af27-root[data-af27-platform="internal"] .footer__sign{ padding-bottom: clamp(28px, 3.4vw, 48px); }
.af27-root[data-af27-platform="internal"] .footer__logo{ width: clamp(196px, 22vw, 320px); }
.af27-root[data-af27-platform="internal"] .footer__seal{ width: clamp(200px, 24vw, 380px); bottom: -90%; }
.af27-root[data-af27-platform="internal"] .footer__cols--v13{ grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr) minmax(0, 1.4fr) minmax(0, 1.3fr); column-gap: var(--col-gap); padding-block: clamp(36px, 4.4vw, 56px); }
.af27-root[data-af27-platform="internal"] .footer__title{ font-size: clamp(22px, 2vw, 28px); }
.af27-root[data-af27-platform="internal"] .footer__edition{ margin-top: 8px !important; font: 600 12px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: #fff !important; }
.af27-root[data-af27-platform="internal"] .footer__group-title{ margin-bottom: 14px; font: 600 11px/1.4 var(--f-display); letter-spacing: .16em; text-transform: uppercase; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .footer__group li{ padding: 4px 0; font-size: 14.5px; line-height: 1.5; color: var(--on-navy-muted); }
.af27-root[data-af27-platform="internal"] .footer__group li a{ display: inline; padding: 0; font-size: inherit; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .28); text-underline-offset: 4px; transition: text-decoration-color .3s var(--ui-out); }
.af27-root[data-af27-platform="internal"] .footer__group li.footer__gap{ margin-top: 12px; }
@media (hover: hover) and (pointer: fine){ .af27-root[data-af27-platform="internal"] .footer__group li a:hover{ text-decoration-color: var(--cyan); } }
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .footer__cols--v13{ grid-template-columns: 1fr 1fr; row-gap: 36px; } }
@media (max-width: 560px){ .af27-root[data-af27-platform="internal"] .footer__cols--v13{ grid-template-columns: 1fr; } }

/* 13.16 · TABLET (701-1199): its own rhythm, not a squeezed desktop */
@media (max-width: 1199px) and (min-width: 701px){
  .af27-root[data-af27-platform="internal"] .hero__facts{ width: 100%; }
  .af27-root[data-af27-platform="internal"] .hero__fact{ padding-inline: clamp(16px, 2.4vw, 28px); }
  .af27-root[data-af27-platform="internal"] .hero__fact:first-child{ padding-left: 0; }
  .af27-root[data-af27-platform="internal"] .status__inner{ grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); row-gap: 20px; }
  .af27-root[data-af27-platform="internal"] .status__phase{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .status__cta{ grid-column: 1 / -1; justify-self: stretch; }
  .af27-root[data-af27-platform="internal"] .ph--l2{ min-height: clamp(320px, 38svh, 440px); }
  .af27-root[data-af27-platform="internal"] .harch__ed, .af27-root[data-af27-platform="internal"] .harch__ed + .harch__ed{ grid-column: span 6; margin-top: 0; }
  .af27-root[data-af27-platform="internal"] .harch__ed + .harch__ed .harch__year, .af27-root[data-af27-platform="internal"] .harch__year{ font-size: clamp(64px, 10vw, 108px); }
  .af27-root[data-af27-platform="internal"] .venue__intro{ grid-column: 1 / -1; }
  .af27-root[data-af27-platform="internal"] .bari__media{ grid-column: 1 / -1; }
}
@media (max-width: 1023px) and (min-width: 701px){
  .af27-root[data-af27-platform="internal"] .harch .harch__thread{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .af27-root[data-af27-platform="internal"] .rec__data > div{ grid-template-columns: 150px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce){
  .af27-root[data-af27-platform="internal"] .cix__item a::after, .af27-root[data-af27-platform="internal"] .trow a::after, .af27-root[data-af27-platform="internal"] .harch__go::after, .af27-root[data-af27-platform="internal"] .harch__fig img, .af27-root[data-af27-platform="internal"] .toc a{ transition: none; }
}

/* 13.17 · HERO on tall viewports (portrait tablets): the dark zone never starts higher than 540 px
   above the bottom, so the photograph keeps its space. On landscape desktops --night already wins. */
.af27-root[data-af27-platform="internal"] .hero__shade{
  --n2: max(var(--night), calc(var(--hh) - 540px));
  background: linear-gradient(180deg,
    rgba(10, 31, 51, 0) 0,
    rgba(10, 31, 51, 0) calc(var(--n2) - 16px),
    rgba(10, 31, 51, .5) calc(var(--n2) + 70px),
    rgba(10, 31, 51, .84) calc(var(--n2) + 230px),
    var(--navy) 100%);
}
.af27-root[data-af27-platform="internal"] .hero__shade::after{ top: var(--n2); }
/* on narrow viewports the arcs sit behind the title: keep them as atmosphere only */
@media (max-width: 1023px){ .af27-root[data-af27-platform="internal"] .ph__arcs{ opacity: calc(var(--arc-o, .85) * .5); } }

/* P14 · PRE-FREEZE CORRECTIONS (v1.3, audit docs/09) ---------------------------
   Four proven defects, nothing else. No visual change outside these cases. */

/* P0-01 · PHONE HERO: the bell tower may rise into TRANSITION only with the tip of its spire.
   The tower is as wide as a letter, so no horizontal position can keep a letter free. The
   relationship is therefore vertical: main.js anchors the tip of the spire to the baseline
   of the word, 0.12em above it, at every width up to 700 px. At that depth the spire is
   about 0.09em wide: it touches the foot of one letter and leaves at least 86% of its height
   visible. The values below are the no-script approximation of the same geometry. */
@media (max-width: 700px){
  .af27-root[data-af27-platform="internal"] .hero{ --horizon: .53; --tcut: .18; }
  /* the cut-out ends exactly under the word, also when that is above the base of the spire */
  .af27-root[data-af27-platform="internal"] .hero__layer--tower .hero__frame{ clip-path: inset(0 0 calc(100% - var(--tcut) * 100%) 0); }
}

/* P0-02 · SECTION HUB rows follow the width of the list, not the viewport.
   Below 680 px of available width the description moves under the title, so a long label
   ("Accommodation", "Publication Opportunities") has the whole column. */
.af27-root[data-af27-platform="internal"] .hub .cix{ container-type: inline-size; container-name: cix; }
.af27-root[data-af27-platform="internal"] .cix__t, .af27-root[data-af27-platform="internal"] .cix__d{ min-width: 0; overflow-wrap: break-word; }
@container cix (min-width: 480px) and (max-width: 680px){
  .af27-root[data-af27-platform="internal"] .cix__item a{ grid-template-columns: 40px minmax(0, 1fr) minmax(0, 150px) 22px; row-gap: 4px; }
  .af27-root[data-af27-platform="internal"] .cix__t{ grid-column: 2; grid-row: 1; }
  .af27-root[data-af27-platform="internal"] .cix__d{ grid-column: 2; grid-row: 2; }
  .af27-root[data-af27-platform="internal"] .cix__s{ grid-column: 3; grid-row: 1 / span 2; align-self: center; text-align: right; }
  .af27-root[data-af27-platform="internal"] .cix__arrow{ grid-column: 4; grid-row: 1 / span 2; }
}
@supports not (container-type: inline-size){
  @media (min-width: 1024px) and (max-width: 1289px){
    .af27-root[data-af27-platform="internal"] .hub .cix__item a{ grid-template-columns: 40px minmax(0, 1fr) minmax(0, 150px) 22px; row-gap: 4px; }
    .af27-root[data-af27-platform="internal"] .hub .cix__t{ grid-column: 2; grid-row: 1; }
    .af27-root[data-af27-platform="internal"] .hub .cix__d{ grid-column: 2; grid-row: 2; }
    .af27-root[data-af27-platform="internal"] .hub .cix__s{ grid-column: 3; grid-row: 1 / span 2; align-self: center; text-align: right; }
    .af27-root[data-af27-platform="internal"] .hub .cix__arrow{ grid-column: 4; grid-row: 1 / span 2; }
  }
}

/* P1-03 · PUBLICATIONS in a narrow column (Special Track sidebar): vertical flow.
   type, then journal, then special-issue title, then the link. The wide list is unchanged. */
.af27-root[data-af27-platform="internal"] .publist{ container-type: inline-size; container-name: publist; }
@container publist (max-width: 460px){
  .af27-root[data-af27-platform="internal"] .publist__item{ grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .af27-root[data-af27-platform="internal"] .publist__item .link{ justify-self: start; margin-top: 4px; }
}
/* without container queries: the sidebar exists from 1024 px up; below that the list is full width again */
@supports not (container-type: inline-size){
  @media (min-width: 1024px){
    .af27-root[data-af27-platform="internal"] .pg__aside .publist__item{ grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .af27-root[data-af27-platform="internal"] .pg__aside .publist__item .link{ justify-self: start; margin-top: 4px; }
  }
}
.af27-root[data-af27-platform="internal"] .publist__journal, .af27-root[data-af27-platform="internal"] .publist__si{ overflow-wrap: break-word; }
/* =========================================================
   AF27 · INTERNAL LIGHT-SECTION HEADING FIX
   Cause: OceanWP applies a direct heading colour; in the static
   Golden Master .st__title inherits --ink from the paper section.
   Append ONCE at the VERY END of the global AF27 Custom CSS.
   ========================================================= */

.af27-root[data-af27-platform="internal"] .pg .st__title,
.af27-root[data-af27-platform="internal"] .pg .prose h2,
.af27-root[data-af27-platform="internal"] .pg .prose h3,
.af27-root[data-af27-platform="internal"] .pg .pg__h3 {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Preserve reveal opacity/transform handling from the Golden Master. */
.af27-root[data-af27-platform="internal"] .pg .st__title.is-in,
.af27-root[data-af27-platform="internal"] .pg .prose h2.is-in,
.af27-root[data-af27-platform="internal"] .pg .prose h3.is-in {
  visibility: visible !important;
}
/* =========================================================
   AF27 · INTERNAL ROOT SECTION ACCENTS
   ADD ONCE at the VERY END of global AF27 Custom CSS.
   Prevents the WordPress wrapper from falling back to burgundy.
   ========================================================= */

.af27-root[data-af27-platform="internal"][data-sec="conference"] {
  --section-accent: #AC103D;
}
.af27-root[data-af27-platform="internal"][data-sec="calls"] {
  --section-accent: #36B9E8;
}
.af27-root[data-af27-platform="internal"][data-sec="authors"] {
  --section-accent: #9FCB63;
  --sec-arc: var(--cyan);
}
.af27-root[data-af27-platform="internal"][data-sec="programme"] {
  --section-accent: #2E5F9E;
}
.af27-root[data-af27-platform="internal"][data-sec="venue"] {
  --section-accent: #C9B58A;
}
.af27-root[data-af27-platform="internal"][data-sec="archive"] {
  --section-accent: #8795A1;
}
/* =========================================================
   AF27 · INTERNAL LIGHT HEADINGS — DEFINITIVE WORDPRESS GUARD
   OceanWP/Elementor must not override inherited ink headings.
   ========================================================= */

.af27-root[data-af27-platform="internal"] .call__title,
.af27-root[data-af27-platform="internal"] .step__title,
.af27-root[data-af27-platform="internal"] .s-title,
.af27-root[data-af27-platform="internal"] .st__title,
.af27-root[data-af27-platform="internal"] .pg__h3,
.af27-root[data-af27-platform="internal"] .prose h2,
.af27-root[data-af27-platform="internal"] .prose h3 {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Any spans generated inside those headings inherit the correct colour. */
.af27-root[data-af27-platform="internal"] .call__title *,
.af27-root[data-af27-platform="internal"] .step__title *,
.af27-root[data-af27-platform="internal"] .s-title *,
.af27-root[data-af27-platform="internal"] .st__title *,
.af27-root[data-af27-platform="internal"] .pg__h3 *,
.af27-root[data-af27-platform="internal"] .prose h2 *,
.af27-root[data-af27-platform="internal"] .prose h3 * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: transparent !important;
}
/* AF27 · Programme day headings fix */
.af27-root[data-af27-platform="internal"] .pday__label {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.af27-root[data-af27-platform="internal"] .pday__label span {
  color: var(--section-accent) !important;
  -webkit-text-fill-color: var(--section-accent) !important;
}
/* AF27 · Venue title fix */
.af27-root[data-af27-platform="internal"] .venue__title {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  filter: none !important;
}
/* =========================================================
   AF27 · ARCHIVE — DEFINITIVE HEADING FIX
   ========================================================= */

.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h2,
.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h3,
.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h4 {
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h2 *,
.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h3 *,
.af27-root[data-af27-platform="internal"][data-sec="archive"] .pg h4 * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}