/* ==========================================================
   PREMIUM FINAL VISUAL SYSTEM — 09 SEP 2026
   Reference-inspired infographic logic rebuilt in Training Lab language.
   This file is the final visual authority for photo scale + infographic geometry.
   ========================================================== */
:root{
  --premium-max:1240px;
  --premium-red:#d51f32;
  --premium-black:#080808;
  --premium-cream:#f4f0e8;
  --premium-line:rgba(8,8,8,.14);
  --premium-line-dark:rgba(255,255,255,.15);
}

/* ---------- overall rhythm ---------- */
.story-main>h2,
.route-choice-head h2,
.real-session-gallery-head h2{max-width:18ch;}
.story-body{max-width:920px;}
.story-section{overflow:hidden;}
.story-section .story-main,.story-section .story-body{min-width:0;}

/* ---------- photography: editorial, not dominant ---------- */
.real-session-gallery-section{
  padding-top:clamp(60px,6vw,96px)!important;
  padding-bottom:clamp(60px,6vw,96px)!important;
}
.real-session-gallery-head{
  width:min(860px,100%)!important;
  margin-bottom:30px!important;
}
.real-session-gallery-head h2{
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
}
.real-session-gallery-head>p:last-child{max-width:680px!important;}
.real-session-masonry,
.real-session-masonry--three,
.real-session-masonry--two{
  width:min(1080px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:16px!important;
  align-items:start!important;
}
.real-session-masonry,
.real-session-masonry--three{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.real-session-masonry--two{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(900px,100%)!important;}
.real-session-shot{
  border-radius:18px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
  transform:none!important;
}
.real-session-gallery-section--cream .real-session-shot{
  background:rgba(255,255,255,.48)!important;
  border-color:rgba(8,8,8,.10)!important;
}
.real-session-shot img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#0d0d0d!important;
}
.real-session-gallery-section--cream .real-session-shot img{background:#e8e3da!important;}
.real-session-shot figcaption{
  min-height:42px!important;
  padding:11px 14px 13px!important;
  font-size:9px!important;
  line-height:1.45!important;
  letter-spacing:.08em!important;
  opacity:.7!important;
}
@media(hover:hover){
  .real-session-shot{transition:transform .28s ease,border-color .28s ease!important;}
  .real-session-shot:hover{transform:translateY(-3px)!important;border-color:rgba(213,31,50,.45)!important;}
}

/* ---------- HOMEPAGE: connected decision rail ---------- */
.premium-route-map{
  position:relative;
  background:
    radial-gradient(circle at 50% 46%,rgba(213,31,50,.10),transparent 30%),
    #070707!important;
  overflow:hidden;
}
.premium-route-map .route-choice-head{max-width:760px!important;margin-bottom:48px!important;}
.premium-route-map .route-choice-grid{
  position:relative;
  width:min(1040px,calc(100% - 48px))!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr)!important;
  grid-template-rows:repeat(3,auto)!important;
  gap:20px 22px!important;
  align-items:center!important;
  padding:10px 0 22px!important;
}
.premium-route-map .route-choice-grid::before{
  content:"";
  position:absolute;
  left:50%;
  top:6%;bottom:6%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,var(--premium-red) 15%,rgba(213,31,50,.5) 78%,transparent);
}
.premium-route-map .route-choice-card{
  position:relative;
  min-height:0!important;
  padding:24px 26px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  backdrop-filter:blur(10px);
}
.premium-route-map .route-choice-card::before{
  content:"";
  position:absolute;
  top:50%;
  width:22px;height:1px;
  background:rgba(213,31,50,.65);
}
.premium-route-map .route-choice-card::after{
  content:attr(data-step);
  position:absolute;
  top:50%;
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#0a0a0a;
  border:1px solid rgba(213,31,50,.7);
  color:#fff;
  font-size:10px;font-weight:900;letter-spacing:.08em;
  transform:translateY(-50%);
  z-index:2;
}
.premium-route-map .route-choice-card:nth-child(1){grid-column:1;grid-row:1;}
.premium-route-map .route-choice-card:nth-child(2){grid-column:3;grid-row:1;}
.premium-route-map .route-choice-card:nth-child(3){grid-column:1;grid-row:2;}
.premium-route-map .route-choice-card:nth-child(4){grid-column:3;grid-row:2;}
.premium-route-map .route-choice-card:nth-child(5){grid-column:1;grid-row:3;}
.premium-route-map .route-choice-card:nth-child(odd)::before{right:-22px;}
.premium-route-map .route-choice-card:nth-child(even)::before{left:-22px;}
.premium-route-map .route-choice-card:nth-child(odd)::after{right:-64px;}
.premium-route-map .route-choice-card:nth-child(even)::after{left:-64px;}
.premium-route-map .route-choice-card>span{
  display:inline-grid!important;place-items:center!important;
  width:34px;height:34px;border-radius:50%;
  background:rgba(213,31,50,.12);border:1px solid rgba(213,31,50,.38);
  margin-bottom:18px!important;
}
.premium-route-map .route-choice-card strong{margin:0 0 10px!important;font-size:clamp(20px,2vw,28px)!important;}
.premium-route-map .route-choice-card p{margin:0 0 20px!important;font-size:13px!important;line-height:1.65!important;}
.premium-route-map .route-choice-card b{font-size:10px!important;letter-spacing:.08em!important;}
.premium-route-map .route-choice-card--primary{background:linear-gradient(145deg,rgba(213,31,50,.18),rgba(255,255,255,.04))!important;}

/* ---------- TRAINING LAB: orbit-style ecosystem ---------- */
.premium-orbit-section .story-body>p{max-width:700px;}
.premium-orbit-section .tl-ecosystem-map{
  position:relative!important;
  display:block!important;
  width:min(960px,100%)!important;
  min-height:600px!important;
  margin:46px auto 10px!important;
  padding:0!important;
  border:0!important;
  background:
    radial-gradient(circle at center,rgba(213,31,50,.10) 0 18%,transparent 18.5% 31%,rgba(255,255,255,.09) 31.3% 31.8%,transparent 32% 47%,rgba(255,255,255,.055) 47.2% 47.7%,transparent 48%)!important;
}
.premium-orbit-section .tl-ecosystem-map::before,
.premium-orbit-section .tl-ecosystem-map::after{display:none!important;}
.premium-orbit-section .tl-ecosystem-hub{
  position:absolute!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:245px!important;height:245px!important;
  margin:0!important;
  border-radius:50%!important;
  background:#0d0d0d!important;
  border:1px solid rgba(213,31,50,.55)!important;
  box-shadow:0 0 0 22px rgba(213,31,50,.045),0 28px 70px rgba(0,0,0,.36)!important;
  display:grid!important;place-content:center!important;text-align:center!important;
  z-index:3!important;
}
.premium-orbit-section .tl-ecosystem-hub img{width:170px!important;margin:0 auto 12px!important;}
.premium-orbit-section .tl-ecosystem-node{
  position:absolute!important;
  width:290px!important;
  min-height:150px!important;
  padding:22px!important;
  border-radius:22px!important;
  grid-template-columns:48px 1fr auto!important;
  background:rgba(13,13,13,.95)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.22)!important;
}
.premium-orbit-section .tl-ecosystem-node--programmes{left:0!important;top:10%!important;}
.premium-orbit-section .tl-ecosystem-node--business{right:0!important;top:13%!important;}
.premium-orbit-section .tl-ecosystem-node--service{left:50%!important;bottom:0!important;transform:translateX(-50%)!important;}
.premium-orbit-section .tl-ecosystem-node--service:hover{transform:translateX(-50%) translateY(-4px)!important;}
.premium-orbit-section .tl-ecosystem-num{
  width:42px!important;height:42px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:var(--premium-red)!important;color:#fff!important;
}
.premium-orbit-section .tl-ecosystem-node strong{font-size:20px!important;}
.premium-orbit-section .tl-ecosystem-node small{font-size:11px!important;line-height:1.55!important;}

/* ---------- Capability tree ---------- */
.premium-capability-tree{
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 26px!important;
  padding:10px 0 0 34px!important;
  margin-top:28px!important;
}
.premium-capability-tree::before{
  content:"";position:absolute;left:12px;top:18px;bottom:18px;width:1px;
  background:linear-gradient(180deg,var(--premium-red),rgba(213,31,50,.18),transparent);
}
.premium-capability-tree li{
  position:relative!important;
  min-height:76px!important;
  margin:0!important;
  padding:18px 18px 18px 24px!important;
  border:1px solid rgba(8,8,8,.10)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.55)!important;
  font-size:13px!important;line-height:1.55!important;
}
.premium-capability-tree li::before{
  content:"";position:absolute;left:-28px;top:50%;width:28px;height:1px;background:rgba(213,31,50,.45);
}
.premium-capability-tree li::after{
  content:"";position:absolute;left:-30px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--premium-red);box-shadow:0 0 0 5px #f8f6f1;
}
.premium-capability-tree li>span{display:none!important;}

/* ---------- Process journeys inspired by road / step references ---------- */
.steps-grid.premium-roadmap{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  padding:44px 0 8px!important;
  margin-top:30px!important;
}
.steps-grid.premium-roadmap::before{
  content:""!important;
  position:absolute!important;
  left:7%;right:7%;top:20px!important;
  height:2px!important;
  background:linear-gradient(90deg,transparent,var(--premium-red) 10%,rgba(213,31,50,.35) 90%,transparent)!important;
}
.steps-grid.premium-roadmap article{
  position:relative!important;
  min-height:190px!important;
  padding:48px 20px 20px!important;
  border-radius:20px!important;
  transform:none!important;
  background:rgba(255,255,255,.66)!important;
  border:1px solid rgba(8,8,8,.10)!important;
  box-shadow:none!important;
}
.story-section--dark .steps-grid.premium-roadmap article,
.steps-grid.premium-roadmap--dark article{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.steps-grid.premium-roadmap article>span{
  position:absolute!important;left:50%!important;top:-43px!important;
  transform:translateX(-50%)!important;
  width:48px!important;height:48px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  background:var(--premium-red)!important;color:#fff!important;
  border:6px solid #f8f6f1!important;
  font-size:10px!important;font-weight:900!important;
}
.story-section--dark .steps-grid.premium-roadmap article>span,
.steps-grid.premium-roadmap--dark article>span{border-color:#080808!important;}
.steps-grid.premium-roadmap article p{font-size:12px!important;line-height:1.7!important;margin:0!important;}

/* ---------- BUSINESS LAB: premium band system ---------- */
.premium-business-bands{
  position:relative;
  display:grid!important;
  gap:10px!important;
  padding:0!important;
  counter-reset:bl-band;
}
.premium-business-bands::before{
  content:"";position:absolute;left:28px;top:18px;bottom:18px;width:2px;
  background:linear-gradient(180deg,var(--premium-red),rgba(213,31,50,.18),transparent);
}
.premium-business-bands li{
  counter-increment:bl-band;
  position:relative!important;
  min-height:82px!important;
  margin:0 0 0 58px!important;
  padding:18px 22px 18px 26px!important;
  border-radius:17px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.48))!important;
  border:1px solid rgba(8,8,8,.10)!important;
  font-size:13px!important;line-height:1.6!important;
}
.premium-business-bands li:nth-child(even){margin-left:78px!important;}
.premium-business-bands li::before{
  content:counter(bl-band,decimal-leading-zero);
  position:absolute;left:-58px;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:#0b0b0b;color:#fff;border:2px solid var(--premium-red);
  font-size:10px;font-weight:900;letter-spacing:.06em;
}
.premium-business-bands li::after{
  content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:rgba(213,31,50,.55);
}
.premium-business-bands li>span{display:none!important;}

/* ---------- Programme pages: quiet connected markers ---------- */
.premium-programme-section .story-aside>span{
  width:46px!important;height:46px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:#0a0a0a!important;color:#fff!important;
  border:1px solid rgba(213,31,50,.5)!important;
  font-size:10px!important;
}
.premium-programme-section .story-main{position:relative!important;}
.premium-programme-section .story-main::before{
  content:"";position:absolute;left:-33px;top:22px;width:26px;height:1px;background:rgba(213,31,50,.45);
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .real-session-masonry,.real-session-masonry--three{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .premium-orbit-section .tl-ecosystem-map{min-height:720px!important;}
  .premium-orbit-section .tl-ecosystem-node--programmes{left:2%!important;top:7%!important;}
  .premium-orbit-section .tl-ecosystem-node--business{right:2%!important;top:7%!important;}
  .steps-grid.premium-roadmap{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:56px!important;}
  .steps-grid.premium-roadmap::before{display:none!important;}
}
@media(max-width:820px){
  .premium-route-map .route-choice-grid{
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-rows:none!important;
    gap:14px!important;
    width:calc(100% - 36px)!important;
  }
  .premium-route-map .route-choice-grid::before{left:26px!important;top:18px!important;bottom:18px!important;transform:none!important;}
  .premium-route-map .route-choice-card,
  .premium-route-map .route-choice-card:nth-child(n){grid-column:2!important;grid-row:auto!important;}
  .premium-route-map .route-choice-card::before{left:-28px!important;right:auto!important;width:28px!important;}
  .premium-route-map .route-choice-card::after{left:-75px!important;right:auto!important;}
  .premium-route-map .route-choice-card{padding:20px!important;border-radius:18px!important;}
  .premium-orbit-section .tl-ecosystem-map{
    display:grid!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    background:none!important;
    margin-top:30px!important;
  }
  .premium-orbit-section .tl-ecosystem-hub,
  .premium-orbit-section .tl-ecosystem-node,
  .premium-orbit-section .tl-ecosystem-node--programmes,
  .premium-orbit-section .tl-ecosystem-node--business,
  .premium-orbit-section .tl-ecosystem-node--service{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;
  }
  .premium-orbit-section .tl-ecosystem-hub{width:210px!important;height:210px!important;margin:0 auto 12px!important;}
  .premium-orbit-section .tl-ecosystem-node--service:hover{transform:translateY(-3px)!important;}
  .premium-capability-tree{grid-template-columns:1fr!important;}
  .steps-grid.premium-roadmap{grid-template-columns:1fr!important;gap:18px!important;padding:0 0 0 56px!important;}
  .steps-grid.premium-roadmap::before{display:block!important;left:22px!important;right:auto!important;top:0!important;bottom:0!important;width:2px!important;height:auto!important;}
  .steps-grid.premium-roadmap article{min-height:0!important;padding:20px!important;}
  .steps-grid.premium-roadmap article>span{left:-34px!important;top:22px!important;transform:none!important;width:44px!important;height:44px!important;border-width:5px!important;}
}
@media(max-width:600px){
  .real-session-masonry,.real-session-masonry--three,.real-session-masonry--two{grid-template-columns:1fr!important;width:min(100%,520px)!important;}
  .real-session-shot img{max-height:330px!important;}
  .real-session-shot{border-radius:16px!important;}
  .premium-route-map .route-choice-head{text-align:left!important;}
  .premium-route-map .route-choice-card strong{font-size:22px!important;}
  .premium-capability-tree{padding-left:30px!important;}
  .premium-business-bands li,.premium-business-bands li:nth-child(even){margin-left:54px!important;padding:16px 18px!important;}
  .premium-business-bands::before{left:23px!important;}
  .premium-business-bands li::before{left:-54px!important;width:40px!important;height:40px!important;}
}

/* ==========================================================
   REAL-PHOTO + PREMIUM IMAGE CONSISTENCY PASS — 09 SEP 2026
   Uses supplied session photography, standardises image scale,
   and adds the homepage Training Lab / Business Lab choice block.
   ========================================================== */

/* ---------- Homepage: screenshot-inspired two-lab choice ---------- */
.home-lab-choice{
  background:#080808!important;
  color:#fff!important;
  padding:clamp(72px,7vw,118px) clamp(20px,6vw,108px)!important;
  overflow:hidden!important;
}
.home-lab-choice__head{
  width:min(1480px,100%);
  margin:0 auto clamp(36px,4vw,58px);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:clamp(32px,6vw,100px);
  align-items:end;
}
.home-lab-choice__head .eyebrow{margin:0 0 14px;color:var(--premium-red)!important;}
.home-lab-choice__head h2{
  margin:0;
  max-width:950px;
  font-size:clamp(54px,6.2vw,108px);
  line-height:.86;
  letter-spacing:-.068em;
  font-weight:700;
  text-wrap:balance;
}
.home-lab-choice__head>p{
  max-width:520px;
  margin:0 0 10px;
  color:rgba(255,255,255,.63);
  font-size:clamp(14px,1.25vw,20px);
  line-height:1.65;
}
.home-lab-choice__grid{
  width:min(1480px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.home-lab-choice__card{
  position:relative;
  display:block;
  min-width:0;
  height:clamp(500px,52vw,720px);
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.17);
  background:#111;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.home-lab-choice__photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.002);
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease;
}
.home-lab-choice__card--training .home-lab-choice__photo{object-position:center 40%;}
.home-lab-choice__card--business .home-lab-choice__photo{object-position:center 35%;}
.home-lab-choice__shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.80) 100%),
    linear-gradient(90deg,rgba(0,0,0,.15),transparent 55%);
}
.home-lab-choice__number{
  position:absolute;
  z-index:4;
  top:30px;
  left:30px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--premium-red);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}
.home-lab-choice__training-logo{
  position:absolute;
  z-index:3;
  left:50%;
  top:49%;
  transform:translate(-50%,-50%);
  width:min(72%,570px);
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.35));
}
.home-lab-choice__training-logo img{display:block;width:100%;height:auto;}
.home-lab-choice__business-mark{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(48%,340px);
  display:block;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.44));
  pointer-events:none;
}
.home-lab-choice__business-mark img{
  display:block;
  width:100%;
  height:auto;
  max-height:330px;
  object-fit:contain;
}

/* Business Lab brand continuity: the official mark sits over the real boardroom image. */
.business-lab-hero-media{position:relative;}
.business-lab-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.14));
}
.business-lab-hero-logo{
  position:absolute!important;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(42%,260px);
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.48));
  pointer-events:none;
}
.business-lab-hero-logo img{
  display:block;
  width:100%;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
}
.home-lab-choice__footer{
  position:absolute;
  z-index:4;
  left:28px;
  right:28px;
  bottom:24px;
  min-height:58px;
  padding-top:18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.28);
}
.home-lab-choice__footer small{
  font-size:9px;
  font-weight:850;
  letter-spacing:.18em;
  color:rgba(255,255,255,.66);
}
.home-lab-choice__footer b{font-size:12px;font-weight:850;white-space:nowrap;}
@media(hover:hover) and (pointer:fine){
  .home-lab-choice__card:hover .home-lab-choice__photo{transform:scale(1.035);filter:saturate(1.04) contrast(1.02);}
  .home-lab-choice__card:hover{border-color:rgba(213,31,50,.55);}
}
@media(max-width:900px){
  .home-lab-choice{padding:68px 18px!important;}
  .home-lab-choice__head{grid-template-columns:1fr;gap:18px;margin-bottom:30px;}
  .home-lab-choice__head h2{font-size:clamp(48px,12vw,74px);line-height:.9;}
  .home-lab-choice__head>p{max-width:620px;margin:0;}
  .home-lab-choice__grid{grid-template-columns:1fr;gap:16px;}
  .home-lab-choice__card{height:clamp(430px,112vw,610px);border-radius:22px;}
  .home-lab-choice__business-mark{width:min(52%,300px);}
  .home-lab-choice__number{top:20px;left:20px;width:46px;height:46px;}
  .home-lab-choice__footer{left:20px;right:20px;bottom:18px;}
}
@media(max-width:520px){
  .home-lab-choice__head h2{font-size:clamp(44px,13vw,62px);}
  .home-lab-choice__card{height:116vw;max-height:540px;min-height:410px;border-radius:18px;}
  .home-lab-choice__training-logo{width:76%;}
  .home-lab-choice__business-mark{width:min(58%,260px);}
  .home-lab-choice__footer{display:grid;grid-template-columns:1fr;gap:7px;min-height:0;padding-top:13px;}
  .home-lab-choice__footer b{font-size:11px;}
}

/* ---------- Internal hero photography: one premium frame size ---------- */
@media(min-width:901px){
  .content-page .content-hero,
  .content-hero.dense-hero{
    min-height:clamp(650px,78vh,790px)!important;
  }
  .content-page .content-hero-media{
    min-height:0!important;
    height:clamp(520px,66vh,650px)!important;
    align-self:center!important;
    margin:34px 34px 34px 0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    background:#111!important;
    box-shadow:0 28px 80px rgba(0,0,0,.18)!important;
  }
  .content-page .content-hero-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .page-training-refined .content-hero-media img{object-position:center 46%!important;}
  .page-business-refined .content-hero-media img{object-position:center 38%!important;}
  .page-programmes-refined .content-hero-media img{object-position:center 38%!important;}
  .page-about-refined .content-hero-media img,
  .page-service-refined .content-hero-media img,
  .page-work-refined .content-hero-media img{object-position:center 24%!important;}
}
@media(max-width:900px){
  .content-page .content-hero-media{
    width:calc(100% - 36px)!important;
    margin:0 18px 28px!important;
    height:clamp(320px,82vw,470px)!important;
    min-height:0!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:#111!important;
  }
  .content-page .content-hero-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .page-training-refined .content-hero-media img{object-position:center 45%!important;}
  .page-business-refined .content-hero-media img{object-position:center 35%!important;}
  .page-programmes-refined .content-hero-media img{object-position:center 34%!important;}
  .page-about-refined .content-hero-media img,
  .page-service-refined .content-hero-media img,
  .page-work-refined .content-hero-media img{object-position:center 22%!important;}
}

/* ---------- Supplied real-session galleries: consistent editorial crop ---------- */
.real-session-masonry,
.real-session-masonry--three,
.real-session-masonry--two{
  align-items:stretch!important;
}
.real-session-shot{height:100%!important;}
.real-session-shot img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#111!important;
}
.real-session-shot img[height="1600"],
.real-session-shot img[height="1918"],
.real-session-shot img[height="2048"],
.real-session-shot img[height="1280"]{object-position:center 28%!important;}
.real-session-gallery-section--cream .real-session-shot img{background:#ddd7cc!important;}
.real-session-shot figcaption{margin-top:auto!important;}

/* ---------- Principal homepage portraits: cap scale and keep a premium crop ---------- */
@media(min-width:901px){
  .tr-founder-split{min-height:640px!important;}
  .tr-founder-image{min-height:640px!important;max-height:700px!important;background:#eee!important;overflow:hidden!important;}
  .tr-founder-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}
  .doc-offer-split{min-height:620px!important;}
  .doc-offer-media{min-height:580px!important;max-height:680px!important;overflow:hidden!important;background:#eee!important;}
  .doc-offer-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}
}
@media(max-width:900px){
  .tr-founder-image{height:clamp(460px,110vw,620px)!important;max-height:620px!important;overflow:hidden!important;}
  .tr-founder-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}
  .doc-offer-media{height:clamp(430px,108vw,600px)!important;min-height:0!important;overflow:hidden!important;}
  .doc-offer-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}
}

/* ---------- Final CTA now uses supplied real photography, not rendered artwork ---------- */
.tr-final-cta.doc-final.tr-final-with-real-photo{
  position:relative!important;
  min-height:clamp(620px,52vw,760px)!important;
  background:#020202!important;
  overflow:hidden!important;
}
.tr-final-with-real-photo .tr-final-art-wrap{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:0!important;
}
.tr-final-with-real-photo .tr-final-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
  transform:none!important;
  filter:none!important;
}
.tr-final-with-real-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.64) 36%,rgba(0,0,0,.28) 68%,rgba(0,0,0,.30) 100%);
}
.tr-final-with-real-photo .tr-final-copy{
  position:absolute!important;
  z-index:2!important;
  left:clamp(22px,5vw,86px)!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:min(55vw,780px)!important;
  max-width:min(55vw,780px)!important;
}
@media(max-width:900px){
  .tr-final-cta.doc-final.tr-final-with-real-photo{min-height:640px!important;}
  .tr-final-with-real-photo .tr-final-art{object-position:58% center!important;}
  .tr-final-with-real-photo::after{background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.58) 50%,rgba(0,0,0,.18) 100%);}
  .tr-final-with-real-photo .tr-final-copy{
    left:20px!important;
    right:20px!important;
    top:auto!important;
    bottom:44px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
  }
}

/* Prevent legacy motion rules from scaling the new real final image. */
.page-home-refined.home-motion-plus .tr-final-with-real-photo .tr-final-art{transform:none!important;transition:none!important;}

/* ==========================================================
   CAPABILITY CARD TEXT FLOW HOTFIX — 09 SEP 2026
   The base .premium-list makes every <li> a 2-column grid for
   arrow icons. In the capability tree the arrow span is hidden,
   which left the text trapped in the 28px icon column on some
   desktop browsers. Force these cards back to normal block flow.
   ========================================================== */
.premium-capability-tree > li{
  display:block!important;
  grid-template-columns:none!important;
  grid-auto-columns:auto!important;
  grid-auto-flow:row!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  white-space:normal!important;
  text-wrap:pretty;
}
.premium-capability-tree > li > span{display:none!important;}

@media (max-width:900px){
  .business-lab-hero-logo{width:min(38%,220px);}
}
@media (max-width:560px){
  .home-lab-choice__business-mark{width:min(54%,230px);}
  .business-lab-hero-logo{width:min(42%,190px);}
}

/* Business Lab official logo — final specificity guard against generic hero image/span rules. */
.content-page .business-lab-hero-media > .business-lab-hero-logo{
  display:block!important;
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  width:min(42%,260px)!important;
  max-width:260px!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:transparent!important;
  text-align:initial!important;
}
.content-page .business-lab-hero-media > .business-lab-hero-logo > img{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  background:transparent!important;
}
@media(max-width:900px){
  .content-page .business-lab-hero-media > .business-lab-hero-logo{width:min(38%,220px)!important;max-width:220px!important;}
}
@media(max-width:560px){
  .content-page .business-lab-hero-media > .business-lab-hero-logo{width:min(42%,190px)!important;max-width:190px!important;}
}

/* ==========================================================
   SAFARI / CROSS-BROWSER CARD FLOW FIX — 09 SEP 2026
   Direct text inside legacy grid list-items could become an
   anonymous grid item in the 28px icon track. The affected copy
   is now a real element and these two infographic systems use
   normal block flow. This prevents letter-by-letter wrapping.
   ========================================================== */
.premium-capability-tree > li,
.business-function-map.premium-business-bands > li{
  display:block!important;
  grid-template-columns:unset!important;
  grid-template-rows:unset!important;
  grid-auto-columns:unset!important;
  grid-auto-rows:unset!important;
  grid-auto-flow:unset!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.premium-capability-tree > li > .premium-card-copy,
.business-function-map.premium-business-bands > li > .premium-card-copy{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.premium-capability-tree > li > span,
.business-function-map.premium-business-bands > li > span{
  display:none!important;
}

/* Business Lab number/connector geometry stays independent of text flow. */
.business-function-map.premium-business-bands > li::before,
.business-function-map.premium-business-bands > li::after{
  position:absolute!important;
}

@media(max-width:900px){
  .premium-capability-tree > li,
  .business-function-map.premium-business-bands > li{
    width:auto!important;
  }
}
