@import url('../fonts/fonts.css');

/* ============================================================
   S&R SUNDEEP GROUP — design system
   Palette sampled from the 2026 corporate profile.
   ============================================================ */

:root{
  /* brand */
  --navy:        #12397E;
  --navy-deep:   #0B2255;
  --navy-ink:    #081A42;
  --red:         #EA2425;
  --red-deep:    #C81A1B;
  --gold:        #B8974F;

  /* neutrals */
  --ink:         #10141C;
  --ink-2:       #3A4252;
  --ink-3:       #6B7383;
  --line:        #E2E1DC;
  --line-soft:   #EDECE7;
  --canvas:      #FAFAF8;
  --paper:       #FFFFFF;

  /* on-navy */
  --on-navy:       rgba(255,255,255,.94);
  --on-navy-soft:  rgba(255,255,255,.62);
  --on-navy-line:  rgba(255,255,255,.16);

  /* type */
  --display: 'Fraunces', 'Times New Roman', serif;
  --sans:    'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  /* rhythm */
  --gutter:  clamp(20px, 4vw, 56px);
  --maxw:    1280px;
  --sec-y:   clamp(72px, 9vw, 152px);

  --ease:    cubic-bezier(.16,1,.3,1);
  --t:       .6s var(--ease);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--canvas); color:var(--ink);
  font-family:var(--sans); font-size:1.0625rem; line-height:1.65;
  font-weight:400; letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-family:var(--display); font-weight:600;
  font-optical-sizing:auto; letter-spacing:-.02em; line-height:1.08; }
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--navy); color:#fff; }
:focus-visible{ outline:2px solid var(--red); outline-offset:3px; border-radius:2px; }

/* ---------- type scale ---------- */
.t-display{ font-family:var(--display); font-weight:400;
  font-size:clamp(2.35rem,4.4vw,3.9rem); line-height:1.06; letter-spacing:-.028em; }
.t-h1{ font-size:clamp(1.9rem,3.1vw,2.8rem); line-height:1.1; letter-spacing:-.024em; }
.t-h2{ font-size:clamp(1.55rem,2.4vw,2.15rem); line-height:1.14; letter-spacing:-.021em; }
.t-h3{ font-size:clamp(1.1rem,1.5vw,1.35rem); line-height:1.24; letter-spacing:-.017em; }
.t-h4{ font-size:1.0625rem; line-height:1.3; letter-spacing:-.01em; }

.eyebrow{
  font-family:var(--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.17em; text-transform:uppercase; color:var(--red);
  margin:0 0 1.15rem; display:flex; align-items:center; gap:.75rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--red); flex:none; }
.eyebrow--navy{ color:var(--navy); } .eyebrow--navy::before{ background:var(--navy); }
.eyebrow--gold{ color:var(--gold); } .eyebrow--gold::before{ background:var(--gold); }
.eyebrow--light{ color:rgba(255,255,255,.72); } .eyebrow--light::before{ background:var(--red); }

.lead{ font-size:clamp(1rem,1.1vw,1.12rem); line-height:1.6; color:var(--ink-2); font-weight:350; }
.muted{ color:var(--ink-3); }
.small{ font-size:.875rem; line-height:1.55; }
.measure{ max-width:62ch; } .measure-sm{ max-width:48ch; }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:var(--sec-y); position:relative; }
.section--tight{ padding-block:clamp(52px,6vw,96px); }
.section--navy{ background:var(--navy); color:var(--on-navy); }
.section--navy h1,.section--navy h2,.section--navy h3{ color:#fff; }
.section--navy .lead{ color:var(--on-navy-soft); }
.section--paper{ background:var(--paper); }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

.grid{ display:grid; gap:clamp(20px,2.4vw,34px); }
.g-2{ grid-template-columns:repeat(2,1fr); }
.g-3{ grid-template-columns:repeat(3,1fr); }
.g-4{ grid-template-columns:repeat(4,1fr); }
.split{ display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(32px,5vw,88px); align-items:start; }
.split--even{ grid-template-columns:1fr 1fr; }

/* section heading block */
.shead{ margin-bottom:clamp(36px,4.5vw,68px); }
.shead__title{ margin-bottom:.7em; }
.shead--split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(28px,5vw,80px); align-items:end; }
.shead--split .shead__title{ margin-bottom:0; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.7rem; padding:.95rem 1.7rem;
  font-size:.83rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  border:1px solid var(--navy); background:var(--navy); color:#fff;
  transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);
}
.btn:hover{ background:var(--navy-deep); border-color:var(--navy-deep); }
.btn__arr{ transition:transform .4s var(--ease); }
.btn:hover .btn__arr{ transform:translateX(4px); }
.btn--ghost{ background:transparent; color:var(--navy); }
.btn--ghost:hover{ background:var(--navy); color:#fff; }
.btn--light{ background:#fff; border-color:#fff; color:var(--navy); }
.btn--light:hover{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn--outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn--outline-light:hover{ background:#fff; color:var(--navy); border-color:#fff; }

.tlink{
  display:inline-flex; align-items:center; gap:.6rem; font-size:.82rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; color:var(--navy);
  padding-bottom:.45rem; border-bottom:1px solid var(--line); transition:border-color .4s var(--ease);
}
.tlink:hover{ border-bottom-color:var(--red); }
.tlink .btn__arr{ transition:transform .4s var(--ease); }
.tlink:hover .btn__arr{ transform:translateX(4px); }
.tlink--light{ color:#fff; border-bottom-color:var(--on-navy-line); }
.tlink--light:hover{ border-bottom-color:var(--red); }

/* ---------- header ---------- */
.hdr{
  position:fixed; inset:0 0 auto; z-index:80;
  transition:background .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  border-bottom:1px solid transparent;
}
.hdr__bar{ display:flex; align-items:center; gap:clamp(16px,3vw,48px);
  height:var(--hdr-h,84px); transition:height .45s var(--ease); }
.hdr__logo{ flex:none; display:block; }
.hdr__logo img{ height:clamp(34px,3.4vw,44px); width:auto; transition:height .45s var(--ease); }
.hdr__spacer{ flex:1; }

.hdr--solid{ background:rgba(250,250,248,.92); backdrop-filter:blur(14px) saturate(1.4);
  border-bottom-color:var(--line); }
.hdr--solid .hdr__bar{ --hdr-h:70px; }
.hdr--solid .hdr__logo img{ height:clamp(30px,2.8vw,38px); }

/* over-hero (navy) state */
.hdr--over{ background:transparent; }
.hdr--over .nav__link,.hdr--over .hdr__tel{ color:rgba(255,255,255,.88); }
.hdr--over .nav__link:hover{ color:#fff; }
.hdr--over .burger span{ background:#fff; }
.hdr--over .hdr__cta{ border-color:rgba(255,255,255,.45); color:#fff; }
.hdr--over .hdr__cta:hover{ background:#fff; color:var(--navy); border-color:#fff; }
.hdr--over .hdr__logo .logo--dark{ display:none; }
.hdr--over .hdr__logo .logo--light{ display:block; }
.hdr__logo .logo--light{ display:none; }

.nav{ display:flex; align-items:center; gap:clamp(14px,2.1vw,34px); }
.nav__item{ position:relative; }
.nav__link{
  display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 0;
  font-size:.83rem; font-weight:500; letter-spacing:.02em; color:var(--ink-2);
  transition:color .3s var(--ease); white-space:nowrap;
}
.nav__link:hover,.nav__item--open .nav__link{ color:var(--navy); }
.nav__link[aria-current="page"]{ color:var(--navy); font-weight:600; }
.nav__caret{ width:9px; height:9px; transition:transform .35s var(--ease); opacity:.55; }
.nav__item--open .nav__caret{ transform:rotate(180deg); }

.nav__panel{
  position:absolute; top:calc(100% + 14px); left:50%; translate:-50% 0;
  min-width:320px; background:var(--paper); border:1px solid var(--line);
  box-shadow:0 26px 60px -24px rgba(11,34,85,.28); padding:.6rem;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .34s var(--ease), transform .34s var(--ease), visibility .34s;
}
.nav__item--open .nav__panel{ opacity:1; visibility:visible; transform:translateY(0); }
.nav__sub{ display:block; padding:.72rem .95rem; border-left:2px solid transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease); }
.nav__sub:hover{ background:var(--canvas); border-left-color:var(--red); }
.nav__sub b{ display:block; font-size:.9rem; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.nav__sub span{ display:block; font-size:.775rem; color:var(--ink-3); margin-top:.15rem; line-height:1.4; }

.hdr__cta{
  flex:none; display:inline-flex; align-items:center; padding:.72rem 1.3rem;
  font-size:.76rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  border:1px solid var(--navy); color:var(--navy);
  transition:background .34s var(--ease), color .34s var(--ease), border-color .34s var(--ease);
}
.hdr__cta:hover{ background:var(--navy); color:#fff; }

.burger{ display:none; flex-direction:column; gap:5px; padding:10px; margin-right:-10px; }
.burger span{ display:block; width:22px; height:1.5px; background:var(--ink);
  transition:transform .4s var(--ease), opacity .3s var(--ease); }
.nav-open .burger span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-open .burger span:nth-child(2){ opacity:0; }
.nav-open .burger span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero{ position:relative; background:var(--navy); color:#fff; overflow:hidden;
  padding-block:clamp(134px,15vh,182px) clamp(58px,7vw,96px); }
.hero__bar{ position:absolute; inset:0 auto 0 0; width:6px; background:var(--red); }
.hero__inner{ position:relative; z-index:2; max-width:min(100%,1020px); }
.hero__title{ margin-bottom:clamp(20px,2.4vw,32px); }
.hero__lead{ max-width:58ch; color:rgba(255,255,255,.72);
  font-size:clamp(.99rem,1.08vw,1.1rem); font-weight:350; line-height:1.65; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(30px,3.6vw,46px); }
.hero__meta{ position:relative; z-index:2; margin-top:clamp(52px,7vw,96px);
  padding-top:clamp(24px,3vw,36px); border-top:1px solid var(--on-navy-line);
  display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,72px); }
.hero__metaItem b{ display:block; font-family:var(--display); font-size:clamp(1.5rem,2.3vw,2.1rem);
  font-weight:600; line-height:1; letter-spacing:-.02em; }
.hero__metaItem span{ display:block; margin-top:.5rem; font-size:.73rem; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.55); }

/* page hero (interior) */
.phero{ position:relative; background:var(--navy); color:#fff; overflow:hidden;
  padding-block:clamp(122px,13vh,158px) clamp(46px,5.4vw,72px); }
.phero__bar{ position:absolute; inset:0 auto 0 0; width:5px; background:var(--red); }
.phero__inner{ position:relative; z-index:2; max-width:min(100%,900px); }
.phero__title{ margin-bottom:1.1rem; }
.phero__lead{ max-width:60ch; color:rgba(255,255,255,.7); font-size:clamp(.96rem,1.04vw,1.06rem);
  font-weight:350; line-height:1.62; }

/* breadcrumb */
.crumb{ display:flex; gap:.6rem; align-items:center; font-size:.74rem; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:1.4rem; }
.crumb a:hover{ color:#fff; }
.crumb span{ opacity:.5; }

/* ---------- stat cards ---------- */

/* ---------- editorial cards ---------- */
.card{ position:relative; display:flex; flex-direction:column; background:var(--paper);
  border:1px solid var(--line); overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease); }
.card:hover{ transform:translateY(-4px); border-color:#D6D5CF;
  box-shadow:0 26px 54px -30px rgba(11,34,85,.32); }
.card__media{ position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--line-soft); }
.card__media img{ width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s var(--ease), filter .6s var(--ease); }
.card:hover .card__media img{ transform:scale(1.045); }
.card__media--tall{ aspect-ratio:4/5; }
.card__body{ padding:clamp(22px,2.2vw,30px); display:flex; flex-direction:column; flex:1; gap:.85rem; }
.card__kicker{ font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--red); }
.card__title{ color:var(--navy); }
.card__text{ font-size:.955rem; line-height:1.6; color:var(--ink-2); }
.card__foot{ margin-top:auto; padding-top:1.2rem; display:flex; align-items:center; gap:.55rem;
  font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--navy);
  border-top:1px solid var(--line-soft); }
.card__foot .btn__arr{ transition:transform .4s var(--ease); }
.card:hover .card__foot .btn__arr{ transform:translateX(4px); }
.card::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--red);
  transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); z-index:2; }
.card:hover::before{ transform:scaleX(1); }
.card--navy{ background:var(--navy); border-color:var(--navy); color:var(--on-navy); }
.card--navy .card__title{ color:#fff; }
.card--navy .card__text{ color:var(--on-navy-soft); }
.card--navy .card__foot{ color:#fff; border-top-color:var(--on-navy-line); }
.card--navy .card__kicker{ color:rgba(255,255,255,.62); }

/* plain bordered panel */
.panel{ background:var(--paper); border:1px solid var(--line); padding:clamp(26px,3vw,44px); }
.panel--navy{ background:var(--navy); border-color:var(--navy); color:var(--on-navy); }
.panel--navy h2,.panel--navy h3{ color:#fff; }
.panel--tint{ background:#F4F3EF; border-color:transparent; }

/* ---------- bullet list ---------- */
.blist li{ position:relative; padding-left:1.5rem; margin-bottom:.85rem;
  font-size:.975rem; line-height:1.58; color:var(--ink-2); }
.blist li:last-child{ margin-bottom:0; }
.blist li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:6px;
  border-radius:50%; background:var(--red); }
.blist--light li{ color:var(--on-navy-soft); }
.blist--tight li{ margin-bottom:.6rem; font-size:.92rem; }

/* numbered feature list */
.nlist{ counter-reset:n; display:grid; gap:0; }
.nlist__item{ counter-increment:n; display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:clamp(18px,2.6vw,42px); padding:clamp(24px,2.8vw,38px) 0; border-top:1px solid var(--line); }
.nlist__item:last-child{ border-bottom:1px solid var(--line); }
.nlist__item::before{ content:counter(n,decimal-leading-zero); font-family:var(--display);
  font-size:.95rem; font-weight:600; color:var(--red); letter-spacing:.04em; padding-top:.3rem; }
.nlist__t{ color:var(--navy); margin-bottom:.5rem; }
.nlist__b{ font-size:.97rem; line-height:1.6; color:var(--ink-2); max-width:64ch; }

/* ---------- timeline ---------- */
.tl{ position:relative; }
.tl__track{ position:absolute; left:0; right:0; top:var(--dot-y,92px); height:1px;
  background:var(--line); }
.tl__fill{ position:absolute; left:0; top:0; height:100%; background:var(--red);
  transform-origin:left; transform:scaleX(0); transition:transform 1.6s var(--ease); }
.tl.is-in .tl__fill{ transform:scaleX(1); }
.tl__items{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(14px,2vw,30px); position:relative; }
.tl__item{ position:relative; padding-top:calc(var(--dot-y,92px) + 34px); }
.tl__marker{ position:absolute; top:0; left:0; font-family:var(--display); font-weight:600;
  font-size:clamp(1rem,1.35vw,1.28rem); color:var(--navy); letter-spacing:-.01em; line-height:1.2; }
.tl__dot{ position:absolute; top:calc(var(--dot-y,92px) - 6px); left:0; width:13px; height:13px;
  border-radius:50%; background:var(--red); box-shadow:0 0 0 5px var(--canvas);
  transform:scale(0); transition:transform .5s var(--ease); }
.tl.is-in .tl__dot{ transform:scale(1); }
.tl__item:nth-child(1) .tl__dot{ transition-delay:.15s }
.tl__item:nth-child(2) .tl__dot{ transition-delay:.42s }
.tl__item:nth-child(3) .tl__dot{ transition-delay:.68s }
.tl__item:nth-child(4) .tl__dot{ transition-delay:.94s }
.tl__item:nth-child(5) .tl__dot{ transition-delay:1.2s }
.tl__t{ font-family:var(--display); font-size:1.02rem; font-weight:600; color:var(--navy);
  letter-spacing:-.012em; margin-bottom:.5rem; line-height:1.25; }
.tl__b{ font-size:.9rem; line-height:1.56; color:var(--ink-2); }

/* ---------- map ---------- */
.mapblock{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.92fr);
  gap:clamp(28px,4vw,68px); align-items:start; }
.map{ position:relative; }
.map__svg{ width:100%; height:auto; overflow:visible; }
.mp{ fill:#E6E5DF; stroke:var(--canvas); stroke-width:.7; transition:fill .35s var(--ease); }
.section--navy .mp{ fill:rgba(255,255,255,.09); stroke:var(--navy); }
.mp--market{ fill:var(--navy); cursor:pointer; outline:none; }
.section--navy .mp--market{ fill:rgba(255,255,255,.3); }
.mp--market:hover,.mp--market:focus-visible{ fill:var(--red); }
.mp--market.is-active{ fill:var(--red); }
.section--navy .mp--market.is-active,.section--navy .mp--market:hover{ fill:var(--red); }
.mp--market.is-dim{ fill:#DEDDD7; }
.section--navy .mp--market.is-dim{ fill:rgba(255,255,255,.14); }

.map__pins{ position:absolute; inset:0; pointer-events:none; }
.map__pin{ position:absolute; transform:translate(-50%,-50%); pointer-events:auto; }
.map__pin b{ display:block; width:9px; height:9px; border-radius:50%; background:var(--red);
  box-shadow:0 0 0 0 rgba(234,36,37,.45); animation:pulse 2.8s var(--ease) infinite; }
.map__pin i{ position:absolute; left:16px; top:50%; translate:0 -50%; font-style:normal;
  font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
  color:var(--navy); white-space:nowrap; }
.section--navy .map__pin i{ color:#fff; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(234,36,37,.5) } 70%{ box-shadow:0 0 0 13px rgba(234,36,37,0) } 100%{ box-shadow:0 0 0 0 rgba(234,36,37,0) } }

.mapside{ position:sticky; top:104px; }
.mapside__tabs{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:clamp(20px,2.4vw,30px); }
.mtab{ padding:.5rem .85rem; font-size:.76rem; font-weight:600; letter-spacing:.04em;
  border:1px solid var(--line); color:var(--ink-2); background:var(--paper);
  transition:all .3s var(--ease); }
.mtab:hover{ border-color:var(--navy); color:var(--navy); }
.mtab.is-active{ background:var(--navy); border-color:var(--navy); color:#fff; }
.section--navy .mtab{ background:transparent; border-color:var(--on-navy-line); color:rgba(255,255,255,.7); }
.section--navy .mtab.is-active{ background:#fff; border-color:#fff; color:var(--navy); }

.mpanel{ border:1px solid var(--line); background:var(--paper); padding:clamp(24px,2.8vw,36px);
  min-height:340px; }
.section--navy .mpanel{ background:rgba(255,255,255,.05); border-color:var(--on-navy-line); }
.mpanel__head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  padding-bottom:1rem; margin-bottom:1.35rem; border-bottom:1px solid var(--line); }
.section--navy .mpanel__head{ border-bottom-color:var(--on-navy-line); }
.mpanel__name{ color:var(--navy); }
.section--navy .mpanel__name{ color:#fff; }
.mpanel__role{ font-size:.71rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--red); white-space:nowrap; }
.mpanel__cities{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.2rem; }
.mpanel__cities span{ font-size:.74rem; letter-spacing:.06em; padding:.28rem .6rem;
  border:1px solid var(--line); color:var(--ink-2); }
.section--navy .mpanel__cities span{ border-color:var(--on-navy-line); color:rgba(255,255,255,.72); }
.mpanel__sum{ font-size:.96rem; line-height:1.62; color:var(--ink-2); margin-bottom:1.5rem; }
.section--navy .mpanel__sum{ color:var(--on-navy-soft); }
.mpanel__lab{ font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:.85rem; }
.mpanel[hidden]{ display:none; }
.mpanel.is-swap{ animation:swap .45s var(--ease); }
@keyframes swap{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }
.tagdev{ display:inline-block; margin-left:.5rem; font-size:.63rem; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold); padding:.15rem .45rem; vertical-align:middle; }

/* ---------- matrix table ---------- */
.matrix{ width:100%; border-collapse:collapse; font-size:.86rem; }
.matrix th,.matrix td{ padding:.95rem .7rem; text-align:left; border-bottom:1px solid var(--line); }
.matrix thead th{ font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); border-bottom-color:var(--navy); white-space:nowrap; }
.matrix tbody th{ font-weight:600; color:var(--navy); white-space:nowrap; }
.matrix td{ text-align:center; }
.matrix tbody tr{ transition:background .3s var(--ease); }
.matrix tbody tr:hover{ background:#F4F3EF; }
.mk{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--red); }
.mk--plan{ background:transparent; border:1.5px solid var(--gold); }
.mk--no{ display:inline-block; width:8px; height:1px; background:var(--line); vertical-align:middle; }
.legend{ display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:1.4rem; font-size:.78rem; color:var(--ink-3); }
.legend span{ display:inline-flex; align-items:center; gap:.5rem; }

/* ---------- people ---------- */
.person{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(20px,2.6vw,36px);
  align-items:start; }
.person__img{ width:clamp(116px,12vw,164px); aspect-ratio:1; border-radius:50%; object-fit:cover;
  border:1px solid var(--line); }
.person__name{ color:var(--navy); margin-bottom:.55rem; }
.person__roles{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.1rem; }
.person__roles span{ font-size:.68rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--red); }
.person__roles span:not(:last-child)::after{ content:""; display:inline-block; width:1px; height:9px;
  background:var(--line); margin-left:.6rem; vertical-align:middle; }
.person__body{ font-size:.97rem; line-height:1.62; color:var(--ink-2); max-width:52ch; }

/* ---------- quote band ---------- */
.quote{ background:var(--navy); color:#fff; padding:clamp(34px,4vw,58px) clamp(26px,3.6vw,64px);
  position:relative; overflow:hidden; }
.quote::before{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--red); }
.quote__t{ font-family:var(--display); font-size:clamp(1.15rem,1.9vw,1.7rem); font-weight:500;
  line-height:1.34; letter-spacing:-.015em; max-width:52ch; }
.quote__b{ margin-top:1.15rem; font-size:.97rem; line-height:1.6; color:var(--on-navy-soft); max-width:62ch; }

/* ---------- media ---------- */
.fig{ position:relative; overflow:hidden; background:var(--line-soft); }
.fig img{ width:100%; height:100%; object-fit:cover; }
.fig--hero{ aspect-ratio:16/9; }
.fig--4x3{ aspect-ratio:4/3; }
.fig--tall{ aspect-ratio:3/4; }
.fig__cap{ margin-top:.85rem; font-size:.76rem; letter-spacing:.04em; color:var(--ink-3); }

/* ---------- reveal motion ---------- */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease), transform .85s var(--ease); }
.rv.is-in{ opacity:1; transform:none; }
.rv-d1{ transition-delay:.09s } .rv-d2{ transition-delay:.18s }
.rv-d3{ transition-delay:.27s } .rv-d4{ transition-delay:.36s }
.rv-d5{ transition-delay:.45s } .rv-d6{ transition-delay:.54s }

/* ---------- forms ---------- */
.form{ display:grid; gap:1.35rem; }
.field label{ display:block; font-size:.72rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:.55rem; }
.field input,.field textarea,.field select{
  width:100%; padding:.9rem 1rem; font:inherit; font-size:.95rem; color:var(--ink);
  background:var(--paper); border:1px solid var(--line); border-radius:0;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease); }
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(18,57,126,.09); }
.field textarea{ min-height:150px; resize:vertical; }

/* ---------- footer ---------- */
.ftr{ background:var(--navy-ink); color:rgba(255,255,255,.66); padding-block:clamp(56px,6.5vw,92px) 0; }
.ftr__top{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr);
  gap:clamp(34px,5vw,80px); padding-bottom:clamp(38px,4.6vw,64px); }
.ftr__logo{ width:clamp(150px,15vw,196px); background:#fff; padding:14px 18px; border-radius:10px;
  margin-bottom:1.6rem; }
.ftr__stmt{ font-size:.93rem; line-height:1.65; max-width:46ch; }
.ftr__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,44px); }
.ftr__h{ font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-bottom:1.15rem; }
.ftr__list li{ margin-bottom:.62rem; font-size:.9rem; }
.ftr__list a{ color:rgba(255,255,255,.78); transition:color .3s var(--ease); }
.ftr__list a:hover{ color:#fff; }
.ftr__addr{ font-size:.9rem; line-height:1.72; color:rgba(255,255,255,.78); font-style:normal; }
.ftr__bar{ border-top:1px solid rgba(255,255,255,.12); padding-block:1.6rem;
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between;
  font-size:.79rem; color:rgba(255,255,255,.44); }
.ftr__bar a:hover{ color:#fff; }

/* ---------- sticky sub-nav ---------- */
.subnav{ position:sticky; top:70px; z-index:40; background:rgba(250,250,248,.94);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.subnav__in{ display:flex; gap:clamp(16px,2.4vw,34px); overflow-x:auto; scrollbar-width:none; }
.subnav__in::-webkit-scrollbar{ display:none; }
.subnav a{ padding:1.05rem 0; font-size:.79rem; font-weight:500; letter-spacing:.03em;
  color:var(--ink-3); white-space:nowrap; border-bottom:2px solid transparent;
  transition:color .3s var(--ease), border-color .3s var(--ease); }
.subnav a:hover{ color:var(--navy); }
.subnav a.is-active{ color:var(--navy); border-bottom-color:var(--red); font-weight:600; }

/* ---------- utilities ---------- */
.stack-sm > * + *{ margin-top:.9rem; }
.stack > * + *{ margin-top:1.5rem; }
.stack-lg > * + *{ margin-top:clamp(28px,3vw,44px); }
.center{ text-align:center; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .mapblock{ grid-template-columns:1fr; }
  .mapside{ position:static; }
  .tl__items{ grid-template-columns:repeat(3,1fr); row-gap:44px; }
  .tl__track{ display:none; }
  .tl__dot{ position:static; margin-bottom:14px; transform:scale(1); }
  .tl__item{ padding-top:0; }
  .tl__marker{ position:static; display:block; margin-bottom:10px; }
}
@media (max-width:960px){
  .nav,.hdr__cta{ display:none; }
  .burger{ display:flex; }
  .hdr__spacer{ flex:1; }
  .g-3,.g-4{ grid-template-columns:repeat(2,1fr); }
  .split,.split--even,.shead--split,.ftr__top{ grid-template-columns:1fr; }
  .shead--split{ align-items:start; }
  
  /* mobile drawer */
  .nav{ position:fixed; inset:0; display:flex; flex-direction:column; align-items:stretch;
    justify-content:flex-start; gap:0; background:var(--canvas); padding:96px var(--gutter) 40px;
    overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(-12px);
    transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s; z-index:-1; }
  .nav-open .nav{ opacity:1; visibility:visible; transform:none; z-index:70; }
  .nav__item{ border-bottom:1px solid var(--line); }
  .nav__link{ width:100%; justify-content:space-between; padding:1.15rem 0;
    font-size:1.12rem; font-family:var(--display); font-weight:600; color:var(--navy);
    letter-spacing:-.015em; }
  .hdr--over .nav__link{ color:var(--navy); }
  .nav__panel{ position:static; transform:none; translate:none; left:auto; opacity:1; visibility:visible; min-width:0;   /* 2026-10-14: translate:none — the desktop centring (translate:-50%) pushed phone sub-menus half off-screen */
    border:0; box-shadow:none; background:none; padding:0 0 .8rem; display:none; }
  .nav__panel::before{ display:none; }
  .nav__item--open .nav__panel{ display:block; }
  .nav__sub{ padding:.62rem 0 .62rem .95rem; border-left:1px solid var(--line); }
  .nav__sub:hover{ background:none; border-left-color:var(--red); }
  .nav__mcta{ display:block; margin-top:2rem; }
}
@media (max-width:640px){
  .g-2,.g-3,.g-4,  .tl__items{ grid-template-columns:1fr; }
  .ftr__cols{ grid-template-columns:1fr; gap:34px; }
  .person{ grid-template-columns:1fr; }
  .hero__meta{ gap:22px 40px; }
  .matrix{ font-size:.79rem; }
  .matrix th,.matrix td{ padding:.72rem .4rem; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .rv{ opacity:1; transform:none; }
}

@media print{
  .hdr,.subnav,.ftr__bar,.btn,.burger{ display:none !important; }
  body{ background:#fff; }
  .section{ padding-block:24px; }
}

/* ============================================================
   Corrections pass
   ============================================================ */

/* the drawer CTA is mobile-only */
.nav__mcta{ display:none; }

/* header logo: give it real presence */
.hdr__logo img{ height:clamp(42px,4vw,56px); }
.hdr--solid .hdr__logo img{ height:clamp(36px,3.2vw,46px); }
.hdr__bar{ --hdr-h:92px; }
.hdr--solid .hdr__bar{ --hdr-h:74px; }

/* --- on-navy contrast --- */
.section--navy .blist li,
.section--navy .mpanel__sum,
.section--navy .card__text{ color:rgba(255,255,255,.7); }
.section--navy .mpanel__lab,
.section--navy .field label{ color:rgba(255,255,255,.5); }
.section--navy .tlink{ color:#fff; border-bottom-color:rgba(255,255,255,.2); }
.section--navy .tlink:hover{ border-bottom-color:var(--red); }
.section--navy .small.muted,
.section--navy .muted{ color:rgba(255,255,255,.55); }
.section--navy .field select,
.section--navy .field input,
.section--navy .field textarea{
  background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:#fff; }
.section--navy .field select option{ color:var(--ink); background:#fff; }
.section--navy .field select:focus{ border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.12); }
.section--navy .mp{ fill:rgba(255,255,255,.13); }
.section--navy .matrix th,.section--navy .matrix td{ border-bottom-color:rgba(255,255,255,.14); }
.section--navy .matrix tbody th{ color:#fff; }
.section--navy .matrix thead th{ color:rgba(255,255,255,.5); border-bottom-color:rgba(255,255,255,.4); }

/* market panel header: stop the long role label from crushing the name */
.mpanel__head{ flex-wrap:wrap; }
.mpanel__role{ white-space:normal; flex:1 1 100%; color:var(--red); margin-top:.15rem; line-height:1.45; }
.section--navy .mpanel__role{ color:var(--gold); }

/* card kicker: single line, never a paragraph of country names */
.card__kicker{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* map: keep the SVG from outgrowing its column on wide screens */
.map__svg{ max-height:min(78vh,760px); width:auto; margin-inline:auto; }
@media (max-width:1080px){ .map__svg{ max-height:none; width:100%; } }

@media (max-width:640px){
  .hero__meta{ display:grid; grid-template-columns:1fr 1fr; gap:26px 20px; }
  .hero__metaItem b{ font-size:1.5rem; }
}

/* map legibility on light sections */
.mp{ fill:#DBDAD2; stroke:#FFFFFF; stroke-width:.8; }
.mp--market{ fill:var(--navy); }
.mp--market.is-dim{ fill:#CFCEC6; }

/* ============================================================
   v2 — restraint pass
   Boxes out, rules and space in. Colour reserved for hairlines.
   ============================================================ */

/* --- logo: lean lockup, no white plate --- */
.hdr__logo img{ height:clamp(36px,3.4vw,46px); }
.hdr--solid .hdr__logo img{ height:clamp(31px,2.9vw,39px); }
.hdr__bar{ --hdr-h:88px; }
.hdr--solid .hdr__bar{ --hdr-h:68px; }
.hdr--over .hdr__logo .logo--light{ display:block; }
.hdr__logo .logo--light{ display:none; }
.ftr__logo{ width:clamp(132px,13vw,168px); background:none; padding:0; border-radius:0;
  margin-bottom:1.9rem; }

/* --- nav: the current page must stay legible over the navy hero --- */
.nav__link[aria-current="page"]{ color:var(--navy); font-weight:600; }
.hdr--over .nav__link[aria-current="page"]{ color:#fff; font-weight:600; }
.nav__link[aria-current="page"]::after{
  content:""; position:absolute; left:0; right:0; bottom:.1rem; height:1px; background:var(--red); }
.nav__item{ position:relative; }

/* --- feature pair: big borderless editorial blocks --- */
.feat{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,4vw,72px) clamp(24px,3.4vw,56px); }
.feat__item{ display:block; }
.feat__fig{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--line-soft);
  margin-bottom:clamp(16px,1.8vw,26px); }
.feat__fig img{ width:100%; height:100%; object-fit:cover;
  transition:transform 1.2s var(--ease), filter .8s var(--ease); filter:saturate(.92); }
.feat__item:hover .feat__fig img{ transform:scale(1.04); filter:saturate(1); }
.feat__kick{ font-size:.69rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); display:block; margin-bottom:.7rem; }
.feat__t{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.35rem,2.1vw,1.85rem); line-height:1.15; letter-spacing:-.022em; margin-bottom:.6rem; }
.feat__b{ font-size:.94rem; line-height:1.6; color:var(--ink-2); max-width:44ch; }
.feat--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:860px){ .feat,.feat--3{ grid-template-columns:1fr; } }

/* --- leadership band --- */
.leads{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(30px,5vw,90px); }
.lead-fig{ width:clamp(96px,9vw,128px); aspect-ratio:1; object-fit:cover; border-radius:50%;
  margin-bottom:clamp(18px,2vw,28px); filter:saturate(.9); }
.lead-name{ font-family:var(--display); font-weight:400; font-size:clamp(1.3rem,2vw,1.75rem);
  letter-spacing:-.022em; color:var(--navy); margin-bottom:.5rem; }
.section--navy .lead-name{ color:#fff; }
.lead-role{ font-size:.69rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--red); margin-bottom:1.1rem; }
.lead-body{ font-size:.95rem; line-height:1.62; color:var(--ink-2); max-width:42ch; }
.section--navy .lead-body{ color:rgba(255,255,255,.7); }
@media (max-width:700px){ .leads{ grid-template-columns:1fr; } }

/* --- hero: nothing behind the words --- */
.hero{ background:var(--navy-deep); }
.hero__rule{ position:absolute; left:0; right:0; top:0; height:1px; background:rgba(255,255,255,.1); }
.hero__title{ font-weight:400; }
.t-display,.t-h1,.t-h2,.t-h3{ font-weight:400; }
.stat__num,.mpanel__name,.card__title,.nlist__t,.tl__t{ font-weight:400; }
.phero{ background:var(--navy); }

/* --- map: one more click target --- */
.mtab--all{ font-weight:600; letter-spacing:.09em; text-transform:uppercase; font-size:.7rem; }
.mpanel--all .mpanel__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem 1.6rem; }
.mpanel--all .mpanel__grid > div{ padding-bottom:.9rem; border-bottom:1px solid var(--line); }
.section--navy .mpanel--all .mpanel__grid > div{ border-bottom-color:rgba(255,255,255,.14); }
.mpanel--all b{ display:block; font-family:var(--display); font-weight:400; font-size:1.02rem;
  color:var(--navy); letter-spacing:-.015em; margin-bottom:.2rem; }
.section--navy .mpanel--all b{ color:#fff; }
.mpanel--all span{ font-size:.78rem; color:var(--ink-3); line-height:1.45; }
.section--navy .mpanel--all span{ color:rgba(255,255,255,.55); }
@media (max-width:520px){ .mpanel--all .mpanel__grid{ grid-template-columns:1fr; } }

/* --- ledger v2: rule above, air around, no cells --- */
.ledger{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,3.2vw,50px) clamp(24px,3.2vw,56px); }
.ledger__item{ position:relative; padding-top:clamp(16px,1.7vw,23px); }
.ledger__item::before{ content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:var(--navy); transform:scaleX(0); transform-origin:left;
  transition:transform .9s var(--ease); }
.ledger__item.is-in::before{ transform:scaleX(1); }
.ledger__item:nth-child(2)::before{ background:var(--red); }
.ledger__item:nth-child(4)::before{ background:var(--red); }
.ledger__item:nth-child(6)::before{ background:var(--gold); }
.ledger__item:nth-child(2){ transition-delay:.08s } .ledger__item:nth-child(3){ transition-delay:.16s }
.ledger__item:nth-child(4){ transition-delay:.24s } .ledger__item:nth-child(5){ transition-delay:.32s }
.ledger__item:nth-child(6){ transition-delay:.4s }
.ledger__v{ display:block; font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.95rem,2.7vw,2.6rem); line-height:1; letter-spacing:-.04em;
  font-variant-numeric:lining-nums tabular-nums; }
.ledger__v small{ font-size:.34em; letter-spacing:.02em; margin:0 .1em; color:var(--ink-3);
  font-family:var(--sans); font-weight:500; text-transform:uppercase; letter-spacing:.12em; }
.ledger__l{ display:block; margin-top:clamp(12px,1.3vw,18px); font-size:.68rem; font-weight:500;
  letter-spacing:.17em; text-transform:uppercase; color:var(--ink-3); line-height:1.5; }
.section--navy .ledger__item::before{ background:rgba(255,255,255,.4); }
.section--navy .ledger__v{ color:#fff; }
.section--navy .ledger__l{ color:rgba(255,255,255,.5); }
@media (max-width:860px){ .ledger{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .ledger{ grid-template-columns:1fr; } }

/* --- placard: borderless, the image does the work --- */
.feat{ gap:clamp(34px,4.4vw,76px) clamp(24px,3.2vw,52px); }
.feat__item{ position:relative; }
.feat__fig{ aspect-ratio:3/2; margin-bottom:clamp(18px,2vw,28px); }
.feat__fig::after{ content:""; position:absolute; inset:auto 0 0 0; height:2px; background:var(--red);
  transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); }
.feat__item:hover .feat__fig::after{ transform:scaleX(1); }
.feat__kick{ font-size:.66rem; letter-spacing:.17em; color:var(--ink-3); margin-bottom:.85rem; }
.feat__t{ font-size:clamp(1.22rem,1.65vw,1.5rem); margin-bottom:.55rem;
  transition:color .35s var(--ease); }
.feat__item:hover .feat__t{ color:var(--red-deep); }
.feat__b{ font-size:.915rem; line-height:1.62; color:var(--ink-2); }
.feat__go{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem;
  font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--navy); opacity:.45; transition:opacity .4s var(--ease), transform .4s var(--ease); }
.feat__item:hover .feat__go{ opacity:1; transform:translateX(4px); }

/* --- footer mark: flat, wide, in the brand colours --- */
.ftr__mark{ display:inline-block; background:#fff; padding:13px 20px; border-radius:6px;
  line-height:0; margin-bottom:1.9rem; }
.ftr__mark img{ width:clamp(158px,15vw,196px); height:auto; display:block; }

/* --- market index rows --- */
.index2{ border-top:1px solid var(--line); }
.index2__row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  align-items:baseline; gap:clamp(14px,2.4vw,40px);
  padding:clamp(17px,1.9vw,25px) 0; border-bottom:1px solid var(--line);
  transition:padding-left .45s var(--ease); }
.index2__row:hover{ padding-left:12px; }
.index2__n{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.02rem,1.35vw,1.22rem); letter-spacing:-.018em; }
.index2__c{ font-size:.78rem; letter-spacing:.055em; color:var(--ink-3); }
.index2__a{ color:var(--navy); opacity:.3; transition:opacity .4s var(--ease); }
.index2__row:hover .index2__a{ opacity:1; }
@media (max-width:640px){ .index2__row{ grid-template-columns:minmax(0,1fr) auto; }
  .index2__c{ display:none; } }

/* --- wide dropdown for the country list --- */
.nav__panel--wide{ min-width:560px; display:grid; grid-template-columns:1fr 1fr; }
.nav__panel--wide .nav__sub:first-child{ grid-column:1 / -1; border-bottom:1px solid var(--line);
  margin-bottom:.35rem; padding-bottom:.85rem; }
@media (max-width:960px){ .nav__panel--wide{ min-width:0; display:block; }
  .nav__panel--wide .nav__sub:first-child{ border-bottom:0; margin-bottom:0; } }

/* --- eras: the story told as capability compounding --- */
.era{ display:grid; grid-template-columns:minmax(0,.3fr) minmax(0,1fr) minmax(0,.68fr);
  gap:clamp(20px,3.4vw,56px); padding:clamp(30px,3.4vw,52px) 0;
  border-top:1px solid var(--line); }
.era:last-child{ border-bottom:1px solid var(--line); }
.era__mark{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.35rem,2.2vw,1.95rem); letter-spacing:-.022em; line-height:1.1; }
.era__period{ display:block; margin-top:.5rem; font-size:.66rem; font-weight:600;
  letter-spacing:.17em; text-transform:uppercase; color:var(--red); }
.era__t{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.12rem,1.5vw,1.35rem); letter-spacing:-.018em; margin-bottom:.75rem; }
.era__b{ font-size:.94rem; line-height:1.66; color:var(--ink-2); }
.era__cap{ font-size:.63rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:.95rem; }
.chips{ display:flex; flex-wrap:wrap; gap:6px; }
.chips span{ font-size:.72rem; letter-spacing:.03em; color:var(--ink-2);
  border:1px solid var(--line); padding:.3rem .62rem; background:var(--paper); }
.chips span.is-new{ border-color:var(--red); color:var(--red-deep); }
@media (max-width:860px){ .era{ grid-template-columns:1fr; gap:18px; }
  .era__period{ display:inline-block; margin-left:.9rem; margin-top:0; } }

/* --- growth bar: capability count across the stages --- */
.growth{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(10px,1.4vw,20px);
  align-items:end; margin-bottom:clamp(30px,3.4vw,50px); }
.growth__col{ text-align:left; }
.growth__bar{ background:var(--navy); height:var(--h); transform:scaleY(0); transform-origin:bottom;
  transition:transform .9s var(--ease); }
.growth.is-in .growth__bar{ transform:scaleY(1); }
.growth__col:nth-child(2) .growth__bar{ transition-delay:.1s }
.growth__col:nth-child(3) .growth__bar{ transition-delay:.2s }
.growth__col:nth-child(4) .growth__bar{ transition-delay:.3s }
.growth__col:nth-child(5) .growth__bar{ background:var(--red); transition-delay:.4s }
.growth__n{ display:block; font-family:var(--display); font-size:1.1rem; color:var(--navy);
  margin-bottom:.5rem; }
.growth__l{ display:block; margin-top:.7rem; font-size:.63rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ink-3); }
@media (max-width:640px){ .growth{ display:none; } }

/* ============================================================
   v6 — founder-led homepage
   ============================================================ */

/* italic accent word inside serif headings */
h1 em,h2 em,h3 em,.hh__title em{ font-style:italic; font-weight:400; color:var(--navy); }
.section--navy h2 em{ color:#fff; }

/* --- heritage hero: light, founders present from the first frame --- */
.hh{ position:relative; background:var(--canvas); overflow:hidden;
  padding:clamp(128px,15vh,168px) 0 clamp(64px,7vw,104px); }
.hh__bar{ position:absolute; inset:0 auto 0 0; width:5px; background:var(--red); }
.hh__grid{ display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(40px,5.5vw,100px); align-items:center; }
.hh__title{ font-family:var(--display); font-weight:400; color:var(--ink);
  font-size:clamp(2.4rem,4.2vw,3.8rem); line-height:1.06; letter-spacing:-.03em;
  margin:0 0 clamp(20px,2.2vw,30px); }
.hh__lead{ font-size:clamp(1rem,1.1vw,1.1rem); line-height:1.7; color:var(--ink-2);
  max-width:54ch; font-weight:350; }
.hh__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(28px,3vw,40px); }
.hh__facts{ display:flex; gap:clamp(26px,3.6vw,56px); margin-top:clamp(40px,4.6vw,64px);
  padding-top:clamp(20px,2.2vw,28px); border-top:1px solid var(--line); }
.hh__fact b{ display:block; font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.6rem,2.3vw,2.1rem); line-height:1; letter-spacing:-.03em; }
.hh__fact span{ display:block; margin-top:.55rem; font-size:.66rem; font-weight:600;
  letter-spacing:.17em; text-transform:uppercase; color:var(--ink-3); }

.hh__people{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2.2vw,34px);
  align-items:start; padding:14px 14px 0 0; }
.pf{ position:relative; margin:0; transform:translate3d(0,var(--py,0px),0); will-change:transform; }
.pf--b{ margin-top:clamp(56px,7vw,110px); }
.pf::before{ content:""; position:absolute; top:-14px; right:-14px; left:14px; aspect-ratio:4/5;
  border:1px solid var(--gold); opacity:0; transition:opacity 1s var(--ease) .6s; }
.pf.is-in::before{ opacity:.75; }
.pf__frame{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--line-soft);
  clip-path:inset(100% 0 0 0); transition:clip-path 1.4s var(--ease); }
.pf.is-in .pf__frame{ clip-path:inset(0 0 0 0); }
.pf--b .pf__frame{ transition-delay:.18s; }
.pf__frame img{ width:100%; height:100%; object-fit:cover; transform:scale(1.14);
  transition:transform 2s var(--ease); filter:saturate(.94); }
.pf.is-in .pf__frame img{ transform:scale(1); }
.pf figcaption{ margin-top:clamp(14px,1.4vw,20px); }
.pf figcaption b{ display:block; font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.02rem,1.3vw,1.18rem); letter-spacing:-.015em; }
.pf figcaption span{ display:block; margin-top:.3rem; font-size:.62rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--red); }

/* --- city marquee --- */
.mq{ overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--paper); padding:clamp(16px,1.7vw,22px) 0; }
.mq__track{ display:flex; align-items:center; gap:clamp(20px,2.4vw,38px); width:max-content;
  animation:mq 80s linear infinite; font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.05rem,1.55vw,1.4rem); color:var(--navy); white-space:nowrap; }
.mq__track i{ font-style:normal; color:var(--red); font-size:.6em; }
.mq:hover .mq__track{ animation-play-state:paused; }
@keyframes mq{ to{ transform:translateX(-50%); } }

/* --- founders --- */
.fdr{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); }
.fdr__col{ padding:clamp(34px,4vw,60px) clamp(0px,3.4vw,56px) clamp(30px,3.4vw,50px) 0; }
.fdr__col + .fdr__col{ padding-left:clamp(24px,3.4vw,56px); border-left:1px solid var(--line); }
.fdr__year{ display:block; font-family:var(--display); font-style:italic; font-weight:300;
  color:var(--gold); font-size:clamp(2.6rem,4.4vw,4rem); line-height:1; letter-spacing:-.03em; }
.fdr__name{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.5rem,2.3vw,2.1rem); letter-spacing:-.024em; margin:clamp(16px,1.8vw,24px) 0 .55rem; }
.fdr__role{ font-size:.66rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase;
  color:var(--red); margin-bottom:clamp(16px,1.6vw,22px); }
.fdr__body{ font-size:.98rem; line-height:1.72; color:var(--ink-2); max-width:50ch; }
.fdr__close{ margin-top:clamp(34px,4vw,56px); max-width:70ch; }
.statement{ margin:clamp(52px,6vw,96px) auto 0; max-width:30em; text-align:center; }
.statement p{ font-family:var(--display); font-style:italic; font-weight:300; color:var(--navy);
  font-size:clamp(1.4rem,2.4vw,2.15rem); line-height:1.32; letter-spacing:-.018em; }
.statement__by{ display:inline-flex; align-items:center; gap:.8rem; margin-top:1.4rem;
  font-size:.64rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-3); }
.statement__by::before,.statement__by::after{ content:""; width:28px; height:1px; background:var(--gold); }
@media (max-width:760px){ .fdr{ grid-template-columns:1fr; }
  .fdr__col + .fdr__col{ padding-left:0; border-left:0; border-top:1px solid var(--line); } }

/* --- horizontal story, pinned on desktop --- */
.hs{ position:relative; background:var(--canvas); }
.hs__sticky{ position:sticky; top:0; height:100vh; overflow:hidden; display:flex; flex-direction:column;
  justify-content:center; padding-top:70px; }
.hs__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem;
  margin-bottom:clamp(28px,3.4vw,52px); }
.hs__hint{ font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); white-space:nowrap; }
.hs__bar{ position:relative; height:1px; background:var(--line); margin-top:1rem; }
.hs__bar i{ position:absolute; inset:0; background:var(--red); transform-origin:left; transform:scaleX(0); }
.hs__track{ display:flex; gap:clamp(22px,2.6vw,40px); width:max-content; will-change:transform;
  padding-inline:max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); }
.hs__panel{ width:clamp(300px,31vw,440px); flex:none; padding:clamp(24px,2.4vw,34px) 0 0;
  border-top:1px solid var(--navy); }
.hs__panel:last-child{ border-top-color:var(--red); }
.hs__mark{ display:block; font-family:var(--display); font-style:italic; font-weight:300;
  color:var(--navy); font-size:clamp(2.6rem,4.2vw,3.8rem); line-height:1; letter-spacing:-.035em; }
.hs__period{ display:block; margin:.9rem 0 1.3rem; font-size:.64rem; font-weight:600; letter-spacing:.17em;
  text-transform:uppercase; color:var(--red); }
.hs__t{ font-family:var(--display); font-weight:400; color:var(--ink); font-size:clamp(1.15rem,1.5vw,1.4rem);
  letter-spacing:-.018em; margin-bottom:.8rem; }
.hs__b{ font-size:.93rem; line-height:1.68; color:var(--ink-2); margin-bottom:1.3rem; }
@media (max-width:860px){
  .hs{ height:auto !important; }
  .hs__sticky{ position:static; height:auto; padding:clamp(64px,9vw,100px) 0; }
  .hs__hint,.hs__bar{ display:none; }
  .hs__track{ flex-direction:column; width:auto; transform:none !important; padding-inline:var(--gutter); }
  .hs__panel{ width:auto; }
}

/* --- country tiles with drawn silhouettes --- */
.ct{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(30px,3.4vw,52px) clamp(20px,2.4vw,38px); }
.ct__tile{ display:flex; flex-direction:column; padding-top:clamp(20px,2vw,28px);
  border-top:1px solid var(--line); transition:border-color .45s var(--ease); }
.ct__tile:hover{ border-top-color:var(--red); }
.ct__shape{ height:clamp(62px,6vw,84px); width:auto; max-width:100%; margin-bottom:clamp(18px,1.9vw,26px);
  overflow:visible; align-self:flex-start; }
.ct__shape path{ fill:rgba(18,57,126,0); stroke:var(--navy); stroke-width:1.2; vector-effect:non-scaling-stroke;
  stroke-dasharray:1; stroke-dashoffset:1; stroke-linejoin:round;
  transition:stroke-dashoffset 1.8s var(--ease), fill .9s var(--ease) 1s; }
.ct__tile.is-in .ct__shape path{ stroke-dashoffset:0; fill:rgba(18,57,126,.1); }
.ct__tile:hover .ct__shape path{ fill:rgba(234,36,37,.16); stroke:var(--red); transition-delay:0s; }
.ct__name{ font-family:var(--display); font-weight:400; color:var(--navy);
  font-size:clamp(1.1rem,1.45vw,1.3rem); letter-spacing:-.018em; margin-bottom:.4rem; }
.ct__role{ font-size:.62rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--red); margin-bottom:.8rem; line-height:1.5; }
.ct__cities{ font-size:.8rem; color:var(--ink-3); margin-bottom:1rem; line-height:1.5; }
.ct__acts{ font-size:.85rem; line-height:1.55; color:var(--ink-2); margin-bottom:1.2rem; }
.ct__acts li{ padding-left:.95rem; position:relative; margin-bottom:.35rem; }
.ct__acts li::before{ content:""; position:absolute; left:0; top:.62em; width:4px; height:4px;
  border-radius:50%; background:var(--red); }
.ct__go{ margin-top:auto; display:inline-flex; align-items:center; gap:.5rem; font-size:.66rem; font-weight:600;
  letter-spacing:.15em; text-transform:uppercase; color:var(--navy); opacity:.5;
  transition:opacity .4s var(--ease), transform .4s var(--ease); }
.ct__tile:hover .ct__go{ opacity:1; transform:translateX(4px); }
@media (max-width:1000px){ .ct{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .ct{ grid-template-columns:1fr; } }

@media (max-width:960px){
  .hh__grid{ grid-template-columns:1fr; }
  .hh__people{ max-width:560px; }
}
@media (max-width:520px){ .hh__facts{ gap:22px; } .pf--b{ margin-top:48px; } }
@media (prefers-reduced-motion:reduce){ .mq__track{ animation:none; } .pf__frame{ clip-path:none; } }

/* --- masked word reveal for the hero headline --- */
.hh__title .w{ display:inline-block; overflow:hidden; vertical-align:top;
  padding-bottom:.1em; margin-bottom:-.1em; }
.hh__title .w > span{ display:inline-block; transform:translate3d(0,108%,0);
  transition:transform 1.05s var(--ease) calc(var(--i) * 65ms + 120ms); }
.hh.is-ready .hh__title .w > span{ transform:none; }

/* red hairline draws under italic accents as a heading comes in */
.shead__title em,.hs__head h2 em{ background:linear-gradient(var(--red),var(--red)) no-repeat 0 94% / 0 1px;
  transition:background-size 1.3s var(--ease) .35s; }
.rv.is-in .shead__title em,.hs.is-in .hs__head h2 em{ background-size:100% 1px; }

/* --- S & R: the two founders spell the name --- */
.fdr{ position:relative; overflow:hidden; }
.fdr__col{ position:relative; z-index:1; }
.fdr__init{ position:absolute; top:50%; z-index:0; font-family:var(--display); font-weight:300;
  font-size:clamp(14rem,26vw,24rem); line-height:.8; color:var(--navy); opacity:0; pointer-events:none;
  letter-spacing:-.06em; transition:opacity 1.6s var(--ease), transform 1.8s var(--ease); }
.fdr__init--s{ left:-2%; transform:translate3d(-8%,-46%,0); }
.fdr__init--r{ right:-1%; transform:translate3d(8%,-46%,0); }
.fdr.is-in .fdr__init{ opacity:.06; transform:translate3d(0,-50%,0); }
.fdr__amp{ position:absolute; left:50%; top:50%; z-index:2; width:clamp(58px,5.6vw,78px);
  aspect-ratio:1; border-radius:50%; background:#fff; border:1px solid var(--gold);
  display:grid; place-items:center; font-family:var(--display); font-style:italic; font-weight:300;
  font-size:clamp(1.9rem,2.8vw,2.5rem); color:var(--gold); line-height:1;
  transform:translate(-50%,-50%) scale(.4) rotate(-20deg); opacity:0;
  transition:transform 1.1s var(--ease) .5s, opacity .8s var(--ease) .5s; }
.fdr.is-in .fdr__amp{ transform:translate(-50%,-50%) scale(1) rotate(0); opacity:1; }
@media (max-width:760px){ .fdr__amp{ display:none; } .fdr__init{ font-size:12rem; } }

/* --- statement lights up word by word as it scrolls through --- */
.statement .sw{ color:#CFD3DC; transition:color .5s var(--ease); }
.statement .sw.on{ color:var(--navy); }

/* --- image clip reveal --- */
.imgreveal img,.feat__fig{ clip-path:inset(0 0 100% 0); transition:clip-path 1.3s var(--ease); }
.imgreveal.is-in img,.feat__item.is-in .feat__fig{ clip-path:inset(0 0 0 0); }

/* story chips arrive one after another */
.hs__panel .chips span{ opacity:0; transform:translateY(6px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.hs__panel.is-in .chips span{ opacity:1; transform:none; }
.hs__panel.is-in .chips span:nth-child(2){ transition-delay:.06s } .hs__panel.is-in .chips span:nth-child(3){ transition-delay:.12s }
.hs__panel.is-in .chips span:nth-child(4){ transition-delay:.18s } .hs__panel.is-in .chips span:nth-child(5){ transition-delay:.24s }
.hs__panel.is-in .chips span:nth-child(6){ transition-delay:.3s } .hs__panel.is-in .chips span:nth-child(7){ transition-delay:.36s }
.hs__panel.is-in .chips span:nth-child(8){ transition-delay:.42s }

@media (prefers-reduced-motion:reduce){
  .hh__title .w > span{ transform:none; }
  .imgreveal img,.feat__fig{ clip-path:none; }
  .statement .sw{ color:var(--navy); }
}

/* bigger founder frames */
.hh__grid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,4.4vw,80px); }
.hh__people{ gap:clamp(20px,2.4vw,38px); }
.pf--b{ margin-top:clamp(64px,8vw,124px); }
.hh__title{ font-size:clamp(2.3rem,3.9vw,3.5rem); }
.person__img{ object-position:50% 22%; }

/* mobile: must come after the desktop hero sizing above */
@media (max-width:960px){
  .hh__grid{ grid-template-columns:1fr; gap:48px; }
  .hh__people{ max-width:600px; }
}
@media (max-width:520px){
  .hh{ padding-top:112px; }
  .hh__people{ gap:14px; padding:12px 12px 0 0; }
  .pf--b{ margin-top:56px; }
  .pf figcaption span{ font-size:.56rem; letter-spacing:.12em; }
}

/* ===== v7 ===== */
.hh__grid{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.hh__people{ max-width:520px; margin-left:auto; }
.pf{ max-width:250px; }
@keyframes floatA{ 0%,100%{ translate:0 0 } 50%{ translate:0 -10px } }
@keyframes floatB{ 0%,100%{ translate:0 0 } 50%{ translate:0 10px } }
.pf.is-in .pf__frame{ animation:floatA 7s ease-in-out 1.6s infinite; }
.pf--b.is-in .pf__frame{ animation-name:floatB; }
.pf::before{ transform:scale(.92); transform-origin:top right; transition:opacity 1s var(--ease) .7s, transform 1.4s var(--ease) .7s; }
.pf.is-in::before{ transform:none; }
.hh__copy > *{ animation:rise 1.1s var(--ease) both; }
.hh__copy > *:nth-child(3){ animation-delay:.35s } .hh__copy > *:nth-child(4){ animation-delay:.5s }
.hh__copy > *:nth-child(5){ animation-delay:.65s }
@keyframes rise{ from{ opacity:0; transform:translateY(26px) } to{ opacity:1; transform:none } }
.hh::after{ content:""; position:absolute; right:-10%; top:-20%; width:55vw; aspect-ratio:1; pointer-events:none;
  background:radial-gradient(circle, rgba(184,151,79,.12), transparent 62%); animation:glow 12s ease-in-out infinite; }
@keyframes glow{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(40px) } }
.mq{ background:var(--navy-deep); border:0; padding:clamp(18px,1.9vw,24px) 0; }
.mq__track{ gap:clamp(34px,3.6vw,56px); font-family:var(--sans); font-style:normal; animation-duration:55s; }
.mq__item{ display:inline-flex; align-items:center; gap:.8rem; color:#fff; }
.mq__item img{ width:30px; height:20px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px rgba(255,255,255,.2); }
.mq__item b{ font-weight:600; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; }
.mq__item span{ font-family:var(--display); font-style:italic; font-size:1rem; color:rgba(255,255,255,.55); }
.mq__item:hover b{ color:var(--gold); }
.hs--grid{ padding-block:var(--sec-y); height:auto !important; }
.hs--grid .hs__sticky{ position:static; height:auto; padding:0; display:block; }
.hs--grid .hs__track{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:auto; transform:none !important;
  gap:clamp(16px,1.8vw,28px); padding-inline:max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); }
.hs--grid .hs__panel{ width:auto; }
.hs--grid .hs__mark{ font-size:clamp(1.9rem,2.6vw,2.5rem); }
.hs--grid .hs__t{ font-size:1.05rem; }
.hs--grid .hs__b{ font-size:.86rem; line-height:1.6; }
.hs--grid .chips span{ font-size:.66rem; padding:.24rem .5rem; }
@media (max-width:1080px){ .hs--grid .hs__track{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .hs--grid .hs__track{ grid-template-columns:1fr; } }
@media (max-width:960px){ .hh__grid{ grid-template-columns:1fr; } .hh__people{ margin-left:0; } }
@media (prefers-reduced-motion:reduce){ .pf__frame,.hh::after,.hh__copy > *{ animation:none !important; } }

/* ===== v8: sharp medallions, gold orbit ===== */
.hh__people{ position:relative; max-width:560px; min-height:520px; display:block; padding:0; }
.pf{ position:absolute; max-width:none; width:clamp(190px,17vw,250px); }
.pf--a{ left:4%; top:0; } .pf--b{ right:0; top:clamp(200px,17vw,250px); margin-top:0; }
.pf__frame{ aspect-ratio:1; border-radius:50%; clip-path:circle(0% at 50% 50%); transition:clip-path 1.5s var(--ease);
  box-shadow:0 30px 60px -28px rgba(11,34,85,.45); }
.pf.is-in .pf__frame{ clip-path:circle(50% at 50% 50%); }
.pf__frame img{ filter:none; }
.pf::before{ top:-12px; left:-12px; right:-12px; aspect-ratio:1; border-radius:50%; border:1px solid var(--gold);
  background:radial-gradient(circle, rgba(184,151,79,.16), rgba(184,151,79,0) 70%); z-index:-1; }
.pf figcaption{ text-align:center; }
.orbit{ position:absolute; left:50%; top:50%; width:118%; aspect-ratio:1; translate:-50% -46%;
  border:1px dashed rgba(184,151,79,.45); border-radius:50%; animation:spin 60s linear infinite; pointer-events:none; }
.orbit i{ position:absolute; top:-5px; left:50%; width:10px; height:10px; border-radius:50%; background:var(--red);
  box-shadow:0 0 0 6px rgba(234,36,37,.15); }
@keyframes spin{ to{ transform:rotate(360deg); } }
.hh__title{ font-size:clamp(2.5rem,4.4vw,4rem); }
.hh__title em{ background:linear-gradient(transparent 72%, rgba(184,151,79,.22) 72%); }
@media (max-width:960px){ .hh__people{ min-height:480px; margin-inline:auto; } .orbit{ width:100%; } }
@media (max-width:520px){ .hh__people{ min-height:420px; } .pf{ width:170px; } .pf--b{ top:190px; } }
@media (prefers-reduced-motion:reduce){ .orbit{ animation:none; } .pf__frame{ clip-path:none; } }
.hh__people{ width:100%; }
.pf--b{ top:clamp(230px,19vw,280px); } .hh__people{ min-height:560px; }
/* italic overhang was clipped by the word mask; blocky highlight removed */
.hh__title .w{ padding-right:.12em; margin-right:-.12em; padding-left:.04em; margin-left:-.04em; }
.hh__title em{ background:none; color:var(--navy); }

/* ===== v9: language switch + hero lift ===== */
.lang{ display:flex; align-items:center; gap:.45rem; font-size:.72rem; font-weight:600; letter-spacing:.12em; }
.lang a{ color:var(--ink-3); padding:.3rem .1rem; border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease); }
.lang a:hover{ color:var(--navy); }
.lang a[aria-current]{ color:var(--navy); border-bottom-color:var(--red); }
.lang span{ color:var(--line); }
.hdr--over .lang a{ color:rgba(255,255,255,.6); } .hdr--over .lang a[aria-current]{ color:#fff; }
@media (max-width:960px){ .lang{ margin-left:auto; margin-right:.4rem; } }

/* gold rule draws under the founders' phrase once the headline has landed */
.hh__title em{ background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 94% / 0 2px;
  transition:background-size 1s var(--ease) 1.25s; }
.hh.is-ready .hh__title em{ background-size:100% 2px; }

/* hero figures: larger, divided by gold hairlines */
.hh__facts{ gap:0; border-top-color:rgba(184,151,79,.45); }
.hh__fact{ padding-right:clamp(22px,3vw,44px); }
.hh__fact + .hh__fact{ padding-left:clamp(22px,3vw,44px); border-left:1px solid rgba(184,151,79,.45); }
.hh__fact b{ font-size:clamp(2rem,3vw,2.7rem); }

/* ============================================================
   v10 — S & R: the monogram opens into the two founders
   ============================================================ */
.hx{ position:relative; background:var(--canvas); overflow:hidden;
  padding:clamp(112px,13vh,140px) 0 clamp(52px,6vw,84px); }
.hx::before{ content:""; position:absolute; left:50%; top:34%; width:min(1100px,110vw); aspect-ratio:1;
  translate:-50% -50%; pointer-events:none;
  background:radial-gradient(circle, rgba(184,151,79,.13), rgba(184,151,79,0) 58%); }
.hx__top{ display:flex; justify-content:space-between; align-items:center; gap:1rem; position:relative; z-index:2; }
.hx__top .eyebrow{ margin:0; }
.hx__clock{ display:inline-flex; align-items:center; gap:.55rem; margin:0; font-size:.68rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); }
.hx__clock i{ width:7px; height:7px; border-radius:50%; background:var(--red); animation:pulse 2.4s var(--ease) infinite; }
.hx__clock b{ font-family:var(--display); font-weight:400; font-size:1.05rem; letter-spacing:.02em; color:var(--navy);
  font-variant-numeric:tabular-nums; }
.hx__clock em{ font-style:normal; color:var(--ink-3); }
.hx__mono{ position:relative; z-index:1; display:grid; grid-template-columns:1fr auto 1fr; align-items:start;
  margin:clamp(24px,3vw,44px) auto 0; max-width:1000px; }
.hx__fdr{ position:relative; margin:0; display:flex; flex-direction:column; align-items:center; text-align:center; }
.hx__letter{ position:absolute; top:clamp(-40px,-3vw,-20px); left:50%; z-index:0; pointer-events:none;
  font-family:var(--display); font-weight:300; line-height:.78; letter-spacing:-.06em;
  font-size:clamp(15rem,27vw,24rem); color:var(--navy);
  -webkit-text-stroke:1px rgba(184,151,79,0);
  transform:translate(-50%,0) translateX(var(--dx,0px));
  transition:transform 1.7s cubic-bezier(.7,0,.2,1), color 1.2s var(--ease) .75s, -webkit-text-stroke-color 1.2s var(--ease) .75s; }
.hx--closed .hx__letter{ transition:none; }
.hx:not(.hx--closed) .hx__letter{ color:rgba(18,57,126,.045); -webkit-text-stroke-color:rgba(184,151,79,.55); }
.hx__face{ position:relative; z-index:1; width:clamp(150px,15vw,210px); aspect-ratio:1; border-radius:50%;
  margin-top:clamp(40px,4.4vw,64px); box-shadow:0 34px 70px -34px rgba(11,34,85,.55), 0 0 0 1px rgba(184,151,79,.55), 0 0 0 10px var(--canvas), 0 0 0 11px rgba(184,151,79,.35);
  overflow:hidden; opacity:0; transform:scale(.72); transition:opacity .9s var(--ease) 1.15s, transform 1.3s cubic-bezier(.2,.9,.25,1.15) 1.15s; }
.hx__face img{ width:100%; height:100%; object-fit:cover; }
.hx:not(.hx--closed) .hx__face{ opacity:1; transform:none; }
.hx__fdr figcaption{ position:relative; z-index:1; margin-top:clamp(18px,2vw,26px); display:flex; flex-direction:column; align-items:center; }
.hx__name{ font-family:var(--display); font-weight:400; color:var(--navy); font-size:clamp(1.2rem,1.7vw,1.55rem);
  letter-spacing:-.018em; opacity:0; transform:translateY(14px); transition:opacity .8s var(--ease) 1.65s, transform .9s var(--ease) 1.65s; }
.hx__sig{ font-family:'Signature', cursive; font-size:clamp(2rem,3.2vw,2.9rem); line-height:1.1; color:var(--navy);
  margin:.1rem 0 .2rem; clip-path:inset(0 100% 0 0); transition:clip-path 2.2s cubic-bezier(.45,.05,.25,1) 2.05s; }
.hx__role{ font-size:.6rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; color:var(--red);
  opacity:0; transition:opacity .8s var(--ease) 2.4s; }
.hx:not(.hx--closed) .hx__name{ opacity:1; transform:none; }
.hx:not(.hx--closed) .hx__sig{ clip-path:inset(0 -10% 0 0); }
.hx:not(.hx--closed) .hx__role{ opacity:1; }
.hx__amp{ align-self:center; margin-top:clamp(40px,4vw,70px); padding:0 clamp(18px,3vw,50px);
  font-family:var(--display); font-style:italic; font-weight:300; color:var(--gold);
  font-size:clamp(4rem,7vw,6.6rem); line-height:1; opacity:0; transform:scale(.3) rotate(-18deg);
  transition:opacity .9s var(--ease) .95s, transform 1.4s cubic-bezier(.2,.9,.25,1.2) .95s; }
.hx:not(.hx--closed) .hx__amp{ opacity:1; transform:none; }
.hx__copy{ position:relative; z-index:1; text-align:center; max-width:880px; margin:clamp(36px,4.4vw,64px) auto 0; }
.hx__title{ font-family:var(--display); font-weight:400; color:var(--ink); margin:0 0 clamp(16px,1.8vw,24px);
  font-size:clamp(2rem,3.5vw,3.2rem); line-height:1.08; letter-spacing:-.028em; }
.hx.is-ready .hh__title .w > span{ transform:none; }
.hx.is-ready .hh__title em{ background-size:100% 2px; }
.hx__lead{ font-size:clamp(.98rem,1.08vw,1.08rem); line-height:1.7; color:var(--ink-2); max-width:62ch; margin:0 auto; font-weight:350;
  opacity:0; transform:translateY(16px); transition:opacity 1s var(--ease) 1s, transform 1s var(--ease) 1s; }
.hx__actions{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:clamp(24px,2.6vw,34px);
  opacity:0; transform:translateY(16px); transition:opacity 1s var(--ease) 1.2s, transform 1s var(--ease) 1.2s; }
.hx.is-ready .hx__lead,.hx.is-ready .hx__actions{ opacity:1; transform:none; }
.hx__stats{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:clamp(44px,5vw,72px); border-top:1px solid rgba(184,151,79,.45); }
.hx__stat{ padding:clamp(18px,2vw,26px) clamp(10px,1.6vw,24px) 0; text-align:center; }
.hx__stat + .hx__stat{ border-left:1px solid rgba(184,151,79,.3); }
.hx__stat b{ display:block; font-family:var(--display); font-weight:400; color:var(--navy); line-height:1;
  font-size:clamp(1.9rem,2.8vw,2.6rem); letter-spacing:-.03em; font-variant-numeric:tabular-nums lining-nums; }
.hx__stat span{ display:block; margin-top:.6rem; font-size:.62rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-3); }
@media (max-width:760px){
  .hx__top{ flex-direction:column; align-items:flex-start; gap:.8rem; }
  .hx__letter{ font-size:clamp(9rem,40vw,12rem); top:-10px; }
  .hx__face{ width:clamp(112px,32vw,150px); margin-top:34px; }
  .hx__amp{ font-size:3rem; padding:0 6px; margin-top:50px; }
  .hx__sig{ font-size:1.7rem; }
  .hx__name{ font-size:1rem; }
  .hx__role{ font-size:.52rem; letter-spacing:.1em; }
  .hx__stats{ grid-template-columns:1fr 1fr; }
  .hx__stat:nth-child(3){ border-left:0; }
  .hx__stat:nth-child(n+3){ border-top:1px solid rgba(184,151,79,.3); margin-top:18px; }
}

/* --- brand film --- */
.film{ position:relative; overflow:hidden; background:#07173A; color:#fff; min-height:clamp(560px,82vh,780px);
  display:flex; align-items:center; isolation:isolate; }
.film__stage{ position:absolute; inset:0; z-index:-2; }
.film__svg{ width:100%; height:100%; animation:filmDrift 34s ease-in-out infinite alternate; transform-origin:62% 48%; }
@keyframes filmDrift{ from{ transform:scale(1.02) translate(0,0) } to{ transform:scale(1.14) translate(-2.5%,1.5%) } }
.film__veil{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg, rgba(7,23,58,.94) 0%, rgba(7,23,58,.72) 34%, rgba(7,23,58,.08) 68%),
             radial-gradient(120% 90% at 70% 50%, transparent 55%, rgba(4,14,36,.7) 100%); }
.fland path{ fill:rgba(255,255,255,.035); stroke:rgba(255,255,255,.1); stroke-width:.8; }
.fmk path{ fill:rgba(184,151,79,.12); stroke:rgba(184,151,79,.5); stroke-width:.9; }
.fa{ fill:none; stroke:var(--gold); stroke-width:1.3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:.85;
  animation:route 9s cubic-bezier(.55,0,.25,1) infinite; }
@keyframes route{ 0%{ stroke-dashoffset:1; opacity:0 } 6%{ opacity:.9 } 38%{ stroke-dashoffset:0; opacity:.9 }
  80%{ stroke-dashoffset:0; opacity:.55 } 100%{ stroke-dashoffset:0; opacity:0 } }
.fp{ fill:#fff; filter:drop-shadow(0 0 4px rgba(255,255,255,.9)); }
.fn{ opacity:0; animation:nodeIn 9s ease-in-out infinite; }
@keyframes nodeIn{ 0%,20%{ opacity:0 } 30%,85%{ opacity:1 } 100%{ opacity:0 } }
.fn__dot{ fill:var(--red); }
.fn__ring{ fill:none; stroke:rgba(234,36,37,.6); stroke-width:1; transform-box:fill-box; transform-origin:center;
  animation:ring 2.4s ease-out infinite; }
@keyframes ring{ from{ transform:scale(.4); opacity:1 } to{ transform:scale(2.2); opacity:0 } }
.fh__dot{ fill:#fff; }
.fh__ring{ fill:none; stroke:rgba(255,255,255,.6); stroke-width:1.2; transform-box:fill-box; transform-origin:center;
  animation:ring 3s ease-out infinite; }
.fh__ring--2{ animation-delay:1.5s; }
.fl{ font-family:var(--sans); font-size:17px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  fill:rgba(255,255,255,.78); opacity:0; animation:nodeIn 9s ease-in-out infinite; }
.fl--hub{ font-size:20px; fill:#fff; opacity:1; animation:none; }
.film__copy{ position:relative; max-width:var(--maxw); }
.film__copy > *{ max-width:520px; }
.film__logo{ width:clamp(96px,9vw,128px); height:auto; margin-bottom:clamp(26px,3vw,40px); }
.film__title{ font-family:var(--display); font-weight:400; color:#fff; font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1.12; letter-spacing:-.025em; margin-bottom:1.2rem; }
.film__lead{ color:rgba(255,255,255,.66); font-size:clamp(.95rem,1.05vw,1.05rem); line-height:1.7; }
@media (max-width:760px){
  .film__veil{ background:linear-gradient(180deg, rgba(7,23,58,.2) 0%, rgba(7,23,58,.92) 62%); }
  .film{ align-items:flex-end; padding-bottom:48px; }
}

/* --- founder quotes --- */
.fdr__quote{ margin:clamp(22px,2.4vw,32px) 0 0; padding-left:1.1rem; border-left:2px solid var(--gold); max-width:46ch; }
.fdr__quote p{ font-family:var(--display); font-style:italic; font-weight:300; color:var(--navy);
  font-size:clamp(1.12rem,1.5vw,1.35rem); line-height:1.4; letter-spacing:-.012em; margin:0 0 .6rem; }
.fdr__quote cite{ font-style:normal; font-size:.62rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); }

@media (prefers-reduced-motion:reduce){
  .film__svg,.fa,.fn,.fl,.fn__ring,.fh__ring{ animation:none !important; }
  .fa{ stroke-dashoffset:0; } .fn,.fl{ opacity:1; }
  .hx__sig{ clip-path:none; }
}
.hx__copy{ max-width:1040px; } .hx__title,.film__title,.t-h2{ text-wrap:balance; }
.film__svg{ animation-name:filmDrift2; transform-origin:70% 50%; }
@keyframes filmDrift2{ from{ transform:scale(1) } to{ transform:scale(1.07) translate(-1.5%,.8%) } }

/* film on phones: map on top, copy underneath, nothing overlapping */
@media (max-width:760px){
  .film{ display:block; min-height:0; padding:0 0 52px; }
  .film__stage{ position:relative; inset:auto; height:clamp(300px,90vw,380px); z-index:0; }
  .film__veil{ inset:auto 0 auto 0; top:calc(clamp(300px,90vw,380px) - 120px); height:120px; z-index:1;
    background:linear-gradient(180deg, rgba(7,23,58,0), #07173A); }
  .film__copy{ position:relative; z-index:2; margin-top:-18px; }
  .film__logo{ width:92px; margin-bottom:22px; }
  .fl{ font-size:24px; }
}

/* film: every city and its label stays on screen once it arrives; only the routes loop */
.fn,.fl{ animation:nodeOnce 1.2s ease forwards; }
@keyframes nodeOnce{ from{ opacity:0 } to{ opacity:1 } }
@media (min-width:761px){ .film__copy > *{ max-width:460px; } }

/* ============================================================
   BONY — house of spirits. Scoped to .bony-body.
   Cellar black, amber light, Bony red, gold foil.
   ============================================================ */
.bony-body{ --bk:#0D0907; --bk2:#15100D; --bk3:#1D1612; --bred:#E1262D; --bgold:#C9A45C; --bgold2:#E7CD8E;
  --amber:#D48B2C; --smoke:rgba(255,246,235,.64); --faint:rgba(255,246,235,.14);
  background:var(--bk); color:#FFF6EB; }
.bony-body ::selection{ background:var(--bred); color:#fff; }
.bony-body .wrap{ max-width:1320px; }
.beyebrow{ display:flex; align-items:center; gap:.8rem; margin:0 0 1.2rem; font-size:.7rem; font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--bgold); }
.beyebrow::before{ content:""; width:28px; height:1px; background:var(--bred); }
.beyebrow--ink{ color:#8A6A2E; }
.bh1{ font-family:var(--display); font-weight:400; font-size:clamp(2.6rem,5.4vw,4.8rem); line-height:1.02;
  letter-spacing:-.03em; color:#FFF6EB; margin:0 0 1.2rem; }
.bh2{ font-family:var(--display); font-weight:400; font-size:clamp(1.9rem,3.4vw,3rem); line-height:1.08;
  letter-spacing:-.025em; color:#FFF6EB; margin:0 0 1.2rem; text-wrap:balance; }
.bh2 em{ font-style:italic; font-weight:300; color:var(--bgold2); }
.bh2--ink{ color:#1A1310; } .bh2--ink em{ color:var(--bred); }
.blead{ font-size:clamp(1rem,1.12vw,1.1rem); line-height:1.75; color:var(--smoke); max-width:58ch; font-weight:350; }
.blead--ink{ color:#5A4C42; }
.bsec{ position:relative; padding-block:clamp(84px,10vw,150px); }
.bsec--tight{ padding-block:clamp(40px,5vw,70px); }
.bsec--dark{ background:var(--bk); }
.bsec--paper{ background:#FFFFFF; color:#1A1310; }
.bsec--cellar{ background:radial-gradient(120% 70% at 50% 0%, #2A1B10 0%, var(--bk2) 45%, var(--bk) 100%); }
.bsec--gold{ background:linear-gradient(180deg, var(--bk) 0%, #1B140C 50%, var(--bk) 100%); }
.bsec--flush{ padding-bottom:0; background:var(--bk); }
.bhead{ max-width:760px; margin-bottom:clamp(40px,5vw,72px); }
.bhead--row{ max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; }
.bhead--row .blead{ margin:0; max-width:34ch; }
.bsplit{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px,6vw,110px); align-items:center; }
.bcenter{ text-align:center; margin-top:clamp(40px,5vw,64px); }
.bbtn{ display:inline-flex; align-items:center; gap:.7rem; padding:1rem 1.8rem; background:var(--bred); color:#fff;
  font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; border:1px solid var(--bred);
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease); }
.bbtn:hover{ background:#fff; color:var(--bk); border-color:#fff; }
.bbtn--ghost{ background:transparent; border-color:rgba(255,246,235,.45); }
.bbtn--ghost:hover{ background:#FFF6EB; color:var(--bk); }

/* header */
.bh{ position:fixed; inset:0 0 auto; z-index:80; transition:background .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent; }
.bh--solid{ background:rgba(13,9,7,.9); backdrop-filter:blur(14px); border-bottom-color:var(--faint); }
.bh__bar{ display:flex; align-items:center; gap:clamp(16px,2.6vw,40px); height:78px; }
.bh__brand{ display:flex; align-items:center; gap:.7rem; }
.bh__mark{ width:40px; height:40px; }
.bh__brand span{ font-weight:700; letter-spacing:.2em; font-size:1rem; color:#fff; }
.bh__nav{ display:flex; gap:clamp(14px,2.2vw,32px); margin-left:auto; }
.bh__nav a{ font-size:.8rem; font-weight:500; letter-spacing:.06em; color:var(--smoke); padding:.4rem 0; border-bottom:1px solid transparent;
  transition:color .3s var(--ease), border-color .3s var(--ease); }
.bh__nav a:hover{ color:#fff; } .bh__nav a[aria-current]{ color:#fff; border-bottom-color:var(--bred); }
.bony-body .lang a{ color:var(--smoke); } .bony-body .lang a[aria-current]{ color:#fff; } .bony-body .lang span{ color:var(--faint); }
.bh__back{ font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bgold);
  padding:.55rem .9rem; border:1px solid rgba(201,164,92,.4); transition:background .3s var(--ease), color .3s var(--ease); }
.bh__back:hover{ background:var(--bgold); color:var(--bk); }
@media (max-width:980px){
  .bh__bar{ flex-wrap:wrap; height:auto; padding-block:12px; row-gap:6px; }
  .bh__nav{ order:3; width:100%; margin:0; overflow-x:auto; scrollbar-width:none; gap:20px; }
  .bh__back{ display:none; } .bony-body .lang{ margin-left:auto; }
}

/* age gate */
.gate{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px;
  background:radial-gradient(90% 70% at 50% 40%, rgba(225,38,45,.18), transparent 60%), rgba(8,5,4,.94);
  backdrop-filter:blur(10px); animation:gateIn .6s var(--ease); }
.gate[hidden]{ display:none; }
@keyframes gateIn{ from{ opacity:0 } to{ opacity:1 } }
.gate.is-leaving{ opacity:0; transition:opacity .6s var(--ease); }
.gate__card{ width:min(520px,100%); text-align:center; padding:clamp(34px,5vw,56px) clamp(24px,4vw,48px);
  border:1px solid rgba(201,164,92,.35); background:linear-gradient(180deg,#1B130E,#0F0A08);
  box-shadow:0 40px 120px -40px rgba(0,0,0,.9); }
.gate__mark{ width:72px; height:72px; margin:0 auto 1.2rem; }
.gate__script{ font-family:'Signature',cursive; font-size:2.4rem; color:var(--bgold2); margin:0 0 1.2rem; line-height:1; }
.gate__q{ font-family:var(--display); font-size:clamp(1.2rem,2vw,1.5rem); line-height:1.3; margin:0 0 1.8rem; color:#FFF6EB; }
.gate__btns{ display:flex; gap:12px; justify-content:center; }
.gate__btns button{ min-width:130px; padding:.95rem 1.4rem; font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.gate__yes{ background:var(--bred); color:#fff; border:1px solid var(--bred); }
.gate__yes:hover{ background:#fff; color:var(--bk); border-color:#fff; }
.gate__no{ background:transparent; color:var(--smoke); border:1px solid var(--faint); }
.gate__sorry{ margin:1.4rem 0 0; color:var(--smoke); font-size:.9rem; } .gate__sorry a{ color:var(--bgold2); text-decoration:underline; }
.gate__warn{ margin:1.8rem 0 0; padding-top:1.2rem; border-top:1px solid var(--faint); font-size:.68rem; letter-spacing:.06em; color:rgba(255,246,235,.5); }
html.gate-open{ overflow:hidden; }

/* hero */
.bhx{ position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate;
  padding:140px 0 clamp(60px,8vw,110px); }
.bhx__v{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transform:scale(1.04);
  animation:bhxZoom 24s ease-in-out infinite alternate; }
@keyframes bhxZoom{ to{ transform:scale(1.12) translate(-1%,1%); } }
.bhx__veil{ position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(13,9,7,.92) 0%, rgba(13,9,7,.55) 45%, rgba(13,9,7,.15) 75%),
             linear-gradient(0deg, rgba(13,9,7,.95) 0%, transparent 45%); }
.bhx__title{ margin:0 0 1.4rem; line-height:.9; }
.bhx__script{ display:block; font-family:'Signature',cursive; font-weight:400; color:var(--bgold2);
  font-size:clamp(3.4rem,7.2vw,6.8rem); line-height:1; margin-bottom:.1em; clip-path:inset(0 100% 0 0);
  animation:write 2.2s cubic-bezier(.45,.05,.25,1) .5s forwards; }
@keyframes write{ to{ clip-path:inset(0 -10% 0 0); } }
.bhx__big{ display:block; font-size:clamp(3.6rem,9vw,8.4rem); letter-spacing:-.03em; opacity:0; transform:translateY(30px);
  animation:rise 1.2s var(--ease) 1.8s forwards; }
.bhx__big em{ font-family:var(--display); font-style:italic; font-weight:300; color:#FFF6EB; }
.bhx__big b{ font-family:var(--sans); font-weight:700; letter-spacing:.02em; color:var(--bred); }
.bhx__lead{ max-width:46ch; font-size:clamp(1.02rem,1.2vw,1.16rem); line-height:1.7; color:var(--smoke);
  opacity:0; animation:rise 1s var(--ease) 2.4s forwards; }
.bhx__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:2rem; opacity:0; animation:rise 1s var(--ease) 2.7s forwards; }
.bhx__medal{ position:absolute; right:clamp(20px,4vw,64px); bottom:clamp(60px,8vw,110px); display:flex; align-items:center; gap:14px;
  color:var(--smoke); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; opacity:0; animation:rise 1s var(--ease) 3s forwards; }
.bhx__medal b{ display:block; color:var(--bgold2); font-size:.8rem; letter-spacing:.14em; }
.bhx__disc{ position:relative; width:74px; height:74px; border-radius:50%; display:grid; place-content:center; text-align:center;
  font-family:var(--display); font-weight:600; font-size:1.2rem; color:#3A2A0C; line-height:1;
  background:conic-gradient(from 200deg, #9C7A34, #F4DE9E, #B8913F, #FFF1C4, #9C7A34);
  box-shadow:0 0 0 3px rgba(201,164,92,.35), 0 18px 40px -18px rgba(0,0,0,.8); overflow:hidden; }
.bhx__disc em{ display:block; font-size:.62rem; font-style:normal; letter-spacing:.14em; margin-top:3px; }
.bhx__disc::after{ content:""; position:absolute; inset:-20%; background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.75) 50%, transparent 60%);
  transform:translateX(-120%); animation:shine 4.5s ease-in-out 3.5s infinite; }
@keyframes shine{ 0%,60%{ transform:translateX(-120%) } 80%,100%{ transform:translateX(120%) } }
@media (max-width:760px){ .bhx__medal{ position:static; margin-top:2.2rem; } .bhx{ align-items:flex-end; } }

/* category marquee */
.bmq{ overflow:hidden; background:var(--bred); padding:18px 0; }
.bmq__track{ display:flex; gap:clamp(22px,2.6vw,40px); width:max-content; animation:mq 60s linear infinite; }
.bmq__track span{ font-family:var(--display); font-style:italic; font-weight:300; font-size:clamp(1.3rem,2vw,1.8rem); color:#fff; white-space:nowrap; }
.bmq__track i{ font-style:normal; color:rgba(255,255,255,.55); align-self:center; font-size:.9rem; }

/* story */
.bstory{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(40px,6vw,110px); align-items:center; }
.bstory__year span{ display:block; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--bgold); margin-bottom:.4rem; }
.bstory__year b{ display:block; font-family:var(--display); font-weight:300; font-size:clamp(7rem,17vw,15rem); line-height:.82;
  letter-spacing:-.06em; color:transparent; -webkit-text-stroke:1px var(--bgold);
  background:linear-gradient(180deg, rgba(212,139,44,.0) 0%, rgba(212,139,44,.35) 100%); -webkit-background-clip:text; background-clip:text; }
.bvals{ margin-top:2rem; border-top:1px solid var(--faint); }
.bvals li{ padding:1.1rem 0 1.1rem 2rem; border-bottom:1px solid var(--faint); position:relative; color:#FFF6EB; font-size:1rem; }
.bvals li::before{ content:"✦"; position:absolute; left:0; color:var(--bred); font-size:.8rem; top:1.25rem; }

/* engravings */
.et{ display:flex; justify-content:center; align-items:flex-end; gap:clamp(30px,6vw,110px); }
.et__i{ margin:0; height:clamp(260px,32vw,420px); }
.et__i img{ height:100%; width:auto; }
.et__i.rv{ opacity:1; transform:none; clip-path:inset(0 0 100% 0); transition:clip-path 1.8s cubic-bezier(.6,0,.2,1); }
.et__i.rv.is-in{ clip-path:inset(0 0 0 0); }
.et__i.rv-d2{ transition-delay:.25s } .et__i.rv-d3{ transition-delay:.5s }

/* the lit shelf (signature) */
.shelf{ position:relative; }
.shelf__row{ display:flex; justify-content:center; align-items:flex-end; gap:clamp(8px,2.4vw,40px); padding-top:20px; position:relative; z-index:1; }
.shelf__b{ position:relative; background:none; border:0; padding:0; cursor:pointer; width:clamp(78px,12vw,150px);
  transition:transform .7s cubic-bezier(.2,.9,.25,1.1), opacity .5s var(--ease), filter .5s var(--ease);
  opacity:0; transform:translateY(40px); }
.shelf.is-in .shelf__b{ opacity:1; transform:none; transition-delay:calc(var(--i) * 110ms); }
.shelf__b img{ width:100%; height:auto; position:relative; z-index:1; filter:drop-shadow(0 26px 22px rgba(0,0,0,.55)); }
.shelf__glow{ position:absolute; left:50%; bottom:-6%; width:170%; height:60%; translate:-50% 0; z-index:0;
  background:radial-gradient(50% 50% at 50% 60%, rgba(212,139,44,.5), transparent 70%); opacity:.35; transition:opacity .5s var(--ease); }
.shelf__tag{ position:absolute; left:50%; bottom:-46px; translate:-50% 0; white-space:nowrap; font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--smoke); transition:color .4s var(--ease); }
.shelf__b:hover{ transform:translateY(-10px); } .shelf__b:hover .shelf__glow{ opacity:.7; }
.shelf.has-pick .shelf__b{ opacity:.32; filter:saturate(.6); }
.shelf.has-pick .shelf__b.is-pick{ opacity:1; filter:none; transform:translateY(-18px) scale(1.1); }
.shelf__b.is-pick .shelf__glow{ opacity:1; } .shelf__b.is-pick .shelf__tag{ color:var(--bgold2); }
.shelf__plank{ height:14px; margin-top:-4px; border-top:1px solid rgba(231,205,142,.55);
  background:linear-gradient(180deg, rgba(231,205,142,.18), transparent); box-shadow:0 30px 60px -20px rgba(212,139,44,.35); }
.shelf__detail{ margin-top:80px; min-height:260px; }
.sdet{ display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); gap:clamp(24px,4vw,64px); align-items:center;
  max-width:980px; margin:0 auto; animation:rise .7s var(--ease); }
.sdet[hidden]{ display:none; }
.sdet__media{ aspect-ratio:3/4; overflow:hidden; background:#fff; }
.sdet__media img{ width:100%; height:100%; object-fit:cover; }
.sdet__kick,.ddet__kick{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--bgold); margin:0 0 .7rem; }
.sdet__name,.ddet__name{ font-family:var(--display); font-weight:400; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.05; letter-spacing:-.025em; margin:0 0 1rem; }
.sdet__line,.ddet__line{ font-family:var(--display); font-style:italic; font-weight:300; font-size:clamp(1.1rem,1.5vw,1.3rem); color:var(--smoke); margin:0 0 1.4rem; line-height:1.45; }
.sdet__notes,.ddet__notes{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:1.6rem; }
.sdet__notes span,.ddet__notes span{ font-size:.74rem; letter-spacing:.06em; padding:.4rem .8rem; border:1px solid rgba(201,164,92,.45); color:var(--bgold2); }
.sdet__spec,.ddet__spec{ display:grid; grid-template-columns:repeat(4,auto); gap:0; border-top:1px solid var(--faint); margin:0; }
.sdet__spec div,.ddet__spec div{ padding:.9rem 1.2rem .2rem 0; }
.sdet__spec dt,.ddet__spec dt{ font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,246,235,.45); margin-bottom:.35rem; }
.sdet__spec dd,.ddet__spec dd{ margin:0; font-family:var(--display); font-size:1.05rem; color:#FFF6EB; }
@media (max-width:760px){
  .shelf__row{ gap:6px; } .shelf__tag{ font-size:.5rem; letter-spacing:.06em; bottom:-36px; }
  .sdet{ grid-template-columns:1fr; } .sdet__media{ max-width:260px; }
  .sdet__spec,.ddet__spec{ grid-template-columns:1fr 1fr; }
}

/* tasting map */
.tmap__plot{ position:relative; aspect-ratio:1.25; border-left:1px solid var(--faint); border-bottom:1px solid var(--faint); }
.tmap__grid{ position:absolute; inset:0; background:
  linear-gradient(var(--faint),var(--faint)) 50% 0/1px 100% no-repeat, linear-gradient(90deg,var(--faint),var(--faint)) 0 50%/100% 1px no-repeat; opacity:.6; }
.tmap__ax{ position:absolute; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,246,235,.5); }
.tmap__ax--x0{ left:0; bottom:-28px; } .tmap__ax--x1{ right:0; bottom:-28px; color:var(--bgold); }
.tmap__ax--y0{ left:12px; bottom:10px; } .tmap__ax--y1{ left:12px; top:0; color:var(--bgold); }
.tmap__dot{ position:absolute; left:50%; bottom:50%; translate:-50% 50%; background:none; border:0; padding:0; cursor:pointer; opacity:0;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  transition:left 1.5s cubic-bezier(.2,.9,.25,1), bottom 1.5s cubic-bezier(.2,.9,.25,1), opacity .8s var(--ease); transition-delay:calc(var(--i) * 120ms); }
.tmap.is-in .tmap__dot{ left:calc(var(--x) * 1%); bottom:calc(var(--y) * 1%); opacity:1; }
.tmap__dot img{ height:clamp(70px,8vw,104px); width:auto; filter:drop-shadow(0 14px 14px rgba(0,0,0,.6)); transition:transform .4s var(--ease); }
.tmap__dot span{ font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--smoke); white-space:nowrap; }
.tmap__dot:hover img{ transform:translateY(-6px) scale(1.06); } .tmap__dot:hover span{ color:var(--bgold2); }
.tmap__note{ margin-top:48px; font-size:.8rem; color:rgba(255,246,235,.45); font-style:italic; }

/* medals */
.medals{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,60px); }
.medal{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,3vw,40px); align-items:center;
  padding:clamp(26px,3vw,44px); border:1px solid var(--faint); background:linear-gradient(160deg, rgba(255,246,235,.04), transparent); }
.medal__disc{ position:relative; width:clamp(110px,11vw,150px); aspect-ratio:1; border-radius:50%; display:grid; place-content:center; text-align:center;
  font-family:var(--display); font-weight:600; letter-spacing:.06em; font-size:clamp(1.1rem,1.6vw,1.45rem); line-height:1; overflow:hidden;
  box-shadow:0 0 0 6px rgba(0,0,0,.35), 0 0 0 7px rgba(201,164,92,.35), 0 30px 60px -24px rgba(0,0,0,.9); }
.medal__disc em{ display:block; font-style:normal; font-size:.6em; letter-spacing:.2em; margin-top:.4em; }
.medal--gold .medal__disc{ color:#3A2A0C; background:conic-gradient(from 210deg, #8F6D2A, #F6E2A6, #B88F3E, #FFF3C9, #A27E33, #F0D38D, #8F6D2A); }
.medal--silver .medal__disc{ color:#2C2F35; background:conic-gradient(from 210deg, #7C8189, #F2F4F7, #A5AAB2, #FFFFFF, #8D929A, #E3E6EA, #7C8189); }
.medal__disc::after{ content:""; position:absolute; inset:-30%; background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.8) 50%, transparent 58%);
  transform:translateX(-130%); animation:shine 5s ease-in-out infinite; }
.medal--silver .medal__disc::after{ animation-delay:2.2s; }
.medal.rv{ transform:translateY(30px) scale(.97); } .medal.rv.is-in .medal__disc{ animation:medalIn 1.2s cubic-bezier(.2,.9,.25,1.25) both; }
@keyframes medalIn{ from{ transform:rotate(-40deg) scale(.6); } to{ transform:none; } }
.medal figcaption b{ display:block; font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,2vw,1.8rem); color:#FFF6EB; }
.medal figcaption > span{ display:block; margin:.35rem 0 .6rem; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--bgold); }
.medal figcaption i{ display:block; font-family:var(--display); font-style:italic; color:var(--bgold2); margin-bottom:.6rem; }
.medal figcaption p{ color:var(--smoke); font-size:.94rem; line-height:1.6; margin:0 0 1rem; }
.medal__cert{ background:none; border:0; border-bottom:1px solid rgba(201,164,92,.5); padding:0 0 .3rem; color:var(--bgold2);
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.certbox{ border:0; padding:0; background:transparent; max-width:min(520px,92vw); }
.certbox::backdrop{ background:rgba(8,5,4,.85); backdrop-filter:blur(6px); }
.certbox img{ width:100%; height:auto; display:block; }
.certbox button{ margin-top:12px; width:100%; padding:.9rem; background:var(--bred); color:#fff; border:0; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
@media (max-width:860px){ .medals{ grid-template-columns:1fr; } .medal{ grid-template-columns:1fr; justify-items:start; } }

/* house of brands */
.hs2{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(12px,2vw,28px); }
.hs2__b{ text-align:center; padding:clamp(20px,2.4vw,32px) 12px; border-top:1px solid var(--faint); transition:background .5s var(--ease); }
.hs2__b:hover{ background:rgba(255,246,235,.035); }
.hs2__img{ height:clamp(170px,19vw,260px); display:flex; align-items:flex-end; justify-content:center; margin-bottom:1.4rem; }
.hs2__img img{ max-height:100%; width:auto; filter:drop-shadow(0 20px 18px rgba(0,0,0,.6)); transition:transform .6s var(--ease); }
.hs2__b:hover .hs2__img img{ transform:translateY(-8px) rotate(-2deg); }
.hs2__b h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.15rem,1.5vw,1.4rem); color:#FFF6EB; margin:0 0 .5rem; }
.hs2__b p{ font-size:.82rem; line-height:1.5; color:var(--smoke); margin:0 0 .8rem; min-height:2.9em; }
.hs2__b > span{ font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--bred); }
@media (max-width:960px){ .hs2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .hs2__b:last-child{ grid-column:1 / -1; } }

/* moments gallery */
.mo{ overflow-x:auto; scrollbar-width:none; padding:0 0 clamp(84px,10vw,150px); cursor:grab; }
.mo::-webkit-scrollbar{ display:none; }
.mo__track{ display:flex; gap:clamp(12px,1.6vw,22px); width:max-content;
  padding-inline:max(var(--gutter), calc((100vw - 1320px) / 2 + var(--gutter))); }
.mo__item{ margin:0; position:relative; height:clamp(360px,52vh,560px); overflow:hidden; flex:none; }
.mo__item img{ height:100%; width:auto; transition:transform 1.6s var(--ease); }
.mo__item:hover img{ transform:scale(1.06); }
.mo__item figcaption{ position:absolute; left:18px; bottom:16px; right:18px; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.7); }

/* reach map */
.bsplit--map{ align-items:center; }
.bmap{ position:relative; }
.bmap__svg{ width:100%; height:auto; display:block; }
.bm{ fill:rgba(255,246,235,.05); stroke:rgba(255,246,235,.12); stroke-width:.8; }
.bm--on{ fill:rgba(225,38,45,.12); stroke:rgba(225,38,45,.6); transition:fill 1s var(--ease); }
.bmap.is-in .bm--on{ fill:rgba(225,38,45,.62); }
.bmap__pin{ position:absolute; translate:-50% -50%; font-size:.6rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:#fff; white-space:nowrap; text-shadow:0 1px 8px rgba(0,0,0,.9); opacity:0; transition:opacity .8s var(--ease); transition-delay:calc(.6s + var(--i) * 120ms); }
.bmap.is-in .bmap__pin{ opacity:1; }

/* partner cta band */
.bcta{ position:relative; overflow:hidden; padding-block:clamp(100px,12vw,180px); isolation:isolate; }
.bcta__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:.55; }
.bcta::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, var(--bk) 20%, rgba(13,9,7,.6) 60%, rgba(13,9,7,.3)); }
.bcta__in{ max-width:1320px; } .bcta__in > *{ max-width:560px; }

/* cellar page */
.bpage{ position:relative; padding:clamp(150px,18vh,200px) 0 clamp(40px,5vw,70px);
  background:radial-gradient(80% 90% at 80% 0%, rgba(212,139,44,.18), transparent 60%), var(--bk); overflow:hidden; isolation:isolate; }
.bpage--img{ padding-bottom:clamp(90px,10vw,140px); }
.bpage__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:.5; }
.bpage--img::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, var(--bk) 25%, rgba(13,9,7,.55) 70%, rgba(13,9,7,.25)); }
.bpage__in > *{ max-width:640px; }
.cfs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:clamp(36px,4vw,56px); }
.cfs__lab{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,246,235,.4); margin:0 .3rem 0 1rem; }
.cf{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .95rem; background:transparent; border:1px solid var(--faint);
  color:var(--smoke); font-size:.74rem; letter-spacing:.04em; cursor:pointer; transition:all .3s var(--ease); }
.cf i{ font-style:normal; font-size:.62rem; color:rgba(255,246,235,.4); }
.cf:hover{ border-color:var(--bgold); color:#fff; }
.cf.is-on{ background:var(--bred); border-color:var(--bred); color:#fff; } .cf.is-on i{ color:rgba(255,255,255,.75); }
.cvs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:clamp(18px,2vw,30px) clamp(12px,1.6vw,22px); }
.cv{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; background:none; border:0; padding:18px 8px 16px;
  cursor:pointer; color:inherit; border-bottom:1px solid rgba(231,205,142,.28);
  animation:rise .7s var(--ease) both; animation-delay:calc(var(--i) * 40ms); }
.cv[hidden]{ display:none; }
.cv__img{ height:clamp(180px,20vw,240px); display:flex; align-items:flex-end; justify-content:center; position:relative; z-index:1; margin-bottom:1rem; }
.cv__img img{ max-height:100%; width:auto; filter:drop-shadow(0 20px 16px rgba(0,0,0,.6)); transition:transform .6s cubic-bezier(.2,.9,.25,1.2); }
.cv__glow{ position:absolute; left:50%; top:30%; width:120%; height:70%; translate:-50% 0;
  background:radial-gradient(50% 50% at 50% 70%, rgba(212,139,44,.35), transparent 70%); opacity:0; transition:opacity .5s var(--ease); }
.cv:hover .cv__img img{ transform:translateY(-10px) scale(1.04); } .cv:hover .cv__glow{ opacity:1; }
.cv b{ font-family:var(--display); font-weight:400; font-size:1rem; line-height:1.25; color:#FFF6EB; margin-bottom:.35rem; }
.cv__meta{ font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bgold); }
.drawer{ width:min(980px,94vw); max-height:92vh; border:1px solid rgba(201,164,92,.3); padding:clamp(22px,3vw,40px);
  background:linear-gradient(160deg,#1C140F,#0E0A08); color:#FFF6EB; }
.drawer::backdrop{ background:rgba(8,5,4,.82); backdrop-filter:blur(6px); }
.drawer[open]{ animation:rise .5s var(--ease); }
.drawer__x{ position:absolute; top:10px; right:14px; background:none; border:0; color:var(--smoke); font-size:2rem; cursor:pointer; line-height:1; }
.ddet{ display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(20px,3.4vw,48px); align-items:center; }
.ddet[hidden]{ display:none; }
.ddet__media{ aspect-ratio:3/4; background:#fff; overflow:hidden; }
.ddet__media img{ width:100%; height:100%; object-fit:cover; }
.drawer__cta{ margin-top:1.6rem; }
@media (max-width:700px){ .ddet{ grid-template-columns:1fr; } .ddet__media{ max-height:44vh; aspect-ratio:auto; } .ddet__media img{ object-fit:contain; } }

/* partner page */
.bmods{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,40px); }
.bmod{ padding:clamp(28px,3.4vw,48px); border:1px solid var(--faint); position:relative; overflow:hidden; }
.bmod::before{ content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--bred); transform:scaleY(0); transform-origin:top; transition:transform 1s var(--ease) .3s; }
.bmod.is-in::before{ transform:none; }
.bmod__n{ font-family:var(--display); font-style:italic; font-size:2.6rem; color:var(--bgold); line-height:1; }
.bmod h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,2vw,1.8rem); margin:1rem 0 .7rem; }
.bmod p{ color:var(--smoke); line-height:1.65; margin:0; }
.bwhys{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2.4vw,34px); }
.bwhy{ border-top:2px solid var(--bred); padding-top:1.2rem; }
.bwhy h3{ font-family:var(--display); font-weight:400; font-size:1.2rem; color:#1A1310; margin:0 0 .6rem; }
.bwhy p{ color:#5A4C42; font-size:.94rem; line-height:1.6; margin:0; }
.bform{ display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; }
.bform label span{ display:block; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bgold); margin-bottom:.45rem; }
.bform input,.bform select,.bform textarea{ width:100%; padding:.85rem .95rem; background:rgba(255,246,235,.04); border:1px solid var(--faint);
  color:#FFF6EB; font:inherit; font-size:.95rem; border-radius:0; }
.bform select option{ color:#111; }
.bform input:focus,.bform select:focus,.bform textarea:focus{ outline:none; border-color:var(--bgold); }
.bform__wide{ grid-column:1 / -1; }
.bform .bbtn{ grid-column:1 / -1; justify-self:start; }
.bform__note{ grid-column:1 / -1; color:var(--bgold2); font-size:.88rem; }
@media (max-width:900px){
  .bsplit,.bstory{ grid-template-columns:1fr; } .bhead--row{ flex-direction:column; align-items:flex-start; }
  .bmods,.bform{ grid-template-columns:1fr; } .bwhys{ grid-template-columns:1fr 1fr; }
  .et{ gap:18px; } .et__i{ height:220px; }
}
@media (max-width:560px){ .bwhys{ grid-template-columns:1fr; } .cvs{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* footer */
.bf{ border-top:1px solid var(--faint); padding:clamp(48px,6vw,80px) 0 40px; background:#080504; }
.bf__in{ display:grid; grid-template-columns:auto 1fr; gap:18px 40px; align-items:center; }
.bf__brand{ display:flex; align-items:center; gap:14px; }
.bf__brand b{ display:block; letter-spacing:.24em; font-size:1.05rem; } .bf__brand span{ font-size:.72rem; color:var(--smoke); letter-spacing:.08em; }
.bf__part{ justify-self:end; margin:0; } .bf__part a{ color:var(--bgold2); font-size:.8rem; letter-spacing:.08em; border-bottom:1px solid rgba(201,164,92,.4); }
.bf__warn{ grid-column:1 / -1; margin:10px 0 0; padding:18px 0; border-block:1px solid var(--faint); text-align:center;
  font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:#FFF6EB; }
.bf__legal{ grid-column:1 / -1; margin:0; font-size:.72rem; color:rgba(255,246,235,.4); }
@media (max-width:700px){ .bf__in{ grid-template-columns:1fr; } .bf__part{ justify-self:start; } }

@media (prefers-reduced-motion:reduce){
  .bhx__v{ animation:none; } .bhx__script{ clip-path:none; animation:none; }
  .bhx__big,.bhx__lead,.bhx__cta,.bhx__medal{ opacity:1; transform:none; animation:none; }
  .bmq__track,.bhx__disc::after,.medal__disc::after{ animation:none; }
  .shelf__b{ opacity:1; transform:none; } .et__i.rv{ clip-path:none; }
}

/* Bony door on S&R pages */
.bfeat{ position:relative; overflow:hidden; background:radial-gradient(70% 90% at 78% 60%, rgba(212,139,44,.28), transparent 60%), #0D0907; color:#FFF6EB;
  padding-block:clamp(80px,9vw,130px); }
.bfeat__in{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(30px,5vw,80px); align-items:center; }
.bfeat__mark{ width:56px; height:56px; margin-bottom:1.4rem; }
.bfeat__eyebrow{ font-size:.68rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:#C9A45C; margin:0 0 1rem; }
.bfeat__title{ font-family:var(--display); font-weight:300; font-style:italic; font-size:clamp(2.2rem,4.4vw,3.8rem); line-height:1; margin:0 0 1.3rem; color:#FFF6EB; }
.bfeat__title span{ display:block; font-family:'Signature',cursive; font-style:normal; color:#E7CD8E; font-size:1.25em; }
.bfeat__title b{ font-family:var(--sans); font-style:normal; font-weight:700; color:#E1262D; letter-spacing:.02em; }
.bfeat__lead{ color:rgba(255,246,235,.66); line-height:1.7; max-width:46ch; margin:0 0 2rem; }
.bfeat__btn{ display:inline-flex; align-items:center; gap:.7rem; padding:1rem 1.7rem; background:#E1262D; color:#fff; font-size:.76rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; transition:background .35s var(--ease), color .35s var(--ease); }
.bfeat__btn:hover{ background:#fff; color:#0D0907; }
.bfeat__shelf{ display:flex; justify-content:center; align-items:flex-end; gap:clamp(4px,1.2vw,18px); padding-bottom:14px;
  border-bottom:1px solid rgba(231,205,142,.5); box-shadow:0 30px 60px -30px rgba(212,139,44,.5); }
.bfeat__b{ width:clamp(56px,8vw,110px); transform:translateY(30px); opacity:0; transition:transform .9s cubic-bezier(.2,.9,.25,1.1), opacity .7s var(--ease);
  transition-delay:calc(.2s + var(--i) * 110ms); }
.bfeat__shelf.is-in .bfeat__b{ transform:none; opacity:1; }
.bfeat__b img{ width:100%; height:auto; filter:drop-shadow(0 18px 16px rgba(0,0,0,.6)); transition:transform .5s var(--ease); }
.bfeat__b:hover img{ transform:translateY(-8px); }
@media (max-width:860px){ .bfeat__in{ grid-template-columns:1fr; } }
.et__i img{ aspect-ratio:auto; }
/* the observed frame must stay unclipped or the reveal never fires; clip the image instead */
.et__i.rv{ clip-path:none; }
.et__i.rv img{ clip-path:inset(0 0 100% 0); transition:clip-path 1.8s cubic-bezier(.6,0,.2,1); }
.et__i.rv.is-in img{ clip-path:inset(0 0 0 0); }
.et__i.rv-d2 img{ transition-delay:.25s } .et__i.rv-d3 img{ transition-delay:.5s }
@media (prefers-reduced-motion:reduce){ .et__i.rv img{ clip-path:none; } }
.bhx__in{ width:100%; }

/* Bony: always one click away, on every page */
.hdr__bony{ flex:none; display:inline-flex; align-items:center; gap:.5rem; padding:.42rem .85rem .42rem .45rem;
  border:1px solid rgba(225,38,45,.45); border-radius:999px; font-size:.76rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:#B81D24; background:rgba(225,38,45,.05);
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.hdr__bony img{ width:22px; height:22px; border-radius:50%; }
.hdr__bony:hover{ background:#E1262D; color:#fff; border-color:#E1262D; }
.hdr--over .hdr__bony{ color:#fff; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.06); }
.hdr--over .hdr__bony:hover{ background:#E1262D; border-color:#E1262D; }
.ftr__bony{ color:#F2C7C9 !important; }
@media (max-width:960px){ .hdr__bony{ margin-left:auto; padding:.35rem .7rem .35rem .35rem; font-size:.68rem; }
  .hdr__bony + .lang{ margin-left:.6rem; } }
@media (max-width:340px){ .hdr__bony span{ display:none; } .hdr__bony{ padding:.3rem; } }

/* ================================================================ v13 — route hero, switcher, brands, fleet */
/* --- route hero: S&R monogram, the & lands on Dubai, the network draws, two doors --- */
.rt{ position:relative; min-height:100svh; background:#06142F; color:#fff; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; }
.rt__stage{ position:absolute; inset:0; z-index:-2; min-height:0; background:none; opacity:0; transform:scale(1.08); transition:opacity 1.6s ease, transform 3.2s cubic-bezier(.2,.7,.1,1); }
.rt__stage .film__svg{ animation:none; }
.rt.is-go .rt__stage{ opacity:1; transform:scale(1); }
.rt:not(.is-go) .rt__stage *{ animation-play-state:paused !important; }
.rt__veil{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg, rgba(6,20,47,.94) 0%, rgba(6,20,47,.72) 34%, rgba(6,20,47,0) 62%), linear-gradient(0deg, rgba(6,20,47,.96) 0%, rgba(6,20,47,0) 36%); }
.fo{ fill:none; stroke:rgba(255,255,255,.4); stroke-width:1.1; stroke-dasharray:4 6; }
.fo__dot{ fill:#fff; } .fl--office{ fill:rgba(255,255,255,.7); opacity:1; animation:none; }
.rt__mono{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:.02em; z-index:3; pointer-events:none;
  font-family:var(--display); font-weight:300; font-size:clamp(7rem,19vw,17rem); line-height:1; letter-spacing:-.02em; }
.rt__s,.rt__r{ display:inline-block; color:#fff; transition:transform 1.1s cubic-bezier(.7,0,.2,1), opacity .8s ease, filter .8s ease; }
.rt__s{ transform:translateX(.2em); } .rt__r{ transform:translateX(-.2em); }
.rt__amp{ display:inline-block; color:var(--gold); font-style:italic; opacity:0; transform:translateY(.3em) scale(.7);
  transition:transform 1.1s cubic-bezier(.2,.7,.1,1), opacity .8s ease; }
.rt.is-open .rt__s{ transform:translateX(-.08em); } .rt.is-open .rt__r{ transform:translateX(.08em); }
.rt.is-open .rt__amp{ opacity:1; transform:none; }
.rt.is-fly .rt__s,.rt.is-fly .rt__r{ opacity:0; filter:blur(8px); }
.rt.is-fly .rt__s{ transform:translateX(-.5em); } .rt.is-fly .rt__r{ transform:translateX(.5em); }
.rt.is-fly .rt__amp{ transition:transform 1.25s cubic-bezier(.65,0,.25,1), opacity .5s ease 1s; transform:translate(var(--fx,0),var(--fy,0)) scale(.06); opacity:0; }
.rt__copy{ position:relative; padding-top:clamp(110px,14vh,160px); }
.rt__top{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-bottom:clamp(18px,2.4vw,28px); }
.rt__top .eyebrow{ margin:0; }
.rt__clock{ color:rgba(255,255,255,.62); margin:0; }
.rt__title{ font-family:var(--display); font-weight:300; font-size:clamp(2.3rem,5.2vw,4.6rem); line-height:1.04; letter-spacing:-.015em;
  max-width:13.5em; margin:0 0 clamp(18px,2vw,26px); text-wrap:balance; }
.rt__title em{ font-style:italic; color:var(--gold); }
.rt__lead{ max-width:560px; color:rgba(255,255,255,.72); font-size:clamp(1rem,1.1vw,1.1rem); line-height:1.7; margin:0; }
.rt__copy > *, .rt__doors{ opacity:0; transform:translateY(18px); transition:opacity 1s ease, transform 1.1s cubic-bezier(.2,.7,.1,1); }
.rt.is-go .rt__copy > *{ opacity:1; transform:none; }
.rt.is-go .rt__copy > :nth-child(2){ transition-delay:.25s } .rt.is-go .rt__copy > :nth-child(3){ transition-delay:.55s }
.rt.is-go .rt__doors{ opacity:1; transform:none; transition-delay:.9s; }
.rt__doors{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:clamp(34px,5vh,64px); margin-bottom:clamp(22px,4vh,44px);
  border-top:1px solid rgba(255,255,255,.18); }
.rt__door{ position:relative; display:grid; grid-template-columns:1fr auto; align-items:end; gap:6px 18px; padding:clamp(18px,2.2vw,28px) clamp(0px,1vw,8px) 4px 0;
  color:#fff; text-decoration:none; }
.rt__door + .rt__door{ padding-left:clamp(20px,3vw,44px); border-left:1px solid rgba(255,255,255,.18); }
.rt__door::before{ content:""; position:absolute; top:-1px; left:0; height:2px; width:0; background:var(--gold); transition:width .6s cubic-bezier(.2,.7,.1,1); }
.rt__door:hover::before,.rt__door:focus-visible::before{ width:100%; }
.rt__dk{ grid-column:1; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.rt__dt{ grid-column:1; font-family:var(--display); font-weight:300; font-size:clamp(1.3rem,2.2vw,2rem); line-height:1.15; }
.rt__door .btn__arr{ grid-column:2; grid-row:1 / span 2; width:22px; height:16px; transition:transform .4s ease; }
.rt__door:hover .btn__arr{ transform:translateX(6px); }
@media (max-width:760px){
  .rt{ justify-content:flex-start; }
  .rt__stage{ position:relative; inset:auto; height:58vw; margin-top:84px; z-index:0; }
  .rt__stage .film__svg{ height:100%; }
  .rt__veil{ background:linear-gradient(180deg, rgba(6,20,47,0) 0, rgba(6,20,47,0) calc(84px + 40vw), rgba(6,20,47,1) calc(84px + 58vw)); z-index:1; }
  .rt__copy{ padding-top:10px; z-index:2; } .rt__doors{ z-index:2; grid-template-columns:1fr; }
  .rt__door + .rt__door{ padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.18); }
  .rt__mono{ font-size:8.5rem; align-items:flex-start; padding-top:calc(84px + 8vw); }
}
@media (prefers-reduced-motion:reduce){
  .rt__mono{ display:none; } .rt__stage,.rt__copy > *,.rt__doors{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* --- business switcher (full-bleed, pills) --- */
.bs{ position:relative; min-height:min(94vh,880px); color:#fff; overflow:hidden; isolation:isolate; display:flex; align-items:flex-end; background:#06142F; }
.bs__media{ position:absolute; inset:0; z-index:-2; }
.bs__img{ position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease; }
.bs__img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); transition:transform 9s linear; }
.bs__img.is-on{ opacity:1; } .bs__img.is-on img{ transform:scale(1); }
.bs__veil{ position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(6,20,47,.92) 0%, rgba(6,20,47,.6) 38%, rgba(6,20,47,.05) 70%),
  linear-gradient(0deg, rgba(6,20,47,.95) 0%, rgba(6,20,47,0) 40%); }
.bs__in{ position:relative; width:100%; padding-top:clamp(90px,12vh,140px); padding-bottom:clamp(28px,4vh,48px); }
.bs__panes{ display:grid; min-height:clamp(270px,34vh,340px); }
.bs__pane{ grid-area:1/1; max-width:560px; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .7s ease, transform .8s cubic-bezier(.2,.7,.1,1), visibility 0s .8s; }
.bs__pane.is-on{ opacity:1; visibility:visible; transform:none; transition-delay:.15s,.15s,0s; }
.bs__m{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.62); margin:0 0 14px; font-weight:600; }
.bs__t{ font-family:var(--display); font-weight:300; font-size:clamp(2.3rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.015em; margin:0; color:#fff; text-wrap:balance; }
.bs__rule{ display:block; width:58px; height:2px; background:var(--gold); margin:clamp(18px,2vw,26px) 0; }
.bs__b{ color:rgba(255,255,255,.78); font-size:clamp(1rem,1.1vw,1.1rem); line-height:1.7; margin:0 0 22px; }
.bs__go{ display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:600; font-size:.9rem; letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:4px; transition:border-color .3s, gap .3s; }
.bs__go:hover{ border-color:var(--gold); gap:14px; }
.bs__pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(26px,4vh,48px); }
.bs__pill{ position:relative; overflow:hidden; flex:1 1 0; min-width:max-content; font:inherit; font-size:.82rem; letter-spacing:.02em; color:#fff; background:rgba(6,20,47,.35);
  border:1px solid rgba(184,151,79,.75); border-radius:999px; padding:.72em 1.3em; cursor:pointer; text-align:center; text-decoration:none;
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:background .35s, color .35s; }
.bs__pill span{ position:relative; z-index:1; }
.bs__pill i{ position:absolute; inset:0; background:var(--gold); transform-origin:left; transform:scaleX(0); }
.bs__pill:hover{ background:rgba(184,151,79,.18); }
.bs__pill.is-on{ color:#06142F; background:rgba(184,151,79,.35); font-weight:600; }
.bs__pill.is-on i{ transform:scaleX(1); }
.bs.is-auto .bs__pill.is-on i{ animation:pillFill var(--bsdur,7s) linear forwards; }
.bs.is-paused .bs__pill.is-on i{ animation-play-state:paused; }
@keyframes pillFill{ from{ transform:scaleX(0) } to{ transform:scaleX(1) } }
.bs__pill:focus-visible,.rt__door:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
@media (max-width:760px){
  .bs{ min-height:0; } .bs__in{ padding-top:120px; }
  .bs__veil{ background:linear-gradient(0deg, rgba(6,20,47,.97) 0%, rgba(6,20,47,.8) 55%, rgba(6,20,47,.3) 100%); }
  .bs__pills{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .bs__pill{ min-width:0; padding:.7em .4em; font-size:.74rem; }
}

/* --- brand cards --- */
.brandsband{ background:#fff; }
.bcards{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.6vw,24px); }
.bcards--1{ grid-template-columns:minmax(0,420px); } .bcards--2{ grid-template-columns:repeat(2,minmax(0,420px)); } .bcards--3{ grid-template-columns:repeat(3,1fr); }
.bcard{ position:relative; display:grid; grid-template-columns:1fr auto; gap:4px 14px; text-decoration:none; color:var(--navy); }
.bcard__fig{ grid-column:1 / -1; display:block; aspect-ratio:4/5; overflow:hidden; background:#F2F1EC; margin-bottom:16px; }
.bcard__fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.1,1); }
.bcard:hover .bcard__fig img{ transform:scale(1.05); }
.bcard__n{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem,2vw,1.9rem); line-height:1.1; }
.bcard__g{ grid-column:1; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:#8a8577; font-weight:600; }
.bcard .btn__arr{ grid-column:2; grid-row:2 / span 2; align-self:center; color:var(--gold); transition:transform .4s; }
.bcard:hover .btn__arr{ transform:translateX(6px); }
.bcard--bony .bcard__fig{ background:radial-gradient(ellipse at 50% 70%, #3a1512 0%, #0c0605 70%); display:flex; align-items:flex-end; justify-content:center; }
.bcard--bony .bcard__fig img{ width:auto; height:88%; object-fit:contain; filter:drop-shadow(0 18px 24px rgba(0,0,0,.6)); }
@media (max-width:960px){ .bcards,.bcards--3{ grid-template-columns:repeat(2,1fr); } }

/* --- offices (Dubai HQ, Jaipur) under the market tiles --- */
.offices{ display:grid; grid-template-columns:1fr 1fr; margin-top:clamp(26px,3vw,40px); border-top:1px solid rgba(18,57,126,.16); }
.office{ display:flex; align-items:center; gap:14px; padding:20px 0; color:var(--navy); text-decoration:none; }
.office + .office{ padding-left:clamp(16px,3vw,40px); border-left:1px solid rgba(18,57,126,.16); }
.office img{ width:30px; height:20px; object-fit:cover; }
.office b{ font-family:var(--display); font-weight:400; font-size:1.2rem; }
.office span{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:#8a8577; font-weight:600; }
.office .btn__arr{ margin-left:auto; color:var(--gold); }
@media (max-width:760px){ .offices{ grid-template-columns:1fr; } .office + .office{ padding-left:0; border-left:0; border-top:1px solid rgba(18,57,126,.16); }
  .office{ flex-wrap:wrap; } .office span{ width:100%; padding-left:44px; margin-top:-8px; } }

/* --- fleet film --- */
.fleet{ position:relative; min-height:clamp(560px,86vh,820px); overflow:hidden; color:#fff; background:#050F2A; isolation:isolate; }
.fleet__stage{ position:absolute; inset:0; z-index:-1; }
.tk{ width:100%; height:100%; display:block; }
.fleet__copy{ position:relative; padding-top:clamp(70px,11vh,120px); }
.fleet__copy > *{ max-width:520px; }
.fleet__t{ font-family:var(--display); font-weight:300; font-size:clamp(2rem,4vw,3.4rem); line-height:1.06; margin:0 0 20px; color:#fff; }
.fleet__t em{ font-style:italic; color:var(--gold); }
.fleet__lead{ color:rgba(255,255,255,.72); line-height:1.7; margin:0 0 24px; }
.tk-stars circle{ fill:#fff; opacity:.5; }
.tk-far,.tk-mid{ animation:tkScroll linear infinite; }
.tk-far{ fill:#1A3470; opacity:.9; }
.tk-ground{ fill:#0B1A3C; } .tk-road{ fill:#0E1D40; }
.tk-dash rect{ fill:rgba(255,236,190,.55); } .tk-dash{ animation:tkDash .5s linear infinite; }
@keyframes tkScroll{ to{ transform:translateX(-4800px) } }
@keyframes tkDash{ to{ transform:translateX(-120px) } }
.tk-post{ fill:#0A1633; } .tk-lamp{ fill:#FFE7B0; filter:drop-shadow(0 0 6px #FFD47A); }
.tk-sign__b{ fill:#0A1633; } .tk-sign__r{ fill:#12397E; stroke:#fff; stroke-width:1.5; }
.tk-sign text{ fill:#fff; font:600 20px/1 var(--sans); letter-spacing:.06em; }
.tk-truck{ animation:tkBob .45s ease-in-out infinite alternate; }
@keyframes tkBob{ to{ transform:translateY(1.4px) } }
.tk-box{ fill:#F6F5F1; } .tk-cab{ fill:#F1F0EC; } .tk-navy{ fill:#12397E; } .tk-red{ fill:#EA2425; }
.tk-glass{ fill:#1B2A4A; } .tk-chassis{ fill:#141821; } .tk-shadow{ fill:rgba(0,0,0,.45); }
.tk-lightf{ fill:#FFF3CF; filter:drop-shadow(0 0 8px #FFE39A); } .tk-lightr{ fill:#EA2425; filter:drop-shadow(0 0 5px #EA2425); }
.tk-tyre{ fill:#11141B; } .tk-rim{ fill:#9AA3B2; } .tk-spoke{ stroke:#3B4252; stroke-width:2.2; }
.tk-spin{ animation:tkSpin .5s linear infinite; transform-box:fill-box; transform-origin:center; }
@keyframes tkSpin{ to{ transform:rotate(360deg) } }
@media (max-width:760px){
  .fleet{ min-height:0; padding-bottom:0; display:flex; flex-direction:column-reverse; }
  .fleet__stage{ position:relative; inset:auto; height:clamp(260px,78vw,360px); }
  .tk{ height:100%; } .fleet__copy{ padding-top:64px; padding-bottom:12px; }
}
@media (prefers-reduced-motion:reduce){ .tk-far,.tk-mid,.tk-dash,.tk-truck,.tk-spin{ animation:none; } }

/* --- business line hero (full-bleed, pills to every line) --- */
.lh{ position:relative; min-height:min(100svh,900px); display:flex; flex-direction:column; justify-content:flex-end; color:#fff; overflow:hidden; isolation:isolate; background:#06142F; }
.lh__img{ position:absolute; inset:0; z-index:-2; }
.lh__img img{ width:100%; height:100%; object-fit:cover; animation:lhZoom 14s ease-out forwards; }
@keyframes lhZoom{ from{ transform:scale(1.1) } to{ transform:scale(1) } }
.lh__veil{ position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(6,20,47,.93) 0%, rgba(6,20,47,.62) 40%, rgba(6,20,47,.08) 75%), linear-gradient(0deg, rgba(6,20,47,.95), rgba(6,20,47,0) 38%); }
.lh__in{ padding-top:140px; }
.lh__in .crumb{ margin-bottom:26px; }
.lh__t{ font-family:var(--display); font-weight:300; font-size:clamp(2.6rem,6vw,5.2rem); line-height:1; letter-spacing:-.02em; margin:0; max-width:11em; color:#fff; text-wrap:balance; }
.lh__lead{ max-width:540px; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.15vw,1.12rem); line-height:1.7; margin:0; }
.bs__pills--nav{ margin-top:clamp(34px,5vh,60px); margin-bottom:clamp(24px,4vh,40px); }
.bgal{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bgal img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.bgal img:first-child{ grid-column:1 / -1; aspect-ratio:16/10; }
@media (max-width:760px){ .lh{ min-height:0; } .lh__in{ padding-top:120px; }
  .bs__pills--nav{ display:grid; grid-template-columns:repeat(3,1fr); } }
@media (prefers-reduced-motion:reduce){ .lh__img img,.bs__img img{ animation:none; transform:none; transition:none; } }

/* --- brands page --- */
.brh{ background:var(--canvas,#FAFAF8); padding:clamp(130px,16vh,170px) 0 clamp(60px,8vw,110px); }
.crumb--dark,.crumb--dark a{ color:rgba(18,57,126,.6); }
.brh__t{ font-family:var(--display); font-weight:300; font-size:clamp(2.6rem,6vw,5.4rem); line-height:1.02; letter-spacing:-.02em; color:var(--navy); margin:0 0 22px; }
.brh__t em{ font-style:italic; color:var(--gold); }
.brh__lead{ max-width:680px; margin-bottom:clamp(40px,5vw,70px); }
.brch{ background:#fff; }
.brch__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.9fr); gap:clamp(30px,5vw,80px); align-items:start; }
.brch__side{ position:sticky; top:110px; }
.brch__tag{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; margin:0 0 10px; }
.brch__n{ font-family:var(--display); font-weight:300; font-style:italic; font-size:clamp(3rem,6.4vw,6rem); line-height:.95; letter-spacing:-.025em; color:var(--navy); margin:0 0 24px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.chip{ font:inherit; font-size:.8rem; color:var(--navy); background:none; border:1px solid rgba(18,57,126,.22); border-radius:999px; padding:.5em 1em; cursor:pointer; transition:all .3s; }
.chip small{ opacity:.55; margin-left:4px; }
.chip:hover{ border-color:var(--gold); } .chip.is-on{ background:var(--navy); border-color:var(--navy); color:#fff; }
.chip:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.ptiles{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(12px,1.4vw,20px); }
.ptile{ margin:0; transition:opacity .45s ease, transform .45s ease; }
.ptile:nth-child(6n+1){ grid-column:1 / -1; }
.ptile:nth-child(6n+1) .ptile__img{ aspect-ratio:16/8; }
.ptile__img{ aspect-ratio:4/3; overflow:hidden; background:#F2F1EC; }
.ptile__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.1,1); }
.ptile:hover .ptile__img img{ transform:scale(1.05); }
.ptile figcaption{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; padding:12px 0 4px; border-bottom:1px solid rgba(18,57,126,.12); }
.ptile figcaption b{ font-family:var(--display); font-weight:400; font-size:1.08rem; color:var(--navy); }
.ptile figcaption span{ font-size:.74rem; letter-spacing:.08em; color:#8a8577; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ptile.is-out{ display:none; }
.ptiles.is-filtered .ptile:nth-child(n){ grid-column:auto; } .ptiles.is-filtered .ptile .ptile__img{ aspect-ratio:4/3; }
.brsp{ display:grid; grid-template-columns:1.15fr 1fr; min-height:min(88vh,760px); background:var(--canvas,#FAFAF8); }
.brsp__img{ overflow:hidden; } .brsp__img img{ width:100%; height:100%; object-fit:cover; }
.brsp__copy{ align-self:center; padding:clamp(40px,6vw,100px); max-width:640px; }
.brsp--navy{ background:#06142F; color:#fff; } .brsp--navy .brch__n{ color:#fff; } .brsp--navy .lead{ color:rgba(255,255,255,.75); }
.brsp--rev .brsp__img{ order:2; }
.fmts{ margin:30px 0 30px; border-top:1px solid currentColor; border-color:rgba(184,151,79,.5); }
.fmt{ display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid rgba(184,151,79,.35); }
.fmt b{ font-family:var(--display); font-weight:400; font-size:1.15rem; } .fmt span{ font-variant-numeric:tabular-nums; opacity:.75; text-align:right; }
.brsp:not(.brsp--navy) .bs__go{ color:var(--navy); border-color:rgba(18,57,126,.3); }
@media (max-width:960px){ .brch__grid{ grid-template-columns:1fr; } .brch__side{ position:static; }
  .brsp{ grid-template-columns:1fr; } .brsp__img{ height:62vw; } .brsp--rev .brsp__img{ order:0; } }
@media (max-width:560px){ .ptiles{ grid-template-columns:1fr; } .ptile:nth-child(6n+1) .ptile__img{ aspect-ratio:4/3; } }
.rt__title .w,.lh__t .w,.brh__t .w{ display:inline-block; overflow:hidden; vertical-align:top; padding:0 .12em .1em .04em; margin:0 -.12em -.1em -.04em; }
.rt__title .w > span,.lh__t .w > span,.brh__t .w > span{ display:inline-block; transform:translate3d(0,110%,0);
  transition:transform 1.05s cubic-bezier(.2,.7,.1,1); transition-delay:calc(var(--i) * 70ms + .15s); }
.rt.is-go .rt__title .w > span,.is-ready .lh__t .w > span,.is-ready .brh__t .w > span{ transform:none; }
@media (prefers-reduced-motion:reduce){ .rt__title .w > span,.lh__t .w > span,.brh__t .w > span{ transform:none; transition:none; } }
/* pills: solid gold when active, progress runs as a hairline along the bottom */
.bs__pill.is-on{ color:#fff; background:var(--gold); border-color:var(--gold); }
.bs__pill i{ top:auto; height:2px; background:rgba(255,255,255,.85); }
.bs__pill.is-on i{ transform:scaleX(0); } .bs:not(.is-auto) .bs__pill.is-on i{ transform:scaleX(0); }
.rt__veil{ background:linear-gradient(90deg, rgba(6,20,47,.82) 0%, rgba(6,20,47,.5) 36%, rgba(6,20,47,0) 60%), linear-gradient(0deg, rgba(6,20,47,.96) 0%, rgba(6,20,47,0) 34%); }
@media (max-width:760px){ .rt__veil{ background:linear-gradient(180deg, rgba(6,20,47,0) 0, rgba(6,20,47,0) calc(84px + 40vw), rgba(6,20,47,1) calc(84px + 58vw)); } }
@media (min-width:761px){ .rt__stage{ top:84px; } }
/* hero split: copy left, the whole network right, nothing under the text */
@media (min-width:761px){
  .rt__stage{ top:96px; left:41%; right:1.5%; bottom:clamp(150px,19vh,190px); }
  .rt__stage .film__svg{ overflow:visible; }
  .rt__veil{ background:linear-gradient(0deg, rgba(6,20,47,.9) 0%, rgba(6,20,47,0) 22%); }
  .rt__copy > *{ max-width:min(560px,37vw); }
  .rt__title{ font-size:clamp(2.1rem,3.7vw,3.9rem); max-width:min(560px,37vw); }
  .rt__top{ flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (min-width:761px){
  .rt__stage{ left:36%; top:88px; }
  .rt__copy > *,.rt__title{ max-width:min(540px,33vw); }
}
@media (min-width:1500px){ .rt__stage{ left:calc(50% - 80px); } }
.brch__own{ font-size:.78rem; letter-spacing:.04em; color:#8a8577; margin:-4px 0 14px; }
.brsp--navy .brch__own{ color:rgba(255,255,255,.55); }
.brch__own--bony{ margin:0 auto; padding-top:18px; padding-bottom:18px; text-align:center; }
/* fleet film owns the whole laptop screen */
.fleet{ min-height:0; height:100vh; height:100svh; max-height:1100px; }
@media (min-width:761px) and (max-height:620px){ .fleet{ height:620px; } }
@media (max-width:760px){ .fleet{ height:auto; max-height:none; } }
/* hero: no layout reliance on late content; copy never shifts once shown */
.rt{ min-height:100vh; min-height:100svh; }
/* the logo's red/blue ring pattern, echoed at the Dubai hub */
.fh__lr{ fill:none; stroke-width:1.5; opacity:.0; transform-box:fill-box; transform-origin:center; animation:lrIn 1.6s ease forwards; }
.fh__lr--r{ stroke:#EA2425; } .fh__lr--b{ stroke:#3B63D1; }
.fh__lr:nth-child(2){ animation-delay:.08s } .fh__lr:nth-child(3){ animation-delay:.16s } .fh__lr:nth-child(4){ animation-delay:.24s }
.fh__lr:nth-child(5){ animation-delay:.32s } .fh__lr:nth-child(6){ animation-delay:.4s } .fh__lr:nth-child(7){ animation-delay:.48s }
@keyframes lrIn{ from{ opacity:0; transform:scale(.4) } to{ opacity:.85; transform:none } }
.fh__ring{ stroke:rgba(234,36,37,.7); } .fh__ring--2{ stroke:rgba(59,99,209,.8); }
/* colour logo on its white plate over dark heroes */
.logo--plate{ border-radius:3px; box-shadow:0 6px 18px rgba(0,0,0,.28); }
.hdr__logo .logo--plate{ height:clamp(40px,3.8vw,50px); }
@media (prefers-reduced-motion:reduce){ .fh__lr{ animation:none; opacity:.85; } }

/* ================================================================ v17 — crisp plates, map life, dark countries, language menu */
/* map: trucks on the routes, hover cards */
.fp{ filter:drop-shadow(0 0 3px rgba(0,0,0,.6)); } .fp__box{ fill:#fff; } .fp__cab{ fill:#EA2425; }
.fsun path{ fill:url(#fsun); stroke:none; pointer-events:none; }
.fn__hit{ fill:transparent; pointer-events:all; cursor:pointer; }
[data-c]{ cursor:pointer; } [data-c]:hover .fn__dot{ fill:#fff; } [data-c]:hover .fn__ring{ stroke:#fff; }
.rt__copy{ pointer-events:none; } .rt__copy *{ pointer-events:auto; }
.rt__tip{ position:absolute; z-index:5; min-width:220px; max-width:280px; padding:14px 16px 13px; background:rgba(6,20,47,.94); color:#fff;
  border:1px solid rgba(184,151,79,.55); box-shadow:0 18px 40px rgba(0,0,0,.45); pointer-events:none; opacity:0; transform:translateY(6px);
  transition:opacity .25s, transform .25s; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.rt__tip.is-on{ opacity:1; transform:none; }
.rt__tip b{ display:block; font-family:var(--display); font-weight:400; font-size:1.15rem; }
.rt__tip i{ display:block; font-style:normal; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; margin:4px 0 8px; }
.rt__tip span{ display:block; font-size:.8rem; line-height:1.45; color:rgba(255,255,255,.75); }
.rt__tip em{ display:block; margin-top:8px; font-style:normal; font-size:.72rem; color:rgba(255,255,255,.5); }
@media (hover:none){ .rt__tip{ display:none; } }
/* countries on deep navy */
.ctdark{ background:radial-gradient(ellipse at 20% 0%, #12306A 0%, #06142F 55%); color:#fff; }
.ctdark .t-h2,.ctdark .shead__title{ color:#fff; } .ctdark .lead{ color:rgba(255,255,255,.7); }
.ctdark .ct__tile{ position:relative; border-top-color:rgba(255,255,255,.14); padding:clamp(22px,2vw,30px) clamp(16px,1.4vw,22px) 20px; transition:background .4s, border-color .4s; }
.ctdark .ct__tile:hover{ background:rgba(255,255,255,.04); border-top-color:var(--gold); }
.ctdark .ct__shape path{ stroke:var(--gold); }
.ctdark .ct__tile.is-in .ct__shape path{ fill:rgba(184,151,79,.12); }
.ctdark .ct__tile:hover .ct__shape path{ fill:rgba(234,36,37,.28); stroke:#fff; }
.ctdark .ct__name{ color:#fff; } .ctdark .ct__role{ color:var(--gold); }
.ctdark .ct__cities{ color:rgba(255,255,255,.55); } .ctdark .ct__acts{ color:rgba(255,255,255,.8); }
.ctdark .ct__go{ color:#fff; }
.ct__flag{ position:absolute; top:clamp(22px,2vw,30px); right:clamp(16px,1.4vw,22px); width:28px; height:19px; object-fit:cover; box-shadow:0 0 0 1px rgba(255,255,255,.2); }
.ctdark .offices{ border-top-color:rgba(255,255,255,.14); }
.ctdark .office{ color:#fff; } .ctdark .office + .office{ border-left-color:rgba(255,255,255,.14); } .ctdark .office span{ color:rgba(255,255,255,.55); }
/* language menu */
.lang{ position:relative; display:block; }
.lang__btn{ display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:.74rem; font-weight:600; letter-spacing:.12em; color:inherit;
  background:none; border:1px solid currentColor; border-color:rgba(18,57,126,.25); border-radius:999px; padding:.5em .9em; cursor:pointer; color:var(--navy); }
.hdr--over .lang__btn{ color:#fff; border-color:rgba(255,255,255,.35); }
.lang__caret{ transition:transform .25s; } .lang.is-open .lang__caret{ transform:rotate(180deg); }
.lang__menu{ position:absolute; right:0; top:calc(100% + 8px); min-width:170px; background:#fff; border:1px solid rgba(18,57,126,.12);
  box-shadow:0 18px 40px rgba(6,20,47,.18); padding:6px; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .2s, transform .2s, visibility 0s .2s; z-index:90; }
.lang.is-open .lang__menu{ opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.lang__menu a{ display:flex; align-items:center; gap:12px; padding:9px 10px; color:var(--navy); text-decoration:none; font-size:.86rem; }
.lang__menu a b{ font-size:.7rem; letter-spacing:.12em; width:22px; color:#8a8577; }
.lang__menu a:hover{ background:#F2F1EC; } .lang__menu a[aria-current]{ color:var(--red); } .lang__menu a[aria-current] b{ color:var(--red); }
.lang__btn:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.lang > span,.lang > a{ display:none; }
.bony-body .lang__btn,.bony-body .hdr--over .lang__btn{ color:#fff; border-color:rgba(255,255,255,.3); }
.lang .lang__btn span{ display:inline; color:inherit; opacity:1; margin:0; padding:0; font-size:inherit; letter-spacing:inherit; }
.lang .lang__btn svg{ display:block; flex:none; }
.ctdark .shead__title em{ color:var(--gold); background:none; }
/* container ships on the routes (logo red/blue boxes) */
.fp__hull{ fill:#F4F2EC; } .fp__bridge{ fill:#12397E; } .fp__c1{ fill:#EA2425; } .fp__c2{ fill:#3B63D1; }

/* v18: mini ships; fleet copy sits clear of the passing road signs */
.fleet__copy{ padding-top:clamp(48px,7vh,84px); z-index:2; }
.fleet__copy > *{ max-width:600px; }
.fleet__t{ font-size:clamp(1.9rem,3.4vw,3rem); margin-bottom:14px; } .fleet__lead{ margin-bottom:18px; }
.rt.is-off .rt__stage *{ animation-play-state:paused !important; }
.fp__hull{ fill:#F4F2EC; }
/* Safari sizes an inline-flex button without its SVG children unless they carry CSS sizes */
.lang .lang__btn{ width:max-content; white-space:nowrap; gap:8px; padding:.5em .85em .5em .8em; }
.lang .lang__btn > svg:first-child{ width:14px; height:14px; flex:0 0 14px; }
.lang .lang__btn .lang__caret{ width:9px; height:9px; flex:0 0 9px; }

/* ================================================================ v20 — growing map (1999 → today) */
.gm{ position:relative; height:520vh; background:#06142F; color:#fff; }
.gm__sticky{ position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; display:flex; align-items:center;
  background:radial-gradient(ellipse at 70% 40%, #0F2A5E 0%, #06142F 60%); }
.gm__in{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(24px,4vw,64px); align-items:center; width:100%; padding-top:70px; }
.gm__panes{ display:grid; min-height:clamp(300px,46vh,420px); }
.gm__pane{ grid-area:1/1; opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .7s cubic-bezier(.2,.7,.1,1); pointer-events:none; }
.gm__pane.is-on{ opacity:1; transform:none; pointer-events:auto; }
.gm__big{ font-family:var(--display); font-weight:300; font-size:clamp(3.4rem,8vw,7.4rem); line-height:.95; letter-spacing:-.03em; color:var(--gold); margin:0 0 10px; }
.gm__period{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); font-weight:600; margin:0 0 14px; }
.gm__t{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem,2.2vw,2.1rem); line-height:1.15; color:#fff; margin:0 0 12px; }
.gm__b{ color:rgba(255,255,255,.72); font-size:.95rem; line-height:1.65; margin:0 0 16px; max-width:460px; }
.gm__chips span{ border-color:rgba(255,255,255,.22); color:rgba(255,255,255,.8); }
.gm__chips span.is-new{ border-color:var(--red); color:#fff; background:rgba(234,36,37,.18); }
.gm__rail{ position:relative; display:flex; justify-content:space-between; list-style:none; padding:14px 0 0; margin:26px 0 0; border-top:1px solid rgba(255,255,255,.18); max-width:460px; }
.gm__rail li{ font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); font-weight:600; transition:color .4s; }
.gm__rail li.is-on{ color:#fff; }
.gm__fill{ position:absolute; top:-1px; left:0; height:2px; width:var(--gp,0%); background:var(--gold); transition:width .15s linear; }
.gm__map{ position:relative; }
.gm__svg{ width:100%; height:auto; max-height:78vh; display:block; overflow:visible; }
.gm__hint{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.4); margin:0; transition:opacity .4s; }
.gm:not(.is-e1) .gm__hint,.gm.is-e2 .gm__hint{ opacity:0; }
/* map layers: hidden until their era */
.gl{ fill:rgba(255,255,255,.035); stroke:rgba(255,255,255,.09); stroke-width:.8; transition:fill 1s ease, stroke 1s ease; }
.gm.is-e1 .gl-af{ fill:rgba(255,255,255,.06); }
.gm-mk{ transition:fill 1.1s ease, stroke 1.1s ease; }
.gm.is-e2 .gm-mk.g2,.gm.is-e3 .gm-mk.g3{ fill:rgba(184,151,79,.28); stroke:rgba(184,151,79,.8); }
.gm.is-e4 .gm-mk.g2,.gm.is-e4 .gm-mk.g3{ fill:rgba(234,36,37,.2); stroke:rgba(234,36,37,.7); }
.gm.is-e5 .gm-mk.g5{ fill:rgba(59,99,209,.25); stroke:rgba(120,150,230,.8); }
.gm.is-e5 .gm-mk.gm-dev{ fill:rgba(255,255,255,.05); stroke-dasharray:4 5; stroke:rgba(255,255,255,.55); }
.gr{ fill:none; stroke:var(--gold); stroke-width:1.4; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; opacity:.9; transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1); }
.gr--dxb{ stroke:#F3DDA0; stroke-width:1.1; opacity:.8; }
.gr--office{ stroke:rgba(255,255,255,.5); stroke-dasharray:4 6; stroke-dashoffset:0; opacity:0; transition:opacity 1s ease; }
.gm.is-e3 .gr.g3,.gm.is-e5 .gr.g5{ stroke-dashoffset:0; }
.gm.is-e5 .gr--office{ opacity:1; }
.gn,.gt,.gc,.gh,.gn__dot.g5{ opacity:0; transition:opacity .8s ease .5s; }
.gm.is-e1 .g1,.gm.is-e2 .g2,.gm.is-e3 .g3,.gm.is-e4 .g4,.gm.is-e5 .g5{ opacity:1; }
.gm.is-e2 .gx1{ opacity:0; }
.gn__dot{ fill:var(--red); } .gn__ring{ fill:none; stroke:rgba(234,36,37,.55); stroke-width:1; }
.gh__dot{ fill:#fff; } .gh__ring{ fill:none; stroke:rgba(234,36,37,.8); stroke-width:1.4; }
.gt{ font:600 15px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; fill:rgba(255,255,255,.8); paint-order:stroke; stroke:#06142F; stroke-width:5px; }
.gt--hub{ font-size:19px; fill:#fff; } .gt--era{ font-family:var(--display); font-weight:300; font-size:44px; letter-spacing:.02em; text-transform:none; fill:rgba(243,221,160,.9); }
.gc{ font:600 14px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; fill:#F3DDA0; paint-order:stroke; stroke:#06142F; stroke-width:6px; }
@media (max-width:760px){
  .gm{ height:560vh; }
  .gm__in{ grid-template-columns:1fr; gap:6px; padding-top:76px; align-content:start; }
  .gm__map{ order:-1; } .gm__svg{ max-height:40vh; }
  .gm__panes{ min-height:0; } .gm__b{ display:none; }
  .gm__big{ font-size:3rem; margin-bottom:4px; } .gm__t{ font-size:1.3rem; }
  .gm__rail{ margin-top:14px; }
  .gt{ font-size:22px; } .gc{ font-size:21px; } .gt--era{ font-size:56px; }
}
@media (prefers-reduced-motion:reduce){ .gm__pane,.gl,.gm-mk,.gr,.gn,.gt,.gc,.gh{ transition:none; } }
/* growing map camera + zoom-aware sizes */
.gm-cam{ transform-origin:0 0; transform:var(--z1); transition:transform 1.8s cubic-bezier(.65,0,.25,1); }
.gm.is-e2 .gm-cam{ transform:var(--z2); } .gm.is-e5 .gm-cam{ transform:none; }
.gl,.gr,.gn__ring,.gh__ring{ vector-effect:non-scaling-stroke; }
.gm .gt,.gm .gc{ font-size:var(--f2); stroke-width:calc(var(--f2) * .38); transition:opacity .8s ease .5s, font-size 1.6s ease; }
.gm.is-e5 .gt,.gm.is-e5 .gc{ font-size:var(--f5); stroke-width:calc(var(--f5) * .38); }
.gm .gt--era{ font-size:var(--e1); stroke-width:0; }
.gm .gt--hub{ font-size:calc(var(--f5) * 1.25); }
.gn,.gh{ transform-box:fill-box; transform-origin:center; transition:opacity .8s ease .5s, transform 1.6s ease; }
.gm.is-e5 .gn{ transform:scale(var(--n5)); }
.gm .gm__chips span{ background:transparent !important; color:rgba(255,255,255,.8) !important; border:1px solid rgba(255,255,255,.22) !important; }
.gm .gm__chips span.is-new{ background:rgba(234,36,37,.2) !important; color:#fff !important; border-color:var(--red) !important; }
@media (max-width:760px){
  .gm .gt,.gm .gc{ font-size:calc(var(--f2) * 2.2); } .gm.is-e5 .gt,.gm.is-e5 .gc{ font-size:calc(var(--f5) * 2.2); }
  .gm .gt--era{ font-size:calc(var(--e1) * 2); }
}
.gm.is-e5 .gt.g2,.gm.is-e5 .gt.g3,.gm.is-e5 .gc{ opacity:0; }

/* ================================================================ v21 — departure board */
.bd{ background:#070B16; color:#fff; padding:clamp(80px,11vw,140px) 0; }
.bd__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:clamp(26px,3vw,40px); }
.bd__title{ font-family:var(--display); font-weight:300; font-size:clamp(2rem,4vw,3.4rem); line-height:1; margin:0; color:#fff; }
.bd__now{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; margin:0; }
.bd__now > span{ font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); font-weight:600; }
.bd__board{ background:#0C1224; border:1px solid rgba(255,255,255,.08); border-radius:4px; padding:clamp(14px,2vw,26px); box-shadow:inset 0 0 0 6px #070B16, 0 30px 60px rgba(0,0,0,.4); overflow-x:auto; }
.bd__head,.bd__row{ display:grid; grid-template-columns:5.6fr 12.4fr 11.4fr 26.6fr 17.2fr; gap:clamp(10px,1.4vw,22px); align-items:center; min-width:880px; }
.bd__head{ padding:0 0 10px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:8px; }
.bd__head span{ font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:#F3C74F; font-weight:600; }
.bd__rows{ list-style:none; margin:0; padding:0; }
.bd__row{ padding:7px 0; border-bottom:1px solid rgba(255,255,255,.04); }
.bd__row i{ display:none; }
.bd__c{ display:flex; gap:2px; white-space:nowrap; }
.bd__c b{ position:relative; display:inline-grid; place-items:center; width:1.18em; height:1.62em; font:700 clamp(.8rem,1.05vw,1rem)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color:#F4F1E6; background:linear-gradient(180deg,#1A2240 0 49%,#0A0F20 49% 51%,#161E38 51% 100%); border-radius:2px; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.bd__c b.bdf{ animation:bdFlip .09s ease-in; }
@keyframes bdFlip{ 0%{ transform:scaleY(1) } 50%{ transform:scaleY(.1) } 100%{ transform:scaleY(1) } }
.bd__time b{ color:#F3C74F; }
.bd__row--op .bd__st b{ color:#7FD69A; } .bd__row--dev .bd__st b{ color:#FF7A6B; } .bd__row--off .bd__st b{ color:#9FB8FF; }
.bd__stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,30px); margin-top:clamp(30px,4vw,54px); }
.bd__stat small{ display:block; margin-top:10px; font-size:.68rem; letter-spacing:.2em; color:rgba(255,255,255,.55); font-weight:600; }
.bd__big b{ width:1.25em; height:1.6em; font-size:clamp(1.6rem,3.2vw,2.8rem); }
.bd__dxb b{ font-size:clamp(1.3rem,2.2vw,2rem); color:#F3C74F; }
@media (max-width:760px){
  .bd__head,.bd__row{ grid-template-columns:5.6fr 12.4fr 17.2fr; min-width:0; }
  .bd__head span:nth-child(3),.bd__head span:nth-child(4),.bd__country,.bd__line{ display:none; }
  .bd__c b{ font-size:.62rem; width:1.12em; } .bd__board{ padding:10px; }
  .bd__stats{ grid-template-columns:repeat(2,1fr); } .bd__big b{ font-size:1.5rem; }
  .bd__now{ align-items:flex-start; }
}

/* ================================================================ v21 — giant line */
.giant{ background:#06142F; padding:clamp(110px,18vh,200px) 0; }
.giant__t{ font-family:var(--display); font-weight:300; font-size:clamp(2.3rem,6.2vw,6.2rem); line-height:1.04; letter-spacing:-.02em; margin:0; max-width:15em; text-wrap:balance; }
.giant__t .sw{ color:rgba(255,255,255,.13); transition:color .45s ease; }
.giant__t .sw.on{ color:#fff; }
.giant__t .sw.on:last-child{ color:var(--gold); font-style:italic; }
@media (prefers-reduced-motion:reduce){ .giant__t .sw{ color:#fff; } }

/* ================================================================ v21 — logo-ring transitions */
.bs__img{ opacity:1; clip-path:circle(0% at 72% 50%); transition:clip-path 1.35s cubic-bezier(.65,0,.25,1); z-index:0; }
.bs__img.is-prev{ clip-path:circle(150% at 72% 50%); transition:none; z-index:0; }
.bs__img.is-on{ clip-path:circle(150% at 72% 50%); z-index:1; }
.bs__rings{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0;
  background:repeating-radial-gradient(circle at 72% 50%, transparent 0 22px, rgba(234,36,37,.55) 22px 23.5px, transparent 23.5px 44px, rgba(59,99,209,.6) 44px 45.5px, transparent 45.5px 66px); }
.bs__rings.is-go{ animation:ringOut 1.4s cubic-bezier(.2,.7,.1,1); }
@keyframes ringOut{ 0%{ opacity:0; transform:scale(.35) } 25%{ opacity:.9 } 100%{ opacity:0; transform:scale(1.5) } }
.bs__rings{ transform-origin:72% 50%; }
@view-transition{ navigation:auto; }
::view-transition-old(root){ animation:none; }
::view-transition-new(root){ animation:vtRing .75s cubic-bezier(.65,0,.25,1); }
@keyframes vtRing{ from{ clip-path:circle(0% at 50% 42%) } to{ clip-path:circle(80% at 50% 42%) } }
@media (prefers-reduced-motion:reduce){
  .bs__img{ transition:none; } .bs__rings{ display:none; }
  ::view-transition-new(root){ animation:none; }
}

/* ================================================================ v21 — signature close */
.sig{ background:var(--canvas,#FAFAF8); padding:clamp(100px,14vw,170px) 0; text-align:center; }
.sig__in{ display:flex; flex-direction:column; align-items:center; }
.sig__names{ display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:0 .35em; margin:14px 0 6px;
  font-family:'Signature',cursive; font-size:clamp(3rem,7.4vw,6.6rem); line-height:1.25; color:var(--navy); }
.sig__n{ display:inline-block; clip-path:inset(-20% 100% -30% 0); transition:clip-path 2.2s cubic-bezier(.45,0,.25,1); padding:0 .15em; }
.sig__n--2{ transition-delay:1.5s; }
.sig__amp{ font-family:var(--display); font-style:italic; font-weight:300; color:var(--gold); font-size:.6em; opacity:0; transition:opacity 1s ease 1.1s; }
.sig__in.is-in .sig__n{ clip-path:inset(-20% -5% -30% 0); }
.sig__in.is-in .sig__amp{ opacity:1; }
.sig__line{ font-size:.74rem; letter-spacing:.24em; text-transform:uppercase; color:var(--red); font-weight:600; margin:6px 0 22px; }
.sig__lead{ max-width:620px; margin:0 auto 30px; }
.sig__cta{ display:flex; gap:26px; align-items:center; justify-content:center; flex-wrap:wrap; }
@media (prefers-reduced-motion:reduce){ .sig__n{ clip-path:none; transition:none; } .sig__amp{ opacity:1; } }

/* ================================================================ v21 — map you can touch */
.rt__stage .film__svg{ transition:transform .9s cubic-bezier(.2,.7,.1,1); transform-origin:60% 45%; }
.rt__spot{ position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen; opacity:0; transition:opacity .6s;
  background:radial-gradient(circle 300px at var(--mx,50%) var(--my,50%), rgba(243,221,160,.16), transparent 70%); }
.rt.is-touch .rt__spot{ opacity:1; }
/* board: columns sized from tile counts so letters never spill */
.bd__board{ --t:calc(1.1em + 2px); font-size:clamp(.7rem,.95vw,.82rem); }
.bd__head,.bd__row{ grid-template-columns:calc(5 * var(--t)) calc(12 * var(--t)) calc(9 * var(--t)) calc(23 * var(--t)) calc(16 * var(--t));
  justify-content:space-between; gap:12px; min-width:0; }
.bd__c{ gap:2px; } .bd__c b{ width:1.1em; height:1.55em; font-size:1em; }
.bd__head span{ font-size:.62rem; }
.bd__big b{ width:1.2em; }
@media (max-width:1180px){
  .bd__head,.bd__row{ grid-template-columns:calc(5 * var(--t)) calc(12 * var(--t)) calc(23 * var(--t)) calc(16 * var(--t)); }
  .bd__head span:nth-child(3),.bd__country{ display:none; }
}
@media (max-width:760px){
  .bd__board{ font-size:.86rem; }
  .bd__head,.bd__row{ grid-template-columns:calc(5 * var(--t)) calc(12 * var(--t)); justify-content:start; gap:14px; }
  .bd__head span:nth-child(n+3),.bd__country,.bd__line,.bd__st{ display:none; }
  .bd__row{ border-left:3px solid #7FD69A; padding-left:10px; } .bd__row--dev{ border-left-color:#FF7A6B; } .bd__row--off{ border-left-color:#9FB8FF; }
  .bd__head{ padding-left:13px; }
}
/* signatures stack: Sunder / & / Raju */
.sig__names{ flex-direction:column; align-items:center; gap:0; line-height:1.1; }
.sig__amp{ font-size:.45em; margin:-.1em 0; }
.bd__stats .bd__c b{ font-size:clamp(1.4rem,2.6vw,2.4rem); width:1.12em; height:1.5em; }
.bd__now .bd__c b{ font-size:clamp(1.1rem,1.8vw,1.6rem); width:1.12em; height:1.5em; color:#F3C74F; }

/* ================================================================ v22 — founder feedback */
/* hero intro: the real S&R lettermark over the logo's red/blue rings */
.rt__mono{ font-size:inherit; }
.rt__mark{ position:relative; width:min(46vw,520px); height:auto; opacity:0; transform:scale(.9); filter:drop-shadow(0 10px 30px rgba(0,0,0,.35));
  transition:opacity .9s ease, transform 1.2s cubic-bezier(.2,.7,.1,1); }
.rt__halo{ position:absolute; left:50%; top:50%; width:min(92vw,980px); aspect-ratio:1; transform:translate(-50%,-50%) scale(.6); opacity:0; border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 16px, rgba(234,36,37,.5) 16px 17.5px, transparent 17.5px 33px, rgba(59,99,209,.55) 33px 34.5px, transparent 34.5px 50px);
  -webkit-mask:radial-gradient(circle, #000 20%, transparent 68%); mask:radial-gradient(circle, #000 20%, transparent 68%);
  transition:opacity 1.2s ease, transform 2.2s cubic-bezier(.2,.7,.1,1); }
.rt.is-open .rt__mark{ opacity:1; transform:none; }
.rt.is-open .rt__halo{ opacity:.8; transform:translate(-50%,-50%) scale(1); }
.rt.is-fly .rt__mark{ transition:transform 1.25s cubic-bezier(.65,0,.25,1), opacity .5s ease 1s; transform:translate(var(--fx,0),var(--fy,0)) scale(.05); opacity:0; }
.rt.is-fly .rt__halo{ opacity:0; transform:translate(-50%,-50%) scale(1.5); transition:opacity .9s ease, transform 1.4s ease; }
@media (max-width:760px){ .rt__mono{ align-items:flex-start; padding-top:calc(84px + 10vw); } .rt__mark{ width:72vw; } .rt__halo{ top:calc(84px + 10vw + 14vw); } }
@media (prefers-reduced-motion:reduce){ .rt__halo{ display:none; } }
/* growing map: normal height, plays by itself */
.gm{ height:auto; }
.gm__sticky{ position:relative; height:auto; min-height:100vh; min-height:100svh; padding:40px 0 50px; }
.gm__fill{ transition:width 2.2s linear; }
.gm__rail li button{ font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; background:none; border:0; padding:6px 0; cursor:pointer; }
.gm__rail li button:hover{ color:#fff; }
.gm__replay{ margin-top:18px; font:600 .72rem/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); background:none;
  border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:.7em 1.2em; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .5s; }
.gm.is-end .gm__replay{ opacity:1; pointer-events:auto; } .gm__replay:hover{ color:#fff; border-color:var(--gold); }
@media (max-width:760px){ .gm{ height:auto; } .gm__b{ display:block; font-size:.88rem; } }
/* brands in two families */
.bgroups{ display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1.05fr); gap:clamp(20px,2.4vw,36px); }
.bgroup__h{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; align-items:baseline; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(18,57,126,.14); }
.bgroup__h b{ font-family:var(--display); font-weight:400; font-size:1.15rem; color:var(--navy); }
.bgroup__h span{ font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#8a8577; font-weight:600; }
.bgroup .bcards--1{ grid-template-columns:1fr; }
.bgroup__ext{ display:inline-block; margin-top:12px; font-size:.78rem; color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(18,57,126,.3); }
.bgroup__ext:hover{ border-color:var(--gold); }
.bcard--bony .bcard__fig{ background:#0c0605; display:block; }
.bcard--bony .bcard__fig img{ width:100%; height:100%; object-fit:cover; object-position:47% 50%; filter:none; }
@media (max-width:960px){ .bgroups{ grid-template-columns:1fr; } .bgroup .bcards--1{ grid-template-columns:minmax(0,420px); } }
/* switcher: second link (bottling -> Bony) */
.bs__go--2{ margin-left:26px; color:rgba(255,255,255,.8); }
/* operating company on the business hero */
.lh__co{ display:inline-flex; align-items:center; gap:12px; margin:18px 0 0; padding:9px 14px; border:1px solid rgba(184,151,79,.55); }
.lh__co span{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.lh__co b{ font-family:var(--display); font-weight:400; font-size:1.05rem; color:#fff; }

/* ================================================================ v23 — one blue, quicker growth map, at a glance */
/* every blue section uses the hero blue (white sections stay white) */
.section--navy,.phero,.hero,.quote,.card--navy,.panel--navy,.film,.ftr,.mq,.ctdark,.gm,.gm__sticky,.glance,.giant,.bs,.lh{ background:#06142F; }
.ctdark,.gm__sticky{ background:#06142F; }
/* growing map: about twice as quick */
.gm-cam{ transition:transform 1.05s cubic-bezier(.65,0,.25,1); }
.gr{ transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1); }
.gn,.gt,.gc,.gh,.gn__dot.g5{ transition:opacity .45s ease .2s; }
.gm .gt,.gm .gc{ transition:opacity .45s ease .2s, font-size .9s ease; }
.gl,.gm-mk{ transition:fill .6s ease, stroke .6s ease; }
.gm__pane{ transition:opacity .35s ease, transform .45s cubic-bezier(.2,.7,.1,1); }
.gm__fill{ transition:width 1.2s linear; }
/* at a glance, on the hero blue */
.glance{ color:#fff; }
.glance .shead__title{ color:#fff; } .glance .shead__title em{ color:var(--gold); background:none; }
.glance .lead{ color:rgba(255,255,255,.7); }
.glance .ledger{ gap:clamp(36px,4vw,64px) clamp(28px,3.6vw,64px); }
.glance .ledger__item::before{ background:rgba(255,255,255,.28); }
.glance .ledger__item:nth-child(2)::before,.glance .ledger__item:nth-child(4)::before{ background:var(--red); }
.glance .ledger__item:nth-child(6)::before{ background:var(--gold); }
.glance .ledger__v{ color:#fff; font-family:var(--display); font-weight:300; font-size:clamp(2.8rem,5vw,4.8rem); line-height:1; letter-spacing:-.02em; }
.glance .ledger__v small{ color:var(--gold); font-size:.4em; letter-spacing:.06em; }
.glance .ledger__l{ color:rgba(255,255,255,.62); }
@media (max-width:760px){ .glance .ledger{ grid-template-columns:1fr 1fr; } }
/* option B: At a glance on white (preview with ?glance=white) */
.glance.glance--w{ background:#fff; color:var(--ink); }
.glance.glance--w .eyebrow{ color:var(--navy); } .glance.glance--w .eyebrow::before{ background:var(--red); }
.glance.glance--w .shead__title{ color:var(--navy); }
.glance.glance--w .lead{ color:var(--ink-2); }
.glance.glance--w .ledger__item::before{ background:rgba(18,57,126,.25); }
.glance.glance--w .ledger__item:nth-child(2)::before,.glance.glance--w .ledger__item:nth-child(4)::before{ background:var(--red); }
.glance.glance--w .ledger__item:nth-child(6)::before{ background:var(--gold); }
.glance.glance--w .ledger__v{ color:var(--navy); }
.glance.glance--w .ledger__l{ color:var(--ink-3); }
/* at a glance: tighter — less white space, smaller figures */
.glance{ padding-block:clamp(56px,6.5vw,96px); }
.glance .shead{ margin-bottom:clamp(26px,3vw,42px); }
.glance .ledger{ gap:clamp(22px,2.4vw,34px) clamp(28px,3.6vw,64px); }
.glance .ledger__item{ padding-top:clamp(14px,1.4vw,20px); }
.glance .ledger__v{ font-size:clamp(2.3rem,3.6vw,3.5rem); }
.glance .ledger__l{ margin-top:8px; }

/* ================================================================ v24 — review fixes */
/* hero clock: readable on the dark hero */
.rt__clock span,.rt__clock em{ color:rgba(255,255,255,.7); }
.rt__clock b{ color:#fff; font-size:1.15rem; }
/* how we got here — a quiet five-stop line */
.jy{ background:#fff; }
.jy__nav{ display:flex; gap:10px; justify-content:flex-end; align-self:end; }
.jy__arr{ width:44px; height:44px; border-radius:50%; border:1px solid rgba(18,57,126,.25); background:none; color:var(--navy); font-size:1.05rem; cursor:pointer; transition:all .25s; }
.jy__arr:hover{ background:var(--navy); color:#fff; border-color:var(--navy); }
.jy__line{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; margin:0 0 clamp(22px,2.6vw,34px); padding:0; }
.jy__line::before,.jy__line::after{ content:""; position:absolute; left:0; top:7px; height:1px; background:rgba(18,57,126,.18); right:20%; }
.jy__line::after{ background:var(--gold); height:2px; top:6.5px; right:auto; width:calc(var(--jp,0%) * .8); transition:width .5s ease; }
.jy__stop{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:12px; background:none; border:0; padding:0; cursor:pointer; font:inherit; text-align:left; }
.jy__stop i{ width:15px; height:15px; border-radius:50%; background:#fff; border:2px solid rgba(18,57,126,.3); transition:all .3s; }
.jy__stop span{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--ink-3); transition:color .3s; }
.jy__stop.is-past i{ border-color:var(--gold); background:var(--gold); }
.jy__stop.is-on i{ border-color:var(--red); background:var(--red); box-shadow:0 0 0 5px rgba(234,36,37,.12); }
.jy__stop.is-on span{ color:var(--navy); }
.jy__stop:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; }
.jy__slides{ display:grid; max-width:760px; }
.jy__slide{ grid-area:1/1; opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .4s ease; pointer-events:none; }
.jy__slide.is-on{ opacity:1; transform:none; pointer-events:auto; }
.jy__t{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem,2.4vw,2.2rem); color:var(--navy); margin:0 0 10px; }
.jy__b{ font-size:1.02rem; line-height:1.7; color:var(--ink-2); margin:0; }
@media (max-width:760px){ .jy__line{ grid-template-columns:repeat(5,minmax(0,1fr)); } .jy__stop span{ font-size:.56rem; letter-spacing:.08em; } .jy__nav{ justify-content:flex-start; } }
.jy{ background:var(--canvas,#FAFAF8); }

/* ================================================================ v25 */
/* page-to-page: a quiet cross-fade with a slight rise (replaces the circle) */
::view-transition-old(root){ animation:vtOut .28s ease both; }
::view-transition-new(root){ animation:vtIn .55s cubic-bezier(.2,.7,.1,1) .05s both; }
@keyframes vtOut{ to{ opacity:0; } }
@keyframes vtIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ ::view-transition-old(root),::view-transition-new(root){ animation:none; } }
/* story hero: colour logo between the two founders */
.hx__letter{ display:none !important; }
.hx__amp--logo{ font-size:0 !important; color:transparent !important; background:none !important; display:flex; align-items:center; justify-content:center; }
.hx__amp--logo img{ width:clamp(120px,14vw,200px); height:auto; }
/* small multiples: five eras side by side */
.gmm{ background:#06142F; color:#fff; }
.gmm .shead__title{ color:#fff; } .gmm .shead__title em{ color:var(--gold); background:none; } .gmm .lead{ color:rgba(255,255,255,.7); }
.gmm__row{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(14px,1.6vw,24px); }
.gmm__card{ border-top:1px solid rgba(255,255,255,.16); padding-top:14px; }
.gmm__map{ display:block; width:100%; height:auto; margin-bottom:14px; }
.gmm__k{ font-family:var(--display); font-weight:300; font-size:clamp(1.5rem,2.2vw,2.1rem); color:var(--gold); margin:0 0 6px; line-height:1; }
.gmm__t{ font-family:var(--display); font-weight:400; font-size:1.05rem; line-height:1.25; color:#fff; margin:0 0 6px; }
.gmm__b{ font-size:.82rem; line-height:1.55; color:rgba(255,255,255,.62); margin:0; }
.gmm__card{ --land:rgba(255,255,255,.045); --edge:rgba(255,255,255,.1); --af:var(--land); --drc:var(--edge);
  --m2:var(--land); --m2s:var(--edge); --m3:var(--land); --m3s:var(--edge); --m5:var(--land); --m5s:var(--edge);
  --r3:0; --r5:0; --n2:0; --n3:0; --n4:0; }
.gmm--e1{ --af:rgba(255,255,255,.13); }
.gmm--e2,.gmm--e3,.gmm--e4,.gmm--e5{ --m2:rgba(184,151,79,.6); --m2s:#B8974F; --n2:1; }
.gmm--e3,.gmm--e4,.gmm--e5{ --m3:rgba(184,151,79,.6); --m3s:#B8974F; --r3:1; --n3:1; }
.gmm--e4{ --n4:1; }
.gmm--e5{ --m5:rgba(59,99,209,.6); --m5s:#8FA8EC; --r5:1; --r3:.35; --drc:rgba(255,255,255,.55); }
.gmm__card.is-in{ border-top-color:var(--gold); transition:border-color .6s ease; }
@media (max-width:960px){ .gmm__row{ grid-template-columns:repeat(2,minmax(0,1fr)); } .gmm__card:last-child{ grid-column:1 / -1; } }
/* small multiples: same frame size for every era, brighter network */
.gmm__map{ aspect-ratio:4/3; background:rgba(255,255,255,.02); }
.gmm--e2,.gmm--e3,.gmm--e4,.gmm--e5{ --m2:rgba(214,178,98,.85); --m2s:#E2C27A; }
.gmm--e3,.gmm--e4,.gmm--e5{ --m3:rgba(214,178,98,.85); --m3s:#E2C27A; }
.gmm--e5{ --m5:rgba(90,130,230,.8); --m5s:#A9BDF2; }
.gmm--e1{ --af:rgba(255,255,255,.16); }
.gmm__quote{ margin-top:clamp(40px,5vw,70px); padding-top:clamp(24px,3vw,36px); border-top:1px solid rgba(184,151,79,.5); max-width:880px; }
.gmm__qt{ font-family:var(--display); font-weight:300; font-style:italic; font-size:clamp(1.4rem,2.4vw,2.1rem); line-height:1.3; color:#fff; margin:0 0 12px; }
.gmm__qb{ color:rgba(255,255,255,.66); line-height:1.7; margin:0; max-width:720px; }

/* ================================================================ v29 — hero doors as buttons, colour mark */
.rt__doors{ border-top:0; gap:clamp(12px,1.4vw,20px); }
.rt__door,.rt__door + .rt__door{ align-items:center; padding:clamp(18px,1.8vw,24px) clamp(20px,2vw,28px); border:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18); border-radius:3px; background:rgba(255,255,255,.035);
  transition:background .35s ease, border-color .35s ease, transform .35s ease; }
.rt__door::before{ display:none; }
.rt__door:hover,.rt__door:focus-visible{ background:rgba(255,255,255,.08); border-color:var(--gold); transform:translateY(-2px); }
.rt__door .rt__dt{ font-size:clamp(1.2rem,1.9vw,1.75rem); }
.rt__go{ grid-column:2; grid-row:1 / span 2; display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(255,255,255,.35); transition:background .35s ease, border-color .35s ease, color .35s ease; }
.rt__go .btn__arr{ width:16px; height:12px; transition:transform .35s ease; }
.rt__door:hover .rt__go,.rt__door:focus-visible .rt__go{ background:var(--gold); border-color:var(--gold); color:#06142F; }
.rt__door:hover .rt__go .btn__arr{ transform:translateX(3px); }
@media (max-width:760px){ .rt__door + .rt__door{ border-top:1px solid rgba(255,255,255,.18); } .rt__go{ width:40px; height:40px; } }
.rt__mark{ filter:drop-shadow(0 12px 34px rgba(0,0,0,.45)); }

/* ================================================================ v30 — subtle motion: ripples, door hairlines, door previews */
/* intro: the mark sends out two soft ripples in the logo's colours before it travels to Dubai */
.rt__mono::before,.rt__mono::after{ content:""; position:absolute; left:50%; top:50%; width:min(40vw,420px); aspect-ratio:1; border-radius:50%;
  transform:translate(-50%,-50%) scale(.6); opacity:0; pointer-events:none; }
.rt__mono::before{ border:1px solid rgba(234,36,37,.55); } .rt__mono::after{ border:1px solid rgba(90,130,230,.6); }
.rt.is-open:not(.is-fly) .rt__mono::before{ animation:ripple 1.6s cubic-bezier(.2,.7,.1,1) .2s both; }
.rt.is-open:not(.is-fly) .rt__mono::after{ animation:ripple 1.6s cubic-bezier(.2,.7,.1,1) .6s both; }
@keyframes ripple{ 0%{ opacity:0; transform:translate(-50%,-50%) scale(.6) } 25%{ opacity:.9 } 100%{ opacity:0; transform:translate(-50%,-50%) scale(1.9) } }
@media (max-width:760px){ .rt__mono::before,.rt__mono::after{ top:calc(84px + 10vw + 14vw); width:64vw; } }
/* doors: a gold hairline draws across each door as it arrives */
.rt__door{ position:relative; overflow:hidden; isolation:isolate; }
.rt__door::after{ content:""; position:absolute; left:0; top:0; height:1px; width:0; background:var(--gold); }
.rt.is-go .rt__door::after{ width:100%; transition:width 1.3s cubic-bezier(.65,0,.25,1) 1.2s; }
.rt.is-go .rt__door + .rt__door::after{ transition-delay:1.45s; }
/* doors: a quiet preview behind the words on hover */
.rt__bg{ position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity .7s ease; pointer-events:none; }
.rt__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,20,47,.97) 30%, rgba(6,20,47,.62) 100%); }
.rt__bg img{ position:absolute; object-fit:cover; filter:grayscale(.35) saturate(.8); }
.rt__bg--story img{ top:0; height:100%; width:18%; object-position:50% 18%; }
.rt__bg--story .p1{ right:calc(46px + 18% + 44px); } .rt__bg--story .p2{ right:calc(46px + 40px); }
.rt__bg--biz img{ inset:0; width:100%; height:100%; opacity:0; animation:doorCycle 7.5s ease-in-out infinite; animation-play-state:paused; }
.rt__bg--biz .c2{ animation-delay:2.5s; } .rt__bg--biz .c3{ animation-delay:5s; }
@keyframes doorCycle{ 0%{ opacity:0; transform:scale(1.06) } 12%,33%{ opacity:1 } 45%,100%{ opacity:0; transform:scale(1) } }
.rt__door:hover .rt__bg,.rt__door:focus-visible .rt__bg{ opacity:1; }
.rt__door:hover .rt__bg--biz img,.rt__door:focus-visible .rt__bg--biz img{ animation-play-state:running; }
@media (hover:none),(max-width:760px){ .rt__bg{ display:none; } }
@media (prefers-reduced-motion:reduce){ .rt__mono::before,.rt__mono::after{ display:none; } .rt__bg--biz img{ animation:none; } .rt__bg--biz .c1{ opacity:1; } }

/* v31: real Al Fina packshots on white */
.ptile__img{ background:#fff; } .ptile__img img{ object-fit:contain; }
.afshelf{ margin:clamp(32px,4.5vw,64px) 0 0; background:#fff; }
.afshelf img{ display:block; width:100%; height:auto; }

/* v32: news, Denu project, India edge marker */
.ncards{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(18px,2.4vw,36px); }
.ncard{ display:grid; gap:10px; text-decoration:none; color:var(--navy); }
.ncard__fig{ display:block; aspect-ratio:3/2; overflow:hidden; background:#F2F1EC; margin-bottom:8px; }
.ncard__fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.1,1); }
.ncard:hover .ncard__fig img{ transform:scale(1.04); }
.ncard__k,.art__k{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:#8a8577; font-weight:600; }
.ncard__t{ font-family:var(--display); font-weight:400; font-size:clamp(1.3rem,1.8vw,1.7rem); line-height:1.2; }
.ncard__go{ display:inline-flex; gap:10px; align-items:center; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); }
.ncard__go .btn__arr{ color:var(--gold); transition:transform .4s; } .ncard:hover .ncard__go .btn__arr{ transform:translateX(6px); }
.denu__g{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:clamp(10px,1.2vw,16px); }
.denu__f{ margin:0; overflow:hidden; } .denu__f img{ width:100%; height:100%; object-fit:cover; display:block; }
.denu__f--0{ grid-row:1 / span 2; aspect-ratio:4/3; }
.denu__cap{ margin-top:12px; font-size:.74rem; letter-spacing:.08em; color:#8a8577; }
.arts{ display:grid; gap:clamp(64px,8vw,120px); }
.art{ scroll-margin-top:110px; }
.art__head{ max-width:760px; margin-bottom:clamp(24px,3vw,40px); } .art__k span{ margin-left:1em; }
.art__t{ margin:.6rem 0 1rem; color:var(--navy); }
.art__g{ display:grid; gap:clamp(10px,1.2vw,16px); grid-template-columns:repeat(2,1fr); }
.art__g--3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; } .art__g--3 .art__f:first-child{ grid-row:1 / span 2; }
.art__f{ margin:0; overflow:hidden; aspect-ratio:3/2; } .art__g--3 .art__f:first-child{ aspect-ratio:auto; }
.art__f img{ width:100%; height:100%; object-fit:cover; display:block; }
.map__edge{ pointer-events:auto; position:absolute; right:0; transform:translateY(-50%); display:grid; gap:2px; text-align:right; text-decoration:none;
  padding:6px 0 6px 34px; }
.map__edge::before{ content:""; position:absolute; left:0; top:50%; width:26px; border-top:1px dashed var(--gold); }
.map__edge b{ font-family:var(--display); font-weight:400; font-size:.95rem; color:var(--navy); }
.map__edge span{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#8a8577; }
.map__edge b::after{ content:" →"; color:var(--gold); }
@media (max-width:760px){ .ncards,.denu__g,.art__g,.art__g--3{ grid-template-columns:1fr; grid-template-rows:none; }
  .denu__f--0,.art__g--3 .art__f:first-child{ grid-row:auto; aspect-ratio:4/3; } }

/* v33: /markets/ dotted atlas (A+C) */
.atlas{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(28px,4vw,72px); align-items:center; }
.atlas__map{ position:relative; }
.atlas__svg{ display:block; width:100%; height:auto; overflow:visible; }
.at-land,.at-c{ fill:none; stroke-linecap:round; stroke-width:3.3; }
.at-land{ stroke:#DEDBD2; }
.at-c{ stroke:var(--navy); opacity:.72; transition:opacity .45s, stroke .45s; }
.at-r{ fill:none; stroke:var(--gold); stroke-width:1; opacity:.55; stroke-dasharray:1; stroke-dashoffset:1; transition:opacity .45s, stroke-width .45s; }
.at-r--in{ stroke-dasharray:.018 .014; stroke-dashoffset:0; }
.atlas.is-in .at-r:not(.at-r--in){ animation:atDraw 1.6s cubic-bezier(.3,.6,.2,1) forwards; }
.atlas.is-in .at-r:nth-of-type(3n){ animation-delay:.15s } .atlas.is-in .at-r:nth-of-type(3n+1){ animation-delay:.3s }
@keyframes atDraw{ to{ stroke-dashoffset:0; } }
.at-p{ fill:#fff; stroke:var(--gold); stroke-width:1.4; transition:opacity .45s, r .3s; }
.at-hub{ fill:var(--navy); } .at-hub__ring{ fill:none; stroke:var(--navy); stroke-opacity:.25; }
.atlas[data-on] .at-c{ opacity:.18; } .atlas[data-on] .at-r,.atlas[data-on] .at-p{ opacity:.15; }
.atlas[data-on] .is-hot{ opacity:1 !important; } .atlas[data-on] .at-r.is-hot{ stroke-width:1.6; } .atlas[data-on] .at-p.is-hot{ r:4.2; }
.atlas .is-dim{ opacity:.12 !important; }
.atlas__lab{ font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:#8a8577; font-weight:600; margin:0 0 10px; }
.atlas__biz{ display:flex; flex-wrap:wrap; gap:4px 16px; margin-bottom:clamp(20px,2.4vw,32px); }
.atlas__biz button{ background:none; border:0; padding:4px 0; font:inherit; font-size:.82rem; color:#8a8577; cursor:pointer;
  border-bottom:1px solid transparent; transition:color .3s, border-color .3s; }
.atlas__biz button:hover{ color:var(--navy); } .atlas__biz button.is-on{ color:var(--navy); border-color:var(--red,#EA2425); }
.atlas__list{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(18,57,126,.12); }
.atlas__list a{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:12px 0; text-decoration:none;
  border-bottom:1px solid rgba(18,57,126,.12); transition:opacity .35s, padding .35s; }
.atlas__list b{ font-family:var(--display); font-weight:400; font-size:1.12rem; color:var(--navy); }
.atlas__list span{ font-size:.76rem; color:#8a8577; text-align:right; }
.atlas__list a:hover,.atlas__list a.is-hot{ padding-left:8px; } .atlas__list a.is-hot b{ color:#06142F; }
.atlas__list a.is-dim{ opacity:.3 !important; }
@media (max-width:900px){ .atlas{ grid-template-columns:1fr; } .atlas__map .map__edge span{ display:none; } }
@media (prefers-reduced-motion:reduce){ .at-r{ stroke-dashoffset:0; } .atlas.is-in .at-r{ animation:none; } }
.art__g--1{ grid-template-columns:1fr; } .art__g--1 .art__f{ aspect-ratio:16/8; }
.ncard__fig--txt{ display:flex; align-items:flex-end; background:#06142F; padding:clamp(22px,3vw,40px); } .ncard__txt{ color:rgba(255,255,255,.82); font-family:var(--display); font-size:clamp(1.05rem,1.4vw,1.3rem); line-height:1.45; }

/* v34: audit fixes */
.sig__in.is-in .sig__n{ clip-path:inset(-30% -40% -45% -20%); }
.sig{ padding-bottom:clamp(64px,8vw,104px); }
/* interior heroes: faint dotted atlas, market pages light their own country */
.phatlas{ position:absolute; top:-6%; bottom:-6%; right:max(3vw, calc((100vw - 1240px) / 2)); z-index:1; pointer-events:none; }
.phatlas svg{ height:100%; width:auto; display:block; }
.phatlas .at-land{ stroke:rgba(255,255,255,.075); }
.phatlas .at-c{ stroke:#fff; opacity:.3; }
.phatlas .at-r{ opacity:.4; animation:atDraw 2.2s cubic-bezier(.3,.6,.2,1) .5s forwards; }
.phatlas .at-r--in{ animation:none; }
.phatlas .at-p{ fill:#06142F; opacity:.8; } .phatlas .at-hub{ fill:#fff; } .phatlas .at-hub__ring{ stroke:#fff; }
.phatlas.has-lit .at-c{ opacity:.14; } .phatlas.has-lit .at-r,.phatlas.has-lit .at-p{ opacity:.14; }
.phatlas .at-c.is-me{ stroke:var(--gold); opacity:.95; }
.phatlas .at-r.is-me{ opacity:.95; stroke-width:1.5; } .phatlas .at-p.is-me{ opacity:1; r:4.6; }
@media (max-width:760px){ .phatlas{ right:-30%; opacity:.5; } }
@media (prefers-reduced-motion:reduce){ .phatlas .at-r{ animation:none; stroke-dashoffset:0; } }
/* brand cards: never crop a packshot */
.bcard:not(.bcard--bony) .bcard__fig{ background:#fff; }
.bcard:not(.bcard--bony) .bcard__fig img{ object-fit:contain; }
/* /group/ Direction strip */
.dstrip{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,3vw,48px); border-top:1px solid rgba(18,57,126,.12); padding-top:clamp(22px,2.6vw,34px); }
.dstrip__p{ display:flex; align-items:center; gap:18px; }
.dstrip__img{ width:84px; height:84px; border-radius:50%; object-fit:cover; flex:none; }
.dstrip__n{ font-family:var(--display); font-size:1.3rem; color:var(--navy); margin:0 0 4px; }
.dstrip__r{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); font-weight:600; margin:0; }
@media (max-width:640px){ .dstrip{ grid-template-columns:1fr; } }
/* news text card watermark */
.ncard__fig--txt{ position:relative; overflow:hidden; }
.ncard__wm{ position:absolute; right:-8%; top:8%; width:66%; aspect-ratio:579/244; background:center/contain no-repeat; filter:brightness(0) invert(1); opacity:.07; }
.ncard__txt{ position:relative; }
/* /brands/ shelf run */
.afrun{ overflow:hidden; background:#fff; border-block:1px solid rgba(18,57,126,.1); padding:clamp(18px,2vw,28px) 0; }
.afrun__t{ display:flex; width:max-content; gap:clamp(18px,2.2vw,36px); animation:afRun 90s linear infinite; }
.afrun__t img{ height:clamp(110px,11vw,160px); width:auto; aspect-ratio:4/3; object-fit:contain; }
.afrun:hover .afrun__t{ animation-play-state:paused; }
@keyframes afRun{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .afrun__t{ animation:none; } }
/* footer: slimmer mark, 4 columns, language links */
.ftr__mark{ padding:9px 14px; border-radius:4px; }
.ftr__mark img{ width:clamp(112px,9vw,132px); }
.ftr__cols{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ftr__go{ display:inline-flex; gap:10px; align-items:center; margin-top:1.1rem; color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; }
.ftr__go .btn__arr{ color:var(--gold); }
.ftr__langs{ letter-spacing:.14em; } .ftr__langs a{ text-decoration:none; } .ftr__langs a[aria-current]{ color:#fff; }
@media (max-width:960px){ .ftr__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.phero{ min-height:clamp(430px,56vh,560px); display:flex; align-items:flex-end; }
.phero > .wrap{ width:100%; }
.phatlas{ top:92px; bottom:5%; }
.phatlas .at-land{ stroke:rgba(255,255,255,.1); }
@media (max-width:760px){ .phero{ min-height:0; } .phatlas{ top:70px; } }

/* v35: coded films (kf-*) — play only on screen (site.js [data-film]) */
.kf{ background:#06142F; color:#fff; padding:clamp(80px,10vw,140px) 0 clamp(56px,7vw,96px); overflow:hidden; }
.kf .t-h2{ color:#fff; } .kf .lead{ color:rgba(255,255,255,.72); }
.kf__stage{ max-width:1600px; margin:clamp(18px,3vw,44px) auto 0; padding:0 clamp(0px,2vw,24px); }
.kf__svg{ display:block; width:100%; height:auto; }
.kf__steps{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px 24px; margin:22px 0 0; padding:18px 0 0; border-top:1px solid rgba(255,255,255,.12); }
.kf__steps b{ display:block; font-family:var(--display); font-weight:400; color:var(--gold); font-size:1.1rem; }
.kf__steps span{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.kf__note{ font-size:.72rem; color:rgba(255,255,255,.45); margin-top:14px; }
.kf .kf__stage *{ animation-play-state:paused; } .kf.is-play .kf__stage *{ animation-play-state:running; }
.kf-star{ fill:#fff; opacity:.3; } .kf-ground{ fill:rgba(255,255,255,.12); }
.kf-sea{ fill:#0E2A5C; } .kf-sea2{ fill:#0B2350; } .kf-sea3{ fill:#153574; }
.kf-hull{ fill:#23479A; } .kf-cr{ fill:#EA2425; } .kf-cb{ fill:#2B5BC4; } .kf-cb2{ fill:#12397E; stroke:#3B63B8; } .kf-cw{ fill:#E9ECF2; }
.kf-steel{ stroke:#8C97AD; stroke-width:6; } .kf-wire{ stroke:#8C97AD; stroke-width:1.5; } .kf-smoke{ fill:#C9D1E0; }
.kf-w{ fill:#F4F2EC; } .kf-w2{ fill:#D9DDE6; } .kf-roof{ fill:#C7CEDC; } .kf-win{ fill:#12397E; } .kf-door{ fill:#1B2C55; }
.kf-slat{ stroke:rgba(255,255,255,.22); stroke-width:1.5; } .kf-red,.kf-redf{ fill:#EA2425; } .kf-navy{ fill:#12397E; }
.kf-road{ fill:#0B1B3F; } .kf-dash{ stroke:var(--gold); stroke-width:2; stroke-dasharray:14 14; animation:kfDash 1s linear infinite; }
@keyframes kfDash{ to{ stroke-dashoffset:-28; } }
.kf-tyre{ fill:#0B1020; stroke:#8C97AD; stroke-width:3; } .kf-hub{ stroke:#8C97AD; stroke-width:2; }
.kf-shop{ fill:#0F2554; } .kf-p0{ fill:#F2C230; } .kf-p1{ fill:#EA2425; } .kf-p2{ fill:#2B5BC4; }
.kf-crate rect{ fill:#C89B5A; } .kf-crate line{ stroke:#8A6A3A; stroke-width:1.5; }
.kf-track{ stroke:rgba(255,255,255,.14); stroke-dasharray:2 6; } .kf-ring{ fill:none; stroke:var(--gold); stroke-width:2; }
.kf-salt{ fill:#EEF1F6; } .kf-xtal{ fill:#fff; } .kf-belt{ stroke:#8C97AD; stroke-width:8; stroke-linecap:round; }
.kf-steelf{ fill:#9AA5BA; } .kf-bag{ fill:#F7F8FA; stroke:#C9CED8; } .kf-bagt{ font-family:var(--display); font-size:18px; fill:#12397E; text-anchor:middle; }
/* bottling: every part runs on the bottle's own 10s clock (delay inherited) */
.kf-bt{ animation:kfBt 10s linear infinite; }
.kf-bt > *{ animation-delay:inherit; animation-duration:10s; animation-timing-function:linear; animation-iteration-count:infinite; }
@keyframes kfBt{ 0%{ transform:translateX(-60px); opacity:1; } 86%{ opacity:1; } 89%,100%{ opacity:0; } 100%{ transform:translateX(1660px); } }
.kf-glass{ fill:rgba(255,255,255,.1); stroke:rgba(255,255,255,.75); stroke-width:2; }
.kf-liq{ fill:#C8862A; transform-box:fill-box; transform-origin:50% 100%; animation-name:kfLiq; }
@keyframes kfLiq{ 0%,29%{ transform:scaleY(0); } 33%,100%{ transform:scaleY(1); } }
.kf-cap{ fill:#EA2425; animation-name:kfCap; } @keyframes kfCap{ 0%,48.5%{ opacity:0; } 50.5%,100%{ opacity:1; } }
.kf-lab,.kf-lab2{ transform-box:fill-box; transform-origin:0 50%; animation-name:kfLab; } .kf-lab{ fill:#F4F2EC; } .kf-lab2{ fill:#EA2425; }
@keyframes kfLab{ 0%,65.5%{ transform:scaleX(0); } 68.5%,100%{ transform:scaleX(1); } }
.kf-press{ fill:#6F7B93; animation:kfPress 1.25s ease-in-out infinite; } @keyframes kfPress{ 0%,100%{ transform:translateY(18px); } 22%,78%{ transform:translateY(0); } }
.kf-stream{ fill:#C8862A; animation:kfStream 1.25s linear infinite; } @keyframes kfStream{ 0%,27%{ opacity:0; } 31%,52%{ opacity:.9; } 56%,100%{ opacity:0; } }
.kf-rolllab{ fill:#F4F2EC; stroke:#EA2425; stroke-width:6; stroke-dasharray:20 10; transform-box:fill-box; transform-origin:center; animation:kfSpin 2s linear infinite; }
@keyframes kfSpin{ to{ transform:rotate(360deg); } }
.kf-roll{ fill:#1B2C55; stroke:#8C97AD; } .kf-beltf{ fill:#243A6B; } .kf-crate2{ fill:#8A6A3A; }
/* Denu */
.kf-lawn{ fill:#3E7F4A; } .kf-rblue{ fill:#2F6BD8; } .kf-rblue2{ fill:#5B8DE6; } .kf-wallL{ fill:#DCE1EA; } .kf-wallR{ fill:#B9C2D2; }
.kf-truckR{ fill:#F4F2EC; } .kf-cabR{ fill:#EA2425; } .kf-tree{ fill:#5FA36A; }
.kf-blk{ animation:kfBlk 9s cubic-bezier(.3,.7,.2,1) infinite both; }
@keyframes kfBlk{ 0%{ opacity:0; transform:translateY(-70px); } 8%,76%{ opacity:1; transform:translateY(0); } 84%,100%{ opacity:0; transform:translateY(0); } }
/* ship */
.kf-sky{ fill:#2A4C94; } .kf-moon{ fill:#F4E9C8; opacity:.85; }
.kf-route{ stroke:rgba(255,255,255,.25); stroke-dasharray:3 7; } .kf-dot{ fill:var(--gold); } .kf-prog{ fill:#fff; }
.kf-lbl{ font-size:18px; fill:rgba(255,255,255,.75); letter-spacing:.08em; font-family:var(--sans, Inter Tight, sans-serif); }
.kf-wv{ animation:kfWave 6s linear infinite; } .kf-wv2{ animation-duration:9s; } .kf-wv3{ animation-duration:12s; }
@keyframes kfWave{ to{ transform:translateX(-160px); } }
.kf-ship{ animation:kfShip 16s linear infinite; } @keyframes kfShip{ from{ transform:translateX(-200px); } to{ transform:translateX(1800px); } }
.kf-bob{ transform-box:fill-box; transform-origin:center; animation:kfBob 3s ease-in-out infinite; } @keyframes kfBob{ 50%{ transform:translateY(4px) rotate(.6deg); } }
@media (prefers-reduced-motion:reduce){ .kf__stage *{ animation:none !important; } .kf-liq,.kf-lab,.kf-lab2{ transform:none; } .kf-cap{ opacity:1; } }

/* v35: fact box + mini atlas on business pages */
.fbx{ display:grid; grid-template-columns:1.25fr 1fr; gap:24px; align-items:center; margin-top:2.2rem; padding:22px 0; border-block:1px solid rgba(18,57,126,.14); }
.fbx__dl{ margin:0; display:grid; gap:12px; } .fbx__dl div{ display:grid; grid-template-columns:118px 1fr; gap:12px; }
.fbx__dl dt{ font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:#8a8577; font-weight:600; padding-top:3px; }
.fbx__dl dd{ margin:0; color:var(--navy); font-size:.94rem; }
.matlas svg{ width:100%; height:auto; display:block; }
.matlas .at-land{ stroke:#E4E1D8; } .matlas .at-c{ stroke:#CBD0DA; opacity:1; } .matlas .at-c.is-me{ stroke:var(--navy); }
.matlas .at-r{ opacity:0; stroke-dashoffset:0; } .matlas .at-r.is-me{ opacity:.9; } .matlas .at-p{ opacity:0; } .matlas .at-p.is-me{ opacity:1; }
.matlas .at-hub{ fill:var(--navy); } .matlas .at-hub__ring{ stroke:var(--navy); }
@media (max-width:640px){ .fbx{ grid-template-columns:1fr; } }

/* v35 F: shape system from the S&R rings — ON while content/site.json "shapes": true (html.shapes) */
.shapes .eyebrow::before{ width:13px; height:13px; border-radius:50%; background:radial-gradient(circle, var(--red) 0 2.4px, transparent 3px); border:1px solid currentColor; opacity:.9; }
.shapes .shead{ position:relative; isolation:isolate; }
.shapes .shead::before{ content:""; position:absolute; left:-96px; top:-80px; width:230px; height:230px; border-radius:50%; z-index:-1; pointer-events:none;
  background:repeating-radial-gradient(circle, currentColor 0 1px, transparent 1.5px 10px); opacity:.07;
  -webkit-mask:radial-gradient(circle, #000 25%, transparent 70%); mask:radial-gradient(circle, #000 25%, transparent 70%); }
.shapes .at-hub__ring{ transform-box:fill-box; transform-origin:center; animation:kfRing 3.2s ease-out infinite; }
@keyframes kfRing{ 0%{ transform:scale(.6); opacity:.9; } 100%{ transform:scale(2.4); opacity:0; } }
@media (prefers-reduced-motion:reduce){ .shapes .at-hub__ring{ animation:none; } }
.kf .t-h2 em{ color:var(--gold); }
.kf--ship .kf__stage{ max-width:none; padding:0; }
.kf-pan{ fill:#2A4C94; stroke:#9AA5BA; stroke-width:2; }

/* v39: founders' material — logos, service cards, Eicher range, local contacts, market story */
.bzlogo{ display:flex; align-items:center; gap:16px; margin:0 0 1.4rem; }
.bzlogo img{ height:40px; width:auto; }
.bzlogo span{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:#8a8577; font-weight:600; }
.svcs__g{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.svcs__g--2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .svcs__g--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.svc__img{ aspect-ratio:16/10; overflow:hidden; background:#F2F1EC; margin-bottom:14px; }
.svc__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.1,1); }
.svc:hover .svc__img img{ transform:scale(1.04); }
.svc__b{ font-size:.94rem; line-height:1.6; color:var(--ink-2); margin:0; }   /* careers "why" cards (text only) */
.svc__t{ font-family:var(--display); font-weight:400; font-size:1.2rem; color:var(--navy); margin:0 0 .6rem; }
.svc__l{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(18,57,126,.12); }
.svc__l li{ padding:7px 0; border-bottom:1px solid rgba(18,57,126,.08); font-size:.9rem; color:#3c4256; }
.svcs__p{ margin-top:clamp(24px,3vw,40px); font-size:.9rem; color:var(--navy); }
.svcs__p span{ display:block; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:#8a8577; font-weight:600; margin-bottom:6px; }
.offer{ display:grid; gap:14px; } .offer__i{ border-top:1px solid rgba(18,57,126,.14); padding-top:10px; }
.offer__i b{ display:block; font-family:var(--display); font-weight:400; font-size:1.1rem; color:var(--navy); } .offer__i span{ font-size:.86rem; color:#5b6175; }
.rngs__g{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,28px); margin-top:clamp(24px,3vw,44px); }
.rng{ margin:0; } .rng__img{ aspect-ratio:4/3; background:#fff; display:flex; align-items:flex-end; justify-content:center; padding:8%; border-bottom:1px solid rgba(18,57,126,.12); }
.rng__img img{ max-width:100%; max-height:100%; object-fit:contain; }
.rng figcaption{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 0; }
.rng figcaption b{ font-family:var(--display); font-weight:400; font-size:1.2rem; color:var(--navy); } .rng figcaption span{ font-size:.8rem; color:#8a8577; }
.lcard{ border:1px solid rgba(18,57,126,.14); background:#fff; padding:clamp(22px,2.6vw,34px); }
.lcard__n{ font-family:var(--display); font-size:1.25rem; color:var(--navy); margin:0 0 .7rem; }
.lcard__a{ font-size:.92rem; color:#3c4256; line-height:1.6; margin:0 0 1rem; }
.lcard__l{ display:grid; gap:6px; } .lcard__l a{ color:var(--navy); text-decoration:none; font-size:.94rem; border-bottom:1px solid transparent; width:max-content; }
.lcard__l a:hover{ border-color:var(--red,#EA2425); }
.lcs__g{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.mstory .lead + .lead{ margin-top:1rem; } .mstory__f{ margin-bottom:22px; }
@media (max-width:960px){ .svcs__g{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .svcs__g,.svcs__g--2,.svcs__g--3,.rngs__g,.lcs__g{ grid-template-columns:1fr; } }

/* v41: readable maps — stronger dots, thicker routes, country + city names */
.at-land,.at-c{ stroke-width:3.9; }
.at-land{ stroke:#D2CDC1; } .atlas .at-c{ opacity:.95; } .atlas[data-on] .at-c{ opacity:.3; }
.at-r{ stroke-width:1.6; opacity:.85; } .at-p{ stroke-width:2; }
.at-cl{ font-family:"Inter Tight",system-ui,sans-serif; font-weight:700; font-size:19px; letter-spacing:.14em; text-transform:uppercase; fill:#06142F;
  paint-order:stroke; stroke:#FAFAF8; stroke-width:5px; stroke-linejoin:round; pointer-events:none; }
.at-ct{ font-family:"Inter Tight",system-ui,sans-serif; font-weight:500; font-size:15px; fill:#2c3346; paint-order:stroke; stroke:#FAFAF8; stroke-width:4px; stroke-linejoin:round; pointer-events:none; }
.atlas .at-ct{ opacity:0; transition:opacity .3s; } .atlas .at-ct.is-hot,.atlas .at-ct--hub{ opacity:1; }
.atlas[data-on] .at-cl{ opacity:.35; } .atlas .at-cl.is-hot{ opacity:1; }
.fbx{ grid-template-columns:1fr; } .fbx .matlas{ max-width:540px; }
.matlas .at-land{ stroke:#D6D1C6; } .matlas .at-c{ stroke:#A3ADC0; } .matlas .at-c.is-me{ stroke:var(--navy); }
.matlas .at-r.is-me{ opacity:1; stroke-width:2.4; } .matlas .at-p.is-me{ r:5.5; }
.matlas .at-cl{ font-size:30px; } .matlas .at-ct{ font-size:23px; }
.phatlas .at-land{ stroke:rgba(255,255,255,.17); } .phatlas .at-c{ opacity:.5; } .phatlas.has-lit .at-c{ opacity:.25; } .phatlas .at-c.is-me{ opacity:1; }
.phatlas .at-r{ opacity:.6; } .phatlas .at-r.is-me{ stroke-width:2.2; }
.phatlas .at-cl{ font-size:34px; fill:#fff; stroke:#06142F; } .phatlas .at-ct{ font-size:26px; fill:rgba(255,255,255,.92); stroke:#06142F; }

/* v41: business switcher — quiet crossfade instead of the circular wipe (Rohan: subtle, not loud, not circular) */
.bs__img,.bs__img.is-prev,.bs__img.is-on{ clip-path:none; }
.bs__img{ opacity:0; transform:scale(1.025); transition:opacity 1.1s ease, transform 7s cubic-bezier(.2,.6,.2,1); }
.bs__img.is-prev{ opacity:1; transform:scale(1); transition:none; }
.bs__img.is-on{ opacity:1; transform:scale(1); }
.bs__rings{ display:none !important; }

/* v42: real-photo sections — sites, retail, salt story, infrastructure */
.pg{ display:grid; gap:clamp(12px,1.5vw,24px); }
.pg--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pg--feature{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.pg--feature6{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pg--steps{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.pg__i{ margin:0; display:flex; flex-direction:column; min-width:0; }
.pg__img{ position:relative; aspect-ratio:4/3; overflow:hidden; background:#ECEAE3; flex:1 1 auto; }
.pg__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.4s cubic-bezier(.2,.7,.1,1); }
.pg__i:hover .pg__img img{ transform:scale(1.035); }
.pg--feature .pg__i:first-child,.pg--feature6 .pg__i:first-child{ grid-column:span 2; grid-row:span 2; }
.pg--feature .pg__i:first-child .pg__img,.pg--feature6 .pg__i:first-child .pg__img{ aspect-ratio:auto; min-height:320px; }
.pg--steps .pg__img{ aspect-ratio:4/5; }
.pg__n{ position:absolute; z-index:1; left:12px; top:12px; font-style:normal; font-family:var(--display); font-size:1.05rem; color:#fff;
  background:rgba(6,20,47,.72); padding:4px 10px; border-left:2px solid var(--gold); }
.pg__i figcaption{ display:flex; flex-direction:column; gap:3px; padding:12px 0 2px; border-bottom:1px solid rgba(18,57,126,.12); }
.pg__i figcaption b{ font-family:var(--display); font-weight:400; font-size:1.12rem; color:var(--navy); line-height:1.2; }
.pg__i figcaption span{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#8a8577; font-weight:600; }
@media (max-width:1100px){ .pg--steps{ grid-template-columns:repeat(3,minmax(0,1fr)); } .pg--feature{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){ .pg--3,.pg--feature6,.pg--steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pg--feature .pg__i:first-child,.pg--feature6 .pg__i:first-child{ grid-column:1 / -1; grid-row:auto; }
  .pg--feature .pg__i:first-child .pg__img,.pg--feature6 .pg__i:first-child .pg__img{ aspect-ratio:4/3; min-height:0; } }
@media (max-width:480px){ .pg--3,.pg--feature,.pg--feature6,.pg--steps{ grid-template-columns:1fr; } }

/* v43: uniform geometry + no wasted space (Rohan: "uniformity is premium") */
:root{ --sec-y:clamp(56px,6.4vw,104px); --tile:3/2; }
.shead{ margin-bottom:clamp(28px,3.4vw,52px); }
/* overview: text | photos (photos follow while reading), fact ledger full width underneath */
.ov__media{ position:sticky; top:96px; }
.bgal{ gap:clamp(10px,1vw,14px); }
.bgal img,.bgal img:first-child{ aspect-ratio:var(--tile); object-position:50% 45%; }
.fbx{ grid-template-columns:minmax(0,1fr) 300px; gap:clamp(24px,3vw,48px); margin-top:clamp(36px,4vw,56px); padding:22px 0; }
.fbx__dl{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 28px; }
.fbx__dl div{ grid-template-columns:1fr; gap:6px; }
.fbx .matlas{ max-width:none; }
.fbx .matlas svg{ max-height:220px; width:auto; margin-left:auto; }
/* one tile shape everywhere */
.pg__img,.pg--steps .pg__img,.svc__img,.rng__img{ aspect-ratio:var(--tile); }
.pg__img img,.svc__img img{ object-position:50% 45%; }
/* Eicher range: offer as one clean row */
.rngs .offer{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,28px); margin-bottom:clamp(24px,3vw,40px); }
.rngs__g{ margin-top:0; }
@media (max-width:960px){ .fbx{ grid-template-columns:1fr; } .fbx__dl{ grid-template-columns:repeat(2,minmax(0,1fr)); } .ov__media{ position:static; }
  .fbx .matlas svg{ margin:0 auto; } }
@media (max-width:640px){ .rngs .offer{ grid-template-columns:1fr; } }

/* v43: Infrastructure cinematic reel (5 real HD shots x 6 s, Ken Burns + cross-dissolve, letterbox, grain) */
.reel{ position:relative; min-height:min(92vh,900px); display:flex; align-items:flex-end; background:#06142F; color:#fff; overflow:hidden; }
.reel__shots,.reel__s{ position:absolute; inset:0; }
.reel__s{ opacity:0; animation:reelFade 30s linear infinite; }
.reel__s img{ width:100%; height:100%; object-fit:cover; transform-origin:60% 50%; animation:reelMove 30s linear infinite; animation-delay:inherit; }
.reel__s:nth-child(2){ animation-delay:6s; } .reel__s:nth-child(3){ animation-delay:12s; } .reel__s:nth-child(4){ animation-delay:18s; } .reel__s:nth-child(5){ animation-delay:24s; }
.reel__s:nth-child(even) img{ transform-origin:35% 55%; }
@keyframes reelFade{ 0%{ opacity:0; } 4%{ opacity:1; } 20%{ opacity:1; } 24%{ opacity:0; } 100%{ opacity:0; } }
@keyframes reelMove{ 0%{ transform:scale(1.04) translate3d(0,0,0); } 24%{ transform:scale(1.14) translate3d(-1.5%,-1%,0); } 100%{ transform:scale(1.14) translate3d(-1.5%,-1%,0); } }
.reel__veil{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,20,47,.88) 0%, rgba(6,20,47,.55) 42%, rgba(6,20,47,.12) 100%),
  linear-gradient(0deg, rgba(6,20,47,.85) 0%, rgba(6,20,47,0) 45%); }
.reel::before,.reel::after{ content:""; position:absolute; left:0; right:0; height:clamp(14px,2.4vh,26px); background:#000; z-index:3; opacity:.55; }
.reel::before{ top:0; } .reel::after{ bottom:0; }
.reel__grain{ position:absolute; inset:-50%; z-index:2; opacity:.07; pointer-events:none; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:reelGrain .9s steps(4) infinite; }
@keyframes reelGrain{ 25%{ transform:translate(-3%,2%); } 50%{ transform:translate(2%,-3%); } 75%{ transform:translate(-2%,-2%); } }
.reel__in{ position:relative; z-index:4; padding-block:clamp(130px,16vh,180px) clamp(56px,8vh,90px); }
.reel__t{ font-family:var(--display); font-weight:300; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.05; max-width:16ch; margin:.4em 0 .3em; }
.reel__lead{ max-width:56ch; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.1vw,1.1rem); line-height:1.65; margin-top:1.2rem; }
.reel__caps{ position:relative; margin-top:clamp(28px,4vh,48px); height:22px; max-width:420px; }
.reel__c{ position:absolute; inset:0; margin:0; opacity:0; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.82); animation:reelFade 30s linear infinite; }
.reel__c b{ color:var(--gold); font-weight:600; margin-right:12px; }
.reel__c:nth-child(2){ animation-delay:6s; } .reel__c:nth-child(3){ animation-delay:12s; } .reel__c:nth-child(4){ animation-delay:18s; } .reel__c:nth-child(5){ animation-delay:24s; }
.reel__bar{ position:absolute; left:0; bottom:-10px; height:1px; width:100%; background:rgba(255,255,255,.18); }
.reel__bar::after{ content:""; position:absolute; inset:0; background:var(--gold); transform-origin:0 50%; animation:reelBar 6s linear infinite; }
@keyframes reelBar{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@media (prefers-reduced-motion:reduce){ .reel__s,.reel__s img,.reel__c,.reel__grain,.reel__bar::after{ animation:none; } .reel__s:first-child,.reel__c:first-child{ opacity:1; } }

/* v44: home cinema strip (same reel as Infrastructure) */
.reel--strip{ min-height:clamp(440px,64vh,640px); }
.reel--strip .reel__in{ padding-block:clamp(56px,9vh,96px) clamp(48px,7vh,80px); }
.reel__t--s{ font-size:clamp(2rem,3.6vw,3.2rem); max-width:18ch; }
.reel__t--s em{ color:var(--gold); }
.reel__go{ margin-top:1.4rem; color:#fff; }
/* v44: tighter fact strip */
.fbx{ grid-template-columns:minmax(0,1fr) 230px; align-items:center; padding:16px 0; margin-top:clamp(28px,3vw,44px); }
.fbx .matlas svg{ max-height:168px; }
/* v46: city-grouped site grid, 4 per row */
.pg--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.pg__h{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--navy); font-weight:600; margin:clamp(28px,3vw,44px) 0 14px;
  padding-bottom:10px; border-bottom:1px solid rgba(18,57,126,.14); }
.pgs .shead + .pg__h{ margin-top:0; }
@media (max-width:1100px){ .pg--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .pg--4{ grid-template-columns:1fr; } }
/* v47 truck film: infrastructure + operating model links side by side */
.fleet__gos{ display:flex; flex-wrap:wrap; gap:14px 26px; } .fleet__gos .bs__go--2{ margin-left:0; }
/* v48 home: slim proof bar right after the chain film */
.glance--bar{ padding:clamp(40px,6vh,64px) 0; }
.glance--bar .ledger{ margin-top:clamp(18px,2.4vh,28px); }
.glance--bar .ledger__v{ font-size:clamp(2.2rem,3.6vw,3.4rem); }
/* v48 clock stays hidden until the script has written the time */
.hx__clock:has([data-clock]:empty){ visibility:hidden; }
/* v48 home closer: three enquiry routes */
.sig__routes{ margin:26px 0 0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; font-size:.9rem; }
.sig__routes span{ color:var(--ink-3); width:100%; }
.sig__routes a{ color:var(--navy); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(18,57,126,.3); padding-bottom:3px; }
.sig__routes a:hover{ border-color:var(--red); }
/* v51 business pages: "where it operates" links (the market page owns the market text) */
.opin-s{ padding:clamp(40px,6vh,64px) 0; }
.opin{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:0 clamp(16px,2vw,28px); margin-top:clamp(14px,2vh,22px); border-top:1px solid rgba(18,57,126,.16); }
.opin .office{ border-bottom:1px solid rgba(18,57,126,.16); }
.opin .office + .office{ padding-left:0; border-left:0; }
.office__t{ display:flex; flex-direction:column; gap:3px; }
.xlink{ margin-top:1.6rem; font-size:.95rem; color:var(--ink-2); } .xlink .tlink{ margin-left:6px; }
.drinknote{ margin-top:1.6rem; font-size:.78rem; letter-spacing:.02em; color:var(--ink-3); border-top:1px solid rgba(18,57,126,.14); padding-top:12px; }
/* v51 Infrastructure: site register by country */
.reg{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(18px,2vw,28px); }
.reg__c{ background:#fff; border-top:2px solid var(--navy); padding:18px 20px 8px; }
.reg__h{ display:flex; align-items:center; gap:10px; color:var(--navy); text-decoration:none; margin-bottom:8px; }
.reg__h b{ font-family:var(--display); font-weight:400; font-size:1.25rem; } .reg__h .btn__arr{ margin-left:auto; color:var(--gold); }
.reg__c ul{ list-style:none; margin:0; padding:0; }
.reg__c li{ display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-top:1px solid rgba(18,57,126,.1); font-size:.92rem; }
.reg__c li b{ font-weight:500; color:var(--ink); } .reg__c li span{ color:var(--ink-3); text-align:right; white-space:nowrap; font-size:.82rem; }
/* v51 market pages: activities as a plain list */
.mlist{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(18,57,126,.14); }
.mlist li{ padding:14px 0 14px 22px; border-bottom:1px solid rgba(18,57,126,.14); font-family:var(--display); font-size:1.15rem; color:var(--navy); position:relative; }
.mlist li::before{ content:""; position:absolute; left:0; top:50%; width:8px; height:8px; margin-top:-4px; background:var(--red); border-radius:50%; }
/* v51 home: proof line on the switcher, projects and milestones list, HQ label */
.bs__proof{ margin:-8px 0 20px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.prj__l{ border-top:1px solid rgba(18,57,126,.16); }
.prj__r{ display:grid; grid-template-columns:minmax(150px,200px) 1fr auto; align-items:center; gap:clamp(14px,2vw,32px); padding:20px 0; border-bottom:1px solid rgba(18,57,126,.16); color:var(--navy); text-decoration:none; transition:background .3s; }
.prj__r:hover{ background:rgba(18,57,126,.03); }
.prj__s{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--red); }
.prj__t{ display:flex; flex-direction:column; gap:4px; } .prj__t b{ font-family:var(--display); font-weight:400; font-size:clamp(1.15rem,1.6vw,1.4rem); }
.prj__t span{ font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.prj__r .btn__arr{ color:var(--gold); }
@media (max-width:640px){ .prj__r{ grid-template-columns:1fr auto; } .prj__s{ grid-column:1 / -1; } }
.ct__off{ margin:clamp(26px,3vw,40px) 0 0; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.6); }
/* v51: 404 */
.e404{ padding:clamp(140px,22vh,220px) 0 clamp(80px,12vh,140px); }
.e404 h1{ color:var(--navy); margin:14px 0 28px; } .e404 h1 span{ color:var(--ink-3); }
.e404__l{ display:flex; flex-wrap:wrap; gap:14px 30px; }
/* v51 fixes: rows always full */
.opin{ grid-template-columns:repeat(var(--c,4),minmax(0,1fr)); }
@media (max-width:960px){ .opin{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .opin{ grid-template-columns:1fr; } }
.reg{ display:block; columns:2 380px; column-gap:clamp(18px,2vw,28px); }
.reg__c{ break-inside:avoid; margin-bottom:clamp(18px,2vw,28px); }
@media (max-width:860px){ .feat.feat--3{ grid-template-columns:1fr !important; } }
.ct__tile--off{ gap:2px; }
.ct__offh{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--gold); margin:0 0 14px; }
.ct__tile--off a{ display:grid; grid-template-columns:28px 1fr; column-gap:12px; align-items:center; padding:14px 0; border-top:1px solid rgba(255,255,255,.14); color:#fff; text-decoration:none; }
.ct__tile--off a b{ font-family:var(--display); font-weight:400; font-size:1.3rem; } .ct__tile--off a span{ grid-column:2; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.ct__tile--off a:hover b{ color:var(--gold); }
/* v51b brand cards: one shape, one treatment, equal widths, titles on one line (Rohan: "not even uniform") */
.bgroups{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,1.8vw,28px); }
.bgroup--3{ grid-column:span 3; }
.bgroup--3 .bcards--3{ gap:clamp(16px,1.8vw,28px); }
.bcard .bcard__fig, .bcard--bony .bcard__fig{ background:#fff; display:block; aspect-ratio:4/5; }
.bcard .bcard__fig img, .bcard--bony .bcard__fig img{ width:100%; height:100%; object-fit:contain; object-position:50% 50%; filter:none; }
@media (max-width:960px){ .bgroups{ grid-template-columns:1fr; } .bgroup--3{ grid-column:auto; } }
/* ================================================================ v51b — homepage polish (Rohan) */
/* slim live proof strip under the hero */
.pstrip{ background:#06142F; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.pstrip__in{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.ps__i{ display:flex; flex-direction:column; gap:4px; padding:clamp(14px,1.6vw,20px) clamp(10px,1.2vw,18px); border-left:1px solid rgba(255,255,255,.1); }
.ps__i:first-child{ border-left:0; padding-left:0; }
.pstrip .ledger__v{ font-family:var(--display); font-weight:300; color:#fff; font-size:clamp(1.25rem,1.7vw,1.6rem); line-height:1.1; letter-spacing:-.01em; }
.pstrip .ledger__v small{ color:var(--gold); font-size:.55em; letter-spacing:.08em; }
.pstrip .ledger__l{ font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.5); line-height:1.4; }
.ps__live{ display:inline-flex; align-items:center; gap:6px; font-size:.6rem; letter-spacing:.14em; color:rgba(255,255,255,.7); font-weight:600; }
.ps__live b{ font-weight:600; color:#fff; } .ps__live b:empty{ display:none; }
.ps__live i{ width:6px; height:6px; border-radius:50%; background:#3ecf6e; box-shadow:0 0 0 0 rgba(62,207,110,.6); animation:psPulse 2s ease-out infinite; }
@keyframes psPulse{ 0%{ box-shadow:0 0 0 0 rgba(62,207,110,.55); } 80%,100%{ box-shadow:0 0 0 7px rgba(62,207,110,0); } }
@media (prefers-reduced-motion:reduce){ .ps__live i{ animation:none; } }
@media (max-width:860px){ .pstrip__in{ grid-template-columns:repeat(3,minmax(0,1fr)); } .ps__i:nth-child(4){ border-left:0; padding-left:0; } .ps__i:nth-child(n+4){ border-top:1px solid rgba(255,255,255,.1); } }
/* hero doors: equal, one line, quieter */
.rt__doors{ align-items:stretch; gap:clamp(10px,1.2vw,16px); }
.rt__door,.rt__door + .rt__door{ padding:clamp(12px,1.3vw,16px) clamp(16px,1.6vw,22px); background:rgba(255,255,255,.02); border-color:rgba(255,255,255,.13); border-radius:2px; }
.rt__door .rt__dt{ font-size:clamp(1.02rem,1.35vw,1.3rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rt__dk{ font-size:.62rem !important; letter-spacing:.2em; }
.rt__go{ width:34px; height:34px; border-color:rgba(255,255,255,.25); }
.rt__go .btn__arr{ width:13px; height:10px; }
.rt__door:hover,.rt__door:focus-visible{ transform:none; background:rgba(255,255,255,.05); }
@media (max-width:760px){ .rt__door .rt__dt{ white-space:normal; } }
/* giant line: same scroll animation, less empty height */
.giant{ padding:clamp(60px,9vh,108px) 0; }
.giant__t{ font-size:clamp(2.1rem,5vw,5rem); }
/* journey + founders' close: no dead space between them */
.jy{ padding-bottom:clamp(40px,4vw,64px); }
.sig{ padding:clamp(56px,6.4vw,104px) 0; }
/* v51c slim live strip: one line on desktop, slow ticker below 1100px */
.pstrip__in{ display:flex; align-items:center; gap:clamp(18px,2vw,32px); grid-template-columns:none; padding:14px 0; }
.ps__k{ flex:none; display:flex; align-items:center; gap:9px; margin:0; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--gold); }
.ps__k i{ width:7px; height:7px; border-radius:50%; background:#3ecf6e; animation:psPulse 2s ease-out infinite; }
.ps__win{ flex:1; overflow:hidden; }
.ps__track{ display:flex; align-items:center; justify-content:space-between; }
.ps__dup{ display:none; }
.pstrip .ps__i{ flex:none; display:flex; align-items:baseline; gap:8px; padding:0 clamp(12px,1.4vw,22px); border-left:1px solid rgba(255,255,255,.14); flex-direction:row; }
.pstrip .ps__i:first-child{ border-left:0; padding-left:0; }
.pstrip .ledger__v{ font-size:clamp(1.15rem,1.4vw,1.4rem); }
.ps__l{ font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.55); white-space:nowrap; }
@media (max-width:1100px){
  .ps__track{ justify-content:flex-start; width:max-content; animation:psTick 38s linear infinite; }
  .ps__dup{ display:flex; } .ps__dup .ps__i:first-child{ border-left:1px solid rgba(255,255,255,.14); padding-left:clamp(12px,1.4vw,22px); }
  .ps__win{ -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
}
@keyframes psTick{ to{ transform:translateX(-50%); } }
@media (max-width:560px){ .ps__k span,.ps__k{ font-size:0; gap:0; } .ps__k i{ font-size:initial; } }
@media (prefers-reduced-motion:reduce){ .ps__track{ animation:none; } }
/* v51c founders' close with the timeline (journey merged in) */
.sig__tl{ list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 clamp(14px,2vw,32px); max-width:900px; width:100%; margin:clamp(18px,2.4vw,30px) auto clamp(30px,3.4vw,44px); padding:0; position:relative; }
.sig__tl::before{ content:""; position:absolute; left:16.66%; right:16.66%; top:5px; height:1px; background:var(--gold); }
.sig__tl li{ position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; padding-top:24px; text-align:center; }
.sig__tl li::before{ content:""; position:absolute; top:0; left:50%; width:11px; height:11px; margin-left:-5.5px; border-radius:50%; background:var(--canvas,#FAFAF8); border:2px solid var(--gold); }
.sig__tl li:last-child::before{ background:var(--red); border-color:var(--red); box-shadow:0 0 0 5px rgba(234,36,37,.12); }
.sig__tl b{ font-family:var(--display); font-weight:400; font-size:clamp(1.15rem,1.5vw,1.4rem); color:var(--navy); }
.sig__tl span{ font-size:.9rem; line-height:1.55; color:var(--ink-2); max-width:24ch; }
@media (max-width:640px){ .sig__tl{ grid-template-columns:1fr; gap:22px; } .sig__tl::before{ display:none; } }
/* v51d strip on white (Rohan to judge) */
.pstrip{ background:#fff; border-top:0; border-bottom:1px solid rgba(18,57,126,.1); }
.pstrip .ledger__v{ color:var(--navy); }
.pstrip .ps__l{ color:var(--ink-3); }
.pstrip .ps__i{ border-left-color:rgba(18,57,126,.14); }
.ps__k{ color:var(--red); }
@media (max-width:1100px){ .ps__dup .ps__i:first-child{ border-left-color:rgba(18,57,126,.14); } }
/* v51e strip: part of the hero (navy, no bar), odometer figures */
.pstrip{ background:#06142F; border:0; margin-top:-1px; }
.pstrip__in{ border-top:1px solid rgba(255,255,255,.1); padding:16px 0 clamp(18px,2.6vh,30px); }
.pstrip .ledger__v{ color:#fff; display:inline-flex; align-items:baseline; gap:.28em; }
.pstrip .ledger__v small{ color:var(--gold); }
.pstrip .ps__l{ color:rgba(255,255,255,.5); }
.pstrip .ps__i{ border-left-color:rgba(255,255,255,.1); }
.ps__k{ color:var(--gold); }
@media (max-width:1100px){ .ps__dup .ps__i:first-child{ border-left-color:rgba(255,255,255,.1); } }
.odo{ display:inline-flex; font-weight:inherit; line-height:1.15; }
.odo__c{ display:inline-block; height:1.15em; overflow:hidden; }
.odo__s{ display:flex; flex-direction:column; transform:translateY(0); transition:transform 2.2s cubic-bezier(.16,1,.3,1); }
.odo__s span{ height:1.15em; line-height:1.15; text-align:center; }
.pstrip.is-on .odo__s{ transform:translateY(calc(var(--d) * -1.15em)); }
@media (prefers-reduced-motion:reduce){ .odo__s{ transition:none; } }
/* v51f strip: aligned to the page grid, same navy as the hero */
.pstrip__in{ padding-top:16px; padding-bottom:clamp(18px,2.6vh,30px); padding-left:var(--gutter,clamp(20px,4vw,64px)); padding-right:var(--gutter,clamp(20px,4vw,64px)); }
.pstrip .ledger__v{ font-size:clamp(1.25rem,1.55vw,1.55rem); }
/* milestones: quieter rows, small photo, outlined status, gold rail */
.prj__l{ position:relative; border-top:0; }
.prj__r{ grid-template-columns:72px 1fr auto auto; gap:clamp(14px,1.8vw,26px); padding:14px 0; border-bottom:1px solid rgba(18,57,126,.1); }
.prj__r:first-child{ border-top:1px solid rgba(18,57,126,.1); }
.prj__r:hover{ background:none; } .prj__r:hover .prj__t b{ color:var(--red); }
.prj__th{ width:72px; aspect-ratio:4/3; overflow:hidden; border-radius:2px; background:#06142F; }
.prj__th img{ width:100%; height:100%; object-fit:cover; filter:saturate(.85); transition:transform .8s ease, filter .6s; }
.prj__r:hover .prj__th img{ transform:scale(1.08); filter:none; }
.prj__mk{ display:block; width:100%; height:100%; background:#06142F center/55% no-repeat; }
.prj__t b{ font-size:clamp(1.05rem,1.35vw,1.25rem); transition:color .3s; }
.prj__t span{ font-size:.7rem; }
.prj__s{ font-size:.62rem; letter-spacing:.16em; padding:6px 10px; border:1px solid rgba(184,151,79,.55); color:#8a6d2e; border-radius:999px; white-space:nowrap; }
@media (max-width:640px){ .prj__r{ grid-template-columns:64px 1fr auto; } .prj__th{ width:64px; } .prj__s{ grid-column:2; grid-row:2; justify-self:start; } }
/* brands: slimmer cards */
.bcard .bcard__fig, .bcard--bony .bcard__fig{ aspect-ratio:5/4; margin-bottom:12px; }
.bcard .bcard__fig img{ padding:6% 8%; box-sizing:border-box; }
.bcard__n{ font-size:clamp(1.3rem,1.7vw,1.6rem) !important; }
.bgroup__h{ margin-bottom:clamp(12px,1.4vw,18px) !important; }
/* v51g brand cards: trimmed products fill a shorter frame */
.bcard .bcard__fig, .bcard--bony .bcard__fig{ aspect-ratio:4/3; margin-bottom:10px; }
.bcard .bcard__fig img{ padding:4% 6%; }
.brandsband .shead{ margin-bottom:clamp(22px,2.6vw,36px); }
.bgroup__h{ padding-bottom:10px !important; }
/* ================================================================ v51e menus: light, scannable, subtle */
@media (min-width:961px){
  .nav__panel{ background:#fff; border:1px solid rgba(18,57,126,.1); border-radius:6px; padding:10px; box-shadow:0 34px 70px -30px rgba(6,20,47,.38), 0 2px 6px rgba(6,20,47,.04); }
  .nav__panel--grp{ left:0; translate:0 0; min-width:300px; }
  .nav__sub{ position:relative; border-left:0; border-radius:4px; padding:10px 34px 10px 12px; transition:background .25s ease; }
  .nav__sub::after{ content:"→"; position:absolute; right:12px; top:50%; translate:-6px -50%; color:var(--gold); opacity:0; transition:opacity .25s ease, translate .25s ease; }
  .nav__sub:hover{ background:#F4F6FA; border-left-color:transparent; } .nav__sub:hover::after{ opacity:1; translate:0 -50%; }
  .nav__sub b{ font-size:.86rem; font-weight:600; color:var(--navy); }
  .nav__sub span{ font-size:.72rem; color:var(--ink-3); margin-top:2px; }
  .nav__panel--biz{ width:620px; display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .nav__sub--t,.nav__sub--f{ display:grid; align-items:center; column-gap:12px; }
  .nav__sub--t{ grid-template-columns:44px 1fr; }
  .nav__sub--t img{ width:44px; height:44px; object-fit:cover; border-radius:3px; }
  .nav__sub--f{ grid-template-columns:20px 1fr; }
  .nav__sub--f img{ width:20px; height:14px; object-fit:cover; border-radius:1px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
  .nav__tx{ display:block; min-width:0; } .nav__tx span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nav__panel--mkt{ width:680px; display:grid; grid-template-columns:2fr 1fr; gap:0 10px; }
  .nav__mc--off{ border-left:1px solid rgba(18,57,126,.1); padding-left:10px; }
  .nav__g2{ display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .nav__h{ margin:4px 12px 6px; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--gold); }
  .nav__all{ grid-column:1 / -1; display:flex; align-items:center; gap:8px; margin-top:6px; padding:12px 12px 4px; border-top:1px solid rgba(18,57,126,.1);
    font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--navy); text-decoration:none; }
  .nav__all:hover{ color:var(--red); } .nav__all .btn__arr{ width:14px; height:10px; }
}
@media (max-width:960px){
  .nav__sub--t img,.nav__sub--f img{ display:none; }
  .nav__h{ margin:.6rem 0 .2rem; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--gold); }
  .nav__all{ display:block; padding:.7rem 0 .2rem .95rem; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--navy); }
  .nav__all .btn__arr{ display:none; }
}
/* v51f founders' close: two columns, signatures left, vertical timeline + actions right, no dead space */
.prj{ padding-bottom:clamp(36px,4vw,60px); }
.sig{ padding:clamp(48px,5.4vw,84px) 0; }
.sig__in--split{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center; text-align:left; }
.sig__in--split .sig__l{ display:flex; flex-direction:column; align-items:flex-start; }
.sig__in--split .sig__names{ flex-direction:column; align-items:flex-start; font-size:clamp(2.3rem,4.2vw,3.9rem); margin:10px 0 0; line-height:1.05; }
.sig__in--split .sig__amp{ margin:-.05em 0 -.05em 1.4em; }
.sig__in--split .sig__tl{ grid-template-columns:1fr; gap:0; max-width:none; margin:0 0 26px; border-left:1px solid var(--gold); }
.sig__in--split .sig__tl::before{ display:none; }
.sig__in--split .sig__tl li{ display:grid; grid-template-columns:96px 1fr; align-items:baseline; gap:16px; padding:12px 0 12px 24px; text-align:left; border-bottom:1px solid rgba(18,57,126,.08); }
.sig__in--split .sig__tl li:last-child{ border-bottom:0; }
.sig__in--split .sig__tl li::before{ top:50%; left:-6px; margin:-5.5px 0 0; }
.sig__in--split .sig__tl span{ max-width:none; font-size:.92rem; }
.sig__in--split .sig__cta{ justify-content:flex-start; }
.sig__in--split .sig__routes{ justify-content:flex-start; text-align:left; }
.sig__in--split .sig__routes span{ width:100%; }
@media (max-width:860px){ .sig__in--split{ grid-template-columns:1fr; text-align:center; } .sig__in--split .sig__l{ align-items:center; }
  .sig__in--split .sig__names{ align-items:center; } .sig__in--split .sig__amp{ margin-left:0; }
  .sig__in--split .sig__tl li{ grid-template-columns:72px 1fr; } .sig__in--split .sig__cta,.sig__in--split .sig__routes{ justify-content:center; text-align:center; } }
/* v51f mobile menus: same language as desktop (photos, flags, hints) */
@media (max-width:960px){
  .nav__sub--t img,.nav__sub--f img{ display:block; }
  .nav__sub--t,.nav__sub--f{ display:grid; align-items:center; column-gap:12px; border-left:0; padding:.55rem 0; }
  .nav__sub--t{ grid-template-columns:40px 1fr; } .nav__sub--t img{ width:40px; height:40px; object-fit:cover; border-radius:3px; }
  .nav__sub--f{ grid-template-columns:20px 1fr; } .nav__sub--f img{ width:20px; height:14px; object-fit:cover; border-radius:1px; }
  .nav__panel .nav__sub b{ font-size:.95rem; color:var(--navy); } .nav__panel .nav__sub span{ font-size:.76rem; }
  .nav__panel--grp .nav__sub{ border-left:0; padding:.55rem 0; }
  .nav__all{ padding:.8rem 0 .3rem; }
}
/* v51g business menu: typographic, gold numerals instead of photo thumbnails */
.nav__sub--n{ display:grid; grid-template-columns:26px 1fr; column-gap:10px; align-items:baseline; }
.nav__no{ font-style:normal; font-family:var(--display); font-size:.82rem; color:var(--gold); letter-spacing:.02em; }
.nav__tx span{ white-space:normal !important; overflow:visible !important; }
@media (max-width:960px){ .nav__sub--n{ border-left:0; padding:.55rem 0; } }
/* v51h home brand carousel */
.brun{ overflow:hidden; margin-top:clamp(26px,3vw,40px); padding:clamp(14px,1.6vw,22px) 0; border-top:1px solid rgba(18,57,126,.1);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.brun__t{ display:flex; align-items:flex-end; width:max-content; gap:clamp(34px,3.6vw,60px); animation:brRun 110s linear infinite; }
.brun__t img{ height:clamp(70px,7vw,96px); width:auto; object-fit:contain; mix-blend-mode:multiply; }
.brun:hover .brun__t{ animation-play-state:paused; }
@keyframes brRun{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .brun__t{ animation:none; } }
.sig__in--split .sig__names{ font-size:clamp(3rem,6vw,5.6rem); }
.brandsband{ padding-bottom:clamp(28px,3vw,48px); }
/* v51f carousel: same on home and Brands page, big products, GPU-only motion (no blend modes or masks on the moving layer) */
.brun{ position:relative; -webkit-mask-image:none; mask-image:none; padding:clamp(18px,2vw,28px) 0; }
.brun::before,.brun::after{ content:""; position:absolute; top:0; bottom:0; width:8%; z-index:1; pointer-events:none; }
.brun::before{ left:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.brun::after{ right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }
.brun__t{ gap:clamp(40px,4vw,72px); align-items:center; will-change:transform; transform:translate3d(0,0,0); backface-visibility:hidden; animation:brRun3d 120s linear infinite; }
.brun__t img{ height:clamp(110px,10.5vw,156px); mix-blend-mode:normal; transform:translateZ(0); }
@keyframes brRun3d{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }
.brun--page{ background:#fff; border-block:1px solid rgba(18,57,126,.1); margin-top:0; }
@media (prefers-reduced-motion:reduce){ .brun__t{ animation:none; } }
/* v51g home brands: one slim row, carousel below carries the visuals */
.brow{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid rgba(18,57,126,.12); }
.brow__i{ display:grid; grid-template-columns:76px 1fr auto; align-items:center; gap:14px; padding:16px clamp(12px,1.4vw,20px); color:var(--navy); text-decoration:none; border-left:1px solid rgba(18,57,126,.12); transition:background .3s ease; }
.brow__i:first-child{ border-left:0; padding-left:0; }
.brow__i:hover{ background:#F6F7FA; }
.brow__f{ height:64px; display:flex; align-items:center; justify-content:center; }
.brow__f img{ max-height:64px; max-width:76px; width:auto; height:auto; object-fit:contain; }
.brow__t{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.brow__t b{ font-family:var(--display); font-weight:400; font-size:clamp(1.15rem,1.5vw,1.4rem); }
.brow__t span{ font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--ink-3); }
.brow__i .btn__arr{ color:var(--gold); transition:transform .3s; } .brow__i:hover .btn__arr{ transform:translateX(4px); }
.brandsband .brun{ border-top:0; margin-top:clamp(10px,1.4vw,18px); }
@media (max-width:960px){ .brow{ grid-template-columns:1fr 1fr; } .brow__i:nth-child(3){ border-left:0; padding-left:0; } .brow__i:nth-child(n+3){ border-top:1px solid rgba(18,57,126,.12); } }
@media (max-width:520px){ .brow{ grid-template-columns:1fr; } .brow__i{ border-left:0; padding-left:0; } .brow__i + .brow__i{ border-top:1px solid rgba(18,57,126,.12); } }
/* v51h home brands: calm. Slim row + a quiet, small carousel band */
.brandsband .brun{ margin-top:0; padding:clamp(12px,1.3vw,18px) 0; background:#F7F6F2; border-bottom:1px solid rgba(18,57,126,.08); }
.brandsband .brun::before{ background:linear-gradient(90deg,#F7F6F2,rgba(247,246,242,0)); }
.brandsband .brun::after{ background:linear-gradient(270deg,#F7F6F2,rgba(247,246,242,0)); }
.brandsband .brun__t{ gap:clamp(28px,2.6vw,44px); animation-duration:150s; }
.brandsband .brun__t img{ height:clamp(56px,5vw,74px); mix-blend-mode:multiply; }
.brandsband .brow{ border-bottom:0; }
.brandsband .shead{ margin-bottom:clamp(18px,2vw,28px); }
.brun--page .brun__t img{ height:clamp(84px,8vw,118px); }
/* v51h-fix: no blend modes in moving strips (lag); band stays white with hairlines */
.brandsband .brun{ background:#fff; border-top:1px solid rgba(18,57,126,.08); border-bottom:1px solid rgba(18,57,126,.08); }
.brandsband .brun::before{ background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.brandsband .brun::after{ background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }
.brandsband .brun__t img{ mix-blend-mode:normal; }
.brandsband .brun{ margin-top:clamp(18px,2vw,30px); }
.brow__t span{ letter-spacing:.12em; white-space:nowrap; }

/* ---------- v53 (founders' meeting, 2026-10-08) ---------- */
/* "&" in display type = the plain sans ampersand of the logo, everywhere (only U+0026 comes from Inter Tight) */
@font-face{ font-family:'SR Amp'; font-style:normal; font-weight:300 700; font-display:swap; src:url('../fonts/inter-tight-var-latin.woff2') format('woff2-variations'); unicode-range:U+0026; }
@font-face{ font-family:'SR Amp'; font-style:italic; font-weight:300 700; font-display:swap; src:url('../fonts/inter-tight-var-latin.woff2') format('woff2-variations'); unicode-range:U+0026; }
:root{ --display:'SR Amp','Fraunces','Times New Roman',serif; }
/* Congo sites: 10 + 5 tiles fill five columns */
.pg--5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1100px){ .pg--5{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .pg--5{ grid-template-columns:1fr; } }
/* market pages: no photo from that country -> quiet S&R mark, same frame */
.feat__fig--mark{ background:#F4F5F8 center/42% auto no-repeat; }
/* Beverages: Bony + distributed brands, products a little larger than the home row */
.bevb .brow__i{ grid-template-columns:110px 1fr auto; }
.bevb .brow__f{ height:104px; }
.bevb .brow__f img{ max-height:104px; max-width:110px; }
.bevb div.brow__i:hover{ background:none; }
.form input[type=file]{ padding:.7rem 0; border:0; font-size:.9rem; }
/* every grid: photos keep one size; a two-line caption takes the slack instead of shrinking its photo */
.pg__img{ flex:none; } .pg__i figcaption{ flex:1 0 auto; }
.pg--feature .pg__i:first-child .pg__img,.pg--feature6 .pg__i:first-child .pg__img{ flex:1 1 auto; }
.bevb{ background:#fff; }
.bevb .brow__t span{ white-space:normal; }
.feat__fig--mark{ background-size:34% auto; }

/* ---------- v54 ---------- */
/* Beverages: five brands (Bony, Cody's, Vody, Don Simon, Pata Negra) as quiet product columns */
.bevb .brow{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.bevb .brow__i{ position:relative; grid-template-columns:1fr; justify-items:center; text-align:center; gap:12px; padding:24px 12px 20px; }
.bevb .brow__i:first-child{ padding-left:12px; }
.bevb .brow__f{ width:100%; height:120px; }
.bevb .brow__f img{ max-height:120px; max-width:92%; }
.bevb .brow__t{ align-items:center; }
.bevb .brow__i .btn__arr{ position:absolute; top:18px; right:14px; }
@media (max-width:960px){ .bevb .brow{ grid-template-columns:1fr 1fr; } .bevb .brow__i:nth-child(odd){ border-left:0; } .bevb .brow__i:nth-child(n+3){ border-top:1px solid rgba(18,57,126,.12); } }
@media (max-width:520px){ .bevb .brow{ grid-template-columns:1fr; } .bevb .brow__i{ border-left:0; } }
/* Oil & Gas: partner logos (Emerson, Metalyte Pipeworks) */
.svcs__p--logos{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 44px; padding-top:clamp(18px,2vw,26px); border-top:1px solid rgba(18,57,126,.12); }
.svcs__p--logos span,.svcs__p--logos em{ flex-basis:100%; margin:0; }
.svcs__p--logos img{ height:30px; width:auto; }
.svcs__p--logos img[alt="Emerson"]{ height:54px; }
.svcs__p--logos em{ font-style:normal; font-size:.82rem; color:#6b6a63; }
.svcs__p--logos img{ mix-blend-mode:multiply; }   /* static logos on the cream section (not a moving layer) */
/* founders' timeline: date column = widest label ("Aujourd’hui" overflowed the fixed 96px in FR); rows share it via subgrid */
@supports (grid-template-columns:subgrid){
  .sig__in--split .sig__tl{ grid-template-columns:max-content 1fr; }
  .sig__in--split .sig__tl li{ grid-column:1 / -1; grid-template-columns:subgrid; column-gap:clamp(16px,2vw,28px); }
}
/* v55b: the "&" we make a point of (between the founders' signatures; centre of the founders' spread) = the logo's &: upright, bold, logo red. No italic, no gold. */
.sig__amp,.fdr__amp{ font-family:'Inter Tight',-apple-system,sans-serif !important; font-style:normal !important; font-weight:700 !important; color:var(--red) !important; font-synthesis:none; }
.fdr__amp{ border-color:rgba(18,57,126,.18) !important; }

/* ---------- v56: offices directory (Contact page + market pages) ---------- */
.odir{ border-top:1px solid rgba(18,57,126,.18); }
.odir__c{ display:grid; grid-template-columns:200px 1fr; gap:clamp(18px,3vw,48px); padding:clamp(22px,2.6vw,34px) 0; border-bottom:1px solid rgba(18,57,126,.12); }
.odir__h{ display:flex; align-items:center; gap:12px; align-self:start; color:var(--navy); text-decoration:none; padding-top:2px; }
.odir__h img{ border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
.odir__h b{ font-family:var(--display); font-weight:400; font-size:clamp(1.25rem,1.6vw,1.5rem); }
.odir__g{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,2.4vw,34px) clamp(20px,2.6vw,40px); }
.odir__o{ display:flex; flex-direction:column; gap:6px; padding-left:16px; border-left:1px solid var(--gold); min-width:0; }
.odir__n{ margin:0; font-family:var(--display); font-weight:400; font-size:1.12rem; line-height:1.25; color:var(--navy); }
.odir__r{ margin:0; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#8a8577; line-height:1.5; }
.odir__a{ margin:4px 0 0; font-size:.88rem; line-height:1.55; color:var(--ink-2); }
.odir__l{ margin:4px 0 0; display:flex; flex-direction:column; gap:2px; font-size:.88rem; }
.odir__l a{ color:var(--navy); text-decoration:none; overflow-wrap:anywhere; }
.odir__l a:hover{ text-decoration:underline; text-underline-offset:3px; }
.odir--one .odir__c{ grid-template-columns:1fr; } .odir--one .odir__h{ display:none; }
@media (max-width:960px){ .odir__c{ grid-template-columns:1fr; gap:16px; } .odir__g{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .odir__g{ grid-template-columns:1fr; } }
.lcard__r{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#8a8577; margin:-.2rem 0 .6rem; }

/* ---------- v56: Emerson ASP certificates (Oil & Gas) ---------- */
.asp{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.4vw,34px); }
.asp__c{ display:flex; flex-direction:column; gap:14px; color:var(--navy); text-decoration:none; }
.asp__img{ display:block; aspect-ratio:1.414; background:#fff; border:1px solid rgba(18,57,126,.14); box-shadow:0 18px 40px -28px rgba(6,20,47,.45); overflow:hidden; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.asp__img img{ width:100%; height:100%; object-fit:contain; display:block; }
.asp__c:hover .asp__img{ transform:translateY(-4px); box-shadow:0 26px 50px -28px rgba(6,20,47,.55); }
.asp__t{ display:flex; flex-direction:column; gap:4px; }
.asp__t b{ font-family:var(--display); font-weight:400; font-size:1.2rem; }
.asp__t span{ font-size:.8rem; color:var(--ink-2); }
.asp__t i{ font-style:normal; margin-top:6px; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
.asp__q{ margin:clamp(22px,2.6vw,34px) 0 0; padding-top:16px; border-top:1px solid rgba(18,57,126,.12); font-size:.88rem; color:var(--ink-2); }
.asp__q span{ font-size:.66rem; letter-spacing:.16em; font-weight:700; color:var(--navy); margin-right:12px; }
@media (max-width:860px){ .asp{ grid-template-columns:1fr; max-width:520px; } }
/* v57 signature "&" (founders): same navy script as the names, full weight, centred on the axis of both names; plain sans & stays in text/headings */
.sig__amp{ font-family:'Signature',cursive !important; font-weight:400 !important; font-style:normal !important; color:var(--navy) !important; font-size:.95em !important; line-height:.9; }
.sig__in--split .sig__names{ align-items:center; }
.sig__in--split .sig__amp{ margin:-.22em 0 -.12em !important; align-self:center; }
/* v58 phone pass: matrix scrolls inside its own box (contain stops it widening the page), bigger tap targets, no text under 11px */
.mxw{ overflow-x:auto; contain:inline-size; -webkit-overflow-scrolling:touch; }
@media (max-width:760px){
  .ftr__list li{ margin-bottom:.1rem; } .ftr__list a{ display:inline-block; padding:.45rem 0; }
  a[href^="tel:"],a[href^="mailto:"]{ display:inline-block; padding:.45rem 0; }
  .medal__cert{ padding-top:.6rem; padding-bottom:.6rem; }
  .shelf__tag,.bmap__pin,.cfs__lab,.cv__meta,.brow__t span,.ct__role,.statement__by{ font-size:11px !important; }
}
/* v58b phone: the market x business table becomes a list (market, then the businesses it runs as chips); no sideways scroll */
@media (max-width:760px){
  .mxw{ overflow:visible; contain:none; }
  .matrix,.matrix tbody{ display:block; width:100%; min-width:0; }
  .matrix thead{ display:none; }
  .matrix tbody tr{ display:flex; flex-wrap:wrap; gap:6px 6px; padding:.85rem 0; border-bottom:1px solid var(--line); }
  .matrix tbody th{ flex:0 0 100%; padding:0 0 .35rem; border:0; white-space:normal; }
  .matrix td{ display:inline-flex; align-items:center; gap:6px; padding:.3rem .6rem; border:1px solid var(--line); border-radius:999px; font-size:12px; text-align:left; }
  .matrix td::after{ content:attr(data-l); }
  .matrix td.mx-no{ display:none; }
}
/* v59 (founders): menu bar white everywhere, also over the navy heroes */
.hdr{ background:rgba(255,255,255,.97); border-bottom-color:var(--line); }
.hdr--solid{ background:rgba(255,255,255,.95); }
/* v59 sea film: sourced worldwide -> Africa (no Dubai origin) */
.kf-wland{ fill:rgba(255,255,255,.14); } .kf-wsrc{ fill:rgba(255,255,255,.62); } .kf-waf{ fill:rgba(233,199,126,.35); }
.kf-aland{ fill:rgba(255,255,255,.18); } .kf-amk{ fill:var(--gold,#C9A45C); }
/* v59: six beverage brands (Don Luciano added) */
.bevb .brow{ grid-template-columns:repeat(6,minmax(0,1fr)); }
@media (max-width:1200px) and (min-width:961px){ .bevb .brow{ grid-template-columns:repeat(3,minmax(0,1fr)); } .bevb .brow__i:nth-child(4){ border-left:0; } .bevb .brow__i:nth-child(n+4){ border-top:1px solid rgba(18,57,126,.12); } }
/* v59: two brand cards fill the row (Salt page: Sel Fina + Al Fina) */
.bcards--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
/* v61 (Jeeja): no green "live" dot, no decorative rings behind section heads, no red underline under headline emphasis (gold/blue italic is enough) */
.ps__live i{ display:none !important; }
.shapes .shead::before{ display:none !important; }
.shead__title em,.hs__head h2 em,.rv.is-in .shead__title em,.hs.is-in .hs__head h2 em{ background:none !important; }
/* v61: founders' timeline (5 dates) — date column sized to its widest label at every width, so "Today"/"Aujourd’hui" never clips on phones */
.sig__in--split .sig__tl{ grid-template-columns:max-content 1fr; }
.sig__in--split .sig__tl li{ grid-template-columns:subgrid; grid-column:1 / -1; column-gap:clamp(14px,2vw,28px); }
@media (max-width:860px){ .sig__in--split .sig__tl{ display:grid; grid-template-columns:max-content 1fr; text-align:left; }
  .sig__in--split .sig__tl li{ grid-template-columns:subgrid; padding-left:20px; } .sig__in--split .sig__tl span{ min-width:0; } }
/* v61 (Jeeja) /group/: one centred, faint S&R mark instead of the split S … R; dividers = a line of tiny S&R marks */
.fdr{ border-top:0; padding-top:14px; }
.fdr::before,.fdr__col + .fdr__col::before{ content:""; position:absolute; left:0; right:0; top:0; height:9px; opacity:.38; pointer-events:none;
  background:url(/assets/img/sr-mark-colour.webp) space no-repeat 0 0 / auto 9px; }
.fdr__col + .fdr__col::before{ display:none; }
.fdr__mark{ position:absolute; left:50%; top:52%; z-index:0; width:min(62%,560px); aspect-ratio:579/244; pointer-events:none;
  background:url(/assets/img/sr-mark-colour.webp) center/contain no-repeat; filter:grayscale(1); opacity:0; transform:translate(-50%,-50%) scale(.96);
  transition:opacity 1.6s var(--ease), transform 1.8s var(--ease); }
.fdr.is-in .fdr__mark{ opacity:.06; transform:translate(-50%,-50%) scale(1); }
@media (max-width:760px){ .fdr__mark{ width:86%; top:50%; }
  .fdr__col + .fdr__col{ border-top:0; padding-top:clamp(34px,8vw,48px); }
  .fdr__col + .fdr__col::before{ display:block; } }
/* v61 (Jeeja) founders' portraits: logo centred on the two faces (moved up), faces level (re-cropped medals), names clear of the signatures, nothing touching the screen edge */
.hx__mono{ --face:clamp(150px,15vw,210px); --faceTop:clamp(40px,4.4vw,64px); }
.hx__face{ width:var(--face); margin-top:var(--faceTop); }
.hx__amp--logo{ align-self:start; height:var(--face); margin-top:var(--faceTop) !important; padding-top:0 !important; }
.hx__name{ display:block; margin-top:.9rem; } .hx__sig{ display:block; margin:.35rem 0 .3rem; }
@media (max-width:760px){ .hx__mono{ --face:clamp(96px,27vw,124px); --faceTop:30px; }
  .hx__amp--logo img{ width:clamp(70px,20vw,96px); } }
/* v61 (Jeeja) chain on phones: one column, numbers + labels left on a gold line, a drawing per step right; the wide film is hidden (unreadable at phone width) */
.kf__ic{ display:none; }
@media (max-width:760px){
  .kf--chain .kf__stage{ display:none; }
  .kf__steps--ic{ grid-template-columns:1fr; gap:0; border-top:0; margin-left:6px; padding-top:6px; border-left:1px solid var(--gold); }
  .kf__steps--ic li{ position:relative; display:grid; grid-template-columns:1fr 132px; grid-template-rows:auto auto; align-items:center; column-gap:14px; padding:16px 0 16px 22px; }
  .kf__steps--ic li::before{ content:""; position:absolute; left:-5px; top:28px; width:9px; height:9px; border-radius:50%; background:var(--gold); }
  .kf__steps--ic b{ grid-column:1; font-size:1.9rem; line-height:1; }
  .kf__steps--ic span{ grid-column:1; margin-top:6px; font-size:.82rem; }
  .kf__steps--ic .kf__ic{ display:block; grid-column:2; grid-row:1 / span 2; width:132px; height:auto; }
}
/* v61 (Jeeja): Jaipur edge label legible on the dark maps — white label card, sans bold name, clear arrow */
.map__edge{ right:8px; padding:7px 12px 8px; background:#fff; border-radius:6px; box-shadow:0 8px 22px -6px rgba(6,20,47,.45); }
.map__edge::before{ left:-30px; width:26px; }
.map__edge b{ font-family:var(--sans); font-weight:600; font-size:.88rem; color:var(--navy); }
.map__edge b::after{ content:" \2192"; color:var(--red); font-weight:700; }
.map__edge span{ color:#5b6274; font-size:.62rem; }
/* v62 (FR audit): dropdowns easy to reach — invisible bridge over the gap between link and panel */
.nav__panel::before{ content:""; position:absolute; left:0; right:0; top:-18px; height:18px; }
/* partner call to action in red (all languages) */
.hdr__cta{ background:var(--red); border-color:var(--red); color:#fff; border-radius:999px; padding:.58rem 1.15rem; font-size:.72rem; letter-spacing:.08em; }   /* 2026-10-14: pill, same family as the language switch */
.hdr__cta:hover{ background:#c81d1e; border-color:#c81d1e; color:#fff; }
/* v62 (FR audit): lighter enquiry form — smaller boxes */
#enquiry .field input,#enquiry .field select{ padding-top:.62rem; padding-bottom:.62rem; }
#enquiry .field textarea{ min-height:104px; }
#enquiry .field{ margin-bottom:.9rem; }
/* v62 (FR audit): article meta — date sits right after the kicker */
.art__k span{ margin-left:.5em; } .art__k span::before{ content:"·"; margin-right:.5em; }
.asp--one{ grid-template-columns:minmax(0,420px); }   /* 2026-10-14 India page: one certificate card */
