/* ========================================================================
   v32 — Baseline-inspired editorial structure
   The reference contributes structure, scale, pacing and interaction language.
   Sandy's typography, content, palette and product behaviour remain intact.
   ======================================================================== */

body.baseline-editorial{
  --be-deep:#012152;
  --be-deep-2:#001a41;
  --be-blue:#003c97;
  --be-surface:#f2f3f5;
  --be-card:#ffffff;
  --be-ink:#0c1322;
  --be-muted:#69717f;
  --be-ghost:#dce0e7;
  --be-line:#dfe3e9;
  --be-radius:clamp(22px,2.1vw,36px);
  --be-radius-sm:clamp(16px,1.5vw,26px);
  --be-inset:clamp(8px,.75vw,12px);
  background:#fff;
}

/* Inset page canvas from the reference. */
body.baseline-editorial .home-v28{
  width:100%;
  padding:var(--be-inset);
  background:#fff;
  overflow:clip;
}

body.baseline-editorial .home-v28>section,
body.baseline-editorial .home-v28>.v28-chapter{
  position:relative;
  margin-top:var(--be-inset);
  overflow:hidden;
  border-radius:var(--be-radius);
}

body.baseline-editorial .home-v28>section:first-child{margin-top:0}

/* Header becomes a light editorial bar floating over the hero. */
body.baseline-editorial .site-header{
  position:absolute;
  top:var(--be-inset);
  left:var(--be-inset);
  right:var(--be-inset);
  z-index:950;
  color:#fff;
  background:transparent;
  border:0;
}
body.baseline-editorial .site-header.is-scrolled{background:transparent;border:0}
body.baseline-editorial .nav-inner{
  width:100%;
  max-width:none;
  height:76px;
  padding-inline:clamp(20px,2.5vw,44px);
}
body.baseline-editorial .brand{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff;
}
body.baseline-editorial .brand-mark{
  width:1.1rem;
  height:1.1rem;
  border:1px solid currentColor;
  border-radius:50%;
  background:transparent;
  position:relative;
}
body.baseline-editorial .brand-mark::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.45;
}
body.baseline-editorial .nav-links{gap:clamp(18px,1.8vw,32px)}
body.baseline-editorial .nav-links>a:not(.nav-cta){
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  font-weight:600;
}
body.baseline-editorial .nav-links>a:not(.nav-cta):hover{color:#fff}
body.baseline-editorial .nav-cta{
  min-height:42px;
  padding:0 20px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(12px);
}
body.baseline-editorial .nav-cta:hover{background:#fff;color:var(--be-deep)}

/* Hero: one large full-bleed editorial plate with the diagnostic as its glass card. */
body.baseline-editorial .home-v28 .sandy-ai-hero{
  min-height:calc(100svh - (var(--be-inset) * 2));
  border-radius:var(--be-radius);
  background:var(--be-deep);
  align-items:stretch;
}
body.baseline-editorial .home-v28 .sandy-ai-hero__video{
  opacity:.58;
  filter:saturate(.72) contrast(1.03) brightness(.68);
  transform:scale(1.04);
}
body.baseline-editorial .home-v28 .sandy-ai-hero__scrim{
  background:linear-gradient(180deg,rgba(1,22,57,.35),rgba(1,25,65,.3) 38%,rgba(1,22,57,.92));
}
body.baseline-editorial .home-v28 .sandy-ai-hero__inner{
  width:100%;
  max-width:none;
  min-height:calc(100svh - (var(--be-inset) * 2));
  margin:0;
  padding:clamp(118px,12vh,160px) clamp(24px,2.7vw,48px) clamp(28px,3vw,52px);
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  grid-template-rows:auto 1fr auto;
  column-gap:clamp(32px,5vw,88px);
  align-items:start;
}
body.baseline-editorial .home-v28 .sandy-ai-hero__intro{
  grid-column:1/-1;
  max-width:none;
  align-self:start;
}
body.baseline-editorial .home-v28 .sandy-ai-hero__eyebrow{color:rgba(255,255,255,.72)}
body.baseline-editorial .home-v28 .sandy-ai-hero__eyebrow-mark{background:#fff}
body.baseline-editorial .home-v28 .sandy-ai-hero__heading{
  max-width:12ch;
  margin:clamp(18px,2vw,32px) 0 0;
  font-family:var(--font-display);
  font-size:clamp(4.4rem,8.8vw,10.4rem);
  font-weight:400;
  line-height:.82;
  letter-spacing:-.035em;
  text-wrap:balance;
  color:#fff;
}
body.baseline-editorial .home-v28 .sandy-ai-hero__accent{color:#fff}
body.baseline-editorial .home-v28 .sandy-ai-hero__lead{
  grid-column:1;
  max-width:43ch;
  margin:clamp(32px,4vh,58px) 0 0;
  font-size:clamp(1.04rem,1.25vw,1.3rem);
  color:rgba(255,255,255,.84);
}
body.baseline-editorial .home-v28 .sandy-ai-hero__chips{
  margin-top:24px;
  margin-bottom:0;
}
body.baseline-editorial .home-v28 .sandy-ai-hero__chips li{
  border-radius:999px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
body.baseline-editorial .home-v28 .sandy-ai-hero__fineprint{margin-top:16px}
body.baseline-editorial .home-v28 .sandy-ai-chat{
  grid-column:2;
  grid-row:2/4;
  width:min(100%,560px);
  align-self:end;
  justify-self:end;
}
body.baseline-editorial .home-v28 .sandy-ai-chat__glass{
  border-radius:var(--be-radius-sm);
  border:1px solid rgba(255,255,255,.2);
  background:rgba(0,19,49,.46);
  box-shadow:none;
  backdrop-filter:blur(18px);
}
body.baseline-editorial .home-v28 .sandy-ai-option,
body.baseline-editorial .home-v28 .sandy-ai-chat__composer-field,
body.baseline-editorial .home-v28 .sandy-ai-chat__icon-btn{border-radius:999px}
body.baseline-editorial .home-v28 .sandy-ai-hero__cue{display:none}

/* Proof band becomes the compact three-column module under the hero. */
body.baseline-editorial .home-v28 .v28-proof-band{
  background:var(--be-deep);
  border-radius:var(--be-radius-sm);
}
body.baseline-editorial .home-v28 .v28-proof-band .shell{width:100%}
body.baseline-editorial .home-v28 .v28-proof{border-top:0}
body.baseline-editorial .home-v28 .v28-proof__item{
  min-height:150px;
  padding:clamp(24px,3vw,46px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body.baseline-editorial .home-v28 .v28-proof__label{color:rgba(255,255,255,.5)}
body.baseline-editorial .home-v28 .v28-proof__item p{
  max-width:28ch;
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2vw,2.25rem);
  line-height:1.05;
}

/* Shared section language: bigger, bolder, calmer. */
body.baseline-editorial .home-v28 .shell{width:min(100% - clamp(40px,5vw,88px),1560px)}
body.baseline-editorial .home-v28 .section{padding-block:clamp(78px,9vw,150px)}
body.baseline-editorial .home-v28 .section-head{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.5fr);
  gap:clamp(28px,6vw,112px);
  align-items:end;
  margin-bottom:clamp(50px,6vw,96px);
}
body.baseline-editorial .home-v28 .section-head .t-section,
body.baseline-editorial .home-v28 .v28-guide .t-section,
body.baseline-editorial .home-v28 .footer-hero .t-impact{
  font-size:clamp(3.2rem,6.4vw,8.2rem);
  line-height:.86;
  letter-spacing:-.028em;
}
body.baseline-editorial .home-v28 .eyebrow{font-size:.68rem;letter-spacing:.18em}
body.baseline-editorial .home-v28 .band-white{background:#fff}
body.baseline-editorial .home-v28 .band-paper{background:var(--be-surface)}
body.baseline-editorial .home-v28 .band-blue{background:var(--be-blue)}
body.baseline-editorial .home-v28 .band-ink{background:var(--be-deep)}

/* Programs-like numbered rhythm for rows and panels. */
body.baseline-editorial .home-v28 .v28-panel{
  border-radius:var(--be-radius-sm);
  border-color:var(--be-line);
  overflow:hidden;
  transition:transform .5s var(--ease),border-color .4s var(--ease),background .4s var(--ease);
}
body.baseline-editorial .home-v28 .v28-panel:hover,
body.baseline-editorial .home-v28 .v28-panel:focus-within{
  transform:translateY(-5px);
}
body.baseline-editorial .home-v28 .v28-mosaic{gap:var(--be-inset)}
body.baseline-editorial .home-v28 .m-image{border-radius:var(--be-radius-sm)}
body.baseline-editorial .home-v28 .m-image img{transition:transform .8s var(--ease)}
body.baseline-editorial .home-v28 .m-image:hover img{transform:scale(1.035)}
body.baseline-editorial .home-v28 .v28-owners{gap:0;border-top:1px solid var(--be-line)}
body.baseline-editorial .home-v28 .v28-owner{
  border:0;
  border-bottom:1px solid var(--be-line);
  border-radius:0;
  padding-block:clamp(24px,3vw,44px);
}
body.baseline-editorial .home-v28 .v28-owner:hover{transform:none;background:rgba(0,60,151,.035)}

/* Facilities-like overlap and image-led guide block. */
body.baseline-editorial .home-v28 #guide{
  margin-top:calc(var(--be-inset) - 2.5rem);
  z-index:3;
}
body.baseline-editorial .home-v28 .v28-guide{
  gap:clamp(38px,7vw,120px);
  align-items:center;
}
body.baseline-editorial .home-v28 .v28-guide__media{
  border-radius:var(--be-radius-sm);
  overflow:hidden;
  transform:rotate(-2.2deg);
  box-shadow:0 24px 70px rgba(1,33,82,.12);
}
body.baseline-editorial .home-v28 .v28-guide__media img{min-height:580px;object-fit:cover}
body.baseline-editorial .home-v28 .v28-guide__areas li{border-radius:999px}

/* Connected levers become clean horizontal editorial rows. */
body.baseline-editorial .home-v28 .v28-levers{border-radius:var(--be-radius-sm);overflow:hidden}
body.baseline-editorial .home-v28 .v28-lever{
  transition:background .35s var(--ease),transform .35s var(--ease);
}
body.baseline-editorial .home-v28 .v28-lever:hover{background:rgba(255,255,255,.07);transform:translateX(7px)}

/* Case studies borrow the reference's large tilted photo-card composition. */
body.baseline-editorial .home-v28 .v28-evidence{gap:clamp(18px,2vw,32px)}
body.baseline-editorial .home-v28 .v28-case{
  border:0;
  border-radius:var(--be-radius-sm);
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 0 rgba(1,33,82,.08);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease);
}
body.baseline-editorial .home-v28 .v28-case--featured{transform:rotate(-.9deg)}
body.baseline-editorial .home-v28 .v28-evidence__stack .v28-case:first-child{transform:rotate(1deg)}
body.baseline-editorial .home-v28 .v28-case:hover{
  transform:translateY(-8px) rotate(0);
  box-shadow:0 30px 70px rgba(1,33,82,.13);
}
body.baseline-editorial .home-v28 .v28-case__media{overflow:hidden}
body.baseline-editorial .home-v28 .v28-case__media img{transition:transform .8s var(--ease)}
body.baseline-editorial .home-v28 .v28-case:hover .v28-case__media img{transform:scale(1.025)}
body.baseline-editorial .home-v28 .v28-case__body{padding:clamp(24px,3vw,46px)}

/* The personal principles section gets an editorial, offset image composition. */
body.baseline-editorial .home-v28 .v28-people__media{
  border-radius:var(--be-radius-sm);
  overflow:hidden;
  transform:rotate(1.8deg);
}
body.baseline-editorial .home-v28 .v28-people__statement{border-radius:var(--be-radius-sm)}

/* Stats band mirrors the reference's simple four-up score strip. */
body.baseline-editorial .home-v28 #metrics .section{padding-block:clamp(72px,8vw,126px)}
body.baseline-editorial .home-v28 #metrics .section-head{margin-bottom:clamp(44px,5vw,72px)}
body.baseline-editorial .home-v28 .v28-metrics{
  gap:0;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
body.baseline-editorial .home-v28 .v28-metric{
  min-height:340px;
  border:0;
  border-right:1px solid rgba(255,255,255,.18);
  border-radius:0;
  background:transparent;
  justify-content:space-between;
  padding:clamp(24px,3vw,46px);
}
body.baseline-editorial .home-v28 .v28-metric:last-child{border-right:0}
body.baseline-editorial .home-v28 .v28-metric:hover{transform:none;background:rgba(255,255,255,.045)}
body.baseline-editorial .home-v28 .v28-metric__fig{
  font-size:clamp(4.6rem,7vw,8.5rem);
  line-height:.82;
  color:#fff;
}

/* Awards and thinking use disciplined rows/cards instead of utility panels. */
body.baseline-editorial .home-v28 .card-list{border-top:1px solid var(--be-line)}
body.baseline-editorial .home-v28 .card-list>*{
  padding-block:clamp(24px,3vw,44px);
  border-bottom:1px solid var(--be-line);
}
body.baseline-editorial .home-v28 .article-list{gap:var(--be-inset)}
body.baseline-editorial .home-v28 .article-item{
  border:0;
  border-radius:var(--be-radius-sm);
  overflow:hidden;
  background:#fff;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
body.baseline-editorial .home-v28 .article-item:hover{transform:translateY(-7px);box-shadow:0 25px 65px rgba(1,33,82,.1)}

/* Closing field and footer become one confident dark ending. */
body.baseline-editorial .home-v28 #close{min-height:68vh;display:flex;align-items:center}
body.baseline-editorial .home-v28 #close .section{width:100%}
body.baseline-editorial .site-footer{
  margin:var(--be-inset);
  margin-top:0;
  border-radius:var(--be-radius);
  overflow:hidden;
  background:var(--be-deep-2);
}
body.baseline-editorial .site-footer .shell{width:min(100% - clamp(40px,5vw,88px),1560px)}
body.baseline-editorial .footer-hero{padding-block:clamp(80px,9vw,150px)}
body.baseline-editorial .footer-hero .t-impact{max-width:10ch}
body.baseline-editorial .footer-bottom{border-top-color:rgba(255,255,255,.15)}

/* Pill controls and circular arrows. */
body.baseline-editorial .button,
body.baseline-editorial .button-ghost,
body.baseline-editorial .text-link{
  border-radius:999px;
}
body.baseline-editorial .button{padding-inline:22px}

@media (max-width:1080px){
  body.baseline-editorial .home-v28 .sandy-ai-hero__inner{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    min-height:auto;
    padding-top:120px;
  }
  body.baseline-editorial .home-v28 .sandy-ai-hero__intro{grid-column:1}
  body.baseline-editorial .home-v28 .sandy-ai-hero__heading{font-size:clamp(4.1rem,10vw,7.2rem)}
  body.baseline-editorial .home-v28 .sandy-ai-chat{grid-column:1;grid-row:auto;margin-top:46px;justify-self:end}
  body.baseline-editorial .home-v28 .section-head{grid-template-columns:1fr;align-items:start}
  body.baseline-editorial .home-v28 .section-head>p{max-width:55ch}
  body.baseline-editorial .home-v28 .v28-metric{min-height:300px}
}

@media (max-width:900px){
  body.baseline-editorial .nav-links{
    top:calc(100% + 8px);
    left:12px;
    right:12px;
    border-radius:var(--be-radius-sm);
    overflow:hidden;
    background:var(--be-deep-2);
  }
  body.baseline-editorial .menu-button{color:#fff;border-color:rgba(255,255,255,.3);border-radius:50%}
  body.baseline-editorial .home-v28 .v28-metric{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  body.baseline-editorial .home-v28 .v28-metric:last-child{border-bottom:0}
  body.baseline-editorial .home-v28 #guide{margin-top:var(--be-inset)}
  body.baseline-editorial .home-v28 .v28-guide__media{transform:none}
}

@media (max-width:640px){
  body.baseline-editorial{--be-radius:24px;--be-radius-sm:18px;--be-inset:7px}
  body.baseline-editorial .nav-inner{height:68px;padding-inline:16px}
  body.baseline-editorial .brand{font-size:.7rem;letter-spacing:.1em}
  body.baseline-editorial .home-v28 .sandy-ai-hero{min-height:auto}
  body.baseline-editorial .home-v28 .sandy-ai-hero__inner{
    padding:104px 18px 20px;
  }
  body.baseline-editorial .home-v28 .sandy-ai-hero__heading{
    max-width:9ch;
    font-size:clamp(3.55rem,17vw,5.4rem);
    line-height:.84;
  }
  body.baseline-editorial .home-v28 .sandy-ai-hero__lead{margin-top:28px;font-size:1rem}
  body.baseline-editorial .home-v28 .sandy-ai-hero__chips{gap:7px}
  body.baseline-editorial .home-v28 .sandy-ai-hero__chips li{font-size:.72rem;padding:6px 10px}
  body.baseline-editorial .home-v28 .sandy-ai-chat{margin-top:32px;width:100%}
  body.baseline-editorial .home-v28 .sandy-ai-chat__glass{border-radius:16px}
  body.baseline-editorial .home-v28 .shell{width:calc(100% - 34px)}
  body.baseline-editorial .home-v28 .section{padding-block:70px}
  body.baseline-editorial .home-v28 .section-head{gap:22px;margin-bottom:38px}
  body.baseline-editorial .home-v28 .section-head .t-section,
  body.baseline-editorial .home-v28 .v28-guide .t-section,
  body.baseline-editorial .home-v28 .footer-hero .t-impact{
    font-size:clamp(2.75rem,13.5vw,4rem);
    line-height:.9;
  }
  body.baseline-editorial .home-v28 .v28-proof__item{min-height:130px;padding:24px 22px}
  body.baseline-editorial .home-v28 .v28-guide__media img{min-height:430px}
  body.baseline-editorial .home-v28 .v28-case--featured,
  body.baseline-editorial .home-v28 .v28-evidence__stack .v28-case:first-child,
  body.baseline-editorial .home-v28 .v28-people__media{transform:none}
  body.baseline-editorial .home-v28 #close{min-height:auto}
  body.baseline-editorial .site-footer{margin:var(--be-inset);margin-top:0}
  body.baseline-editorial .site-footer .shell{width:calc(100% - 34px)}
}

@media (prefers-reduced-motion:reduce){
  body.baseline-editorial .home-v28 .v28-panel,
  body.baseline-editorial .home-v28 .v28-case,
  body.baseline-editorial .home-v28 .article-item,
  body.baseline-editorial .home-v28 img{transition:none!important}
}

/* ========================================================================
   v32.1 — Site-wide editorial system
   Extends the homepage language to every route and adds the reference's
   full-screen menu. These rules intentionally sit last in the cascade.
   ======================================================================== */

body.baseline-editorial:not(.baseline-menu-open){overflow-x:hidden}

/* One header pattern across the whole site. */
body.baseline-editorial .site-header{
  position:absolute!important;
  top:var(--be-inset)!important;
  left:var(--be-inset);
  right:var(--be-inset);
  width:auto;
  z-index:1000;
  color:#fff;
  background:transparent!important;
  border:0!important;
}
body.baseline-editorial .site-header .nav-inner{
  width:100%;
  max-width:none;
  height:76px;
  padding-inline:clamp(18px,2.6vw,46px);
}
body.baseline-editorial .site-header .brand{color:#fff}
body.baseline-editorial .site-header .nav-links{display:none!important}
body.baseline-editorial .site-header .menu-button{
  display:grid!important;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(12px);
  transition:background .3s ease,transform .3s var(--ease);
}
body.baseline-editorial .site-header .menu-button:hover{background:rgba(255,255,255,.22);transform:scale(1.04)}
body.baseline-editorial .site-header .menu-button i,
body.baseline-editorial .site-header .menu-button i::before,
body.baseline-editorial .site-header .menu-button i::after{background:#fff}

/* Full-screen menu translated from the supplied tennis reference. */
.baseline-menu{
  position:fixed;
  inset:0;
  z-index:1600;
  visibility:hidden;
  pointer-events:none;
  color:#fff;
  background:rgba(0,12,34,.42);
  opacity:0;
  transition:opacity .48s var(--ease),visibility 0s linear .55s;
}
.baseline-menu.is-open{
  visibility:visible;
  pointer-events:auto;
  opacity:1;
  transition:opacity .48s var(--ease),visibility 0s;
}
.baseline-menu__panel{
  position:absolute;
  inset:var(--be-inset);
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:calc(100svh - (var(--be-inset) * 2));
  padding:clamp(22px,3vw,50px);
  overflow:auto;
  border-radius:var(--be-radius);
  background:var(--be-deep-2);
  transform:translateY(28px) scale(.985);
  opacity:0;
  transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .5s ease;
}
.baseline-menu.is-open .baseline-menu__panel{transform:none;opacity:1}
.baseline-menu__top,.baseline-menu__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.baseline-menu__brand .brand{
  color:#fff;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.baseline-menu__brand .brand-mark{border-color:currentColor}
.baseline-menu__close{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:none;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.1);
  transition:background .28s ease,transform .45s var(--ease);
}
.baseline-menu__close svg{width:21px;height:21px;transition:transform .45s var(--ease)}
.baseline-menu__close:hover{background:rgba(255,255,255,.2);transform:scale(1.04)}
.baseline-menu__close:hover svg{transform:rotate(90deg)}
.baseline-menu__nav{
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(1px,.25vw,6px);
  padding-block:clamp(44px,8vh,100px);
}
.baseline-menu__link{
  position:relative;
  display:block;
  overflow:hidden;
  font-family:var(--font-display);
  font-size:clamp(3.5rem,7.2vw,8.6rem);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.03em;
  color:#fff;
  transform:translateY(34px);
  opacity:0;
  transition:color .3s ease,transform .75s cubic-bezier(.16,1,.3,1),opacity .6s ease;
  transition-delay:calc(var(--menu-index,0) * 60ms);
}
.baseline-menu.is-open .baseline-menu__link{transform:none;opacity:1}
.baseline-menu__link[aria-current="page"]{color:rgba(255,255,255,.48)}
.baseline-menu__link:hover{color:var(--accent)}
.baseline-menu__bottom{
  padding-top:clamp(20px,2vw,32px);
  border-top:1px solid rgba(255,255,255,.15);
}
.baseline-menu__pill{
  display:inline-flex;
  align-items:center;
  gap:22px;
  min-height:50px;
  padding:0 10px 0 22px;
  border-radius:999px;
  background:#fff;
  color:var(--be-deep);
  font-size:.85rem;
  font-weight:700;
}
.baseline-menu__pill i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--be-deep);
  color:#fff;
  font-style:normal;
  transition:transform .3s var(--ease);
}
.baseline-menu__pill:hover i{transform:translateX(3px)}
.baseline-menu__social{display:flex;flex-wrap:wrap;gap:24px;color:rgba(255,255,255,.68);font-size:.82rem}
.baseline-menu__social a:hover{color:#fff}

/* Every non-home route now uses the same inset card canvas. */
body.baseline-editorial main:not(.home-v28){
  width:100%;
  padding:var(--be-inset);
  overflow:clip;
  background:#fff;
}
body.baseline-editorial main:not(.home-v28)>section,
body.baseline-editorial article[data-article]>.band-white,
body.baseline-editorial article[data-article]>.band-paper,
body.baseline-editorial article[data-article]>.band-blue,
body.baseline-editorial article[data-article]>.band-ink,
body.baseline-editorial article[data-article]>.article-hero,
body.baseline-editorial article[data-article]>.article-hero-media{
  position:relative;
  margin-top:var(--be-inset);
  overflow:hidden;
  border-radius:var(--be-radius);
}
body.baseline-editorial main:not(.home-v28)>section:first-child,
body.baseline-editorial article[data-article]>.article-hero:first-child{margin-top:0}

/* White standalone heroes become deep, full-width editorial hero cards. */
body.baseline-editorial main:not(.home-v28)>.page-hero,
body.baseline-editorial main:not(.home-v28)>.notfound,
body.baseline-editorial article[data-article]>.article-hero{
  width:100%;
  max-width:none;
  min-height:min(760px,calc(100svh - (var(--be-inset) * 2)));
  padding:clamp(130px,14vh,180px) clamp(24px,5vw,88px) clamp(72px,8vw,126px);
  display:grid;
  align-content:end;
  color:#fff;
  background:var(--be-deep);
}
body.baseline-editorial main:not(.home-v28)>.page-hero .t-loud,
body.baseline-editorial main:not(.home-v28)>.notfound .t-loud,
body.baseline-editorial article[data-article]>.article-hero .t-loud{color:#fff}
body.baseline-editorial main:not(.home-v28)>.page-hero p,
body.baseline-editorial main:not(.home-v28)>.notfound p,
body.baseline-editorial article[data-article]>.article-hero p{color:rgba(255,255,255,.78)}
body.baseline-editorial main:not(.home-v28)>.page-hero .eyebrow,
body.baseline-editorial article[data-article]>.article-hero .tag{color:rgba(255,255,255,.7)}

/* Heroes already wrapped in blue/media sections keep their imagery and gain scale. */
body.baseline-editorial main:not(.home-v28)>section:first-child.band-blue,
body.baseline-editorial main:not(.home-v28)>section:first-child.band-ink,
body.baseline-editorial main:not(.home-v28)>section:first-child.band-media{
  min-height:min(800px,calc(100svh - (var(--be-inset) * 2)));
  display:grid;
  align-items:end;
}
body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
  width:min(100% - clamp(40px,6vw,96px),1560px);
  padding-top:clamp(140px,15vh,190px);
  padding-bottom:clamp(70px,8vw,126px);
}
body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
body.baseline-editorial article[data-article]>.article-hero .t-section{
  font-size:clamp(4rem,7.2vw,9rem);
  line-height:.86;
  letter-spacing:-.03em;
}
body.baseline-editorial main:not(.home-v28) .page-hero-grid{gap:clamp(34px,7vw,130px);align-items:end}
body.baseline-editorial main:not(.home-v28) .page-hero-aside{
  padding:clamp(22px,2.5vw,36px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--be-radius-sm);
  background:rgba(0,20,54,.28);
  color:#fff;
  backdrop-filter:blur(14px);
}
body.baseline-editorial main:not(.home-v28) .page-hero-aside p{color:rgba(255,255,255,.72)}

/* Inner bands, headings and cards inherit the homepage's editorial rhythm. */
body.baseline-editorial main:not(.home-v28) .shell{width:min(100% - clamp(40px,5vw,88px),1560px)}
body.baseline-editorial main:not(.home-v28) .section{padding-block:clamp(78px,9vw,150px)}
body.baseline-editorial main:not(.home-v28) .section.compact{padding-block:clamp(64px,7vw,110px)}
body.baseline-editorial main:not(.home-v28) .section-head{gap:clamp(32px,6vw,110px);margin-bottom:clamp(48px,6vw,96px)}
body.baseline-editorial main:not(.home-v28) .section-head .t-section,
body.baseline-editorial main:not(.home-v28) .section-head .t-impact{
  font-size:clamp(3.2rem,6.2vw,7.8rem);
  line-height:.87;
  letter-spacing:-.028em;
}
body.baseline-editorial main:not(.home-v28)>section.band-white{background:#fff}
body.baseline-editorial main:not(.home-v28)>section.band-paper{background:var(--be-surface)}
body.baseline-editorial main:not(.home-v28)>section.band-blue{background:var(--be-blue)}
body.baseline-editorial main:not(.home-v28)>section.band-ink{background:var(--be-deep)}

body.baseline-editorial main:not(.home-v28) .tile,
body.baseline-editorial main:not(.home-v28) .feature-article,
body.baseline-editorial main:not(.home-v28) .article-item,
body.baseline-editorial main:not(.home-v28) .case-card,
body.baseline-editorial main:not(.home-v28) .portrait-figure__frame,
body.baseline-editorial main:not(.home-v28) .diagram,
body.baseline-editorial main:not(.home-v28) .focus-card,
body.baseline-editorial main:not(.home-v28) .role,
body.baseline-editorial main:not(.home-v28) .enquiry-panel,
body.baseline-editorial article[data-article] .diagram{
  border-radius:var(--be-radius-sm);
  overflow:hidden;
}
body.baseline-editorial main:not(.home-v28) .tile,
body.baseline-editorial main:not(.home-v28) .article-item,
body.baseline-editorial main:not(.home-v28) .case-card,
body.baseline-editorial main:not(.home-v28) .feature-article{
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .3s ease;
}
body.baseline-editorial main:not(.home-v28) .tile:hover,
body.baseline-editorial main:not(.home-v28) .article-item:hover,
body.baseline-editorial main:not(.home-v28) .case-card:hover,
body.baseline-editorial main:not(.home-v28) .feature-article:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 65px rgba(1,33,82,.11);
}
body.baseline-editorial main:not(.home-v28) .article-list,
body.baseline-editorial main:not(.home-v28) .tile-grid{gap:var(--be-inset);border:0}
body.baseline-editorial main:not(.home-v28) .article-item,
body.baseline-editorial main:not(.home-v28) .tile{border:1px solid var(--be-line);background:#fff}
body.baseline-editorial main:not(.home-v28) .card-list{border-top:1px solid var(--be-line)}
body.baseline-editorial main:not(.home-v28) .card-row{
  padding-block:clamp(24px,3vw,44px);
  border-left:0;
  border-right:0;
  border-color:var(--be-line);
  transition:padding-left .3s var(--ease),background .3s ease;
}
body.baseline-editorial main:not(.home-v28) .card-row:hover{padding-left:16px;background:rgba(0,60,151,.035)}

/* Article pages use the same inset sequence rather than one continuous slab. */
body.baseline-editorial article[data-article]{display:block}
body.baseline-editorial article[data-article]>.article-hero-media{
  width:100%;
  min-height:clamp(360px,62vw,820px);
}
body.baseline-editorial article[data-article]>.article-hero-media img{width:100%;height:100%;object-fit:cover}
body.baseline-editorial article[data-article]>.band-white{background:#fff}
body.baseline-editorial article[data-article]>.band-paper{background:var(--be-surface)}
body.baseline-editorial article[data-article]>.band-blue{background:var(--be-blue)}
body.baseline-editorial article[data-article]>.band-ink{background:var(--be-deep)}
body.baseline-editorial article[data-article] .section{padding-block:clamp(68px,8vw,124px)}
body.baseline-editorial article[data-article] .prose h2{font-size:clamp(2.25rem,4vw,4.7rem);line-height:.95}

/* Footer is inset on every route, matching the page-card frame. */
body.baseline-editorial .site-footer{
  margin:0 var(--be-inset) var(--be-inset);
  border-radius:var(--be-radius);
}

@media (max-width:900px){
  .baseline-menu__link{font-size:clamp(3.3rem,10vw,6rem)}
  body.baseline-editorial main:not(.home-v28) .page-hero-grid{grid-template-columns:1fr}
  body.baseline-editorial main:not(.home-v28)>.page-hero,
  body.baseline-editorial main:not(.home-v28)>.notfound,
  body.baseline-editorial article[data-article]>.article-hero{min-height:680px}
}

@media (max-width:640px){
  body.baseline-editorial .site-header .nav-inner{height:68px;padding-inline:15px}
  body.baseline-editorial .site-header .menu-button{width:41px;height:41px}
  .baseline-menu__panel{padding:20px 18px}
  .baseline-menu__nav{padding-block:46px}
  .baseline-menu__link{font-size:clamp(3.05rem,15vw,4.5rem);line-height:.9}
  .baseline-menu__bottom{align-items:flex-start;flex-direction:column}
  .baseline-menu__social{gap:20px}
  body.baseline-editorial main:not(.home-v28)>.page-hero,
  body.baseline-editorial main:not(.home-v28)>.notfound,
  body.baseline-editorial article[data-article]>.article-hero{
    min-height:610px;
    padding:110px 18px 62px;
  }
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-blue,
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-ink,
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-media{min-height:650px}
  body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
  body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
    width:calc(100% - 36px);
    padding-top:116px;
    padding-bottom:62px;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
  body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
  body.baseline-editorial article[data-article]>.article-hero .t-section{
    font-size:clamp(3rem,14vw,4.5rem);
    line-height:.88;
  }
  body.baseline-editorial main:not(.home-v28) .section-head .t-section,
  body.baseline-editorial main:not(.home-v28) .section-head .t-impact{font-size:clamp(2.8rem,12.5vw,4rem)}
  body.baseline-editorial main:not(.home-v28) .shell{width:calc(100% - 34px)}
  body.baseline-editorial main:not(.home-v28) .section{padding-block:68px}
  body.baseline-editorial main:not(.home-v28) .section.compact{padding-block:58px}
  body.baseline-editorial article[data-article]>.article-hero-media{min-height:320px}
}

@media (prefers-reduced-motion:reduce){
  .baseline-menu,.baseline-menu__panel,.baseline-menu__link,
  body.baseline-editorial main:not(.home-v28) .tile,
  body.baseline-editorial main:not(.home-v28) .article-item,
  body.baseline-editorial main:not(.home-v28) .case-card,
  body.baseline-editorial main:not(.home-v28) .feature-article{transition:none!important}
}

/* ========================================================================
   v32.2 — cross-page visual QA consolidation
   One geometry system now owns shells, heroes, media and corner treatment.
   ======================================================================== */

body.baseline-editorial{
  --be-shell-max:1660px;
  --be-shell-gutter:clamp(34px,4.25vw,74px);
  --be-hero-height:clamp(640px,82svh,880px);
  --be-radius-inner:clamp(16px,1.35vw,24px);
  --radius:var(--be-radius-inner);
  --radius-media:var(--be-radius-inner);
}

/* Keep general content generous while preserving the deliberate article measure. */
body.baseline-editorial .home-v28 .shell,
body.baseline-editorial main:not(.home-v28) .shell{
  width:min(100% - var(--be-shell-gutter),var(--be-shell-max));
}
body.baseline-editorial .shell-wide{
  width:min(100% - clamp(24px,3vw,52px),1760px);
}
body.baseline-editorial .content-grid{column-gap:clamp(20px,2vw,32px)}
body.baseline-editorial .home-v28 .section-head,
body.baseline-editorial main:not(.home-v28) .section-head{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.62fr);
  gap:clamp(34px,5vw,86px);
}
body.baseline-editorial .section-head p{max-width:60ch}
body.baseline-editorial .section-head.right{
  grid-template-columns:minmax(300px,.62fr) minmax(0,1.35fr);
}

/* Every opening hero follows the same vertical and horizontal frame. */
body.baseline-editorial main:not(.home-v28)>.page-hero,
body.baseline-editorial main:not(.home-v28)>.notfound,
body.baseline-editorial article[data-article]>.article-hero,
body.baseline-editorial main:not(.home-v28)>section:first-child.band-blue,
body.baseline-editorial main:not(.home-v28)>section:first-child.band-ink,
body.baseline-editorial main:not(.home-v28)>section:first-child.band-media{
  min-height:var(--be-hero-height);
}
body.baseline-editorial main:not(.home-v28)>.page-hero,
body.baseline-editorial main:not(.home-v28)>.notfound,
body.baseline-editorial article[data-article]>.article-hero{
  padding:clamp(132px,15vh,184px) var(--be-shell-gutter) clamp(66px,7vw,112px);
}
body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
  width:min(100% - var(--be-shell-gutter),var(--be-shell-max));
  min-height:0;
  padding-top:clamp(132px,15vh,184px);
  padding-bottom:clamp(66px,7vw,112px);
}
body.baseline-editorial main:not(.home-v28) .page-hero-grid{
  grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);
  gap:clamp(34px,5vw,82px);
  align-items:end;
}
body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
body.baseline-editorial article[data-article]>.article-hero .t-section{
  max-width:15ch;
  font-size:clamp(4rem,6.7vw,8.2rem);
  line-height:.88;
}

/* Outer page plates use the large radius; contained objects use one inner radius. */
body.baseline-editorial .motion-video,
body.baseline-editorial .editorial-thumb,
body.baseline-editorial .image-chapter,
body.baseline-editorial .image-story__media,
body.baseline-editorial .article-hero-media,
body.baseline-editorial .article-figure,
body.baseline-editorial .media-story img,
body.baseline-editorial .portrait-figure__frame,
body.baseline-editorial .portrait-frame,
body.baseline-editorial .feature-article,
body.baseline-editorial .article-item,
body.baseline-editorial .tile,
body.baseline-editorial .case-card,
body.baseline-editorial .diagram,
body.baseline-editorial .focus-card,
body.baseline-editorial .enquiry-panel,
body.baseline-editorial .v28-panel,
body.baseline-editorial .sandy-ai-chat__glass{
  border-radius:var(--be-radius-inner);
  overflow:hidden;
}
body.baseline-editorial .button,
body.baseline-editorial .tag,
body.baseline-editorial .nav-cta,
body.baseline-editorial .sandy-ai-option,
body.baseline-editorial .sandy-ai-chat__composer-field,
body.baseline-editorial .sandy-ai-chat__icon-btn{
  border-radius:999px;
}

@media (max-width:900px){
  body.baseline-editorial{
    --be-shell-gutter:clamp(32px,6vw,52px);
    --be-hero-height:clamp(580px,78svh,720px);
  }
  body.baseline-editorial .home-v28 .section-head,
  body.baseline-editorial main:not(.home-v28) .section-head,
  body.baseline-editorial .section-head.right{
    grid-template-columns:1fr;
    gap:28px;
  }
  body.baseline-editorial .section-head.right>div:last-child{text-align:left}
  body.baseline-editorial .section-head.right>div:last-child p{margin-left:0}
  body.baseline-editorial main:not(.home-v28) .page-hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-aside{max-width:46rem}
}

@media (max-width:640px){
  body.baseline-editorial{
    --be-shell-gutter:34px;
    --be-hero-height:clamp(560px,76svh,650px);
    --be-radius:24px;
    --be-radius-inner:16px;
  }
  body.baseline-editorial main:not(.home-v28)>.page-hero,
  body.baseline-editorial main:not(.home-v28)>.notfound,
  body.baseline-editorial article[data-article]>.article-hero{
    min-height:var(--be-hero-height);
    padding:108px 17px 58px;
  }
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-blue,
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-ink,
  body.baseline-editorial main:not(.home-v28)>section:first-child.band-media{
    min-height:var(--be-hero-height);
  }
  body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
  body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
    width:calc(100% - 34px);
    padding-top:108px;
    padding-bottom:58px;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
  body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
  body.baseline-editorial article[data-article]>.article-hero .t-section{
    max-width:18ch;
    font-size:clamp(3rem,13.5vw,4.35rem);
  }
}

/* ========================================================================
   v32.4 — composition, scale and local-file QA correction
   Resolves the remaining wide-screen hero, media-height and utility-layout
   failures captured in the final local Chrome review.
   ======================================================================== */

body.baseline-editorial{
  --be-hero-height:clamp(560px,68svh,740px);
}

/* Standalone heroes are the page plate, not a shell inside it. The stronger
   selector is deliberate: it prevents the shared shell width from re-narrowing
   approach, profile and resume at large desktop widths. */
body.baseline-editorial main:not(.home-v28) > section.page-hero.shell,
body.baseline-editorial main:not(.home-v28) > section.notfound.shell,
body.baseline-editorial article[data-article] > section.article-hero.shell{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  min-height:var(--be-hero-height);
  padding:clamp(108px,10vh,132px) clamp(34px,5vw,92px) clamp(54px,5vw,78px);
  align-content:center;
}

/* Wrapped opening bands use the same height and content centre. */
body.baseline-editorial main:not(.home-v28) > section:first-child.band-blue,
body.baseline-editorial main:not(.home-v28) > section:first-child.band-ink,
body.baseline-editorial main:not(.home-v28) > section:first-child.band-media{
  min-height:var(--be-hero-height);
  align-items:stretch;
}
body.baseline-editorial main:not(.home-v28) > section:first-child .page-hero,
body.baseline-editorial main:not(.home-v28) > section:first-child .case-hero{
  min-height:var(--be-hero-height);
  padding-top:clamp(108px,10vh,132px);
  padding-bottom:clamp(54px,5vw,78px);
  display:grid;
  align-content:center;
}

body.baseline-editorial main:not(.home-v28) .page-hero-grid{
  align-items:center;
}
body.baseline-editorial main:not(.home-v28) .page-hero .title-line > span,
body.baseline-editorial main:not(.home-v28) .case-hero .title-line > span,
body.baseline-editorial article[data-article] > .article-hero .title-line > span{
  white-space:normal;
  text-wrap:balance;
}

/* Header coordinates now follow the inset plate rather than the capped shell,
   keeping the full brand and tennis-style menu control on the blue canvas. */
body.baseline-editorial .site-header .nav-inner{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  padding-inline:clamp(18px,2.4vw,42px);
}

/* Profile photography is an authored supporting column, not a second hero. */
body.baseline-editorial main:not(.home-v28) > .page-hero .portrait-figure{
  width:min(100%,500px);
  justify-self:end;
}
body.baseline-editorial main:not(.home-v28) > .page-hero .portrait-figure img{
  width:100%;
  max-height:540px;
  aspect-ratio:4/5;
  object-fit:cover;
}

/* Placeholder stock video is never shown in a local deliverable. The built-in
   blue fallback remains visible and carries the same abstract design language. */
body.baseline-editorial .motion-video video[data-placeholder="true"]{
  display:none!important;
}
body.baseline-editorial .motion-video > .mv-fallback{
  background:
    radial-gradient(circle at 76% 28%,rgba(34,132,255,.92) 0 2px,transparent 3px),
    repeating-radial-gradient(ellipse at 76% 28%,transparent 0 42px,rgba(110,179,255,.16) 43px 44px),
    linear-gradient(132deg,#011b49 0%,#063f9f 52%,#0a78ff 100%);
}

/* Direct image chapters are compact visual punctuation. They share the page
   plate radius and cannot expand into an almost full-screen stock image. */
body.baseline-editorial main:not(.home-v28) > figure.image-chapter{
  width:100%;
  height:clamp(300px,34vw,520px);
  aspect-ratio:auto;
  margin-top:var(--be-inset);
  border-radius:var(--be-radius);
}

/* Five-stage method: a contained editorial band with one consistent radius. */
body.baseline-editorial .si-track{
  padding:0!important;
  border:1px solid var(--line-blue)!important;
  border-radius:var(--be-radius-inner);
  overflow:hidden;
}
body.baseline-editorial .si-item{
  min-height:168px;
  padding:clamp(22px,2vw,30px)!important;
}

/* Work index behaves like a legible sequence: three cards plus a visible next
   edge at wide desktop, then two and one cards at smaller widths. */
body.baseline-editorial .focus-sequence .fs-viewport{
  overflow:hidden;
  border:0;
}
body.baseline-editorial .focus-sequence .fs-track{
  gap:var(--be-inset);
  grid-auto-columns:minmax(360px,calc((100% - (var(--be-inset) * 2)) / 3));
}
body.baseline-editorial .focus-sequence .fs-item{
  min-height:440px;
  border:1px solid var(--be-line);
  border-radius:var(--be-radius-inner);
  overflow:hidden;
}

/* Contact facts are four contained utility cards instead of one compressed
   divider row floating at the bottom of a large blue field. */
body.baseline-editorial section:has(.enquiry-panel) .case-facts{
  gap:var(--be-inset);
  border-top:0;
}
body.baseline-editorial section:has(.enquiry-panel) .case-fact{
  min-height:132px;
  padding:22px;
  border:1px solid var(--line-blue);
  border-radius:var(--be-radius-inner);
  background:rgba(0,20,54,.24);
}

/* Next-case links become a deliberate chapter plate with useful vertical
   weight, while the preceding result section loses its oversized tail. */
body.baseline-editorial main:not(.home-v28) .next-case{
  min-height:230px;
  padding-block:clamp(46px,5vw,70px);
  border-top:0;
}
body.baseline-editorial main:not(.home-v28) > section:has(+ .band-paper .next-case) .section{
  padding-bottom:clamp(58px,6vw,86px);
}

@media (max-width:1180px){
  body.baseline-editorial .focus-sequence .fs-track{
    grid-auto-columns:minmax(330px,calc((100% - var(--be-inset)) / 2));
  }
  body.baseline-editorial main:not(.home-v28) > .page-hero .portrait-figure{
    justify-self:start;
  }
}

@media (max-width:768px){
  body.baseline-editorial{
    --be-hero-height:auto;
  }
  body.baseline-editorial main:not(.home-v28) > section.page-hero.shell,
  body.baseline-editorial main:not(.home-v28) > section.notfound.shell,
  body.baseline-editorial article[data-article] > section.article-hero.shell,
  body.baseline-editorial main:not(.home-v28) > section:first-child .page-hero,
  body.baseline-editorial main:not(.home-v28) > section:first-child .case-hero{
    min-height:0;
    padding-top:104px;
    padding-bottom:52px;
  }
  body.baseline-editorial main:not(.home-v28) > figure.image-chapter{
    height:clamp(260px,72vw,360px);
  }
  body.baseline-editorial .focus-sequence .fs-viewport{
    margin-inline:0;
    padding-inline:0;
  }
  body.baseline-editorial .focus-sequence .fs-track{
    grid-auto-columns:100%;
    gap:12px;
  }
  body.baseline-editorial .focus-sequence .fs-item{min-height:0}
  body.baseline-editorial section:has(.enquiry-panel) .case-facts{
    grid-template-columns:1fr;
  }
  body.baseline-editorial section:has(.enquiry-panel) .case-fact{
    min-height:0;
  }
  body.baseline-editorial .si-track{border-radius:var(--be-radius-inner)}
  body.baseline-editorial .si-item{min-height:0!important}
}

/* ========================================================================
   v32.3 — art-direction and visual QA hardening
   Fixes captured at laptop, wide-desktop and local-file viewports.
   ======================================================================== */

/* The inset canvas owns the full viewport. Nothing may leak into the browser
   gutter, and every grid child is allowed to shrink before text is clipped. */
html:has(body.baseline-editorial),
body.baseline-editorial{
  max-width:100%;
  overflow-x:clip;
}
body.baseline-editorial main,
body.baseline-editorial main>section,
body.baseline-editorial .content-grid>*,
body.baseline-editorial .page-hero-grid>*,
body.baseline-editorial .section-head>*{min-width:0}

/* The full-screen tennis-style menu is now the single navigation system.
   Remove the legacy fixed chapter rails that escaped rounded page plates and
   obscured photographs, diagrams and calls to action. */
body.baseline-editorial .sg-chapters{display:none!important}

/* Daily Midtones has generous serif overhangs. Keep the reveal mask, but give
   its first and last glyphs a small optical gutter so they are never cut. */
body.baseline-editorial .title-line{
  padding-inline:.09em;
  margin-inline:-.09em;
}

/* A calmer hero scale keeps authored lines intact and removes the large dead
   zone that appeared above the first content row on shorter displays. */
body.baseline-editorial{
  --be-hero-height:clamp(590px,74svh,820px);
  --be-radius:clamp(22px,1.6vw,30px);
  --be-radius-inner:clamp(16px,1.1vw,22px);
  --be-radius-sm:var(--be-radius-inner);
  --radius:var(--be-radius-inner);
  --radius-media:var(--be-radius-inner);
}
body.baseline-editorial main:not(.home-v28)>.page-hero,
body.baseline-editorial main:not(.home-v28)>.notfound,
body.baseline-editorial article[data-article]>.article-hero{
  padding-top:clamp(112px,12vh,156px);
  padding-bottom:clamp(58px,6vw,92px);
}
body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
  padding-top:clamp(112px,12vh,156px);
  padding-bottom:clamp(58px,6vw,92px);
}
body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
body.baseline-editorial article[data-article]>.article-hero .t-section{
  max-width:18ch;
  font-size:clamp(3.65rem,5.55vw,7rem);
  line-height:.9;
}
body.baseline-editorial main:not(.home-v28) .page-hero .title-line>span,
body.baseline-editorial main:not(.home-v28) .case-hero .title-line>span,
body.baseline-editorial article[data-article]>.article-hero .title-line>span{
  white-space:nowrap;
}
body.baseline-editorial main:not(.home-v28) .section-head .t-section,
body.baseline-editorial main:not(.home-v28) .section-head .t-impact{
  font-size:clamp(3rem,5.15vw,6.35rem);
  line-height:.9;
}
body.baseline-editorial .home-v28 .section-head .t-section,
body.baseline-editorial .home-v28 .v28-guide .t-section,
body.baseline-editorial .home-v28 .footer-hero .t-impact{
  font-size:clamp(3.1rem,5.55vw,7rem);
  line-height:.89;
}

/* Scroll-linked stage copy must remain complete in local files and short
   laptop windows. Present the sequence as a stable editorial strip instead. */
body.baseline-editorial .stage-scroller{height:auto!important}
body.baseline-editorial .stage-sticky{
  position:static!important;
  min-height:0!important;
  padding-block:0!important;
}
body.baseline-editorial .stage-index{grid-template-columns:1fr!important}
body.baseline-editorial .si-figure{display:none!important}
body.baseline-editorial .si-track{
  border-left:0!important;
  border-top:1px solid var(--line-blue);
  padding:24px 0 0!important;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}
body.baseline-editorial .si-item{
  opacity:1!important;
  min-width:0;
  padding:0 clamp(16px,2vw,28px) 24px;
  border-right:1px solid var(--line-blue);
}
body.baseline-editorial .si-item:last-child{border-right:0}
body.baseline-editorial .si-item p{
  max-height:none!important;
  margin-top:12px!important;
  overflow:visible;
}

/* White editorial cards inside blue/ink bands need an explicit dark text
   context. This restores all five capability cards, not only the first two. */
body.baseline-editorial .band-blue .tile,
body.baseline-editorial .band-ink .tile{
  color:var(--be-ink);
}
body.baseline-editorial .band-blue .tile h3,
body.baseline-editorial .band-blue .tile p,
body.baseline-editorial .band-blue .tile li,
body.baseline-editorial .band-ink .tile h3,
body.baseline-editorial .band-ink .tile p,
body.baseline-editorial .band-ink .tile li{
  color:inherit;
}
body.baseline-editorial .band-blue .tile .label,
body.baseline-editorial .band-ink .tile .label{color:var(--be-blue)}

/* Diagram labels and SVG strokes are functional content, not cropped media. */
body.baseline-editorial main:not(.home-v28) .diagram,
body.baseline-editorial article[data-article] .diagram{
  border-radius:0;
  overflow:visible;
}
body.baseline-editorial main:not(.home-v28) .diagram svg,
body.baseline-editorial article[data-article] .diagram svg{overflow:visible}

/* Keep the compact international module proportional to its copy. */
body.baseline-editorial section:has(.sg-globe-card) .section.compact{
  padding-block:clamp(58px,6vw,92px);
}
body.baseline-editorial .sg-globe{max-width:340px}

/* Home levers remain legible without an active-scroll state. */
body.baseline-editorial .home-v28 .v28-lever{opacity:1!important}

@media (max-width:1280px){
  body.baseline-editorial .home-v28 .v28-lever{
    grid-template-columns:1fr;
    gap:15px;
    padding-block:clamp(24px,3vw,36px);
  }
  body.baseline-editorial .home-v28 .v28-lever>div:not(.v28-lever__name){
    padding-left:clamp(56px,7vw,90px);
    max-width:62rem;
  }
}

@media (max-width:1180px){
  /* Split heroes collapse before their title and portrait columns compete. */
  body.baseline-editorial main:not(.home-v28) .page-hero-grid,
  body.baseline-editorial main:not(.home-v28)>.page-hero .content-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  body.baseline-editorial main:not(.home-v28)>.page-hero .content-grid>[class*="col-"]{
    grid-column:1;
  }
  body.baseline-editorial main:not(.home-v28)>.page-hero .portrait-figure{
    width:min(100%,620px);
  }
  body.baseline-editorial main:not(.home-v28) .page-hero .title-line>span,
  body.baseline-editorial main:not(.home-v28) .case-hero .title-line>span,
  body.baseline-editorial article[data-article]>.article-hero .title-line>span{
    white-space:normal;
  }
  /* One readable article per row prevents the second card being clipped on
     laptop widths and gives every headline a stable measure. */
  body.baseline-editorial .article-list{grid-template-columns:1fr!important}
  body.baseline-editorial .article-item{min-height:auto}
}

@media (max-width:900px){
  body.baseline-editorial .si-track{grid-template-columns:1fr}
  body.baseline-editorial .si-item{
    padding:20px 0;
    border-right:0;
    border-bottom:1px solid var(--line-blue);
  }
  body.baseline-editorial .si-item:last-child{border-bottom:0}
  body.baseline-editorial .sg-globe-card{grid-template-columns:1fr}
  body.baseline-editorial .sg-globe{max-width:300px}
}

@media (max-width:640px){
  body.baseline-editorial{
    --be-hero-height:clamp(540px,72svh,620px);
  }
  body.baseline-editorial main:not(.home-v28)>.page-hero,
  body.baseline-editorial main:not(.home-v28)>.notfound,
  body.baseline-editorial article[data-article]>.article-hero{
    padding-top:100px;
    padding-bottom:52px;
  }
  body.baseline-editorial main:not(.home-v28)>section:first-child .page-hero,
  body.baseline-editorial main:not(.home-v28)>section:first-child .case-hero{
    padding-top:100px;
    padding-bottom:52px;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero .t-impact,
  body.baseline-editorial main:not(.home-v28) .case-hero .t-impact,
  body.baseline-editorial article[data-article]>.article-hero .t-section{
    font-size:clamp(2.85rem,12.8vw,4.15rem);
  }
  body.baseline-editorial main:not(.home-v28) .section-head .t-section,
  body.baseline-editorial main:not(.home-v28) .section-head .t-impact{
    font-size:clamp(2.65rem,11.8vw,3.85rem);
  }
  body.baseline-editorial .home-v28 .v28-lever>div:not(.v28-lever__name){padding-left:0}
  body.baseline-editorial main:not(.home-v28) .diagram,
  body.baseline-editorial article[data-article] .diagram{
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:10px;
  }
}

/* v32.4 final cascade lock — these geometry decisions must remain last. */
body.baseline-editorial{--be-hero-height:clamp(560px,68svh,740px)}
body.baseline-editorial main:not(.home-v28) > section.page-hero.shell,
body.baseline-editorial main:not(.home-v28) > section.notfound.shell,
body.baseline-editorial article[data-article] > section.article-hero.shell{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  min-height:var(--be-hero-height);
  padding:clamp(108px,10vh,132px) clamp(34px,5vw,92px) clamp(54px,5vw,78px);
  align-content:center;
}
body.baseline-editorial main:not(.home-v28) > section:first-child.band-blue,
body.baseline-editorial main:not(.home-v28) > section:first-child.band-ink,
body.baseline-editorial main:not(.home-v28) > section:first-child.band-media{
  min-height:var(--be-hero-height);
  align-items:stretch;
}
body.baseline-editorial main:not(.home-v28) > section:first-child .page-hero,
body.baseline-editorial main:not(.home-v28) > section:first-child .case-hero{
  min-height:var(--be-hero-height);
  padding-top:clamp(108px,10vh,132px);
  padding-bottom:clamp(54px,5vw,78px);
  display:grid;
  align-content:center;
}
body.baseline-editorial main:not(.home-v28) .page-hero-grid{align-items:center}
body.baseline-editorial main:not(.home-v28) .page-hero .title-line > span,
body.baseline-editorial main:not(.home-v28) .case-hero .title-line > span,
body.baseline-editorial article[data-article] > .article-hero .title-line > span{
  white-space:normal;
  text-wrap:balance;
}
body.baseline-editorial main:not(.home-v28) > .page-hero .portrait-figure{
  width:min(100%,500px);
  justify-self:end;
}

@media (max-width:1180px){
  body.baseline-editorial main:not(.home-v28) > .page-hero .portrait-figure{justify-self:start}
}

@media (max-width:768px){
  body.baseline-editorial{--be-hero-height:auto}
  body.baseline-editorial main:not(.home-v28) > section.page-hero.shell,
  body.baseline-editorial main:not(.home-v28) > section.notfound.shell,
  body.baseline-editorial article[data-article] > section.article-hero.shell,
  body.baseline-editorial main:not(.home-v28) > section:first-child .page-hero,
  body.baseline-editorial main:not(.home-v28) > section:first-child .case-hero{
    min-height:0;
    padding-top:104px;
    padding-bottom:52px;
  }
}

/* ========================================================================
   v36 — Consistency lock: one mobile-first 12-column composition system.
   V32 geometry/radii stay intact; this only normalises layout ownership.
   ======================================================================== */

body.baseline-editorial{
  --grid-columns:12;
  --grid-gap:clamp(18px,2vw,32px);
}

/* Mobile is the default: every major composition uses the same 12 tracks and
   reads in DOM order. Larger viewports only change spans. */
body.baseline-editorial :is(.section-head,.page-hero-grid,.tile-grid,.article-list,
  .case-facts,.footer-grid,.media-duo,.media-trio,.resume-grid,.views-system,
  .sg-globe-card,.v28-proof,.v28-areas,.v28-system__list,.v28-guide,
  .v28-lenses,.v28-owners,.v28-evidence,.v28-people,.v28-people__grid,
  .v28-people__close,.v28-metrics){
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--grid-gap);
}

body.baseline-editorial :is(.section-head,.page-hero-grid,.views-system,.sg-globe-card,
  .v28-guide,.v28-evidence,.v28-people,.v28-people__close)>*{grid-column:1 / -1}

body.baseline-editorial :is(.tile-grid,.article-list,.case-facts,.footer-grid,.media-duo,
  .media-trio,.resume-grid,.v28-proof,.v28-areas,.v28-system__list,.v28-lenses,
  .v28-owners,.v28-people__grid,.v28-metrics)>*{grid-column:1 / -1;min-width:0}

/* Keep component gaps consistent with the inset-card language. */
body.baseline-editorial main:not(.home-v28) :is(.tile-grid,.article-list){gap:var(--be-inset)}
body.baseline-editorial .v28-mosaic{gap:var(--be-inset)}

/* Soft corners are intentional V32 language. Never flatten genuine cards. */
body.baseline-editorial :is(.v28-panel,.tile,.article-item,.case-card,.feature-article,
  .focus-card,.enquiry-panel,.portrait-figure__frame,.sandy-ai-chat__glass,
  .html-ig__core,.html-ig__note,.html-ig__trust-core){
  border-radius:var(--be-radius-inner);
}

/* Light cards inside dark bands always carry a dark text context. */
body.baseline-editorial :is(.band-blue,.band-ink) :is(.tile,.article-item,.feature-article):where(:not(.is-ink):not(.is-blue)){
  color:var(--be-ink);
}
body.baseline-editorial :is(.band-blue,.band-ink) :is(.tile,.article-item,.feature-article):where(:not(.is-ink):not(.is-blue)) :is(h1,h2,h3,h4,p,li){
  color:inherit;
}

/* No section should accidentally inherit white explanatory text while sitting
   on a light V32 surface. */
body.baseline-editorial :is(.band-white,.band-paper,.band-pale) :is(.html-ig,.v34-pullquote){color:var(--ink)}
body.baseline-editorial :is(.band-white,.band-paper,.band-pale) .html-ig p{color:var(--muted)}

@media (min-width:700px){
  body.baseline-editorial .tile-grid:not(.cols-3):not(.cols-5)>*{grid-column:span 6}
  body.baseline-editorial .tile-grid.cols-3>*{grid-column:span 6}
  body.baseline-editorial .tile-grid.cols-5>*{grid-column:span 6}
  body.baseline-editorial .article-list>*{grid-column:span 6}
  body.baseline-editorial .case-facts>*{grid-column:span 6}
  body.baseline-editorial .media-duo>*{grid-column:span 6}
  body.baseline-editorial .media-trio>*{grid-column:span 6}
  body.baseline-editorial .v28-proof>*{grid-column:span 4}
  body.baseline-editorial .v28-areas>*{grid-column:span 4}
  body.baseline-editorial .v28-system__list>*{grid-column:span 6}
  body.baseline-editorial .v28-lenses>*{grid-column:span 6}
  body.baseline-editorial .v28-owners>*{grid-column:span 6}
  body.baseline-editorial .v28-people__grid>*{grid-column:span 6}
  body.baseline-editorial .v28-metrics>*{grid-column:span 6}
}

@media (min-width:1024px){
  body.baseline-editorial .section-head>div:first-child{grid-column:1 / span 8}
  body.baseline-editorial .section-head>p:last-child{grid-column:9 / -1;align-self:start}
  body.baseline-editorial .section-head.right>div:first-child{grid-column:1 / span 4}
  body.baseline-editorial .section-head.right>div:last-child{grid-column:5 / -1}

  body.baseline-editorial .page-hero-grid>*:first-child{grid-column:1 / span 8}
  body.baseline-editorial .page-hero-grid>*:last-child{grid-column:9 / -1}

  body.baseline-editorial .tile-grid:not(.cols-3):not(.cols-5)>*{grid-column:span 3}
  body.baseline-editorial .tile-grid.cols-3>*{grid-column:span 4}
  /* Five capabilities become an intentional 3 + 2 editorial composition,
     rather than an unrelated five-column mini-grid. */
  body.baseline-editorial .tile-grid.cols-5>*:nth-child(-n+3){grid-column:span 4}
  body.baseline-editorial .tile-grid.cols-5>*:nth-child(n+4){grid-column:span 6}

  body.baseline-editorial .article-list>*{grid-column:span 4}
  body.baseline-editorial .case-facts>*{grid-column:span 3}
  body.baseline-editorial .footer-grid>*:first-child{grid-column:span 6}
  body.baseline-editorial .footer-grid>*:nth-child(2),
  body.baseline-editorial .footer-grid>*:nth-child(3){grid-column:span 3}

  body.baseline-editorial .media-duo>*{grid-column:span 6}
  body.baseline-editorial .media-trio>*{grid-column:span 4}
  body.baseline-editorial .resume-grid>*:first-child{grid-column:1 / span 3}
  body.baseline-editorial .resume-grid>*:last-child{grid-column:4 / -1}

  body.baseline-editorial .views-system>*:first-child{grid-column:1 / span 5}
  body.baseline-editorial .views-system>*:last-child{grid-column:6 / -1}
  body.baseline-editorial .sg-globe-card>*:first-child{grid-column:1 / span 5}
  body.baseline-editorial .sg-globe-card>*:last-child{grid-column:6 / -1}

  body.baseline-editorial .v28-system__list>*{grid-column:span 3}
  body.baseline-editorial .v28-guide>*:first-child{grid-column:1 / span 5}
  body.baseline-editorial .v28-guide>*:last-child{grid-column:6 / -1}
  body.baseline-editorial .v28-lenses>*{grid-column:span 4}
  body.baseline-editorial .v28-evidence>*:first-child{grid-column:1 / span 7}
  body.baseline-editorial .v28-evidence>*:last-child{grid-column:8 / -1}
  body.baseline-editorial .v28-people>*:first-child{grid-column:1 / span 5}
  body.baseline-editorial .v28-people>*:last-child{grid-column:6 / -1}
  body.baseline-editorial .v28-people__close>*:first-child{grid-column:1 / span 7}
  body.baseline-editorial .v28-people__close>*:last-child{grid-column:8 / -1}
  body.baseline-editorial .v28-metrics>*{grid-column:span 3}
}

@media (max-width:699px){
  body.baseline-editorial :is(.section-head,.page-hero-grid,.views-system,.sg-globe-card,
    .v28-guide,.v28-evidence,.v28-people,.v28-people__close){row-gap:24px}
  body.baseline-editorial .button-row{gap:10px}
  body.baseline-editorial .button-row .button{min-height:48px}
}
