/* Sweet Intelligence / ONE. v0.3 Histography x Paula Scher
   Tokens: Amethyst #908BFF / Sweet Mint #2DDBD3 / Horizon #FF956E
   Ink #0A0A0F, Paper #F8F8F5. 8px grid. No gradients, no shadows, no
   decorative strokes, no rounded corners (avatars only).
*/

:root{
  --amethyst:#908BFF;
  --mint:#2DDBD3;
  --horizon:#FF956E;
  --ink:#0A0A0F;
  --paper:#F8F8F5;
  --g1:#EDEDF0; --g2:#8E8E96; --g3:#6B6B75; --g4:#4A4A52;
  /* track color map */
  --tr-company:#908BFF;
  --tr-product:#FF956E;
  --tr-culture:#2DDBD3;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--ink);color:var(--paper);overflow-x:hidden}
body{
  font-family:"Poppins","Noto Sans SC",system-ui,sans-serif;
  font-weight:400;font-size:16px;line-height:1.2;
  -webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}

#stage{
  scroll-snap-type:y mandatory;
  height:100vh;overflow-y:scroll;scroll-behavior:auto;
  scrollbar-width:none;
}
#stage::-webkit-scrollbar{display:none}
section{
  scroll-snap-align:start;scroll-snap-stop:always;
  height:100vh;width:100vw;position:relative;overflow:hidden;
  display:flex;
}

/* ---------- side nav (chapter list, bottom-right above music toggle) ---------- */
.side-nav{
  position:fixed;right:24px;bottom:72px;
  z-index:65;display:flex;flex-direction:column;gap:4px;
  align-items:flex-end;
  mix-blend-mode:difference;
}
.side-dot{
  background:transparent;border:0;padding:4px 0;cursor:pointer;
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:#FFFFFF;opacity:.35;
  display:flex;align-items:center;gap:8px;
  transition:opacity .2s ease, gap .2s ease;
}
.side-dot::before{
  content:"";display:inline-block;
  width:18px;height:2px;background:#FFFFFF;
  transition:width .2s ease;
}
.side-dot:hover{opacity:.75}
.side-dot.active{opacity:1}
.side-dot.active::before{width:36px}

/* ---------- topnav ---------- */
.topnav{position:fixed;bottom:16px;right:16px;z-index:60;display:flex;gap:8px}
.chip{
  font-family:inherit;font-weight:900;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;background:var(--ink);color:var(--paper);
  border:0;padding:10px 14px;cursor:pointer;border-radius:0;
  mix-blend-mode:difference;
}
.chip[data-state="on"]{background:var(--mint);color:var(--ink);mix-blend-mode:normal}

/* ---------- 0. COVER (ambient mesh blobs + donuts, BPM 130 sync) ----------
   1 beat = 60000/130 ms = 461.5 ms
   1 bar (4 beats) = 1846 ms
   4 bars (1 phrase) = 7385 ms (used for breathing pulse)
*/
.s-cover{
  background:var(--ink);
  position:relative;overflow:hidden;
  display:block;
}
/* D. Pulse Drop + Echo
   8 donut rings (filled band + hollow center via radial-gradient),
   1 spawn per beat (462ms), lifespan 3696ms,
   expand + self-rotate + fade out, color cycles amethyst -> mint -> horizon
*/
/* D. Pulse Drop + Echo (original spec)
   8 donut rings on ink bg, 1 per beat (462ms), lifespan 3696ms,
   radial-gradient filled band 30-52% radius (22% band thickness),
   scale 0->1 + rotate 0->180 + opacity 1->0,
   cubic-bezier(0.22, 1, 0.36, 1): stone-in-water ripple
*/
.s-cover .cv-ring{
  position:absolute;top:50%;left:50%;
  width:140vmax;height:140vmax;
  translate:-50% -50%;
  border-radius:50%;
  background:radial-gradient(
    circle,
    transparent 30%,
    var(--rc) 30%,
    var(--rc) 52%,
    transparent 52%
  );
  opacity:0;
  animation:ring-pulse 3696ms cubic-bezier(0.22, 1, 0.36, 1) infinite;
  will-change:scale, opacity, rotate;
}
.s-cover .cv-ring-1{--rc:var(--amethyst);animation-delay:0ms}
.s-cover .cv-ring-2{--rc:var(--mint);   animation-delay:-462ms}
.s-cover .cv-ring-3{--rc:var(--horizon);animation-delay:-924ms}
.s-cover .cv-ring-4{--rc:var(--amethyst);animation-delay:-1386ms}
.s-cover .cv-ring-5{--rc:var(--mint);   animation-delay:-1848ms}
.s-cover .cv-ring-6{--rc:var(--horizon);animation-delay:-2310ms}
.s-cover .cv-ring-7{--rc:var(--amethyst);animation-delay:-2772ms}
.s-cover .cv-ring-8{--rc:var(--mint);   animation-delay:-3234ms}

@keyframes ring-pulse{
  0%   {scale:0;     opacity:0;   rotate:0deg}
  6%   {scale:0.05;  opacity:1}
  100% {scale:1;     opacity:0;   rotate:180deg}
}

/* ---------- 1. HERO ---------- */
.s-hero{background:var(--amethyst);color:var(--ink)}
.s-hero .big{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-15deg);
}
.s-hero .big span{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:78vw;line-height:.78;letter-spacing:-.05em;
  color:var(--ink);white-space:nowrap;
}
/* hero "1" is single digit, no EN override needed (keep 78vw) */
.s-hero .meta{
  position:absolute;left:24px;bottom:24px;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.s-hero .scroll{
  position:absolute;right:24px;bottom:24px;
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}

/* ---------- 2. WRAPPED 5 ---------- */
.s-wrap{
  align-items:center;justify-content:center;
  flex-direction:column;
  position:relative;
}
.s-wrap .num{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:78vw;line-height:.78;letter-spacing:-.06em;
  white-space:nowrap;
}
.s-wrap .cap{
  position:absolute;left:24px;bottom:24px;
  font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
}
.s-wrap.tilt-l .num{transform:rotate(-5deg)}
.s-wrap.tilt-r .num{transform:rotate(5deg)}

/* ---------- carousel section ---------- */
.s-carousel{
  position:relative;width:100vw;height:100vh;padding:0;overflow:hidden;
  display:block;
}
.car-slides{
  display:flex;width:100%;height:100%;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;
}
.car-slides::-webkit-scrollbar{display:none}
.car-slide{
  flex:0 0 100vw;height:100%;
  scroll-snap-align:start;
  position:relative;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.car-slide.s-hero .big{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  transform:rotate(-15deg);
}
.car-slide.s-hero .big span{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:78vw;line-height:.78;letter-spacing:-.05em;
  color:var(--ink);white-space:nowrap;
}
.car-slide.s-hero .meta{
  position:absolute;left:24px;bottom:24px;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.car-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:30;
  background:var(--ink);color:var(--paper);
  border:0;font-family:"Poppins",sans-serif;font-weight:900;
  font-size:48px;line-height:1;cursor:pointer;
  width:64px;height:64px;display:flex;align-items:center;justify-content:center;
  mix-blend-mode:difference;
}
.car-prev{left:24px}
.car-next{right:24px}

/* ---------- grid modals (people / jurisdictions) ---------- */
.modal.grid{background:var(--paper);color:var(--ink)}
.modal.grid .modalBody{
  width:100%;height:100%;padding:80px 48px 48px;
  overflow-y:auto;display:block;
}
.modal.grid .gridBody{
  display:grid;gap:24px;width:100%;max-width:1400px;margin:0 auto;
}
.modal.grid .people-grid{grid-template-columns:repeat(8,1fr)}
.modal.grid .gp-cell{
  display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;
  background:transparent;border:0;padding:8px;font-family:inherit;color:inherit;
}
.modal.grid .gp-cell img{
  width:100%;aspect-ratio:1/1;border-radius:9999px;object-fit:cover;
  transition:transform .08s steps(1);
}
.modal.grid .gp-cell:hover img{transform:scale(1.06)}
.modal.grid .gp-name{font-weight:900;font-size:14px;letter-spacing:.02em;text-align:center}
.modal.grid .gp-cell:hover .gp-name{font-size:16px}

.modal.grid .jurisdictions-grid{grid-template-columns:repeat(3,1fr);gap:32px}
.modal.grid .products-grid{grid-template-columns:repeat(2,1fr);gap:32px;align-items:center}

/* ---------- calendar modal ---------- */
.modal.calendar{background:var(--paper);color:var(--ink)}
.modal.calendar .modalBody{
  width:100%;height:100%;padding:80px 48px 48px;
  overflow-y:auto;display:block;
}
.cal-wrap{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  max-width:1400px;margin:0 auto;
}
.cal-month{padding:8px}
.cal-mh{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:8px;
}
.cal-days{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}
.cal-wd{
  font-size:9px;font-weight:900;color:var(--g3);text-align:center;
  padding:2px 0;
}
.cal-cell{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--g3);
}
.cal-cell.empty{visibility:hidden}
.cal-cell.has-event{
  color:var(--ink);font-weight:900;cursor:pointer;
  transition:transform .08s steps(1);
}
.cal-cell.has-event.ev-person{background:var(--amethyst)}
.cal-cell.has-event.ev-team{background:var(--mint)}
.cal-cell.has-event.ev-pr{background:var(--horizon)}
.cal-cell.has-event:hover{transform:scale(1.15)}
.modal.grid .gj-cell{
  display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;
  background:transparent;border:0;padding:16px;font-family:inherit;color:inherit;
}
.modal.grid .gj-flag{
  width:160px;height:auto;display:block;
  transition:transform .08s steps(1);
}
.modal.grid .gj-cell:hover .gj-flag{transform:scale(1.08)}
.modal.grid .gj-name{
  font-weight:900;font-size:14px;line-height:1.2;text-align:center;max-width:200px;
}

.s-wrap-1{background:var(--amethyst);color:var(--ink)}
.s-wrap-2{background:var(--horizon);color:var(--ink)}
.s-wrap-3{background:var(--mint);color:var(--ink)}
.s-wrap-4{background:var(--paper);color:var(--amethyst)}
.s-wrap-5{background:var(--ink);color:var(--horizon)}

/* ---------- 3+4. TIMELINE ---------- */
.s-timeline{
  background:var(--paper);color:var(--ink);
  flex-direction:column;align-items:stretch;
}

/* filter strip: 3 chips, splits 100%, each color band */
.filter-strip{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  height:12vh;width:100%;flex:0 0 12vh;
  transition:grid-template-columns .12s steps(1);
}
.filter-strip[data-active="company"]{grid-template-columns:1fr 0 0}
.filter-strip[data-active="product"]{grid-template-columns:0 1fr 0}
.filter-strip[data-active="culture"]   {grid-template-columns:0 0 1fr}

.filter-strip .chip-cell{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:clamp(28px,5.5vw,88px);line-height:1;letter-spacing:.02em;
  text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;
  border:0;cursor:pointer;color:var(--ink);padding:0;
  overflow:hidden;white-space:nowrap;border-radius:0;
  font-family:inherit;
}
.filter-strip .chip-cell.cc-company{background:var(--amethyst);color:var(--ink)}
.filter-strip .chip-cell.cc-product{background:var(--horizon);color:var(--ink)}
.filter-strip .chip-cell.cc-culture   {background:var(--mint);color:var(--ink)}

/* reset btn at top-left of timeline (visible only when filtered) */
.filter-reset{
  position:absolute;top:8px;left:8px;z-index:30;
  background:var(--ink);color:var(--paper);
  border:0;padding:8px 12px;font-family:inherit;font-weight:900;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;
  border-radius:0;display:none;
}
.s-timeline.filtered .filter-reset{display:block}

/* timeline scroll body */
.tl-scroll{
  flex:1;width:100%;overflow-x:auto;overflow-y:hidden;
  position:relative;background:var(--paper);
}
.tl-track{
  position:relative;
  height:100%;
  /* width set by JS = months * monthWidth */
  min-width:200vw;
}

/* spine line */
.tl-track::before{
  content:"";position:absolute;left:0;right:0;top:78%;
  height:4px;background:var(--ink);
}

/* month columns (background big type) */
.tl-month{
  position:absolute;top:0;bottom:0;
  display:flex;flex-direction:column;justify-content:flex-start;
  padding-top:24px;
  border-right:1px solid var(--g1);
  overflow:hidden;
}
.tl-month .mname{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:18vh;line-height:.85;letter-spacing:-.04em;
  color:var(--g1);
  user-select:none;pointer-events:none;
  white-space:nowrap;
  padding-left:12px;
}
.tl-month .myear{
  position:absolute;left:12px;bottom:8px;
  font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--g2);
}

/* milestone donut: filled disk + center hole + sprinkles (Option B) */
.tl-mile{
  position:absolute;
  width:32px;height:32px;
  cursor:pointer;padding:0;
  border-radius:50%;
  background:transparent;
  border:0;
  box-sizing:border-box;
}
/* center hole */
.tl-mile:not(.tl-person)::before{
  content:"";position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:11px;height:11px;border-radius:50%;
  background:var(--paper);
  pointer-events:none;z-index:1;
}
/* sprinkles, 4 dots per donut in other 2 brand colors */
.tl-mile.tk-company:not(.tl-person)::after{
  content:"";position:absolute;width:2.5px;height:2.5px;border-radius:50%;
  background:#FFFFFF;
  top:4px;left:14px;
  box-shadow:
    -8px 10px 0 #FFFFFF,
    8px 10px 0 #FFFFFF,
    -2px 23px 0 #FFFFFF;
  pointer-events:none;z-index:2;
}
.tl-mile.tk-product:not(.tl-person)::after{
  content:"";position:absolute;width:2.5px;height:2.5px;border-radius:50%;
  background:#FFFFFF;
  top:4px;left:14px;
  box-shadow:
    -8px 10px 0 #FFFFFF,
    8px 10px 0 #FFFFFF,
    -2px 23px 0 #FFFFFF;
  pointer-events:none;z-index:2;
}
.tl-mile.tk-culture:not(.tl-person)::after{
  content:"";position:absolute;width:2.5px;height:2.5px;border-radius:50%;
  background:#FFFFFF;
  top:4px;left:14px;
  box-shadow:
    -8px 10px 0 #FFFFFF,
    8px 10px 0 #FFFFFF,
    -2px 23px 0 #FFFFFF;
  pointer-events:none;z-index:2;
}
.tl-mile.tk-company{background:var(--amethyst)}
.tl-mile.tk-product{background:var(--horizon)}
.tl-mile.tk-culture{background:var(--mint)}

/* hover callout, follows mouse */
.tl-callout{
  position:fixed;z-index:70;
  background:var(--paper);color:var(--ink);
  padding:12px 16px;border:3px solid var(--ink);
  max-width:420px;text-align:left;pointer-events:none;
}
.tl-callout[hidden]{display:none}
.tl-callout .cd{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:32px;line-height:1;letter-spacing:-.02em;
}
.tl-callout .ct{
  font-weight:900;font-size:16px;line-height:1.2;margin-top:6px;
}

/* dim non-matching milestones when filtered */
.s-timeline.filtered .tl-mile{opacity:.08;pointer-events:none}
.s-timeline.filtered .tl-mile.tk-active{opacity:1;pointer-events:auto}

/* ---------- timeline person avatars ---------- */
.tl-mile.tl-person{
  width:32px;height:32px;background:transparent;
  display:flex;align-items:center;justify-content:center;
  outline:none;border:0;
}
.tl-mile.tl-person img{
  width:32px;height:32px;border-radius:9999px;object-fit:cover;
  filter:none;
  transition:filter .08s steps(1),transform .08s steps(1);
  display:block;
}
.tl-mile.tl-person:hover img{
  filter:none;transform:scale(1.25);
}
.s-timeline.filtered .tl-mile.tl-person{opacity:1;pointer-events:auto}

/* ---------- 7. OUTRO ---------- */
.s-outro{
  background-color:var(--paper);color:var(--ink);
  align-items:center;justify-content:center;
  position:relative;
}
.s-outro .outro-logo{
  width:auto;height:auto;
  /* swiit.png is tight crop high-res (2574x1057), no dark surround */
  max-width:75vw;max-height:60vh;
  object-fit:contain;
  display:block;
}
.s-outro .meta{color:var(--g3)}
.s-outro .meta{
  position:absolute;left:24px;bottom:24px;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--g2);
}

/* ---------- modals ---------- */
.modal{
  position:fixed;inset:0;z-index:80;display:flex;
}
.modal[hidden]{display:none}
.modalClose{
  position:fixed;top:16px;left:16px;z-index:90;
  background:transparent;color:var(--ink);border:0;
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:40px;line-height:1;cursor:pointer;padding:8px 12px;
  mix-blend-mode:difference;color:#FFFFFF;
}
.modalBody{width:100%;height:100%;display:flex}

/* milestone full-screen poster */
.modal.mile .modalBody{flex-direction:row}
.modal.mile .ml{
  flex:1 1 50%;position:relative;
  padding:48px;display:flex;flex-direction:column;justify-content:flex-start;
}
.modal.mile .mr{
  flex:1 1 50%;padding:64px 32px 32px;display:flex;flex-direction:column;gap:12px;
  justify-content:flex-start;align-items:center;overflow-y:auto;overflow-x:hidden;
  background:#FFFFFF;color:var(--ink);
}
.modal.mile .mr .photo-grid{
  display:grid;gap:8px;width:100%;
}
.modal.mile .mr .photo-grid img,
.modal.mile .mr .photo-grid video{
  width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in;
  border-radius:0;background:var(--g1);display:block;
}
.modal.mile .mr .photo-grid video{cursor:auto}
.modal.mile .mr .photo-grid .vid-cell{
  position:relative;width:100%;aspect-ratio:1/1;display:block;
}
.modal.mile .mr .photo-grid .vid-cell video{
  width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;
  background:var(--g1);display:block;
}
.modal.mile .mr .photo-grid .vid-cell .vid-expand{
  position:absolute;top:8px;right:8px;z-index:5;
  background:rgba(10,10,15,0.7);color:#FFFFFF;border:0;
  width:36px;height:36px;font-size:18px;cursor:pointer;
  font-family:"Poppins",sans-serif;font-weight:900;
  border-radius:0;padding:0;
  display:flex;align-items:center;justify-content:center;
}
.modal.mile .mr .photo-grid .vid-cell .vid-expand:hover{background:rgba(10,10,15,0.95)}
.modal.mile .mr .photo-grid.n-1 img,
.modal.mile .mr .photo-grid.n-1 video{aspect-ratio:auto;max-height:80vh;object-fit:contain}
.modal.mile .mr .photo-grid.n-1{grid-template-columns:1fr}
.modal.mile .mr .photo-grid.n-2{grid-template-columns:1fr 1fr}
.modal.mile .mr .photo-grid.n-3{grid-template-columns:1fr 1fr}
.modal.mile .mr .photo-grid.n-4{grid-template-columns:1fr 1fr}
.modal.mile .mr .photo-grid.n-many{grid-template-columns:repeat(3,1fr)}
.modal.mile .mr .flag-single{
  /* no border, accept white edges blend with paper bg */
}
.modal.mile .mr .logo-single{
  display:block;margin:0 auto;
  /* width/height set by JS paquetteFit (Paquette ratio^0.525 × widthBase) */
  max-width:min(620px,90%);max-height:60vh;
  object-fit:contain;
  cursor:zoom-in;
  background:none !important;
  background-color:transparent !important;
  padding:0;border:0;outline:0;box-shadow:none;
  mix-blend-mode:normal;isolation:isolate;
  image-rendering:auto;
}
.modal.mile .mr video{width:100%;max-height:60vh;cursor:zoom-in}
.modal.mile .mr .link-btn{
  display:inline-block;padding:12px 20px;background:var(--ink);color:var(--paper);
  font-weight:900;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;border-radius:0;margin-right:8px;margin-top:4px;
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;z-index:100;background:rgba(10,10,15,.96);
  display:flex;align-items:center;justify-content:center;padding:48px;cursor:zoom-out;
}
.lightbox.light{background:#FFFFFF}
.lightbox[hidden]{display:none}
.lightbox img,.lightbox video{
  max-width:100%;max-height:100%;object-fit:contain;
}
.modal.mile .ml .mdate{
  font-family:"Poppins",sans-serif;font-weight:900;
  font-size:clamp(96px,18vw,220px);line-height:.85;letter-spacing:-.04em;
  transform:rotate(-15deg);transform-origin:left center;
  margin-top:20vh;
}
.modal.mile .ml .mtitle{
  font-family:"Poppins","Noto Sans SC",sans-serif;font-weight:900;
  font-size:clamp(28px,3.4vw,52px);line-height:1.02;letter-spacing:-.02em;
  margin-top:24px;max-width:90%;
}
.modal.mile .ml .mblurb{
  font-size:14px;font-weight:400;line-height:1.4;margin-top:16px;max-width:60ch;opacity:.85;
}
.modal.mile .mr .mph{
  font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;
  color:currentColor;opacity:.55;
}
.modal.mile .mr .msrc{
  font-size:11px;font-weight:400;color:var(--g4);opacity:.85;word-break:break-all;
}
.modal.mile .mr .mph{color:var(--g4)}

.modal.mile.tk-company{background:var(--amethyst);color:var(--ink)}
.modal.mile.tk-product{background:var(--horizon);color:var(--ink)}
.modal.mile.tk-culture   {background:var(--mint);color:var(--ink)}

/* person modal: simpler */
.modal.person{background:rgba(10,10,15,.96);align-items:center;justify-content:center;color:var(--paper)}
.modal.person .modalBody{
  flex-direction:column;align-items:center;justify-content:center;gap:16px;
}
.modal.person img{
  width:200px;height:200px;border-radius:9999px;object-fit:cover;background:var(--g1);
}
.modal.person .pname{font-size:38px;font-weight:900;letter-spacing:-.01em}
.modal.person .pjoin{font-size:13px;letter-spacing:.1em;color:var(--g2);text-transform:uppercase}

/* lang */
.lang-zh .en{display:none}
.lang-en .zh{display:none}

/* ---------- EN clamps (defensive against text overflow) ---------- */
/* Wrapped numbers: EN .cap is longer (e.g. JURISDICTIONS / 司法管辖区 vs YEAR / 年),
   so slightly shrink number to leave room. */
.body-en .s-wrap .num{font-size:clamp(50vw,72vw,80vw)}
/* .cap is a single line at bottom-left; keep it small either way. */
.s-wrap .cap{font-size:clamp(10px,1vw,14px)}
/* Filter chips: EN words longer than CN. */
.body-en .filter-strip .chip-cell{font-size:clamp(28px,4.4vw,72px)}
/* Modal mile title: long EN strings (e.g. "Group structure across 9 jurisdictions in place"). */
.body-en .modal.mile .ml .mtitle{font-size:clamp(24px,2.6vw,44px)}

/* person-event modal poster (avatar on right) */
.modal.mile.person-event .mr{align-items:center;justify-content:center}
.modal.mile.person-event .personAvatar{
  max-height:60vh;aspect-ratio:1/1;border-radius:9999px;object-fit:cover;
  background:var(--g1);
}
