/* ============================================================
   pg-speaking.css . speaking.html ONLY (round 9 rebuild).
   Owns: speaking.html, this file, assets/js/pg-speaking.js.
   Never edits fable.css, motion-kit.*, kit4.*, pg-speak-research.* (that
   file is loaded before this one and belongs to the research page, so
   nothing here depends on its rules). Every selector is scoped to
   body.pg-speaking. Sections, in page order:
     01 hero        full page lectern photo, copy directly on it
     02 speakTopics keynote deck on one flat navy ground (stack, list, buttons, arrow keys)
     03 engagements the reach map is the section: city chips that open dropdown cards (an accordion on phones)
     04 room        full bleed lectern photo, copy placed on its calm parts
     05 access-gap  the 88 percent ring, one screen
     06 consulting  the papercut plate, its six programs as rows that outline its parts
     07 close       stage photo, copy beside him
   Photo rules: no scrim, fade, vignette, tint or grain over any photo; the
   ink system in fable.css picks navy or white text from the pixels. Box rule:
   a box answers hover and focus with the shared 1.5px outline only (class box).
   Motion: compositor only (transform, opacity), loops pause off screen
   (fable.js), finished state under reduced motion, hover only under
   (hover:hover) and (pointer:fine) with :focus-visible twins.
   No dashes of any kind in the prose here.
   ============================================================ */

body.pg-speaking{
  --sp-navy:#0C1833;
  --sp-crim:#E23A46;
  --sp-coral:#FF6B75;
  --sp-deep:#9C1B27;
  --sp-ink:#0B1B33;
  --sp-ink-soft:#42506B;
  --sp-light:#F4F7FB;
  --sp-ease:cubic-bezier(.16,1,.3,1);
}

/* one flat ground: the old living navy fields and grain stay off this page */
body.pg-speaking .mkx-navy-bg{display:none!important;}

/* arrival for repeated things: rows, cards and photos rise in one at a time as each comes into view
   (armed by pg-speaking.js only, so nothing is ever blank without script) */
html.spk-armed body.pg-speaking [data-spk-in]{opacity:0;transform:translateY(26px);}
html.spk-armed body.pg-speaking [data-spk-in].is-in{
  opacity:1;transform:none;
  transition:opacity .7s ease calc(var(--i,0) * 90ms),transform .95s var(--sp-ease) calc(var(--i,0) * 90ms);
}

/* ---------- shared type ---------- */
body.pg-speaking .spk-h2{
  margin:0;font-family:var(--display);font-weight:800;
  font-size:var(--t-h2,clamp(2.2rem,1.1rem + 3.4vw,4.2rem));line-height:1.02;letter-spacing:-.03em;
  color:var(--sp-light);text-wrap:balance;
}
body.pg-speaking .spk-h2--ink{color:var(--sp-ink);}
body.pg-speaking .spk-h2 em{font-style:normal;}
body.pg-speaking .spk-lede{
  margin:0;font-family:var(--body);font-weight:500;
  font-size:var(--t-lede,clamp(1.1rem,1rem + .5vw,1.4rem));line-height:1.5;
  color:rgb(244 247 251 / .84);max-width:36ch;text-wrap:pretty;
}
body.pg-speaking .sec-paper-2 .spk-lede{color:#36435E;}

/* =====================================================================
   01 HERO: a full page photo, words directly on it
   ===================================================================== */
body.pg-speaking .spk-hero{--photo-copy-w:min(530px,46vw);}
@media (min-width:1600px){body.pg-speaking .spk-hero{--photo-copy-w:min(36vw,720px);}}
body.pg-speaking .spk-hero .sec-inner{max-width:none;margin:0;padding-inline:var(--gutter);padding-bottom:clamp(5rem,21vh,11rem);}
body.pg-speaking .spk-hero__title{
  margin:0 0 1.4rem;max-width:none;font-family:var(--display);font-weight:800;
  font-size:clamp(2.6rem,1.15rem + 3.7vw,4.9rem);line-height:1;letter-spacing:-.03em;white-space:nowrap;
}
body.pg-speaking .spk-hero__title em{font-style:normal;}
body.pg-speaking .spk-hero__deck{
  margin:0 0 2.1rem;max-width:27ch;font-family:var(--body);font-weight:500;
  font-size:clamp(1.12rem,1.04rem + .4vw,1.34rem);line-height:1.55;
}
/* the buttons stack until the screen is wide enough for a row to stay clear of his hands */
body.pg-speaking .spk-hero__cta{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;margin:0;}
@media (min-width:1367px) and (min-aspect-ratio:3/2){
  body.pg-speaking .spk-hero__cta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.9rem 1rem;}
}

/* the secondary button on a photo: a clear outline, no glass, no tint (the primary keeps its M2 glow) */
body.pg-speaking .k4-btn--onphoto{
  background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;
  border:1.5px solid rgb(244 247 251 / .85);color:var(--sp-light);
}
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .k4-btn--onphoto:hover{border-color:var(--sp-coral);box-shadow:0 0 26px -4px rgb(226 58 70 / .6),0 0 70px -16px rgb(226 58 70 / .4);}
}
body.pg-speaking .k4-btn--onphoto:focus-visible{border-color:var(--sp-coral);box-shadow:0 0 26px -4px rgb(226 58 70 / .6),0 0 70px -16px rgb(226 58 70 / .4);}

/* phones and portrait screens: the portrait crop, copy at the foot below his collar */
@media (max-width:900px),(max-aspect-ratio:1/1){
  body.pg-speaking .spk-hero{min-height:max(100vh,820px,150vw);min-height:max(100svh,820px,150vw);align-items:flex-end;padding-top:96px;}
  body.pg-speaking .spk-hero .sec-inner{padding-bottom:clamp(1.6rem,6vw,2.6rem);}
  body.pg-speaking .spk-hero .phero__copy{max-width:none;}
  body.pg-speaking .spk-hero__title{font-size:clamp(2.1rem,10.4vw,3.1rem);margin-bottom:1.1rem;}
  body.pg-speaking .spk-hero__deck{max-width:none;margin-bottom:1.5rem;}
}
@media (max-width:900px),(max-aspect-ratio:1/1){
  body.pg-speaking .spk-hero__cta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.9rem 1rem;}
}
@media (max-width:599px){
  body.pg-speaking .spk-hero__cta{flex-direction:column;align-items:stretch;}
  body.pg-speaking .spk-hero__cta .k4-btn{width:100%;}
}

/* =====================================================================
   02 SPEAKTOPICS: the keynote deck on one flat navy ground
   ===================================================================== */
body.pg-speaking .spk-topics{position:relative;background:#0C1833;}
body.pg-speaking .spk-topics .sec-inner{padding-block:clamp(6rem,7vw,7rem) var(--sec-pad,clamp(4.5rem,8vw,7.5rem));}
body.pg-speaking .spk-topics__h{max-width:25ch;margin-bottom:clamp(1.4rem,2.6vw,2rem);font-size:clamp(1.9rem,1.1rem + 2.4vw,3.1rem);}

/* the slide itself (shared by the stack and the static grid) */
body.pg-speaking .deck{--u:1cqw;}
body.pg-speaking .deck__slides{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.8rem);
}
body.pg-speaking .slide{position:relative;aspect-ratio:16/9;container-type:inline-size;}
body.pg-speaking .slide__face{
  position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;
  border-radius:calc(var(--u) * 2.2);
  padding:calc(var(--u) * 6.4) calc(var(--u) * 6.8) calc(var(--u) * 4.6);
  background:#10214A;
  border:1px solid rgb(255 255 255 / .16);
  box-shadow:0 calc(var(--u) * 5) calc(var(--u) * 9) calc(var(--u) * -4) rgb(0 0 0 / .6);
}
body.pg-speaking .slide__t{
  margin:0;font-family:var(--display);font-weight:800;color:var(--sp-light);
  font-size:max(19px,calc(var(--u) * 6.8));line-height:1.04;letter-spacing:-.02em;text-wrap:balance;
}
body.pg-speaking .slide__d{
  margin:calc(var(--u) * 2.6) 0 auto;font-family:var(--body);font-weight:400;color:rgb(244 247 251 / .78);
  font-size:max(13px,calc(var(--u) * 2.9));line-height:1.45;max-width:46ch;text-wrap:pretty;
}
body.pg-speaking .slide__f{margin:0;padding-top:calc(var(--u) * 2);}
body.pg-speaking .slide__n{
  font-family:var(--label);font-weight:600;font-size:max(11px,calc(var(--u) * 1.8));letter-spacing:.04em;color:var(--sp-coral);
}
/* four slides carry a real plate in the right 38 percent; the others stay type, like a real keynote */
body.pg-speaking .slide__art{display:none;}
body.pg-speaking .slide--art .slide__art{
  display:block;position:absolute;right:calc(var(--u) * 4);bottom:0;width:36%;height:84%;
  object-fit:contain;object-position:center bottom;pointer-events:none;
}
body.pg-speaking .slide--art .slide__t{max-width:58%;font-size:max(18px,calc(var(--u) * 5.8));}
body.pg-speaking .slide--art .slide__d{max-width:54%;}
body.pg-speaking .slide__shade,body.pg-speaking .deck__side,body.pg-speaking .deck__ctl{display:none;}

@media (max-width:640px){
  body.pg-speaking .deck__slides{grid-template-columns:1fr;}
  body.pg-speaking .slide{aspect-ratio:4/3;}
}
@media (max-width:560px){
  body.pg-speaking .slide--art .slide__art{display:none;}
  body.pg-speaking .slide--art .slide__t,body.pg-speaking .slide--art .slide__d{max-width:none;}
  body.pg-speaking .slide--art .slide__t{font-size:max(19px,calc(var(--u) * 7));}
}

/* ---- stack mode: only with motion allowed and the script running (.is-3d) ---- */
@media (prefers-reduced-motion:no-preference){
  body.pg-speaking .deck.is-3d{
    display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,34%,420px);
    gap:clamp(2rem,4vw,4rem);align-items:center;
  }
  body.pg-speaking .deck.is-3d .deck__side{display:grid;}
  body.pg-speaking .deck.is-3d .deck__ctl{display:flex;}
  body.pg-speaking .deck.is-3d .deck__stage{
    position:relative;container-type:inline-size;
    perspective:1900px;perspective-origin:46% 42%;
    aspect-ratio:100/57;outline:none;
  }
  body.pg-speaking .deck.is-3d .deck__slides{
    position:absolute;left:0;bottom:0;width:89%;aspect-ratio:16/9;display:block;gap:0;
    transform-style:preserve-3d;transform:none;
  }
  body.pg-speaking .deck.is-3d .slide{
    position:absolute;inset:0;aspect-ratio:auto;container-type:normal;cursor:pointer;
    transform-style:preserve-3d;backface-visibility:hidden;
    --d:0;
    transform:none;
    transition:transform .95s cubic-bezier(.2,.85,.15,1),opacity .55s ease;
  }
  body.pg-speaking .deck.is-3d .slide__face{--u:.89cqw;}
  body.pg-speaking .deck.is-3d .slide[data-s="front"]{transform:none;}
  body.pg-speaking .deck.is-3d .slide[data-s="behind"]{
    transform:translate3d(calc(var(--d) * 3.8%),calc(var(--d) * -6%),calc(var(--d) * -96px)) rotateY(-8deg);
    opacity:calc(1 - (var(--d) - 1) * .12);
  }
  body.pg-speaking .deck.is-3d .slide[data-s="past"]{
    transform:translate3d(-58%,2%,70px) rotateY(62deg);opacity:0;pointer-events:none;
  }
  body.pg-speaking .deck.is-3d .slide[data-s="far"]{opacity:0;pointer-events:none;}
  /* the plates behind show only their shape, not a smudge of the next slide's words */
  body.pg-speaking .deck.is-3d .slide:not([data-s="front"]) .slide__face>*{opacity:0;}
  body.pg-speaking .deck.is-3d .slide__shade{
    display:block;position:absolute;inset:0;border-radius:calc(.89cqw * 2.2);background:#0C1833;pointer-events:none;
    opacity:calc(var(--d) * .17);transition:opacity .9s ease;
  }
}

/* ---- the controls under the deck ---- */
body.pg-speaking .deck__main{min-width:0;}
body.pg-speaking .deck__ctl{
  flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-top:clamp(1.2rem,2.4vw,1.8rem);
}
body.pg-speaking .deck__play{margin-left:auto;color:var(--sp-coral);}

/* ---- the numbered list: bordered rows, current one outlined in crimson ---- */
body.pg-speaking .deck__side{gap:.6rem;align-content:center;min-width:0;}
body.pg-speaking .deck__list{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
body.pg-speaking .dl{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:.8rem;padding:.62rem .95rem;border-radius:var(--box-r,14px);
  border:1px solid transparent;cursor:pointer;text-align:left;
  background:transparent;color:rgb(244 247 251 / .72);font:inherit;
}
body.pg-speaking .dl__n{font-family:var(--label);font-weight:600;font-size:.82rem;letter-spacing:.04em;color:rgb(244 247 251 / .55);}
body.pg-speaking .dl__t{font-family:var(--display);font-weight:700;font-size:1.1rem;line-height:1.25;letter-spacing:-.005em;text-wrap:balance;}
body.pg-speaking .dl__go{color:var(--sp-coral);opacity:0;transform:translateX(-6px);transition:opacity .35s ease,transform .45s var(--sp-ease),translate .32s var(--sp-ease);}
body.pg-speaking .dl[aria-current="true"]{border-color:var(--sp-crim);color:var(--sp-light);}
body.pg-speaking .dl[aria-current="true"] .dl__n{color:var(--sp-coral);}
body.pg-speaking .dl[aria-current="true"] .dl__go{opacity:1;transform:none;}
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .dl:hover .dl__go{opacity:1;transform:none;}
}
body.pg-speaking .dl:focus-visible .dl__go{opacity:1;transform:none;}

@media (max-width:900px){
  body.pg-speaking .deck.is-3d{grid-template-columns:minmax(0,1fr);gap:2rem;}
}
@media (max-width:560px){
  body.pg-speaking .deck.is-3d .deck__stage{aspect-ratio:100/78;}
  body.pg-speaking .deck.is-3d .deck__slides{width:84%;aspect-ratio:4/3;}
  body.pg-speaking .deck.is-3d .slide[data-s="behind"]{
    transform:translate3d(calc(var(--d) * 4.6%),calc(var(--d) * -5.4%),calc(var(--d) * -70px)) rotateY(-6deg);
  }
  body.pg-speaking .deck.is-3d .slide__face{--u:.84cqw;}
  body.pg-speaking .deck.is-3d .slide__shade{border-radius:calc(.84cqw * 2.2);}
  body.pg-speaking .deck__ctl .k4-btn:not(.k4-btn--text){padding:.8rem 1.15rem;}
  body.pg-speaking .deck__play{margin-left:auto;}
}

/* =====================================================================
   03 ENGAGEMENTS: the reach map is the whole section
   The real US map (usmap-data.js) fills the section on the navy ground, no plate, no
   frame, no tilt. Every place he spoke is a chip on its pin (name, how many talks, a
   chevron); a chip opens one dropdown card with the year, the topic and the event.
   pg-speaking.js places the chips so none collide and sets .is-ready on the section.
   Phones: numbered pins on the map and an accordion under it (same markup).
   Without script: the heading and a readable list of cards.
   ===================================================================== */
body.pg-speaking .spk-eng{
  --eng-ar:1.3855;
  --eng-ivory:#F4F7FB;--eng-coral:#FF6B75;--eng-crim:#E23A46;--eng-pale:#FF9CA4;
  --eng-chip:#0E1C3E;--eng-card:#0F1F44;--eng-line:rgb(244 247 251 / .26);
  --mm-s:1;--mm-u:calc(1px / var(--mm-s));
  position:relative;overflow:clip;background:#080F25;color:var(--eng-ivory);
}

/* ---- the heading block (lives on a calm part of the map) ---- */
body.pg-speaking .spk-eng .eng__head{padding-block:clamp(5.5rem,10vw,8.5rem) 0;}
body.pg-speaking .spk-eng .eng__copy{display:grid;gap:1.1rem;justify-items:start;width:fit-content;max-width:34rem;}
body.pg-speaking .spk-eng .eng__copy .spk-h2{max-width:13ch;font-size:clamp(2.1rem,1.05rem + 2.7vw,3.7rem);}
body.pg-speaking .spk-eng .eng__copy .spk-lede{max-width:31ch;font-size:clamp(1.02rem,.96rem + .32vw,1.2rem);color:rgb(244 247 251 / .84);}
body.pg-speaking .spk-eng .eng__hint{
  display:none;align-items:center;gap:.5rem;margin:.2rem 0 0;
  font-family:var(--label);font-weight:700;font-size:.92rem;line-height:1.3;letter-spacing:.01em;color:var(--eng-pale);
}
body.pg-speaking .spk-eng.is-ready .eng__hint{display:inline-flex;}
body.pg-speaking .spk-eng .eng__hint-chev{width:1.15rem;height:1.15rem;flex:none;color:var(--eng-coral);}

/* ---- no script: the same content as plain cards ---- */
body.pg-speaking .spk-eng .eng__places{
  list-style:none;max-width:var(--max);margin:0 auto;padding:clamp(2rem,4vw,3rem) var(--gutter) clamp(4.5rem,8vw,7.5rem);
  display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));align-items:start;
}
body.pg-speaking .spk-eng .eng-place{padding:1.25rem 1.35rem 1.35rem;border:1px solid var(--eng-line);border-radius:14px;background:var(--eng-card);}
body.pg-speaking .spk-eng .eng-place__h{
  margin:0 0 1rem;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem .8rem;
  font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1.15;letter-spacing:-.015em;color:var(--eng-ivory);
}
body.pg-speaking .spk-eng .eng-chip__n{font-family:var(--body);font-weight:600;font-size:.88rem;letter-spacing:0;color:var(--eng-pale);}
body.pg-speaking .spk-eng .eng-talks{list-style:none;margin:0;padding:0;display:grid;gap:1.05rem;}
body.pg-speaking .spk-eng .eng-talk{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.1rem .7rem;align-items:baseline;}
body.pg-speaking .spk-eng .eng-talk__y{font-family:var(--label);font-weight:700;font-size:.9rem;letter-spacing:.02em;color:var(--eng-coral);}
body.pg-speaking .spk-eng .eng-talk__b{display:grid;gap:.28rem;min-width:0;}
body.pg-speaking .spk-eng .eng-talk__t{
  margin:0;font-family:var(--display);font-weight:800;font-size:clamp(1.02rem,.97rem + .22vw,1.14rem);line-height:1.22;letter-spacing:-.012em;
  color:var(--eng-ivory);text-wrap:balance;
}
body.pg-speaking .spk-eng .eng-talk__e{margin:0;font-family:var(--body);font-weight:500;font-size:.95rem;line-height:1.4;color:rgb(244 247 251 / .72);}
body.pg-speaking .spk-eng .eng-chip__num,
body.pg-speaking .spk-eng .eng-chip__chev{display:none;}

/* ---- the map layer ---- */
body.pg-speaking .spk-eng .eng{container-type:inline-size;}
body.pg-speaking .spk-eng .eng__map{display:none;}
body.pg-speaking .spk-eng.is-ready .eng__map{display:block;position:relative;}
body.pg-speaking .spk-eng .eng__glow{
  position:absolute;width:56%;height:78%;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(closest-side,rgb(226 58 70 / .30),rgb(226 58 70 / .12) 46%,transparent 72%);
}
/* two stacked svgs: the base never changes, the top holds everything that moves (each on its own layer) */
body.pg-speaking .spk-eng .mm-svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;will-change:transform;}
body.pg-speaking .spk-eng .mm-svg--top{pointer-events:none;}
body.pg-speaking .spk-eng .mm-land{fill:url(#mmLandGrad);stroke:none;}
body.pg-speaking .spk-eng .mm-coast-glow{fill:none;stroke:rgb(244 247 251 / .26);stroke-width:calc(7 * var(--mm-u));filter:blur(calc(3 * var(--mm-u)));pointer-events:none;}
/* dots keep about the same size on screen at every width: a screen pixel is --mm-u user units */
body.pg-speaking .spk-eng .mm-dots circle{fill:url(#mmDotGlow);r:calc(clamp(1.1px,.125cqw,2px) / var(--mm-s));}
body.pg-speaking .spk-eng .mm-mesh{fill:none;stroke:rgb(244 247 251 / .15);stroke-width:calc(.8 * var(--mm-u));stroke-linejoin:round;}
body.pg-speaking .spk-eng .mm-nation{fill:none;stroke:rgb(244 247 251 / .40);stroke-width:calc(1.3 * var(--mm-u));stroke-linejoin:round;}
/* the bright dots near the pointer: a small canvas that follows the pointer, between the two svgs */
body.pg-speaking .spk-eng .eng__cursor{position:absolute;left:0;top:0;opacity:0;pointer-events:none;will-change:transform;}

/* only the pins take the pointer: the hub, arcs and comets (their rings and glows are big) never block a pin */
body.pg-speaking .spk-eng :is(.mm-hub,.mm-arcs,.mm-comets,.mm-dots,.mm-land,.mm-mesh,.mm-nation,.mm-coast-glow){pointer-events:none;}

/* hub: Memphis */
body.pg-speaking .spk-eng .mm-hub-halo{fill:none;stroke:var(--eng-crim);stroke-width:calc(1.5 * var(--mm-u));r:calc(11 * var(--mm-u));opacity:0;transform-origin:center;transform-box:fill-box;will-change:transform,opacity;}
body.pg-speaking .spk-eng .eng.is-armed .mm-hub-halo{animation:spkMmPulse 3.2s cubic-bezier(.22,.68,0,1.06) infinite;}
body.pg-speaking .spk-eng .eng.is-armed .mm-hub-halo.mm-ring2{animation-delay:1.6s;}
@keyframes spkMmPulse{0%{opacity:.55;transform:scale(1);}70%{opacity:0;transform:scale(2.8);}100%{opacity:0;transform:scale(2.8);}}
body.pg-speaking .spk-eng .mm-hub-glow{fill:url(#mmHubGlow);r:calc(30 * var(--mm-u));}
body.pg-speaking .spk-eng .mm-hub-core{fill:var(--eng-crim);r:calc(7 * var(--mm-u));}
body.pg-speaking .spk-eng .eng.is-armed .mm-hub-core{animation:spkMmBeat 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box;}
@keyframes spkMmBeat{0%,100%{transform:scale(1);}50%{transform:scale(1.14);}}
body.pg-speaking .spk-eng .mm-hub-label{
  font-family:var(--label);font-size:calc(15px / var(--mm-s));font-weight:700;fill:#FFE3E5;
  paint-order:stroke;stroke:#080F25;stroke-width:calc(4px / var(--mm-s));stroke-linejoin:round;
  text-anchor:end;transform:translate(calc(-11px / var(--mm-s)),calc(-12px / var(--mm-s)));
}

/* arcs: Memphis to each city, drawn in one after another on arrival. Three strokes (soft, mid, core) make the glow. */
body.pg-speaking .spk-eng .mm-arc{fill:none;stroke:url(#mmArcGrad);stroke-width:calc(2.4 * var(--mm-u));stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.96;transition:opacity .35s ease,stroke-width .35s ease;}
body.pg-speaking .spk-eng .mm-arc--s1{stroke-width:calc(5.6 * var(--mm-u));opacity:.26;}
body.pg-speaking .spk-eng .mm-arc--s2{stroke-width:calc(10.5 * var(--mm-u));opacity:.12;}
body.pg-speaking .spk-eng .eng.jsmap .mm-arc{stroke-dashoffset:1;}
body.pg-speaking .spk-eng .eng.jsmap .mm-arc.is-drawn{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.22,.68,0,1.06),opacity .35s ease,stroke-width .35s ease;}
body.pg-speaking .spk-eng .mm-arc.is-bright{stroke-width:calc(3.4 * var(--mm-u));opacity:1;}
body.pg-speaking .spk-eng .mm-arc--s1.is-bright{stroke-width:calc(7.4 * var(--mm-u));opacity:.36;}
body.pg-speaking .spk-eng .mm-arc--s2.is-bright{stroke-width:calc(13.5 * var(--mm-u));opacity:.18;}
/* comets: plain elements moved by transform and opacity (script), so the compositor runs them */
body.pg-speaking .spk-eng .eng__comets{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
body.pg-speaking .spk-eng .mm-c{position:absolute;left:0;top:0;border-radius:50%;opacity:0;will-change:transform,opacity;}
body.pg-speaking .spk-eng .mm-c--0{width:24px;height:24px;margin:-12px 0 0 -12px;background:radial-gradient(circle,#fff 0 20%,rgb(255 227 229 / .95) 30%,rgb(255 107 117 / .42) 56%,rgb(255 107 117 / 0) 100%);}
body.pg-speaking .spk-eng .mm-c--1{width:18px;height:18px;margin:-9px 0 0 -9px;background:radial-gradient(circle,rgb(255 214 218 / .85) 0 22%,rgb(255 107 117 / .4) 60%,rgb(255 107 117 / 0) 100%);}
body.pg-speaking .spk-eng .mm-c--2{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;background:radial-gradient(circle,rgb(255 160 168 / .7) 0 25%,rgb(255 107 117 / .3) 62%,rgb(255 107 117 / 0) 100%);}
body.pg-speaking .spk-eng .mm-c--3{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:radial-gradient(circle,rgb(255 120 130 / .55) 0 30%,rgb(255 107 117 / 0) 100%);}
body.pg-speaking .spk-eng .eng.is-paused :is(.mm-hub-halo,.mm-hub-core,.mm-pin-ring){animation-play-state:paused;}
/* pins */
body.pg-speaking .spk-eng .mm-pin-ring{fill:none;stroke:var(--eng-crim);stroke-width:calc(1.2 * var(--mm-u));r:calc(7 * var(--mm-u));opacity:0;transform-origin:center;transform-box:fill-box;}
body.pg-speaking .spk-eng .eng.is-armed .mm-pin-ring{animation:spkMmBreathe 4.2s ease-in-out infinite;animation-delay:calc(var(--order,0) * .35s);}
@keyframes spkMmBreathe{0%,100%{opacity:.4;transform:scale(1);}50%{opacity:0;transform:scale(1.9);}}
body.pg-speaking .spk-eng .mm-pin-halo{fill:var(--eng-crim);r:calc(9 * var(--mm-u));opacity:.32;transition:opacity .25s ease,r .25s ease;}
body.pg-speaking .spk-eng .mm-pin-core{fill:var(--eng-ivory);stroke:var(--eng-crim);stroke-width:calc(1.4 * var(--mm-u));r:calc(5.6 * var(--mm-u));transition:r .22s ease,fill .22s ease;}
body.pg-speaking .spk-eng .mm-pin-num{display:none;}
body.pg-speaking .spk-eng .mm-pin-hit{fill:transparent;stroke:none;r:calc(15 * var(--mm-u));pointer-events:all;cursor:pointer;}
body.pg-speaking .spk-eng .eng.jsmap .mm-pin-g{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s ease,transform .4s cubic-bezier(.22,.68,0,1.06);}
body.pg-speaking .spk-eng .eng.jsmap .mm-pin-g.is-drawn{opacity:1;transform:scale(1);}
body.pg-speaking .spk-eng .mm-pin-g.is-hover .mm-pin-halo{opacity:.62;r:calc(13 * var(--mm-u));}
body.pg-speaking .spk-eng .mm-pin-g.is-hover .mm-pin-core{r:calc(6.8 * var(--mm-u));fill:var(--eng-coral);}

/* ---- the chips: a place, how many talks, a chevron ---- */
body.pg-speaking .spk-eng.is-ready .eng__places{margin:0;padding:0;max-width:none;display:block;}
body.pg-speaking .spk-eng.is-ready .eng-place{padding:0;border:0;border-radius:0;background:none;}
body.pg-speaking .spk-eng.is-ready .eng-place__h{display:flex;margin:0;gap:0;}
body.pg-speaking .spk-eng.is-ready .eng-chip__chev{display:block;}
body.pg-speaking .spk-eng.is-ready .eng-chip{
  position:relative;z-index:2;display:inline-flex;align-items:center;gap:.65em;min-height:2.6em;margin:0;padding:.3em .8em .3em 1.05em;
  font-family:var(--label);font-weight:700;font-size:clamp(13px,7px + .5cqw,16px);line-height:1.1;letter-spacing:0;white-space:nowrap;
  color:var(--eng-ivory);background:var(--eng-chip);border:1px solid var(--eng-line);border-radius:999px;cursor:pointer;
  box-shadow:0 12px 26px -14px rgb(0 0 0 / .9);-webkit-tap-highlight-color:transparent;
  transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
}
body.pg-speaking .spk-eng.is-ready .eng-chip .eng-chip__n{font-size:.84em;font-weight:600;color:var(--eng-pale);}
body.pg-speaking .spk-eng.is-ready .eng-chip__chev{position:relative;top:-.04em;width:1.1em;height:1.1em;flex:none;color:var(--eng-coral);translate:0 0;rotate:0deg;transition:translate .28s var(--sp-ease),rotate .38s var(--sp-ease);}
/* hover and keyboard focus answer with the border (one crisp coral line), the chevron nudges down;
   open: the chevron turns over and the border stays lit */
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .spk-eng.is-ready .eng-chip:hover{border-color:var(--eng-coral);box-shadow:inset 0 0 0 .5px var(--eng-coral),0 12px 26px -14px rgb(0 0 0 / .9);}
  body.pg-speaking .spk-eng.is-ready .eng-chip:hover .eng-chip__chev{translate:0 2.5px;}
}
body.pg-speaking .spk-eng.is-ready .eng-chip:focus-visible{outline:2px solid var(--eng-coral);outline-offset:2px;border-color:var(--eng-coral);box-shadow:inset 0 0 0 .5px var(--eng-coral),0 12px 26px -14px rgb(0 0 0 / .9);}
body.pg-speaking .spk-eng.is-ready .eng-chip:focus-visible .eng-chip__chev{translate:0 2.5px;}
body.pg-speaking .spk-eng.is-ready .eng-place.is-hot .eng-chip{border-color:var(--eng-coral);box-shadow:inset 0 0 0 .5px var(--eng-coral),0 12px 26px -14px rgb(0 0 0 / .9);}
body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-chip{background:#17285A;border-color:var(--eng-coral);box-shadow:inset 0 0 0 .5px var(--eng-coral),0 12px 26px -14px rgb(0 0 0 / .9);}
body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-chip__chev,
body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-chip:hover .eng-chip__chev{rotate:180deg;translate:0 0;}

/* ---- the dropdown card: solid navy, nothing blurred behind the words ---- */
body.pg-speaking .spk-eng.is-ready .eng-panel{
  position:absolute;left:var(--pl,0);top:var(--pt,calc(100% + 8px));z-index:1;width:clamp(320px,31cqw,440px);
  background:var(--eng-card);border:1px solid rgb(244 247 251 / .24);border-radius:16px;
  box-shadow:0 22px 40px -24px rgb(0 0 0 / .85),0 6px 16px -10px rgb(0 0 0 / .6);
  visibility:hidden;opacity:0;pointer-events:none;
  transform:translateY(var(--pdy,-6px)) scale(.97);transform-origin:var(--po,50% 0);
  transition:opacity .18s ease,transform .24s var(--sp-ease),visibility 0s linear .24s;
}
body.pg-speaking .spk-eng.is-ready .eng-place.is-open{z-index:6;}
body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-panel{
  visibility:visible;opacity:1;pointer-events:auto;transform:none;
  transition:opacity .2s ease,transform .3s var(--sp-ease),visibility 0s;
}
body.pg-speaking .spk-eng.is-ready .eng-panel__in{padding:1rem 1.15rem 1.1rem;}
body.pg-speaking .spk-eng.is-ready .eng-talks{gap:1.1rem;}

/* ---- desktop and tablet landscape: the map is the stage, the chips sit on their pins ---- */
@media (min-width:1000px){
  body.pg-speaking .spk-eng.is-ready .eng__head{position:absolute;left:0;right:0;top:0;z-index:5;pointer-events:none;padding-top:clamp(6.2rem,8.6vw,8.2rem);}
  body.pg-speaking .spk-eng.is-ready .eng{
    position:relative;margin-inline:auto;aspect-ratio:var(--eng-ar);
    width:min(100%,calc(max(100vh,760px) * var(--eng-ar) * 1.12));
    width:min(100%,calc(max(100svh,760px) * var(--eng-ar) * 1.12));
  }
  body.pg-speaking .spk-eng.is-ready .eng__map{position:absolute;inset:0;}
  body.pg-speaking .spk-eng.is-ready .eng__places{position:absolute;inset:0;z-index:4;pointer-events:none;}
  body.pg-speaking .spk-eng.is-ready .eng-place{position:absolute;left:0;top:0;z-index:3;pointer-events:none;}
  body.pg-speaking .spk-eng.is-ready .eng-place:not(.is-placed){visibility:hidden;}
  body.pg-speaking .spk-eng.is-ready .eng-chip{pointer-events:auto;}
  /* a chip arrives with its pin: it rises into place, its chevron bobs once to say "open me" */
  body.pg-speaking .spk-eng.is-ready .eng.jsmap .eng-place:not(.is-drawn) .eng-chip{opacity:0;transform:translateY(8px);}
  body.pg-speaking .spk-eng.is-ready .eng.jsmap .eng-place.is-drawn .eng-chip{opacity:1;transform:none;transition:opacity .5s ease,transform .7s var(--sp-ease),border-color .22s ease,background-color .22s ease,box-shadow .22s ease;}
  body.pg-speaking .spk-eng.is-ready .eng.jsmap .eng-place.is-drawn .eng-chip__chev{animation:engBob .9s var(--sp-ease) .5s 1 both;}
}
@keyframes engBob{0%{transform:translateY(0);}35%{transform:translateY(4px);}65%{transform:translateY(-1px);}100%{transform:translateY(0);}}
@media (pointer:coarse){body.pg-speaking .spk-eng.is-ready .eng-chip{min-height:46px;}}

/* ---- phones and small tablets: numbered pins on the map, an accordion under it ---- */
@media (max-width:999px){
  body.pg-speaking .spk-eng .eng__head{padding-block:clamp(5.5rem,24vw,7rem) 1.6rem;}
  body.pg-speaking .spk-eng .eng__copy .spk-h2{font-size:clamp(2.1rem,9.4vw,3rem);}
  body.pg-speaking .spk-eng .eng__copy .spk-lede{max-width:34ch;}
  body.pg-speaking .spk-eng.is-ready .eng__map{aspect-ratio:var(--eng-ar);width:100%;}
  body.pg-speaking .spk-eng .mm-dots circle{r:calc(clamp(.9px,.3cqw,1.3px) / var(--mm-s));}
  body.pg-speaking .spk-eng .mm-pin-ring{r:calc(10 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-halo{r:calc(12 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-core{r:calc(8.2 * var(--mm-u));stroke-width:calc(1.2 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-g.is-hover .mm-pin-core{r:calc(9.2 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-g.is-hover .mm-pin-halo{r:calc(15 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-hit{r:calc(11 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-pin-num{
    display:block;font-family:var(--label);font-weight:800;font-size:calc(10.5px / var(--mm-s));fill:#0C1833;
    text-anchor:middle;dominant-baseline:central;pointer-events:none;
  }
  body.pg-speaking .spk-eng .mm-hub-label{font-size:calc(11.5px / var(--mm-s));stroke-width:calc(3px / var(--mm-s));transform:translate(calc(-9px / var(--mm-s)),calc(-9px / var(--mm-s)));}
  body.pg-speaking .spk-eng .mm-hub-core{r:calc(5 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-hub-halo{r:calc(8 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc{stroke-width:calc(1.8 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc--s1{stroke-width:calc(4.4 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc--s2{stroke-width:calc(8 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc.is-bright{stroke-width:calc(2.6 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc--s1.is-bright{stroke-width:calc(5.6 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-arc--s2.is-bright{stroke-width:calc(10 * var(--mm-u));}
  body.pg-speaking .spk-eng .mm-c--0{width:18px;height:18px;margin:-9px 0 0 -9px;}
  body.pg-speaking .spk-eng .mm-c--1{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;}
  body.pg-speaking .spk-eng .mm-c--2{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;}
  body.pg-speaking .spk-eng .mm-c--3{width:6px;height:6px;margin:-3px 0 0 -3px;}
  body.pg-speaking .spk-eng .mm-hub-glow{r:calc(22 * var(--mm-u));}

  body.pg-speaking .spk-eng .eng__glow{width:90%;height:120%;}
  body.pg-speaking .spk-eng.is-ready .eng__places{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;max-width:44rem;margin:0 auto;padding:1.6rem var(--gutter) clamp(3.6rem,12vw,5.5rem);}
  body.pg-speaking .spk-eng.is-ready .eng-place{position:relative;overflow:hidden;background:var(--eng-card);border:1px solid var(--eng-line);border-radius:14px;transition:border-color .22s ease;}
  body.pg-speaking .spk-eng.is-ready .eng-place.is-open{border-color:rgb(255 107 117 / .7);}
  body.pg-speaking .spk-eng.is-ready .eng-place.is-hot{border-color:var(--eng-coral);}
  body.pg-speaking .spk-eng.is-ready .eng-chip{
    width:100%;min-height:3.5rem;justify-content:flex-start;gap:.8rem;padding:.55rem 1rem .55rem 1.1rem;
    font-size:1.05rem;white-space:normal;background:transparent;border:0;border-radius:0;box-shadow:none;
  }
  body.pg-speaking .spk-eng.is-ready .eng-chip:hover,
  body.pg-speaking .spk-eng.is-ready .eng-chip:focus-visible,
  body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-chip{background:transparent;box-shadow:none;border:0;}
  body.pg-speaking .spk-eng.is-ready .eng-chip:focus-visible{outline:2px solid var(--eng-coral);outline-offset:-4px;border-radius:12px;}
  body.pg-speaking .spk-eng.is-ready .eng-chip__num{display:inline-block;min-width:1.1rem;font-family:var(--label);font-weight:800;font-size:1rem;color:var(--eng-coral);}
  body.pg-speaking .spk-eng.is-ready .eng-chip .eng-chip__n{margin-left:auto;font-size:.88rem;}
  body.pg-speaking .spk-eng.is-ready .eng-chip__chev{width:1.2rem;height:1.2rem;}
  body.pg-speaking .spk-eng.is-ready .eng-panel{
    position:static;width:auto;display:grid;grid-template-rows:0fr;border:0;border-radius:0;background:transparent;box-shadow:none;
    visibility:hidden;opacity:1;pointer-events:auto;transform:none;
    transition:grid-template-rows .34s var(--sp-ease),visibility 0s linear .34s;
  }
  body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .34s var(--sp-ease),visibility 0s;}
  body.pg-speaking .spk-eng.is-ready .eng-panel__in{min-height:0;overflow:hidden;padding:0 1.1rem;}
  body.pg-speaking .spk-eng.is-ready .eng-place.is-open .eng-panel__in{padding:.1rem 1.1rem 1.25rem;}
  body.pg-speaking .spk-eng.is-ready .eng-talk{grid-template-columns:2.9rem minmax(0,1fr);}
}

@media (prefers-reduced-motion:reduce){
  body.pg-speaking .spk-eng .eng :is(.mm-hub-halo,.mm-hub-core,.mm-pin-ring){animation:none!important;}
  body.pg-speaking .spk-eng .eng :is(.mm-pin-ring,.mm-hub-halo){opacity:0!important;}
  body.pg-speaking .spk-eng .eng__comets{display:none;}
  body.pg-speaking .spk-eng .eng.jsmap .mm-arc,body.pg-speaking .spk-eng .eng.jsmap .mm-pin-g{transition:none!important;stroke-dashoffset:0!important;opacity:1!important;transform:scale(1)!important;}
  body.pg-speaking .spk-eng.is-ready .eng.jsmap .eng-place .eng-chip{opacity:1!important;transform:none!important;transition:none!important;}
  body.pg-speaking .spk-eng.is-ready .eng-chip__chev{animation:none!important;transition:none!important;}
  body.pg-speaking .spk-eng.is-ready .eng-panel,
  body.pg-speaking .spk-eng.is-ready .eng-place{transition:none!important;}
}

/* =====================================================================
   04 THE ROOM: the lectern photo is the ground, copy on its calm parts
   ===================================================================== */
body.pg-speaking .spk-room{
  position:relative;overflow:hidden;min-height:max(640px,100vh,75.5vw);min-height:max(640px,100svh,75.5vw);background:#0C1833;
}
body.pg-speaking .spk-room .sec-inner{position:absolute;inset:0;z-index:2;max-width:none;margin:0;padding:0;}
body.pg-speaking .spk-room [data-photo-region]{
  position:absolute;z-index:3;box-sizing:border-box;margin:0;display:flex;flex-direction:column;justify-content:center;
}
body.pg-speaking .spk-room__tw{left:6%;top:6.5%;width:88%;height:40%;align-items:center;text-align:center;}
html.photo-ink body.pg-speaking .spk-room__tw{left:var(--pr-x,6%);top:var(--pr-y,6.5%);width:var(--pr-w,88%);height:var(--pr-h,40%);}
body.pg-speaking .spk-room__h{
  font-size:clamp(1.9rem,4.65vw,5.9rem);line-height:1.06;letter-spacing:-.03em;text-wrap:initial;text-align:center;max-width:100%;
}
body.pg-speaking .spk-room__n{
  display:inline-block;vertical-align:top;margin:.02em 0 .02em;
  font-size:2.7em;line-height:.92;letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
body.pg-speaking .spk-room__n .count{display:inline-block;animation:none!important;}
body.pg-speaking .spk-room .spk-lede{max-width:min(100%,max(41rem,56vw));margin:clamp(.7rem,1.4vw,1.3rem) auto 0;text-align:center;text-wrap:balance;font-size:clamp(1.02rem,.9rem + .45vw,1.4rem);}
/* the reading light: a word lights as it is read; unlit words stay readable on the photo */
body.pg-speaking .spk-scrub .w{transition:opacity .4s ease;}
body.pg-speaking .spk-scrub.is-armed .w{opacity:.55;}
body.pg-speaking .spk-scrub.is-armed .w.is-on{opacity:1;}

@media (max-width:640px){
  body.pg-speaking .spk-room{min-height:max(100vh,760px,210.5vw);min-height:max(100svh,760px,210.5vw);display:block;}
  body.pg-speaking .spk-room .sec-inner{position:relative;inset:auto;width:100%;padding:clamp(1.4rem,6.5vw,2.2rem) 18px 0;}
  html.photo-ink body.pg-speaking .spk-room .spk-room__tw[data-photo-region],
  body.pg-speaking .spk-room .spk-room__tw[data-photo-region]{
    position:static;left:auto;top:auto;width:auto;height:auto;display:block;
  }
  body.pg-speaking .spk-room__h{font-size:clamp(1.7rem,8.2vw,3.1rem);}
  body.pg-speaking .spk-room__g{text-wrap:balance;}
  body.pg-speaking .spk-room .spk-lede{font-size:clamp(.98rem,4.15vw,1.25rem);margin:.8rem auto 0;max-width:34ch;}
}

/* =====================================================================
   05 ACCESS GAP: the ring is the hero, one screen
   ===================================================================== */
body.pg-speaking .spk-gap{
  position:relative;display:flex;align-items:center;background:#0C1833;min-height:min(100vh,860px);min-height:min(100svh,860px);
}
body.pg-speaking .spk-gap .sec-inner{width:100%;padding-block:clamp(6.2rem,7.4vw,7.2rem) clamp(3.2rem,5vw,5rem);}
body.pg-speaking .gap{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;
  column-gap:clamp(2rem,4.5vw,4.5rem);row-gap:clamp(1.2rem,2.4vw,2rem);
}
body.pg-speaking .gap__side{grid-column:1;grid-row:1;display:grid;gap:1rem;align-content:center;min-width:0;}
body.pg-speaking .spk-gap__h{font-size:clamp(1.9rem,1.05rem + 2.2vw,2.9rem);}
body.pg-speaking .spk-gap__lede{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);}
body.pg-speaking .gap__chart{grid-column:2;grid-row:1;position:relative;width:min(640px,100%);aspect-ratio:1;justify-self:center;}
body.pg-speaking .gap__svg{position:relative;display:block;width:100%;height:100%;overflow:visible;}
body.pg-speaking .spk-gap{overflow:hidden;}
body.pg-speaking .gap__bloom{
  position:absolute;inset:-12%;pointer-events:none;
  background:radial-gradient(closest-side,rgb(226 58 70 / .22),rgb(226 58 70 / .07) 56%,rgb(226 58 70 / 0) 74%);
}
body.pg-speaking .gap__track{fill:none;stroke:rgb(255 255 255 / .06);stroke-width:34;}
body.pg-speaking .gap__arc{cursor:pointer;outline:none;--L:5.3;}
body.pg-speaking .gap__arc circle{
  fill:none;stroke-width:34;stroke-linecap:butt;stroke-dashoffset:0;
  transition:stroke-dashoffset var(--dur,.5s) cubic-bezier(.3,.7,.1,1) var(--dl,0s),stroke-width .35s var(--sp-ease),opacity .35s ease;
}
body.pg-speaking .gap__arc--un{--L:87.3;--dur:1.5s;--dl:.1s;}
body.pg-speaking .gap__arc--un circle{stroke:url(#gapGrad);}
body.pg-speaking .gap__arc--lvad{--dur:.45s;--dl:1.5s;}
body.pg-speaking .gap__arc--lvad circle{stroke:#F4F7FB;}
body.pg-speaking .gap__arc--tx{--dur:.45s;--dl:1.85s;}
body.pg-speaking .gap__arc--tx circle{stroke:#8FA3C8;}
/* armed (JS present, motion allowed, not drawn yet): the arcs wait undrawn */
html.spk-armed body.pg-speaking .gap:not(.is-drawn) .gap__arc circle{stroke-dashoffset:var(--L);transition:none;}
/* hover, focus or a tapped legend row: that arc grows, the others step back */
body.pg-speaking .gap.is-drawn .gap__arc.is-hot circle,
body.pg-speaking .gap.is-drawn .gap__arc.is-pulse circle{stroke-width:46;transition-delay:0s;}
body.pg-speaking .gap.is-hov .gap__arc:not(.is-hot) circle{opacity:.32;transition-delay:0s;}

body.pg-speaking .gap__center{position:absolute;inset:0;pointer-events:none;}
body.pg-speaking .gap__read{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;
  padding:0 21%;text-align:center;opacity:0;transform:scale(.95);
  transition:opacity .3s ease,transform .55s var(--sp-ease);
}
body.pg-speaking .gap__read.is-on{opacity:1;transform:none;}
body.pg-speaking .gap__big{
  display:flex;align-items:baseline;justify-content:center;font-family:var(--display);font-weight:800;
  font-size:clamp(5rem,2rem + 11vw,11.5rem);line-height:.88;letter-spacing:-.045em;color:var(--sp-light);
  font-variant-numeric:tabular-nums;
}
body.pg-speaking .gap__big i{font-style:normal;font-size:.5em;margin-left:.06em;color:var(--sp-coral);}
body.pg-speaking .gap__cap{
  font-family:var(--body);font-weight:600;font-size:clamp(.95rem,.88rem + .3vw,1.15rem);line-height:1.3;
  color:rgb(244 247 251 / .8);
}
/* the two small slices name themselves, just outside the ring (angles from the arc rotations) */
body.pg-speaking .gap__lab{
  position:absolute;z-index:2;white-space:nowrap;pointer-events:none;
  font-family:var(--body);font-weight:600;font-size:.88rem;line-height:1;color:rgb(244 247 251 / .86);
  transition:opacity .35s ease;
}
body.pg-speaking .gap__lab--lvad{left:26.4%;top:12.8%;transform:translate(-100%,-50%);}
body.pg-speaking .gap__lab--tx{left:41.7%;top:6.7%;transform:translate(0,-50%);}
html.spk-armed body.pg-speaking .gap:not(.is-drawn) .gap__lab{opacity:0;transition:none;}
body.pg-speaking .gap.is-drawn .gap__lab{transition-delay:1.9s;}
body.pg-speaking .gap.is-hov .gap__lab{opacity:.4;transition-delay:0s;}
body.pg-speaking .gap.is-hov .gap__lab.is-hot{opacity:1;}

body.pg-speaking .gap__total{
  margin:0;max-width:30ch;font-family:var(--body);font-weight:500;
  font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.45;color:rgb(244 247 251 / .84);
}
body.pg-speaking .gap__62{
  display:block;margin-bottom:.25rem;font-family:var(--display);font-weight:800;color:var(--sp-light);
  font-size:clamp(2.4rem,1.3rem + 2.6vw,3.5rem);line-height:.95;letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
body.pg-speaking .gap__key{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.55rem;max-width:30rem;}
body.pg-speaking .gap__key li{
  --c:#F4F7FB;
  display:flex;align-items:center;gap:.9rem;padding:.62rem 1.1rem;border-radius:var(--box-r,14px);
  font-family:var(--body);font-weight:500;font-size:1.06rem;color:rgb(244 247 251 / .88);
  background:none;box-shadow:none;transform:none;
  border:1px solid rgb(244 247 251 / .16);transition:border-color .2s ease;cursor:pointer;
}
body.pg-speaking .gap__key .gap__n{min-width:3.1ch;font-family:var(--display);font-weight:800;font-size:1.55rem;line-height:1;letter-spacing:-.02em;color:#fff;}
body.pg-speaking .gap__key .k{flex:none;width:14px;height:14px;border-radius:4px;}
body.pg-speaking .gap__key .k--un{background:linear-gradient(135deg,#E23A46,#FF6B75);}
body.pg-speaking .gap__key .k--lvad{background:#F4F7FB;}
body.pg-speaking .gap__key .k--tx{background:#8FA3C8;}
body.pg-speaking .gap__key li.is-hot{border-color:var(--c);}
body.pg-speaking .gap__key li:focus-visible{outline:none;border-color:var(--c);}
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .gap__key li:hover{border-color:var(--c);}
}
body.pg-speaking .gap__src{
  grid-column:1 / -1;grid-row:2;margin:0;max-width:70ch;font-family:var(--body);font-size:.82rem;line-height:1.6;
  color:rgb(244 247 251 / .7);
}

@media (max-width:900px){
  body.pg-speaking .spk-gap{min-height:0;}
  body.pg-speaking .gap{grid-template-columns:minmax(0,1fr);row-gap:1.4rem;}
  body.pg-speaking .gap__side{display:contents;}
  body.pg-speaking .gap__side>.spk-h2{grid-column:1;grid-row:1;}
  body.pg-speaking .gap__side>.spk-lede{grid-column:1;grid-row:2;text-wrap:balance;}
  body.pg-speaking .gap__side>.gap__total{grid-column:1;grid-row:3;}
  body.pg-speaking .gap__chart{grid-column:1;grid-row:4;width:min(420px,100%);margin-block:.6rem;}
  body.pg-speaking .gap__side>.gap__key{grid-column:1;grid-row:5;width:100%;max-width:none;}
  body.pg-speaking .gap__src{grid-row:6;}
  body.pg-speaking .gap__read{padding:0 19%;}
  body.pg-speaking .gap__key li{padding:.65rem .9rem;}
  body.pg-speaking .gap__key .gap__n{font-size:1.35rem;}
}

/* =====================================================================
   06 CONSULTING: the papercut plate and its six programs
   ===================================================================== */
body.pg-speaking .spk-con .sec-inner{padding-block:var(--sec-pad,clamp(4.5rem,8vw,7.5rem));}
@media (min-width:1500px){
  body.pg-speaking .spk-con .sec-inner{max-width:min(1480px,100% - 2 * var(--gutter));}
}
body.pg-speaking .spk-con__h{max-width:30ch;font-size:clamp(2.2rem,1.3rem + 3.1vw,3.9rem);}
body.pg-speaking .spk-con__l{display:block;}
body.pg-speaking .spk-con__grid{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,4vw,4rem);
  align-items:start;margin-top:clamp(2rem,4vw,3.2rem);
}
body.pg-speaking .spk-con .spk-lede{max-width:36ch;}
body.pg-speaking .pcs{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.6rem;}
body.pg-speaking .pc{
  padding:1.05rem 1.3rem;border-radius:var(--box-r,14px);background:transparent;box-shadow:none;
  border:1px solid var(--line-light,rgb(11 27 51 / .14));
}
body.pg-speaking .pc__t{
  margin:0 0 .3rem;font-family:var(--display);font-weight:800;font-size:clamp(1.25rem,1.1rem + .45vw,1.5rem);
  line-height:1.15;letter-spacing:-.018em;color:var(--sp-ink);
}
body.pg-speaking .pc__d{margin:0;font-family:var(--body);font-weight:400;font-size:1.02rem;line-height:1.5;color:var(--sp-ink-soft);}
/* inside the box: the talk title deepens to crimson (the box itself answers with its border only) */
body.pg-speaking .pc__t{transition:color .28s ease;}
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .pc:hover .pc__t{color:var(--sp-deep);}
}
body.pg-speaking .pc:focus-visible .pc__t{color:var(--sp-deep);}
body.pg-speaking .spk-art{
  position:sticky;top:110px;margin:0;width:100%;justify-self:end;aspect-ratio:1942 / 1750;
  background:#E8E1D2;border-radius:18px;box-shadow:none;outline:1px solid rgb(11 27 51 / .1);
}
body.pg-speaking .spk-art img{display:block;width:100%;height:100%;object-fit:contain;border-radius:18px;}
/* the part of the plate a row names, outlined (border only: no fill, no dimming) */
body.pg-speaking .spk-hot{
  position:absolute;left:var(--l);top:var(--t);width:var(--w);height:var(--h);
  border-radius:10px;outline:2px solid transparent;outline-offset:3px;pointer-events:none;
  transition:outline-color 220ms ease;
}
body.pg-speaking .spk-art[data-hot="lvad"] .spk-hot[data-for="lvad"],
body.pg-speaking .spk-art[data-hot="ecmo"] .spk-hot[data-for="ecmo"],
body.pg-speaking .spk-art[data-hot="amy"] .spk-hot[data-for="amy"],
body.pg-speaking .spk-art[data-hot="heart"] .spk-hot[data-for="heart"],
body.pg-speaking .spk-art[data-hot="team"] .spk-hot[data-for="team"]{outline-color:var(--sp-coral);}

@media (max-width:860px){
  body.pg-speaking .spk-con__grid{display:flex;flex-direction:column;gap:1.6rem;}
  body.pg-speaking .spk-con__list{display:contents;}
  body.pg-speaking .spk-con__list>.spk-lede{order:1;}
  body.pg-speaking .spk-art{order:2;position:relative;top:auto;}
  body.pg-speaking .pcs{order:3;margin-top:.2rem;gap:.55rem;}
  body.pg-speaking .pc{padding:.95rem 1.05rem;}
  body.pg-speaking .pc__t{font-size:1.2rem;}
  body.pg-speaking .pc__d{font-size:.98rem;}
  body.pg-speaking .spk-hot{display:none;}
}

/* =====================================================================
   07 CLOSE: stage photo, copy beside him
   ===================================================================== */
body.pg-speaking .spk-close{
  position:relative;overflow:hidden;display:flex;align-items:center;
  min-height:clamp(640px,88vh,840px);background:#0C1833;
}
@media (min-width:1500px){body.pg-speaking .spk-close{--photo-pos:50% 36%;}}
body.pg-speaking .spk-close .sec-inner{width:100%;display:flex;justify-content:flex-end;padding-block:clamp(4rem,8vw,7rem);}
body.pg-speaking .spk-close__copy{width:min(470px,38%);}
body.pg-speaking .spk-close__h{font-size:clamp(2rem,1rem + 2.6vw,3.5rem);margin-bottom:1.3rem;}
body.pg-speaking .spk-close__copy .spk-lede{margin-bottom:2.1rem;max-width:36ch;font-weight:500;}
body.pg-speaking .spk-close__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem;margin:0;}
@media (max-width:900px),(max-aspect-ratio:1/1){
  body.pg-speaking .spk-close{display:block;min-height:0;}
  body.pg-speaking .spk-close .sec-inner{justify-content:flex-start;padding-block:2rem 3.2rem;}
  body.pg-speaking .spk-close__copy{width:100%;}
}

/* ---------- reduced motion: finished states, nothing travels ---------- */
@media (prefers-reduced-motion:reduce){
  body.pg-speaking .gap__lab{transition:none;}
  html body.pg-speaking [data-spk-in]{opacity:1;transform:none;transition:none;}
  body.pg-speaking .dl__go{transition:none;}
  body.pg-speaking .pc__t{transition:none;}
}

/* S3-SPEAKING:BEGIN */
/* ---------------------------------------------------------------
   S3 HEADING SCALE (speaking, every section except #room, which the room builder owns). Dev: "increase the size of
   the headings everywhere to fit comfortably and so that its easily readible, not like we are rationing the space".
   Section h2 about 72px at 1200 (38px at 390), card and item titles about 30px, the hero h1 about 88px (44px at 390),
   display line height 1.02. The R9 text order, photos and crops stay; only sizes and the widths that let the larger
   words fit change. Every rule is scoped to body.pg-speaking.
   --------------------------------------------------------------- */
body.pg-speaking{
  --s3-h2:clamp(2.4rem,6vw,5.75rem);
  --s3-h3:clamp(1.5rem,2.5vw,2.1rem);
}

/* 01 hero: the type is sized from his face. On landscape the face edge sits at 0.56 of the screen width; on
   narrower screens the frame is cropped sideways and the edge sits at 0.64 w minus 0.12 h. The widest line is about
   6.1em and the last line (with its period) 6.8em, so the copy box is 7.1em wide: the line clip of the title reveal cuts at the box edge. */
body.pg-speaking .spk-hero{
  --s3-hfs:clamp(2.7rem,calc((min(56vw,64vw - 12vh) - 92px) / 6.6),7.4rem);
  --photo-copy-w:calc(var(--s3-hfs) * 7.1);
}
body.pg-speaking .spk-hero__title{font-size:var(--s3-hfs);}
@media (max-width:900px),(max-aspect-ratio:1/1){
  /* the copy is anchored to the foot and the photo is scaled by its width, so on a tablet a taller title would climb
     onto his white collar: 60px is the most that keeps it on the dark jacket at 768 wide */
  body.pg-speaking .spk-hero__title{font-size:clamp(2.6rem,11.4vw,3.75rem);}
}

/* 02 the talks: the heading runs the full measure (two lines on desktop); the list titles grow with it */
body.pg-speaking .spk-topics__h{max-width:none;font-size:var(--s3-h2);margin-bottom:clamp(1.8rem,3.2vw,2.8rem);}
body.pg-speaking .dl__t{font-size:clamp(1.1rem,.1rem + 1.7vw,1.45rem);line-height:1.2;}
@media (min-width:901px) and (max-width:1100px){
  body.pg-speaking .deck.is-3d{grid-template-columns:minmax(0,1fr) clamp(360px,37%,420px);}
}
@media (max-width:900px){
  body.pg-speaking .dl__t{font-size:clamp(1.15rem,4.7vw,1.5rem);}
}

/* 03 engagements: the heading block grows, the chip script reads its rectangle and keeps every chip and card clear */
@media (min-width:1000px){
  body.pg-speaking .spk-eng .eng__copy{max-width:min(calc(var(--s3-h2) * 7.3),100%);}
}
body.pg-speaking .spk-eng .eng__copy .spk-h2{max-width:none;font-size:var(--s3-h2);}
body.pg-speaking .spk-eng .eng-talk__t{font-size:clamp(1.12rem,1rem + .3vw,1.3rem);}
body.pg-speaking .spk-eng .eng-place__h{font-size:clamp(1.5rem,2.2vw,1.85rem);}
@media (max-width:999px){
  body.pg-speaking .spk-eng.is-ready .eng-chip{font-size:clamp(1.2rem,1.05rem + .5vw,1.4rem);}
}

/* 05 access gap: the heading takes the full row (three lines), the figures and the ring sit under it */
body.pg-speaking .spk-gap__h{font-size:var(--s3-h2);}
@media (min-width:901px){
  body.pg-speaking .gap{row-gap:1rem;grid-template-rows:auto 1fr auto auto auto 1fr auto;}
  body.pg-speaking .gap__side{display:contents;}
  body.pg-speaking .gap__side>.spk-h2{grid-column:1 / -1;grid-row:1;max-width:none;margin-bottom:clamp(.8rem,2vw,1.8rem);}
  body.pg-speaking .gap__side>.spk-lede{grid-column:1;grid-row:3;}
  body.pg-speaking .gap__side>.gap__total{grid-column:1;grid-row:4;}
  body.pg-speaking .gap__side>.gap__key{grid-column:1;grid-row:5;width:100%;}
  body.pg-speaking .gap__chart{grid-row:2 / span 5;align-self:center;width:min(560px,100%);}
  body.pg-speaking .gap__src{grid-row:7;}
}

/* 06 consulting: the heading holds its measure at 72px, the six program titles grow */
body.pg-speaking .spk-con__h{max-width:none;font-size:var(--s3-h2);}
body.pg-speaking .pc__t{font-size:var(--s3-h3);line-height:1.1;}

/* 07 close: the copy column widens with the type and still starts right of his jacket */
body.pg-speaking .spk-close__h{font-size:var(--s3-h2);line-height:1.02;}
@media (min-width:901px) and (min-aspect-ratio:1/1){
  body.pg-speaking .spk-close__copy{width:min(calc(var(--s3-h2) * 6.75),52%);}
}
/* wide screens: the copy hangs from the page gutter (not the 1400px column) so it stays right of his jacket */
@media (min-width:1401px) and (min-aspect-ratio:1/1){
  body.pg-speaking .spk-close .sec-inner{max-width:none;margin-inline:0;}
}
/* S3-SPEAKING:END */

/* R5-ROOM:BEGIN */
/* ---------------------------------------------------------------
   R5 THE ROOM (Dev: "change the text colour to have that red gradient and shine and crop the picture accordingly so
   as to have the heading in the middle and directly below that, the content of the smaller text").
   The crop (bg4/speaking-room-c, KGP26-52) keeps the whole projection screen: the block sits centred on the screen
   above his head, he stands below it to the right with his hands open toward the words. Ink is read from the real
   pixels: the screen is a light mid grey, so the sentence takes the deep end of the crimson family, one gradient across
   all three lines, and the paragraph takes navy. No scrim, no glow, no box, no band behind the text. The heading shine
   (motion-kit, one light sweep on arrival) runs over the whole sentence.
   --------------------------------------------------------------- */
body.pg-speaking .spk-room__g{
  display:inline-block;max-width:100%;
  background-image:linear-gradient(100deg,#6B0F14 0%,#8A1522 26%,#9C1B27 50%,#8A1522 74%,#6B0F14 100%);
  background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;
  color:#8A1522;-webkit-text-fill-color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  text-shadow:none!important;filter:none!important;
}
/* the heading shine carries the site crimson, not the pale coral it uses on navy: on the screen it reads as light
   passing over deep red, never as a pink wash */
body.pg-speaking .spk-room__h{--mkx-glow:#E23A46;}
/* before the photo is decoded (the ground is still navy) and whenever the runtime reads this block as sitting on a dark
   ground, the bright end of the family: crimson into coral, never deep crimson on navy */
html.photo-ink body.pg-speaking .spk-room:not(.ph-ready) .spk-room__g,
body.pg-speaking .spk-room__h[data-ink="light"] .spk-room__g{
  background-image:linear-gradient(100deg,#E23A46 0%,#FF6B75 40%,#FF8F6B 66%,#FF6B75 84%,#E23A46 100%);
}
/* portrait tablets (641 to 900 wide): the desktop crop, cut to the slice around him, has the room for larger type */
@media (min-width:641px) and (max-width:900px) and (max-aspect-ratio:1/1){
  body.pg-speaking .spk-room__h{font-size:clamp(2rem,6.2vw,3.5rem);}
}
/* the reading light: the unlit words stay clearly readable on the screen (navy at 86 percent clears 4.5 to 1) */
body.pg-speaking .spk-room .spk-scrub.is-armed .w{opacity:.86;}
body.pg-speaking .spk-room .spk-scrub.is-armed .w.is-on{opacity:1;}
@media (prefers-reduced-motion:reduce){
  body.pg-speaking .spk-room .spk-scrub .w,body.pg-speaking .spk-room .spk-scrub.is-armed .w{opacity:1;transition:none;}
}
/* R5-ROOM:END */
/* ALT-GROUNDS:BEGIN */
/* ---------------------------------------------------------------
   Dev 2026-10-07: "make alternating sections light and dark so that the paper cut design is smooth". #speakTopics turns
   LIGHT (sec-paper k4-sec--light): navy heading with the deep crimson ramp on its accent (kit), the eight slides stay NAVY
   sheets (each face carries on-dark and its own navy fill, so the paper engine tears it as navy paper with a white rim on the
   light ground), the numbered list turns into white paper slips with navy ink (the current talk keeps the crimson rim), the
   Previous and Next buttons take the kit's light variant by themselves, and Pause is deep crimson. Never coral on light.
   --------------------------------------------------------------- */
body.pg-speaking .spk-topics{background:#F4F7FB;color:var(--sp-ink);}
body.pg-speaking .spk-topics .spk-topics__h{color:var(--sp-ink);}
body.pg-speaking .spk-topics .dl{color:rgb(11 27 51 / .78);}
body.pg-speaking .spk-topics .dl__n{color:rgb(11 27 51 / .55);}
body.pg-speaking .spk-topics .dl[aria-current="true"]{color:var(--sp-ink);}
body.pg-speaking .spk-topics .dl[aria-current="true"] .dl__n,
body.pg-speaking .spk-topics .dl__go{color:#C9303D;}
body.pg-speaking .spk-topics .deck__play{color:#A5202A;}
/* ALT-GROUNDS:END */
/* PASS1-SPEAKING:BEGIN */
/* ---------------------------------------------------------------
   100x pass 1. Lists are ONE torn sheet each, not a stack of slips: eight white slips (or three navy ones) rim to rim
   read as one jittery scribble, one sheet reads calm, like the kit's sources card. The talk list is a white agenda
   sheet on the light ground, the 88 percent legend a navy sheet; the paper engine tears the list (data-paper="on"),
   the rows are lines on it (data-paper="off"), divided by a torn fibre line (a seamless 560px tear tile used as a mask,
   shifted per row so no two tears match). The current talk: crimson number, full ink title, the arrow in, a short crimson
   torn tab at the sheet's edge. A legend row answers hover, focus and tap in its own arc colour (its swatch grows, its
   figure takes the colour). Cards that hold a title and a sentence (the six programs) stay separate slips, with a gap
   wide enough that their tears never touch. The map's dropdown cards (desktop) and the accordion cards (phones) are
   torn navy paper (pg-speaking.js module 6 draws it into --spk-torn); the chips stay crisp controls.
   --------------------------------------------------------------- */
body.pg-speaking .deck__list{gap:0;padding:.35rem clamp(.9rem,1.4vw,1.25rem);}
body.pg-speaking .gap__key{gap:0;padding:.3rem 1.1rem;}
body.pg-speaking :is(.deck__list,.gap__key) > li{position:relative;}
body.pg-speaking :is(.deck__list,.gap__key) > li + li::before{
  content:'';position:absolute;left:0;right:0;top:-3.5px;height:7px;pointer-events:none;background:rgb(11 27 51 / .16);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='7' viewBox='0 0 560 7'%3E%3Cpath d='M0 3.3 L4 3.3 L8 3.6 L12 3.3 L16 3.1 L20 3.3 L24 3.5 L28 3.5 L32 3.5 L36 3.4 L40 3.1 L44 3.0 L48 2.9 L52 2.7 L56 2.7 L60 2.3 L64 2.4 L68 2.6 L72 2.5 L76 2.8 L80 2.8 L84 2.4 L88 2.2 L92 2.4 L96 2.3 L100 2.3 L104 2.7 L108 2.4 L112 2.2 L116 2.6 L120 2.6 L124 2.8 L128 3.0 L132 3.0 L136 2.8 L140 2.7 L144 2.6 L148 2.5 L152 2.3 L156 1.9 L160 1.8 L164 1.9 L168 1.8 L172 2.4 L176 2.6 L180 2.2 L184 2.3 L188 2.4 L192 2.4 L196 2.7 L200 3.1 L204 3.0 L208 2.9 L212 3.2 L216 3.2 L220 3.5 L224 3.9 L228 3.9 L232 4.0 L236 4.0 L240 3.9 L244 4.0 L248 3.8 L252 3.4 L256 3.3 L260 3.2 L264 3.1 L268 3.5 L272 3.7 L276 3.3 L280 3.4 L284 3.4 L288 3.0 L292 3.3 L296 3.4 L300 3.1 L304 2.9 L308 2.8 L312 2.7 L316 2.6 L320 2.9 L324 2.8 L328 2.9 L332 3.0 L336 2.9 L340 3.2 L344 3.0 L348 2.8 L352 2.7 L356 2.3 L360 2.2 L364 2.6 L368 2.7 L372 2.5 L376 2.5 L380 2.5 L384 2.0 L388 2.3 L392 2.4 L396 2.1 L400 2.1 L404 1.8 L408 1.7 L412 1.7 L416 1.9 L420 2.1 L424 2.2 L428 2.4 L432 2.7 L436 3.1 L440 3.3 L444 3.2 L448 3.4 L452 3.0 L456 2.9 L460 3.3 L464 3.3 L468 3.3 L472 3.4 L476 3.2 L480 2.9 L484 3.1 L488 3.3 L492 3.1 L496 3.1 L500 2.9 L504 2.6 L508 2.7 L512 2.6 L516 2.7 L520 2.8 L524 2.7 L528 3.1 L532 3.4 L536 3.6 L540 3.7 L544 3.8 L548 3.4 L552 3.1 L556 3.5 L560 3.3 L560 5.0 L556 4.9 L552 4.9 L548 5.0 L544 5.1 L540 4.8 L536 4.8 L532 4.6 L528 4.1 L524 4.3 L520 4.5 L516 4.2 L512 4.3 L508 4.2 L504 4.0 L500 4.2 L496 4.7 L492 4.8 L488 4.7 L484 4.8 L480 4.3 L476 4.2 L472 4.2 L468 4.0 L464 4.1 L460 3.8 L456 3.8 L452 4.0 L448 4.0 L444 4.0 L440 4.1 L436 3.9 L432 3.4 L428 3.6 L424 3.7 L420 3.3 L416 3.5 L412 3.3 L408 2.8 L404 3.0 L400 3.3 L396 3.4 L392 3.6 L388 3.7 L384 3.6 L380 3.5 L376 3.7 L372 3.6 L368 3.8 L364 3.8 L360 3.8 L356 4.2 L352 4.3 L348 4.6 L344 4.9 L340 4.7 L336 4.5 L332 4.7 L328 4.7 L324 4.5 L320 4.6 L316 4.4 L312 3.7 L308 3.7 L304 3.8 L300 3.8 L296 4.2 L292 4.3 L288 4.2 L284 4.2 L280 4.3 L276 4.4 L272 4.4 L268 4.4 L264 4.3 L260 4.5 L256 4.6 L252 4.7 L248 5.2 L244 4.9 L240 4.8 L236 5.0 L232 4.9 L228 4.9 L224 5.0 L220 4.7 L216 4.2 L212 4.0 L208 4.0 L204 3.8 L200 4.2 L196 4.2 L192 4.1 L188 4.2 L184 4.1 L180 4.2 L176 4.1 L172 3.8 L168 3.7 L164 3.6 L160 3.5 L156 3.6 L152 4.0 L148 3.8 L144 3.6 L140 3.9 L136 3.8 L132 3.9 L128 4.4 L124 4.2 L120 3.9 L116 3.7 L112 3.6 L108 3.5 L104 3.6 L100 3.8 L96 3.6 L92 3.7 L88 3.6 L84 3.7 L80 3.8 L76 3.4 L72 3.4 L68 3.3 L64 3.0 L60 3.3 L56 3.6 L52 3.5 L48 3.6 L44 3.9 L40 3.9 L36 4.2 L32 5.0 L28 5.0 L24 5.0 L20 5.1 L16 4.8 L12 4.8 L8 4.9 L4 5.0 L0 5.0Z'/%3E%3C/svg%3E") 0 0 / 560px 7px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='7' viewBox='0 0 560 7'%3E%3Cpath d='M0 3.3 L4 3.3 L8 3.6 L12 3.3 L16 3.1 L20 3.3 L24 3.5 L28 3.5 L32 3.5 L36 3.4 L40 3.1 L44 3.0 L48 2.9 L52 2.7 L56 2.7 L60 2.3 L64 2.4 L68 2.6 L72 2.5 L76 2.8 L80 2.8 L84 2.4 L88 2.2 L92 2.4 L96 2.3 L100 2.3 L104 2.7 L108 2.4 L112 2.2 L116 2.6 L120 2.6 L124 2.8 L128 3.0 L132 3.0 L136 2.8 L140 2.7 L144 2.6 L148 2.5 L152 2.3 L156 1.9 L160 1.8 L164 1.9 L168 1.8 L172 2.4 L176 2.6 L180 2.2 L184 2.3 L188 2.4 L192 2.4 L196 2.7 L200 3.1 L204 3.0 L208 2.9 L212 3.2 L216 3.2 L220 3.5 L224 3.9 L228 3.9 L232 4.0 L236 4.0 L240 3.9 L244 4.0 L248 3.8 L252 3.4 L256 3.3 L260 3.2 L264 3.1 L268 3.5 L272 3.7 L276 3.3 L280 3.4 L284 3.4 L288 3.0 L292 3.3 L296 3.4 L300 3.1 L304 2.9 L308 2.8 L312 2.7 L316 2.6 L320 2.9 L324 2.8 L328 2.9 L332 3.0 L336 2.9 L340 3.2 L344 3.0 L348 2.8 L352 2.7 L356 2.3 L360 2.2 L364 2.6 L368 2.7 L372 2.5 L376 2.5 L380 2.5 L384 2.0 L388 2.3 L392 2.4 L396 2.1 L400 2.1 L404 1.8 L408 1.7 L412 1.7 L416 1.9 L420 2.1 L424 2.2 L428 2.4 L432 2.7 L436 3.1 L440 3.3 L444 3.2 L448 3.4 L452 3.0 L456 2.9 L460 3.3 L464 3.3 L468 3.3 L472 3.4 L476 3.2 L480 2.9 L484 3.1 L488 3.3 L492 3.1 L496 3.1 L500 2.9 L504 2.6 L508 2.7 L512 2.6 L516 2.7 L520 2.8 L524 2.7 L528 3.1 L532 3.4 L536 3.6 L540 3.7 L544 3.8 L548 3.4 L552 3.1 L556 3.5 L560 3.3 L560 5.0 L556 4.9 L552 4.9 L548 5.0 L544 5.1 L540 4.8 L536 4.8 L532 4.6 L528 4.1 L524 4.3 L520 4.5 L516 4.2 L512 4.3 L508 4.2 L504 4.0 L500 4.2 L496 4.7 L492 4.8 L488 4.7 L484 4.8 L480 4.3 L476 4.2 L472 4.2 L468 4.0 L464 4.1 L460 3.8 L456 3.8 L452 4.0 L448 4.0 L444 4.0 L440 4.1 L436 3.9 L432 3.4 L428 3.6 L424 3.7 L420 3.3 L416 3.5 L412 3.3 L408 2.8 L404 3.0 L400 3.3 L396 3.4 L392 3.6 L388 3.7 L384 3.6 L380 3.5 L376 3.7 L372 3.6 L368 3.8 L364 3.8 L360 3.8 L356 4.2 L352 4.3 L348 4.6 L344 4.9 L340 4.7 L336 4.5 L332 4.7 L328 4.7 L324 4.5 L320 4.6 L316 4.4 L312 3.7 L308 3.7 L304 3.8 L300 3.8 L296 4.2 L292 4.3 L288 4.2 L284 4.2 L280 4.3 L276 4.4 L272 4.4 L268 4.4 L264 4.3 L260 4.5 L256 4.6 L252 4.7 L248 5.2 L244 4.9 L240 4.8 L236 5.0 L232 4.9 L228 4.9 L224 5.0 L220 4.7 L216 4.2 L212 4.0 L208 4.0 L204 3.8 L200 4.2 L196 4.2 L192 4.1 L188 4.2 L184 4.1 L180 4.2 L176 4.1 L172 3.8 L168 3.7 L164 3.6 L160 3.5 L156 3.6 L152 4.0 L148 3.8 L144 3.6 L140 3.9 L136 3.8 L132 3.9 L128 4.4 L124 4.2 L120 3.9 L116 3.7 L112 3.6 L108 3.5 L104 3.6 L100 3.8 L96 3.6 L92 3.7 L88 3.6 L84 3.7 L80 3.8 L76 3.4 L72 3.4 L68 3.3 L64 3.0 L60 3.3 L56 3.6 L52 3.5 L48 3.6 L44 3.9 L40 3.9 L36 4.2 L32 5.0 L28 5.0 L24 5.0 L20 5.1 L16 4.8 L12 4.8 L8 4.9 L4 5.0 L0 5.0Z'/%3E%3C/svg%3E") 0 0 / 560px 7px repeat-x;
}
body.pg-speaking .gap__key > li + li::before{background:rgb(244 247 251 / .22);}
body.pg-speaking :is(.deck__list,.gap__key) > li:nth-child(3n)::before{-webkit-mask-position:-190px 0;mask-position:-190px 0;}
body.pg-speaking :is(.deck__list,.gap__key) > li:nth-child(3n+1)::before{-webkit-mask-position:-371px 0;mask-position:-371px 0;}
/* the talk rows: lines on the agenda sheet */
body.pg-speaking .dl{position:relative;padding:.72rem .2rem .72rem .1rem;border:0;border-radius:0;background:none;}
body.pg-speaking .dl__t{transition:color .3s ease,translate .45s var(--sp-ease);}
body.pg-speaking .spk-topics .dl[aria-current="true"] .dl__t{color:var(--sp-ink);}
body.pg-speaking .spk-topics .dl[aria-current="true"]{font-weight:inherit;}
body.pg-speaking .deck__list{position:relative;}
body.pg-speaking .deck__list::after{
  content:'';position:absolute;left:-3px;top:0;width:6px;height:var(--tab-h,0px);transform:translateY(var(--tab-y,0px));background:#C9303D;pointer-events:none;
  clip-path:polygon(0 0,100% 6%,82% 28%,100% 47%,76% 71%,100% 92%,0 100%);
  transition:transform .6s var(--sp-ease),height .6s var(--sp-ease);
}
@media (hover:hover) and (pointer:fine){
  body.pg-speaking .dl:hover .dl__t{translate:4px 0;color:var(--sp-ink);}
  body.pg-speaking .dl:hover .dl__n{color:#C9303D;}
}
body.pg-speaking .dl:focus-visible{outline:2px solid #9C1B27;outline-offset:2px;border-radius:6px;}
body.pg-speaking .dl:focus-visible .dl__t{translate:4px 0;}
/* the legend rows: lines on the navy sheet, answering in their own arc colour */
body.pg-speaking .gap__key li{padding:.8rem .1rem;border:0;border-radius:0;background:none;transition:color .25s ease;}
body.pg-speaking .gap__key .k{transition:transform .35s var(--sp-ease);}
body.pg-speaking .gap__key .gap__n{transition:color .25s ease;}
body.pg-speaking .gap__key li:is(.is-hot,:focus-visible){color:#fff;}
body.pg-speaking .gap__key li:is(.is-hot,:focus-visible) .k{transform:scale(1.4);}
body.pg-speaking .gap__key li:is(.is-hot,:focus-visible) .gap__n{color:var(--c);}
body.pg-speaking .gap__key li:focus-visible{outline:2px solid #FF6B75;outline-offset:2px;border-radius:6px;}
/* the six programs: separate slips, far enough apart that their tears never touch */
body.pg-speaking .pcs{gap:1.5rem;}
@media (max-width:860px){body.pg-speaking .pcs{gap:1.3rem;}}
/* the map's cards as torn navy paper */
body.pg-speaking .spk-eng.is-ready .spk-torn{background:transparent;border-color:transparent;box-shadow:none;border-radius:0;isolation:isolate;}
body.pg-speaking .spk-eng.is-ready .spk-torn::before{
  content:'';position:absolute;inset:-16px;z-index:-1;pointer-events:none;
  background:var(--spk-torn) 0 0 / 100% 100% no-repeat;
}
/* phones: the accordion is one torn navy sheet inside the gutters, the places are lines on it with torn fibre dividers;
   the open place keeps its turned chevron and its name lights coral */
@media (max-width:999px){
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn{position:relative;gap:0;width:auto;max-width:min(44rem,calc(100% - 2 * var(--gutter)));margin:1.6rem auto clamp(3.6rem,12vw,5.5rem);padding:.3rem .2rem;}
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-place{overflow:visible;background:none;border:0;border-radius:0;}
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-place + .eng-place::before{
    content:'';position:absolute;left:1rem;right:1rem;top:-3.5px;height:7px;pointer-events:none;background:rgb(244 247 251 / .22);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='7' viewBox='0 0 560 7'%3E%3Cpath d='M0 3.3 L4 3.3 L8 3.6 L12 3.3 L16 3.1 L20 3.3 L24 3.5 L28 3.5 L32 3.5 L36 3.4 L40 3.1 L44 3.0 L48 2.9 L52 2.7 L56 2.7 L60 2.3 L64 2.4 L68 2.6 L72 2.5 L76 2.8 L80 2.8 L84 2.4 L88 2.2 L92 2.4 L96 2.3 L100 2.3 L104 2.7 L108 2.4 L112 2.2 L116 2.6 L120 2.6 L124 2.8 L128 3.0 L132 3.0 L136 2.8 L140 2.7 L144 2.6 L148 2.5 L152 2.3 L156 1.9 L160 1.8 L164 1.9 L168 1.8 L172 2.4 L176 2.6 L180 2.2 L184 2.3 L188 2.4 L192 2.4 L196 2.7 L200 3.1 L204 3.0 L208 2.9 L212 3.2 L216 3.2 L220 3.5 L224 3.9 L228 3.9 L232 4.0 L236 4.0 L240 3.9 L244 4.0 L248 3.8 L252 3.4 L256 3.3 L260 3.2 L264 3.1 L268 3.5 L272 3.7 L276 3.3 L280 3.4 L284 3.4 L288 3.0 L292 3.3 L296 3.4 L300 3.1 L304 2.9 L308 2.8 L312 2.7 L316 2.6 L320 2.9 L324 2.8 L328 2.9 L332 3.0 L336 2.9 L340 3.2 L344 3.0 L348 2.8 L352 2.7 L356 2.3 L360 2.2 L364 2.6 L368 2.7 L372 2.5 L376 2.5 L380 2.5 L384 2.0 L388 2.3 L392 2.4 L396 2.1 L400 2.1 L404 1.8 L408 1.7 L412 1.7 L416 1.9 L420 2.1 L424 2.2 L428 2.4 L432 2.7 L436 3.1 L440 3.3 L444 3.2 L448 3.4 L452 3.0 L456 2.9 L460 3.3 L464 3.3 L468 3.3 L472 3.4 L476 3.2 L480 2.9 L484 3.1 L488 3.3 L492 3.1 L496 3.1 L500 2.9 L504 2.6 L508 2.7 L512 2.6 L516 2.7 L520 2.8 L524 2.7 L528 3.1 L532 3.4 L536 3.6 L540 3.7 L544 3.8 L548 3.4 L552 3.1 L556 3.5 L560 3.3 L560 5.0 L556 4.9 L552 4.9 L548 5.0 L544 5.1 L540 4.8 L536 4.8 L532 4.6 L528 4.1 L524 4.3 L520 4.5 L516 4.2 L512 4.3 L508 4.2 L504 4.0 L500 4.2 L496 4.7 L492 4.8 L488 4.7 L484 4.8 L480 4.3 L476 4.2 L472 4.2 L468 4.0 L464 4.1 L460 3.8 L456 3.8 L452 4.0 L448 4.0 L444 4.0 L440 4.1 L436 3.9 L432 3.4 L428 3.6 L424 3.7 L420 3.3 L416 3.5 L412 3.3 L408 2.8 L404 3.0 L400 3.3 L396 3.4 L392 3.6 L388 3.7 L384 3.6 L380 3.5 L376 3.7 L372 3.6 L368 3.8 L364 3.8 L360 3.8 L356 4.2 L352 4.3 L348 4.6 L344 4.9 L340 4.7 L336 4.5 L332 4.7 L328 4.7 L324 4.5 L320 4.6 L316 4.4 L312 3.7 L308 3.7 L304 3.8 L300 3.8 L296 4.2 L292 4.3 L288 4.2 L284 4.2 L280 4.3 L276 4.4 L272 4.4 L268 4.4 L264 4.3 L260 4.5 L256 4.6 L252 4.7 L248 5.2 L244 4.9 L240 4.8 L236 5.0 L232 4.9 L228 4.9 L224 5.0 L220 4.7 L216 4.2 L212 4.0 L208 4.0 L204 3.8 L200 4.2 L196 4.2 L192 4.1 L188 4.2 L184 4.1 L180 4.2 L176 4.1 L172 3.8 L168 3.7 L164 3.6 L160 3.5 L156 3.6 L152 4.0 L148 3.8 L144 3.6 L140 3.9 L136 3.8 L132 3.9 L128 4.4 L124 4.2 L120 3.9 L116 3.7 L112 3.6 L108 3.5 L104 3.6 L100 3.8 L96 3.6 L92 3.7 L88 3.6 L84 3.7 L80 3.8 L76 3.4 L72 3.4 L68 3.3 L64 3.0 L60 3.3 L56 3.6 L52 3.5 L48 3.6 L44 3.9 L40 3.9 L36 4.2 L32 5.0 L28 5.0 L24 5.0 L20 5.1 L16 4.8 L12 4.8 L8 4.9 L4 5.0 L0 5.0Z'/%3E%3C/svg%3E") 0 0 / 560px 7px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='7' viewBox='0 0 560 7'%3E%3Cpath d='M0 3.3 L4 3.3 L8 3.6 L12 3.3 L16 3.1 L20 3.3 L24 3.5 L28 3.5 L32 3.5 L36 3.4 L40 3.1 L44 3.0 L48 2.9 L52 2.7 L56 2.7 L60 2.3 L64 2.4 L68 2.6 L72 2.5 L76 2.8 L80 2.8 L84 2.4 L88 2.2 L92 2.4 L96 2.3 L100 2.3 L104 2.7 L108 2.4 L112 2.2 L116 2.6 L120 2.6 L124 2.8 L128 3.0 L132 3.0 L136 2.8 L140 2.7 L144 2.6 L148 2.5 L152 2.3 L156 1.9 L160 1.8 L164 1.9 L168 1.8 L172 2.4 L176 2.6 L180 2.2 L184 2.3 L188 2.4 L192 2.4 L196 2.7 L200 3.1 L204 3.0 L208 2.9 L212 3.2 L216 3.2 L220 3.5 L224 3.9 L228 3.9 L232 4.0 L236 4.0 L240 3.9 L244 4.0 L248 3.8 L252 3.4 L256 3.3 L260 3.2 L264 3.1 L268 3.5 L272 3.7 L276 3.3 L280 3.4 L284 3.4 L288 3.0 L292 3.3 L296 3.4 L300 3.1 L304 2.9 L308 2.8 L312 2.7 L316 2.6 L320 2.9 L324 2.8 L328 2.9 L332 3.0 L336 2.9 L340 3.2 L344 3.0 L348 2.8 L352 2.7 L356 2.3 L360 2.2 L364 2.6 L368 2.7 L372 2.5 L376 2.5 L380 2.5 L384 2.0 L388 2.3 L392 2.4 L396 2.1 L400 2.1 L404 1.8 L408 1.7 L412 1.7 L416 1.9 L420 2.1 L424 2.2 L428 2.4 L432 2.7 L436 3.1 L440 3.3 L444 3.2 L448 3.4 L452 3.0 L456 2.9 L460 3.3 L464 3.3 L468 3.3 L472 3.4 L476 3.2 L480 2.9 L484 3.1 L488 3.3 L492 3.1 L496 3.1 L500 2.9 L504 2.6 L508 2.7 L512 2.6 L516 2.7 L520 2.8 L524 2.7 L528 3.1 L532 3.4 L536 3.6 L540 3.7 L544 3.8 L548 3.4 L552 3.1 L556 3.5 L560 3.3 L560 5.0 L556 4.9 L552 4.9 L548 5.0 L544 5.1 L540 4.8 L536 4.8 L532 4.6 L528 4.1 L524 4.3 L520 4.5 L516 4.2 L512 4.3 L508 4.2 L504 4.0 L500 4.2 L496 4.7 L492 4.8 L488 4.7 L484 4.8 L480 4.3 L476 4.2 L472 4.2 L468 4.0 L464 4.1 L460 3.8 L456 3.8 L452 4.0 L448 4.0 L444 4.0 L440 4.1 L436 3.9 L432 3.4 L428 3.6 L424 3.7 L420 3.3 L416 3.5 L412 3.3 L408 2.8 L404 3.0 L400 3.3 L396 3.4 L392 3.6 L388 3.7 L384 3.6 L380 3.5 L376 3.7 L372 3.6 L368 3.8 L364 3.8 L360 3.8 L356 4.2 L352 4.3 L348 4.6 L344 4.9 L340 4.7 L336 4.5 L332 4.7 L328 4.7 L324 4.5 L320 4.6 L316 4.4 L312 3.7 L308 3.7 L304 3.8 L300 3.8 L296 4.2 L292 4.3 L288 4.2 L284 4.2 L280 4.3 L276 4.4 L272 4.4 L268 4.4 L264 4.3 L260 4.5 L256 4.6 L252 4.7 L248 5.2 L244 4.9 L240 4.8 L236 5.0 L232 4.9 L228 4.9 L224 5.0 L220 4.7 L216 4.2 L212 4.0 L208 4.0 L204 3.8 L200 4.2 L196 4.2 L192 4.1 L188 4.2 L184 4.1 L180 4.2 L176 4.1 L172 3.8 L168 3.7 L164 3.6 L160 3.5 L156 3.6 L152 4.0 L148 3.8 L144 3.6 L140 3.9 L136 3.8 L132 3.9 L128 4.4 L124 4.2 L120 3.9 L116 3.7 L112 3.6 L108 3.5 L104 3.6 L100 3.8 L96 3.6 L92 3.7 L88 3.6 L84 3.7 L80 3.8 L76 3.4 L72 3.4 L68 3.3 L64 3.0 L60 3.3 L56 3.6 L52 3.5 L48 3.6 L44 3.9 L40 3.9 L36 4.2 L32 5.0 L28 5.0 L24 5.0 L20 5.1 L16 4.8 L12 4.8 L8 4.9 L4 5.0 L0 5.0Z'/%3E%3C/svg%3E") 0 0 / 560px 7px repeat-x;
  }
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-place:nth-child(3n)::before{-webkit-mask-position:-190px 0;mask-position:-190px 0;}
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-place:nth-child(3n+1)::before{-webkit-mask-position:-371px 0;mask-position:-371px 0;}
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-chip__name{transition:color .25s ease;}
  body.pg-speaking .spk-eng.is-ready .eng__places.spk-torn .eng-place:is(.is-open,.is-hot) .eng-chip__name{color:var(--eng-coral);}
}
/* the plate's part outlines: a torn crimson cut line (pg-speaking.js module 6b), shown for the part a row names */
body.pg-speaking .spk-hot.spk-torn{outline:0;border-radius:0;}
body.pg-speaking .spk-hot.spk-torn::before{content:'';position:absolute;inset:-16px;pointer-events:none;background:var(--spk-torn) 0 0 / 100% 100% no-repeat;opacity:0;transform:scale(.97);transition:opacity .22s ease,transform .4s var(--sp-ease);}
body.pg-speaking .spk-art[data-hot="lvad"] .spk-hot[data-for="lvad"]::before,
body.pg-speaking .spk-art[data-hot="ecmo"] .spk-hot[data-for="ecmo"]::before,
body.pg-speaking .spk-art[data-hot="amy"] .spk-hot[data-for="amy"]::before,
body.pg-speaking .spk-art[data-hot="heart"] .spk-hot[data-for="heart"]::before,
body.pg-speaking .spk-art[data-hot="team"] .spk-hot[data-for="team"]::before{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  body.pg-speaking .deck__list::after,body.pg-speaking .dl__t,body.pg-speaking .gap__key .k{transition:none;}
}
/* PASS1-SPEAKING:END */
/* PASS2-SPEAKING:BEGIN */
/* ---------------------------------------------------------------
   100x pass 2. (1) The agenda's numbers take one fixed column, so every title starts on the same line (the "01" glyph is
   narrower than the others and pulled its title 4px left). (2) The crimson bloom behind the 88 percent ring is gone: Dev,
   no glow behind text; the ring now sits on the flat navy paper like everything else.
   --------------------------------------------------------------- */
body.pg-speaking .dl__n{width:1.6rem;font-variant-numeric:tabular-nums;}
body.pg-speaking .gap__bloom{display:none;}
/* PASS2-SPEAKING:END */
