/*
Theme Name: d2o PMI — Editorial Bronze
Theme URI: https://d2o.com
Description: Editorial Bronze colourway (cream / near-black / bronze, serif display). Custom child theme for d2o — Profit Conversion Management™ and PMI — The Profit Conversion Engine™. Hand-coded on the Hello Elementor base. All brand assets live inside the theme folder so the site can move domains without rewriting URLs.
Author: d2o
Version: 1.26.7
Template: hello-elementor
Text Domain: d2o-pmi
*/

/* ══════════════════════════════════════════════════
   1. TOKENS
   ══════════════════════════════════════════════════ */
:root{
  /* Editorial Bronze — sampled from the Autograph Collection one-pager.
     Warm cream ground, near-black ink, bronze accent. */
  --ivory:#F7F4F1;
  --ivory-deep:#EEE9E2;
  --paper:#FFFFFF;
  --white:#FFFFFF;
  --navy:#0A171D;
  --navy-deep:#060F14;
  --gold:#9D6212;          /* primary accent — bronze.
                              Sampled at #A46714; nudged two steps darker so
                              the 11px uppercase eyebrow labels clear 4.5:1
                              on cream. Reads identically at display sizes. */
  --gold-soft:#D9A94A;     /* bronze on dark grounds */
  --blue:#1D4E7C;
  --data-blue:#052760;
  --green:#2E7D4F;
  --red:#B3452E;
  --muted:#5F5A54;
  --faint:#8A8279;
  --line:#E5DFD7;
  --line-dark:rgba(255,255,255,.14);
  --steel:#9A968F;
  --wrap:1280px;
  --wrap-narrow:768px;
}

/* ══════════════════════════════════════════════════
   2. RESET / BASE
   ══════════════════════════════════════════════════ */
*{margin:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ivory);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--navy);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
button{font:inherit}
a{color:inherit}

h1{font-weight:700;letter-spacing:-.025em}
h2{font-weight:650;letter-spacing:-.02em}
h3{font-weight:600;letter-spacing:-.01em}
em{font-style:normal;font-weight:inherit}

.wrap,
.wrap-lg{max-width:var(--wrap);margin:0 auto}
.wrap-narrow{max-width:var(--wrap-narrow);margin:0 auto}
.section{padding:112px 20px}
@media(max-width:640px){.section{padding:72px 20px}}

/* ══════════════════════════════════════════════════
   3. SHARED ATOMS
   ══════════════════════════════════════════════════ */
.eyebrow{
  font-size:11.5px;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:18px;
}
.eyebrow--light{color:var(--gold-soft)}

.rule{width:74px;height:2px;background:var(--gold);margin:28px 0}

.h-display{
  font-weight:500;font-size:clamp(1.9rem,3.4vw,2.7rem);
  line-height:1.18;color:var(--navy);
}
.h-display em{color:var(--gold)}
.h-display--light{color:#fff}
.h-display--light em{color:var(--gold-soft)}

.lede{font-size:15px;line-height:1.75;color:var(--muted)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;border:none;
  padding:17px 26px;transition:all .25s ease;text-decoration:none;
}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(32,44,65,.5)}
.btn-gold{background:var(--gold);color:#fff;font-weight:700}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 36px -14px var(--gold)}
.btn-outline{background:transparent;border:1px solid var(--gold);color:var(--navy);padding:12px 22px}
.btn-outline:hover{background:var(--gold);color:#fff}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(24px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ══════════════════════════════════════════════════
   4. LOGO + NAV
   ══════════════════════════════════════════════════ */
.d2o-logo{display:flex;align-items:center;gap:12px;text-decoration:none;user-select:none}
.d2o-logo__txt{
  font-size:8.5px;font-weight:600;letter-spacing:.2em;
  line-height:1.5;color:var(--muted);
}
.brand-mark{white-space:nowrap}
.brand-tm{
  display:inline-block;margin-left:.08em;font-size:.58em;line-height:0;
  vertical-align:super;letter-spacing:0;font-family:inherit;
}
.d2o-logo--light .d2o-logo__txt{color:rgba(255,255,255,.72)}

.pmi-mark{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}
.pmi-mark__word{font-weight:600;letter-spacing:.14em}
.pmi-mark__sail{
  display:block;width:auto;flex-shrink:0;
  height:1.24em;      /* belt and braces — the inline style wins, this catches
                         any call site that renders the img without one */
}

.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;height:76px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;background:rgba(246,248,251,.6);
  backdrop-filter:blur(12px);border-bottom:1px solid transparent;
  transition:all .3s ease;
}
.site-nav.scrolled{background:rgba(246,248,251,.92);border-bottom-color:var(--line)}
body.admin-bar .site-nav,body.admin-bar .drawer{top:32px}
@media(max-width:782px){body.admin-bar .site-nav,body.admin-bar .drawer{top:46px}}
@media(max-width:640px){.site-nav{padding:0 20px}}


.nav-links{display:flex;align-items:center;gap:25px}
@media(max-width:1120px){.nav-links{display:none}}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item__row{display:flex;align-items:center}
.nav-link{
  position:relative;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy);text-decoration:none;
}
.nav-link:after{
  content:'';position:absolute;left:0;bottom:-6px;height:1.5px;width:0;
  background:var(--gold);transition:width .28s ease;
}
.nav-link:hover:after,.nav-link:focus-visible:after{width:100%}

.nav-submenu-toggle{
  display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;
  margin-left:2px;padding:0;border:0;background:transparent;color:var(--navy);cursor:pointer;
}
.nav-submenu-toggle__icon{
  width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s ease;
}
.nav-item.is-open .nav-submenu-toggle__icon{transform:translateY(2px) rotate(225deg)}
.nav-submenu{
  position:absolute;top:calc(100% + 10px);left:-18px;z-index:3;min-width:230px;
  margin:0;padding:8px;list-style:none;background:var(--paper);border:1px solid var(--line);
  box-shadow:0 18px 44px -24px rgba(10,23,29,.5);
}
.nav-links>.nav-item--has-children.is-open:after{
  content:'';position:absolute;top:100%;left:-18px;z-index:2;width:230px;height:12px;
}
.nav-submenu li{margin:0}
.nav-submenu__link{
  display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;
  padding:10px 12px;color:var(--navy);font-size:13px;font-weight:500;line-height:1.35;
  text-decoration:none;white-space:nowrap;
}
.nav-submenu__link:hover,.nav-submenu__link:focus-visible{background:var(--ivory);color:var(--gold)}
.nav-external{font-size:13px;line-height:1;color:var(--faint);transform:translateY(-1px)}
.nav-link:focus-visible,.nav-submenu-toggle:focus-visible,.nav-submenu__link:focus-visible,
.nav-burger:focus-visible,.drawer [data-drawer-close]:focus-visible{
  outline:2px solid var(--gold);outline-offset:4px;
}

.nav-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--navy);padding:4px}
@media(max-width:1120px){.nav-burger{display:flex}}

/* mobile drawer — deliberately OUTSIDE <nav>: backdrop-filter on the nav
   makes it the containing block for fixed children, which would clip the
   drawer to the 76px bar instead of the viewport. */
.drawer-scrim{
  position:fixed;inset:0;z-index:60;background:rgba(11,18,32,.45);
  backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.drawer-scrim.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:61;
  width:min(88vw,360px);background:var(--paper);border-left:1px solid var(--line);
  transform:translateX(100%);visibility:hidden;
  transition:transform .34s cubic-bezier(.4,0,.2,1),visibility .34s;
  display:flex;flex-direction:column;box-shadow:-24px 0 60px -30px rgba(11,18,32,.4);
}
.drawer.open{transform:none;visibility:visible}
.drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:76px;border-bottom:1px solid var(--line);
}
.drawer__nav{display:flex;flex-direction:column;padding:16px 24px;flex:1;overflow-y:auto}
.drawer__nav>.nav-item{display:block;width:100%}
.drawer__nav .nav-item__row{width:100%;border-bottom:1px solid var(--line)}
.drawer__nav .nav-link{
  display:flex;align-items:center;flex:1;min-width:0;min-height:52px;padding:10px 0;
  font-size:22px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--navy);text-decoration:none;
}
.drawer__nav .nav-link:after{display:none}
.drawer__nav .nav-submenu-toggle{flex:0 0 48px;width:48px;height:52px;margin:0}
.drawer__nav .nav-submenu{
  position:static;min-width:0;margin:0;padding:6px 0 8px 16px;border:0;border-bottom:1px solid var(--line);
  background:var(--ivory);box-shadow:none;
}
.drawer__nav .nav-submenu__link{
  min-height:48px;padding:9px 12px;font-size:16px;font-weight:500;white-space:normal;
}
.drawer__foot{padding:8px 24px 32px}
.drawer__foot .btn{width:100%;justify-content:center}

/* ══════════════════════════════════════════════════
   5. HERO
   ══════════════════════════════════════════════════ */
.hero{position:relative;background:var(--ivory);padding:150px 20px 90px}
.hero-row{display:flex;gap:56px;align-items:center}
.hero-copy{flex:1 1 33%;min-width:0}
.hero-art{flex:1 1 67%;min-width:0}
.hero h1{
  font-weight:700;font-size:clamp(2rem,3.2vw,2.9rem);
  line-height:1.14;letter-spacing:-.02em;color:var(--navy);
}
.hero h1 em{display:block;margin-top:10px;color:var(--gold);font-style:italic}
.hero-machine-img{width:112%;max-width:none;margin-left:-6%;display:block}
.hero-actions{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.play-btn{display:inline-flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer}
.play-btn__ring{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:999px;border:1px solid #0B122055;transition:all .25s ease;
}
.play-btn:hover .play-btn__ring{border-color:var(--gold);background:rgba(37,99,235,.06)}
.play-btn__label{
  font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy);
}
@media(max-width:880px){
  .hero-row{flex-direction:column;align-items:flex-start;gap:40px}
  .hero-row>div{flex:1 1 100%;width:100%}
  .hero-machine-img{width:100%;margin-left:0}
}

/* CMS-selected homepage hero. The original .hero rules above are retained
   untouched for the guaranteed static fallback. */
.home-hero{
  --home-hero-bleed:max(20px,calc((100vw - var(--wrap))/2 + 20px));
  --home-hero-height:clamp(700px,82vh,820px);
  --home-hero-image-bg:var(--ivory);
  position:relative;min-height:var(--home-hero-height);padding:76px 20px 0;
  background:var(--ivory);overflow:clip;
}
.home-hero__grid{
  display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);
  align-items:stretch;min-height:calc(var(--home-hero-height) - 76px);
}
.home-hero__copy{
  position:relative;z-index:2;display:flex;flex-direction:column;
  justify-content:center;min-width:0;padding:48px 56px 48px 0;
}
.home-hero__copy h1{
  max-width:12.5ch;font-family:'Newsreader',Georgia,'Times New Roman',serif;
  font-size:clamp(2.5rem,4.25vw,4.35rem);font-weight:500;
  line-height:1.01;letter-spacing:-.03em;color:var(--navy);
}
.home-hero__copy h1 span{white-space:pre-line}
.home-hero__copy h1 em{
  display:block;margin-top:.16em;color:var(--gold);font-style:italic;
}
.home-hero__body{
  max-width:47ch;margin-top:26px;font-size:16px;line-height:1.68;color:var(--muted);
}
.home-hero__actions{margin-top:30px}
.home-hero__visual{
  position:relative;z-index:1;min-width:0;min-height:0;
  width:calc(100% + var(--home-hero-bleed));overflow:hidden;
  background:var(--home-hero-image-bg);
}
.home-hero__visual picture{display:block;width:100%;height:100%}
.home-hero__image{display:block;width:100%;height:100%;object-fit:cover}
.home-hero__visual::before{
  content:"";position:absolute;inset:0 auto 0 0;z-index:1;
  width:clamp(240px,28vw,470px);pointer-events:none;
  background:linear-gradient(90deg,var(--ivory) 0%,rgba(247,244,241,.94) 18%,rgba(247,244,241,.74) 44%,rgba(247,244,241,.34) 72%,transparent 100%);
}
.home-hero--no-image-gradient .home-hero__visual::before{display:none}
.home-hero--image-bg-default{--home-hero-image-bg:var(--ivory)}
.home-hero--image-bg-transparent{--home-hero-image-bg:transparent}
.home-hero--image-bg-dark{--home-hero-image-bg:#161713}
.home-hero--image-bg-white{--home-hero-image-bg:#fff}
.home-hero__logos{
  position:absolute;z-index:2;right:clamp(20px,4vw,58px);bottom:30px;
  display:flex;align-items:center;gap:24px;max-width:min(54%,420px);
  padding:14px 18px;background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(10,23,29,.12);
}
.home-hero__logos img{display:block;width:auto;max-width:170px;max-height:48px;object-fit:contain}
.home-hero__logos--custom{
  right:clamp(-40px,var(--home-hero-logo-right,40px),160px);
  max-width:calc(100% - 20px);padding:0;background:transparent;box-shadow:none;
  flex-wrap:wrap;justify-content:flex-end;
}
.home-hero__logos--custom img{
  width:var(--home-hero-logo-width,170px);height:auto;
  max-width:100%;max-height:none;object-fit:contain;flex:0 1 auto;
}
.home-hero__primary-metric{display:flex;flex-direction:column;margin:0 0 18px}
.home-hero__primary-metric strong{
  font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:clamp(3.7rem,6.3vw,6.8rem);
  font-weight:500;line-height:.85;letter-spacing:-.05em;color:var(--green);
}
.home-hero__primary-metric span{margin-top:12px;font-size:18px;font-weight:600;color:var(--navy)}
.home-hero--customer-result .home-hero__primary-metric{margin-top:16px}
.home-hero__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.home-hero__metrics div{padding-top:14px;border-top:1px solid var(--line)}
.home-hero__metrics dt{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:28px;line-height:1;color:var(--navy)}
.home-hero__metrics dd{margin-top:7px;font-size:11px;line-height:1.45;color:var(--muted)}
.home-hero--align-center .home-hero__copy{text-align:center;align-items:center}
.home-hero--align-center .home-hero__metrics{width:100%}

/* Transparent engine artwork stays intact on the selected media canvas. */
.home-hero--evergreen .home-hero__image,
.home-hero--customer-result:not(.home-hero--has-custom-image) .home-hero__image{object-fit:contain;background:transparent}
.home-hero--customer-result.home-hero--has-custom-image .home-hero__image{object-fit:cover}
.home-hero--customer-result .home-hero__copy{padding-top:40px;padding-bottom:40px}
.home-hero--customer-result .home-hero__copy h1{font-size:clamp(2.1rem,3.1vw,3.25rem)}
.home-hero--customer-result .home-hero__body{margin-top:20px}

.home-hero-rotator{position:relative;background:var(--ivory)}
.home-hero-rotator__slide[hidden]{display:none!important}
.home-hero-rotator__controls{
  position:absolute;z-index:6;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;
}
.home-hero-rotator__dots button{
  display:inline-grid;place-items:center;margin:0;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--navy);cursor:pointer;
}
.home-hero-rotator__dots{display:flex;align-items:center;justify-content:center;gap:10px}
.home-hero-rotator__dots button{
  width:9px;height:9px;background:rgba(10,23,29,.28);
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.home-hero-rotator__dots button:hover{background:rgba(10,23,29,.5)}
.home-hero-rotator__dots button:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.home-hero-rotator__dots button[aria-current="true"]{
  background:var(--gold);transform:scale(1.32);box-shadow:0 0 0 3px rgba(176,102,0,.13);
}
.home-hero-rotator__pause{
  position:absolute;left:calc(100% + 13px);display:inline-grid;place-items:center;
  width:24px;height:24px;margin:0;padding:0;border:0;background:transparent;
  color:var(--navy);font-size:10px;line-height:1;opacity:.42;cursor:pointer;
}
.home-hero-rotator__pause:hover,.home-hero-rotator__pause:focus-visible{opacity:1;color:var(--gold)}
.home-hero-rotator__pause:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

@media(min-width:1600px){
  .home-hero{--home-hero-height:clamp(760px,82vh,880px)}
}
@media(max-width:1080px){
  .home-hero{--home-hero-height:clamp(650px,80vh,740px);padding-top:76px}
  .home-hero__grid{grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:calc(var(--home-hero-height) - 76px)}
  .home-hero__copy{padding-right:34px}
  .home-hero__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .home-hero{--home-hero-height:auto;min-height:0;padding:118px 20px 0;overflow:hidden}
  .home-hero__grid{display:flex;flex-direction:column;min-height:0}
  .home-hero__copy{padding:24px 0 42px}
  .home-hero--customer-result .home-hero__copy{padding-top:18px;padding-bottom:36px}
  .home-hero__copy h1{max-width:13.5ch;font-size:clamp(2.55rem,8.4vw,4.3rem)}
  .home-hero__body{font-size:15.5px}
  .home-hero__visual{
    width:calc(100% + 40px);min-height:0;aspect-ratio:3/2;
    margin:0 -20px;
  }
  .home-hero__visual::before{display:none}
  .home-hero__logos{right:20px;bottom:20px;max-width:70%}
  .home-hero__logos img{max-width:138px;max-height:40px}
  .home-hero__logos--custom{
    right:clamp(12px,var(--home-hero-logo-right,20px),40px);
    max-width:calc(100% - 24px);padding:0;
  }
  .home-hero__logos--custom img{
    width:min(var(--home-hero-logo-width,170px),50vw,260px);height:auto;
    max-width:100%;max-height:none;
  }
  .home-hero--evergreen .home-hero__visual{aspect-ratio:3/2}
  /* Crop the existing editorial card to its photography on narrow screens;
     the accessible hero heading already carries the article title. */
  .home-hero--insight .home-hero__image{object-position:right center}
  .home-hero--customer-result .home-hero__primary-metric{margin-top:12px}
}
@media(max-width:520px){
  .home-hero{padding-top:104px}
  .home-hero__copy{padding-top:16px;padding-bottom:34px}
  .home-hero--customer-result .home-hero__copy{padding-top:11px;padding-bottom:29px}
  .home-hero__copy h1{font-size:clamp(2.35rem,11.8vw,3.35rem)}
  .home-hero__primary-metric strong{font-size:clamp(4rem,22vw,5.8rem)}
  .home-hero__primary-metric span{font-size:16px}
  .home-hero--customer-result .home-hero__primary-metric{margin-top:10px}
  .home-hero__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .home-hero__metrics dt{font-size:24px}
  .home-hero__logos{right:14px;bottom:14px;padding:10px 12px}
  .home-hero__logos--custom{right:clamp(10px,var(--home-hero-logo-right,14px),24px);padding:0}
  .home-hero__logos--custom img{width:min(var(--home-hero-logo-width,170px),calc(100vw - 48px),240px)}
  .home-hero-rotator__controls{bottom:12px}
  .home-hero-rotator__dots{gap:9px}
}

/* ══════════════════════════════════════════════════
   6. CUSTOMER MARQUEE
   Individual logos rather than one sprite, so each can be hovered and
   linked. Hovering any logo pauses the whole marquee, holds that mark at
   full strength and lets the rest recede — the Stripe pattern. Logos with
   a case study behind them get a link and a hover cue.
   ══════════════════════════════════════════════════ */
.logos{
  padding:88px 0;background:var(--white);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;
}
.logos__head{text-align:center;margin-bottom:64px;padding:0 20px}
.logos__head span{
  font-size:11px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--navy);
}
.logos__head .rule{margin:14px auto 0;width:40px}
.logos__foot{margin-top:56px;text-align:center;padding:0 20px}
.logos__foot a{
  display:inline-flex;align-items:center;gap:9px;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;
}
.logos__foot a:hover{color:var(--gold)}

.cw{
  position:relative;display:flex;flex-direction:column;gap:26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
/* overflow:hidden here stops the wide track creating page scroll, but it also
   clips vertically — so the 6% hover scale sheared the top and bottom off each
   logo. The items now carry vertical padding for headroom, and clip-margin
   lets anything that still exceeds it bleed rather than shear. */
.cw-row{overflow:hidden;overflow:clip;overflow-clip-margin:14px}
/* A single row at this spacing would be ~18,000px wide — past the browser's
   ~16,384px texture limit, where the compositor layer stops rasterising and
   the strip goes blank until something forces a repaint. Two rows keep each
   track under 10,000px. They travel in opposite directions, which also means
   thirty logos are visible at once instead of waiting for the loop. */
.cw-track{display:flex;width:max-content}
.cw-row--1 .cw-track{animation:cwScroll 68s linear infinite}
.cw-row--2 .cw-track{animation:cwScroll 76s linear infinite reverse}
.cw-half{display:flex;align-items:center}
@keyframes cwScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* pause on hover, and for anyone using a keyboard */
.cw:hover .cw-track,
.cw:focus-within .cw-track{animation-play-state:paused}

.cw-item{
  position:relative;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px clamp(40px,4.5vw,72px);  /* horizontal: the spacing that was
                                            missing; vertical: headroom so the
                                            hover scale isn't clipped */
  text-decoration:none;
  transition:opacity .35s ease,filter .35s ease;
}
/* --logo-h is the nominal cap; --s is the per-logo optical correction set
   inline from d2o_logo_scale(). Heavy wordmarks read far larger than light
   ones at identical heights, so they are stepped down. */
.cw{--logo-h:58px}
.cw-item__img{display:flex;align-items:center;justify-content:center;height:var(--logo-h)}
.cw-item__img img{
  height:calc(var(--logo-h) * var(--s,1));
  max-height:calc(var(--logo-h) * var(--s,1));
  width:auto;display:block;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
@media(max-width:640px){
  .cw{gap:18px;--logo-h:38px}
  .cw-item{padding:9px 26px}
}

/* Logos sit in full colour by default — per the 6 Aug meeting, the customer
   list is the site's loudest asset and shouldn't scroll past in grey. Only
   when one is hovered do the others desaturate and recede. */
.cw:hover .cw-item,
.cw:focus-within .cw-item{opacity:.3;filter:grayscale(1)}
.cw .cw-item:hover,
.cw .cw-item:focus-visible{opacity:1;filter:none}
.cw .cw-item:hover img,
.cw .cw-item:focus-visible img{transform:scale(1.06)}

/* A logo with a case study behind it is simply a link — no caption, no
   underline. The cursor and the hover isolation are cue enough. */
.cw-item.has-case{cursor:pointer}

@media(prefers-reduced-motion:reduce){
  .cw{gap:0}
  .cw-row{overflow:visible}
  .cw-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .cw-half:last-child{display:none}
  .cw-item{padding:18px 30px}
}

/* ══════════════════════════════════════════════════
   7. REALITY / FLOW DIAGRAM
   ══════════════════════════════════════════════════ */
/* The Reality section runs straight into Service Flow — same ground, same
   argument continuing. Previously 112px of section padding met another 112px
   plus 64px hanging off the flow diagram, which left ~290px of dead cream
   between two sections that should read as one thought. */
.reality{padding-bottom:56px}
.reality-viz{padding-bottom:56px}
.reality-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
@media(max-width:1023px){.reality-grid{grid-template-columns:1fr;gap:48px}}

.flow{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  max-width:768px;margin:0 auto;min-height:260px;
}
.flow__node{position:relative;display:flex;flex-direction:column;align-items:center;z-index:2}
.flow__disc{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:50%;width:138px;height:138px;background:var(--white);
  border:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(32,44,65,.25);
  opacity:0;transform:scale(.85);
  transition:all .7s cubic-bezier(.2,.7,.2,1);
}
.flow.in .flow__disc{opacity:1;transform:none}
.flow__node--mid .flow__disc{
  width:168px;height:168px;border-color:var(--gold);
  box-shadow:0 24px 54px -22px rgba(37,99,235,.4);transition-delay:160ms;
}
.flow__node:last-child .flow__disc{transition-delay:320ms}
.flow__t{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--navy);margin-top:10px}
.flow__node--mid .flow__t{font-size:12px}
.flow__s{font-size:10.5px;color:var(--muted);margin-top:2px}
.flow__badge{position:absolute;top:100%;margin-top:6px;display:flex;flex-direction:column;align-items:center}
.flow__stem{width:1px;height:22px;
  background:repeating-linear-gradient(180deg,var(--gold),var(--gold) 3px,transparent 3px,transparent 7px)}
.flow__pmi{
  display:flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:50%;background:var(--gold);box-shadow:0 12px 26px -10px var(--gold);
  font-size:11px;font-weight:800;letter-spacing:.06em;color:#fff;
  opacity:0;transform:scale(.6);transition:all .6s cubic-bezier(.3,1.4,.4,1) .7s;
}
.flow.in .flow__pmi{opacity:1;transform:none}
.flow__cap{font-size:9.5px;font-weight:700;letter-spacing:.2em;color:var(--navy);margin-top:8px;white-space:nowrap}
.flow__seg{position:absolute;top:50%;height:60px;transform:translateY(-70%)}
.flow__seg--a{left:17%;width:25%}
.flow__seg--b{left:58%;width:25%}
@media(max-width:640px){.flow__seg{display:none}}
@media(max-width:640px){
  .flow{min-height:220px}
  .flow__disc{width:90px;height:90px}
  .flow__node--mid .flow__disc{width:112px;height:112px}
  .flow__t{font-size:9px;letter-spacing:.08em}
  .flow__node--mid .flow__t{font-size:10px}
  .flow__s{font-size:9px}
}
.flow__seg span{position:absolute;left:0;width:3.5px;height:3.5px;border-radius:99px;opacity:0}
.flow.in .flow__seg span{animation:particle 2.8s linear infinite}
@keyframes particle{
  0%{opacity:0;transform:translateX(0)}
  12%{opacity:.9}82%{opacity:.9}
  100%{opacity:0;transform:translateX(200px)}
}

/* ══════════════════════════════════════════════════
   8. SERVICE FLOW — scroll-linked, unpinned
   Progress is derived from the section's position in the viewport, so the
   page scrolls normally while the fortnight fills left to right. Nothing is
   sticky; scrolling back reverses it. The SVG ships complete from PHP, so
   with JS off the finished chart is what renders.
   ══════════════════════════════════════════════════ */
.sf{background:var(--ivory);padding-top:72px;padding-bottom:120px}
/* A hairline carries the eye across the seam without introducing a new ground. */
.sf::before{
  content:'';display:block;width:100%;max-width:var(--wrap);
  margin:0 auto 72px;height:1px;background:var(--line);
}
.sf-head{
  margin-top:14px;font-weight:500;font-size:clamp(1.9rem,3.6vw,2.9rem);
  line-height:1.14;color:var(--navy);max-width:22ch;
}
.sf-head em{color:var(--gold)}
.sf-lede{margin-top:22px;max-width:60ch;font-size:16.5px}

.sf-chartwrap{position:relative;margin-top:56px}
.sf-svg{display:block;width:100%;height:clamp(260px,32vw,380px)}
.sf-base{stroke:var(--line);stroke-width:1}
.sf-col{fill:var(--navy)}
.sf-gap--over{fill:var(--gold)}
.sf-gap--short{fill:var(--red)}
.sf-roster{stroke:var(--navy);stroke-width:2.5;vector-effect:non-scaling-stroke}
.sf-dl{font-size:11px;fill:var(--faint);font-weight:500}
.sf-wk{font-size:9px;font-weight:700;letter-spacing:.14em;fill:var(--faint)}
.sf-rosterlab{
  position:absolute;top:0;left:0;font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--navy);
  pointer-events:none;transition:opacity .3s ease;
}

.sf-readout{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:18px 56px;
  margin-top:34px;padding-top:26px;border-top:1px solid var(--line);
}
.sf-readout__f b{
  display:block;font-weight:500;font-size:clamp(30px,3.6vw,46px);line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.sf-readout__f:first-child b{color:var(--gold)}
.sf-readout__f:nth-child(2) b{color:var(--red)}
.sf-readout__f span{display:block;margin-top:9px;font-size:12.5px;color:var(--muted)}
.sf-readout__day{
  margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);
}

.sf-result{
  margin-top:72px;padding:48px 52px;background:var(--navy);
  display:grid;grid-template-columns:auto minmax(0,1fr);
  column-gap:56px;align-items:start;
}
/* The figure sits in its own column with its unit beneath it, rather than
   baseline-aligned against a wrapping paragraph — which left the number
   stranded above a void. */
.sf-result__fig{
  border-left:2px solid var(--gold);padding-left:22px;
}
.sf-result__v{
  display:block;font-weight:500;font-size:clamp(52px,6vw,80px);line-height:.9;
  color:var(--gold-soft);letter-spacing:-.03em;
}
.sf-result__k{
  display:block;margin-top:14px;font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);
  line-height:1.7;
}
.sf-result__body{padding-top:6px}
.sf-result__body p{font-size:17px;line-height:1.62;color:#fff;max-width:44ch}
.sf-result__scale{
  margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);
  font-size:14.5px!important;color:rgba(255,255,255,.62)!important;
}
@media(max-width:760px){
  .sf-result{grid-template-columns:1fr;row-gap:32px;padding:36px 28px}
}

@media(max-width:640px){
  .sf-svg{height:230px}
  .sf-readout{gap:16px 32px}
  .sf-readout__day{margin-left:0;width:100%}
}

/* ══════════════════════════════════════════════════
   9. FRAMEWORK (navy relay)
   ══════════════════════════════════════════════════ */
.framework{background:var(--navy);position:relative;overflow:hidden}
.relay-heads,.relay-lane{display:grid;grid-template-columns:1fr 168px 1fr;align-items:stretch}
.relay-lane{position:relative;padding:9px 0}
.relay-rm{display:flex;justify-content:flex-end}
.relay-pcm{display:flex;justify-content:flex-start}
.relay-mid{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:0 8px}
.relay-chip{border-radius:12px;padding:13px 17px;max-width:320px;font-size:14px}
.relay-chip-rm{
  background:rgba(147,164,188,.07);border:1px solid rgba(147,164,188,.2);
  text-align:right;color:rgba(255,255,255,.6);transition:border-color .3s ease;
}
.relay-chip-pcm{
  background:rgba(37,99,235,.1);border:1px solid rgba(107,155,242,.38);
  text-align:left;font-weight:500;color:#fff;
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.relay-lane:hover .relay-chip-pcm{border-color:var(--gold);box-shadow:0 12px 34px -14px var(--gold);transform:translateY(-1px)}
.relay-lane:hover .relay-chip-rm{border-color:rgba(147,164,188,.4)}
.relay-lane:hover .relay-klabel{color:var(--gold-soft)}
.relay-klabel{
  position:relative;z-index:1;background:var(--navy);padding:1px 10px;
  font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.45);transition:color .3s ease;white-space:nowrap;
}
.relay-wire{
  position:relative;width:100%;height:2px;opacity:.6;
  background:repeating-linear-gradient(90deg,var(--gold-soft) 0 5px,transparent 5px 10px);
}
.relay-lane.live .relay-wire{animation:relayDash 1.6s linear infinite}
@keyframes relayDash{to{background-position:20px 0}}
.relay-anchor,.relay-baton{position:absolute;top:50%;width:9px;height:9px;border-radius:99px;transform:translate(-50%,-50%)}
.relay-anchor{left:50%;background:var(--navy);border:1.5px solid var(--gold)}
.relay-baton{
  left:0;background:var(--gold-soft);z-index:2;
  box-shadow:0 0 12px 3px var(--gold),-14px 0 11px -6px var(--gold);
  transition:left .8s cubic-bezier(.3,.8,.2,1);
}
.relay-baton.sent{left:100%}
.relay-spine-v{
  position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);
  background:repeating-linear-gradient(180deg,var(--gold) 0 5px,transparent 5px 11px);
  opacity:.45;z-index:0;
}
.relay-finish{
  display:inline-flex;align-items:center;gap:10px;background:rgba(37,99,235,.14);
  border:1px solid var(--gold);border-radius:99px;padding:10px 22px;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);
}
@media(max-width:640px){
  .relay-heads{display:none}
  .relay-lane{grid-template-columns:1fr;row-gap:4px;padding:8px 0}
  .relay-rm,.relay-pcm{justify-content:stretch}
  .relay-rm .relay-chip,.relay-pcm .relay-chip{width:100%;max-width:none;text-align:center}
  .relay-spine-v{display:none}
}

/* ══════════════════════════════════════════════════
   10. DRIVERS
   ══════════════════════════════════════════════════ */
.drivers-grid{
  margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
}
@media(max-width:1023px){.drivers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.drivers-grid{grid-template-columns:1fr}}
.driver-card{background:var(--white);padding:32px;height:100%;transition:background .3s ease}
.driver-card:hover{background:var(--paper)}
.driver-card__top{display:flex;align-items:center;justify-content:space-between}
.driver-card__n{font-style:italic;font-size:15px;color:var(--faint)}
.driver-card h3{margin-top:20px;font-weight:600;font-size:19px;line-height:1.3;color:var(--navy)}
.driver-card p{margin-top:12px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.driver-card--navy{
  background:var(--navy);padding:32px;height:100%;
  display:flex;flex-direction:column;justify-content:space-between;
}
.driver-card--navy h3{font-weight:500;font-size:21px;line-height:1.3;color:#fff}
.driver-card--navy h3 em{color:var(--gold-soft)}
.driver-card--navy p{margin-top:12px;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.7)}
.driver-card--navy a{
  margin-top:28px;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-soft);text-decoration:none;
}

/* ══════════════════════════════════════════════════
   11. PROOF
   ══════════════════════════════════════════════════ */
.proof{background:var(--white)}
.proof-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:767px){.proof-grid{grid-template-columns:1fr}}
.proof-card{padding:32px;height:100%;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold)}
.proof-card__big{font-weight:500;font-size:46px;letter-spacing:-.02em;color:var(--navy);line-height:1}
.proof-card__lbl{margin-top:8px;font-weight:700;font-size:13px;color:var(--gold)}
.proof-card__meta{font-size:12px;color:var(--muted);margin-top:6px}
.proof-card__meta b{color:var(--gold);font-weight:700}
.proof-card p{margin-top:16px;font-size:13px;line-height:1.7;color:var(--muted)}
.proof-link{
  margin-top:32px;display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
}
.proof-eco{
  margin-top:40px;display:flex;align-items:flex-start;gap:16px;
  padding:24px 28px;background:var(--ivory);border:1px solid var(--line);
}
.proof-eco p{font-size:13.5px;line-height:1.7;color:var(--muted)}
.proof-eco strong{color:var(--navy)}

/* ══════════════════════════════════════════════════
   12. CLOSING + FOOTER
   ══════════════════════════════════════════════════ */
.closing{background:var(--navy-deep);text-align:center}
.closing h2{
  font-weight:500;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.15;color:#fff;
}
.closing h2 em{color:var(--gold-soft)}
.closing p{margin:24px auto 0;max-width:576px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.7)}

/* Named d2o-footer, NOT site-footer: Hello Elementor ships its own
   .site-footer rules that constrain width, which cropped the dark
   background short of the viewport edges. */
.d2o-footer{background:#121926;padding:56px 40px}
@media(max-width:640px){.d2o-footer{padding:48px 20px}}

/* Full-bleed guard. The parent theme (and Elementor's own frontend CSS,
   if it ever loads) can impose max-width/margin/flex centering on top-level
   blocks. Every band on this site is edge-to-edge by design, so assert it. */
body{display:block}
#main,
.d2o-footer,
.section,
.hero,
.home-hero,
.logos{
  display:block;width:100%;max-width:none;
  margin-left:0;margin-right:0;float:none;
}
.section{display:block}
.footer-top{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
@media(min-width:640px){.footer-top{flex-direction:row;align-items:center;justify-content:space-between}}
.footer-tag{margin-top:20px;font-style:italic;font-size:16px;color:var(--gold-soft)}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 32px}
.footer-links a{font-size:12px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.55);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-legal{
  margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);
  font-size:12px;color:rgba(255,255,255,.35);
}

/* ══════════════════════════════════════════════════
   13. BRIEFING MODAL
   ══════════════════════════════════════════════════ */
.brief-scrim{
  position:fixed;inset:0;z-index:100;background:rgba(24,33,47,.55);
  backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;
  padding:5vh 20px;overflow-y:auto;
}
.brief-scrim[hidden]{display:none!important}
.brief-scrim.open{display:flex}
.brief-modal{
  width:100%;max-width:680px;max-height:90vh;overflow-y:auto;background:var(--paper);border-top:3px solid var(--gold);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.5);position:relative;
  animation:briefIn .35s cubic-bezier(.2,.8,.2,1);
}
@keyframes briefIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.brief-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;color:var(--muted);padding:10px;line-height:0}
.brief-body{padding:36px 40px 30px}
@media(max-width:520px){.brief-body{padding:32px 24px 28px}}
.brief-body h2{font-weight:500;font-size:1.9rem;line-height:1.2;color:var(--navy)}
.brief-body h2 em{color:var(--gold)}
.brief-body>p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:12px;max-width:440px}
.brief-placeholder{padding:18px;border:1px dashed var(--gold)}

/* WPForms styling — scoped so the plugin's own CSS doesn't fight us */
.brief-body .wpforms-container{margin:24px 0 0}
.brief-body .wpforms-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.brief-body .wpforms-field{grid-column:1/-1;padding:0 0 14px}
.brief-body .wpforms-field.d2o-field-half{grid-column:span 1}
.brief-body .wpforms-field-container,.brief-body .wpforms-submit-container{display:contents}
.brief-body .wpforms-field-label{
  font-size:11px!important;font-weight:700!important;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)!important;margin-bottom:6px!important;
}
.brief-body input[type=text],
.brief-body input[type=email],
.brief-body input[type=tel],
.brief-body select,
.brief-body textarea{
  width:100%!important;max-width:none!important;padding:10px 12px!important;
  border:1px solid var(--line)!important;border-radius:0!important;
  background:var(--white)!important;color:var(--navy)!important;
  font-family:'Inter',sans-serif!important;font-size:14px!important;outline:none;
  transition:border-color .2s ease;box-shadow:none!important;
}
.brief-body .iti input.iti__tel-input{
  padding-left:58px!important;
}
.brief-body textarea{min-height:82px!important;resize:vertical}
.brief-body input:focus,.brief-body select:focus,.brief-body textarea:focus{
  border-color:var(--gold)!important;box-shadow:0 0 0 2px rgba(157,98,18,.16)!important;
}
.brief-body ::placeholder{color:var(--faint)}
.brief-body .wpforms-error{color:var(--red)!important;font-size:12px!important;line-height:1.45;margin-top:5px!important}
.brief-body .wpforms-field.wpforms-has-error input,
.brief-body .wpforms-field.wpforms-has-error select,
.brief-body .wpforms-field.wpforms-has-error textarea{border-color:var(--red)!important}
.brief-body .wpforms-submit{
  grid-column:1/-1;
  width:100%;background:var(--gold)!important;color:#fff!important;border:none!important;
  border-radius:0!important;padding:15px!important;font-size:13px!important;font-weight:700!important;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .25s ease;
}
.brief-body .wpforms-submit:hover{transform:translateY(-2px);box-shadow:0 16px 36px -14px var(--gold)}
.brief-body .wpforms-confirmation-container,
.brief-body .wpforms-confirmation-container-full{
  margin:24px 0 0!important;padding:24px!important;border:1px solid rgba(46,125,79,.28)!important;
  background:rgba(46,125,79,.06)!important;color:var(--navy)!important;
}
.brief-body .wpforms-confirmation-container h3,
.brief-body .wpforms-confirmation-container-full h3{font-size:1.3rem;line-height:1.3;margin:0 0 8px}
.brief-body .wpforms-confirmation-container p,
.brief-body .wpforms-confirmation-container-full p{font-size:14px;line-height:1.6;margin:0}
.brief-foot{margin:12px auto 0!important;font-size:11.5px!important;color:var(--faint)!important;text-align:center;max-width:520px!important}
.brief-foot a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){
  .brief-scrim{padding:16px 10px;align-items:flex-start}
  .brief-modal{max-height:calc(100vh - 32px)}
  .brief-body .wpforms-form{grid-template-columns:1fr}
  .brief-body .wpforms-field.d2o-field-half{grid-column:1/-1}
}

/* ══════════════════════════════════════════════════
   14. ACCESSIBILITY
   ══════════════════════════════════════════════════ */
button:focus-visible,a:focus-visible{outline:3px solid var(--data-blue);outline-offset:3px}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

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

/* ══════════════════════════════════════════════════
   15. PLATFORM PAGE
   ══════════════════════════════════════════════════ */
.platform-hero{background:var(--navy);padding-top:132px;padding-bottom:72px}
.platform-hero__h{
  font-weight:500;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.12;
  color:#fff;max-width:900px;letter-spacing:-.01em;
}
.platform-hero__h em{color:var(--gold-soft)}
.platform-hero__p{margin-top:24px;max-width:672px;font-size:16px;line-height:1.75;color:rgba(255,255,255,.72)}
.model-chain{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.model-chip{
  font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.22);
  border-radius:99px;padding:9px 18px;
}
.model-chip.is-end{color:var(--gold-soft);border-color:var(--gold)}

.platform-subnav{
  position:sticky;top:76px;z-index:30;padding:0 40px;
  background:rgba(246,248,251,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
@media(max-width:640px){.platform-subnav{padding:0 20px}}

.platform-subnav__row{display:flex;align-items:center;gap:8px;height:54px;overflow-x:auto;scrollbar-width:none}
.platform-subnav__row::-webkit-scrollbar{display:none}
.platform-subnav__row a{
  flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;padding:8px 12px;white-space:nowrap;transition:color .2s ease;
}
.platform-subnav__row a:hover{color:var(--navy)}
.platform-subnav__row a span{color:var(--gold);margin-right:6px}

.driver-sec{scroll-margin-top:130px;padding-top:80px;padding-bottom:80px}
.driver-sec__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:900px){.driver-sec__grid{grid-template-columns:1fr;gap:48px}}
@media(min-width:901px){
  .driver-sec__grid.is-flip .driver-sec__copy{order:2}
  .driver-sec__grid.is-flip .driver-sec__vis{order:1}
}
.driver-sec__meta{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.driver-sec__ico{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:99px;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.3);
}
.driver-sec__n{font-style:italic;font-size:20px;color:var(--faint)}
.driver-sec__tag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.driver-sec__h{font-weight:500;font-size:clamp(1.6rem,2.8vw,2.15rem);line-height:1.22;color:var(--navy)}
.driver-sec__list{margin-top:24px;list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}
.driver-sec__list li{display:flex;gap:12px;font-size:14px;line-height:1.6;color:var(--navy)}
.driver-sec__list li svg{flex-shrink:0;margin-top:3px}
.driver-sec__outcome{
  margin-top:28px;padding-left:16px;border-left:2px solid var(--gold);
  font-style:italic;font-size:16px;line-height:1.5;color:var(--navy);
}
.driver-sec__live{
  margin-top:24px;display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
}
.pnl-frame{padding:14px;background:#F0F3F7;border-radius:24px}
@media(max-width:640px){.pnl-frame{padding:8px;border-radius:20px}}

/* ══════════════════════════════════════════════════
   16. DASHBOARD PANELS
   ══════════════════════════════════════════════════ */
:root{
  --pnl-card:#FFFFFF;--pnl-inset:#F4F6F9;--pnl-ink:#101829;--pnl-muted:#69758D;
  --pnl-grid:#E5EAF1;--pnl-border:#E3E8EF;--pnl-baseline:#63708C;
  --pnl-green:#0A9C48;--pnl-green-bg:#EAF7EF;
  --pnl-blue:#285FDB;--pnl-blue-bg:#EDF2FF;
  --pnl-coral:#EF5350;--pnl-coral-bg:#FFF0EF;
  --pnl-purple:#5740E8;--pnl-purple-bg:#F0EEFF;
}
.pnl{
  background:var(--pnl-card);border-radius:18px;border:1px solid var(--pnl-border);
  box-shadow:0 12px 30px -24px rgba(20,30,55,.42);overflow:hidden;
}
.pnl__head{display:flex;align-items:flex-start;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--pnl-grid)}
.pnl__heading{flex:1;min-width:0}
.pnl__title-row{display:flex;align-items:center;gap:9px}
.pnl__title{margin:0;font-size:clamp(16px,1.8vw,19px);font-weight:750;line-height:1.2;color:var(--pnl-ink);letter-spacing:-.02em}
.pnl__info{
  width:18px;height:18px;border:1.5px solid var(--pnl-muted);border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;flex:0 0 auto;font-size:11px;font-weight:800;line-height:1;color:var(--pnl-muted);
}
.pnl__subtitle{margin:7px 0 0;font-size:12.5px;line-height:1.4;color:var(--pnl-muted)}
.pnl__meta{margin-left:auto;display:flex;align-items:center;min-height:28px;flex:0 0 auto}
.pnl-head-kpi{font-size:clamp(26px,4vw,34px);font-weight:800;line-height:1;color:var(--pnl-green);letter-spacing:-.04em}
.pnl-head-note{font-size:12px;color:var(--pnl-muted);white-space:nowrap}
.pnl-date{padding:8px 13px;border:1px solid #C9D0DF;border-radius:99px;font-size:11.5px;font-weight:700;color:#445069;white-space:nowrap}
.pnl__legend-row{display:flex;align-items:center;gap:16px;padding:17px 24px 0;flex-wrap:wrap}
.pnl__legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pnl__legend-metric{margin-left:auto}
.pnl__body{padding:14px 24px 22px}
.pnl__foot{padding:0 24px 20px;display:flex;align-items:center;justify-content:flex-end}

.pnl-leg{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--pnl-muted);font-weight:600;white-space:nowrap}
.pnl-leg__sw{width:18px;height:4px;border-radius:99px;display:inline-block}
.pnl-leg__sw--blue{background:var(--pnl-blue)}
.pnl-leg__sw--green{background:var(--pnl-green)}
.pnl-leg__sw--coral{background:var(--pnl-coral)}
.pnl-leg__sw--muted{background:var(--pnl-muted)}
.pnl-leg__sw--purple{background:var(--pnl-purple)}
.pnl-leg__sw.is-dash{height:0;background:none;border-top:2px dashed currentColor;border-radius:0}
.pnl-leg__sw--blue.is-dash{border-top-color:var(--pnl-blue)}
.pnl-leg__sw--muted.is-dash{border-top-color:var(--pnl-muted)}
.pnl-leg__sw--purple.is-dash{border-top-color:var(--pnl-purple)}
.pnl-foot-end{font-size:10.5px;color:var(--pnl-muted)}
.pnl-metric{font-size:12px;font-weight:750;white-space:nowrap}
.pnl-metric--positive{color:var(--pnl-green)}
.pnl-chart{display:block;width:100%;height:auto;overflow:visible}
.pnl-gridline{stroke:var(--pnl-grid);stroke-width:1;vector-effect:non-scaling-stroke}
.pnl-gridline.is-dash{stroke-dasharray:3 4}
.pnl-axis{font-size:11px;font-weight:500;fill:var(--pnl-muted);font-family:inherit}
.pnl-axis.is-current{fill:var(--pnl-blue);font-weight:800}
.pnl-axis.is-purple{fill:var(--pnl-purple)}

.pnl-alert{
  display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;
  background:var(--pnl-coral-bg);border:1px solid rgba(239,83,80,.24);border-radius:12px;
}
.pnl-alert__ico{
  width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;background:var(--pnl-coral);color:#fff;font-size:18px;font-weight:500;
}
.pnl-alert__k{font-size:12px;font-weight:800;color:var(--pnl-ink);white-space:nowrap}
.pnl-alert__arrow{font-size:14px;color:var(--pnl-muted)}
.pnl-alert__t{font-size:11.5px;color:var(--pnl-muted);white-space:nowrap}
.pnl-alert__v{font-size:12.5px;font-weight:800;color:var(--pnl-green);white-space:nowrap}
.pnl-alert__cta{
  margin-left:auto;padding:7px 12px;border:1px solid rgba(239,83,80,.45);border-radius:99px;
  display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:750;color:var(--pnl-coral);text-decoration:none;white-space:nowrap;
}
.pnl-alert__cta:focus-visible{outline:2px solid var(--pnl-coral);outline-offset:2px}

.pnl-food{display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:24px;padding:4px 0 2px}
.pnl-food__ring{display:block;flex:0 0 auto}
.pnl-food__compare{min-width:0}
.pnl-big{font-size:34px;font-weight:800;color:var(--pnl-ink);letter-spacing:-.035em;line-height:1}
.pnl-big--green{color:var(--pnl-green)}
.pnl-bars{margin-top:20px;display:flex;flex-direction:column;gap:16px}
.pnl-bars__lbl{font-size:11px;color:var(--pnl-muted);margin-bottom:5px}
.pnl-bars__line{display:flex;align-items:center;gap:10px}
.pnl-bars__line strong{min-width:43px;font-size:11.5px;font-weight:700;color:var(--pnl-ink);white-space:nowrap}
.pnl-bars__track{height:9px;border-radius:99px;background:var(--pnl-inset);overflow:hidden;display:flex;flex:1;min-width:0}
.pnl-bars__fill,.pnl-bars__waste{width:0;transition:width .8s ease .4s}
.pnl-bars__fill{background:var(--pnl-ink)}
.pnl-bars__waste{background:var(--pnl-coral);transition-delay:.5s}
[data-panel].in .pnl-bars__fill,[data-panel].in .pnl-bars__waste{width:var(--w)}

.pnl-actions{display:flex;flex-direction:column;gap:8px}
.pnl-act{
  display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;
  background:var(--pnl-inset);border:1px solid transparent;
}
.pnl-act.is-live{background:var(--pnl-coral-bg);border-color:rgba(239,83,80,.24)}
.pnl-act__n{
  width:22px;height:22px;border-radius:99px;background:#D7DBE3;color:#fff;
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pnl-act.is-live .pnl-act__n{background:var(--pnl-coral)}
.pnl-act__body{flex:1;min-width:0}
.pnl-act__t{font-size:12.5px;font-weight:700;color:var(--pnl-ink)}
.pnl-act__s{font-size:10.5px;color:var(--pnl-muted)}
.pnl-act__v{font-size:12.5px;font-weight:800;color:var(--pnl-green)}
.pnl-act__cta{
  display:inline-flex;align-items:center;gap:4px;font-size:10.5px;
  font-weight:700;color:var(--pnl-coral);white-space:nowrap;
}
.pnl--focus .pnl__head{padding:18px 20px 16px}
.pnl--focus .pnl__body{padding:14px 16px 18px}

@media(max-width:520px){
  .pnl__head{padding:18px 16px 15px;flex-wrap:wrap;gap:10px}
  .pnl__meta{margin-left:0}
  .pnl-head-kpi{margin-left:auto}
  .pnl__legend-row{padding:14px 16px 0;align-items:flex-start}
  .pnl__legend{gap:10px 16px}
  .pnl__legend-metric{width:100%;margin-left:0}
  .pnl__body{padding:12px 16px 18px}
  .pnl__foot{padding:0 16px 16px}
  .pnl-alert{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .pnl-alert__cta{margin-left:40px}
  .pnl-food{grid-template-columns:1fr;justify-items:center;gap:16px}
  .pnl-food__compare{width:100%}
  .pnl-big{text-align:center}
  .pnl-act{align-items:flex-start;flex-wrap:wrap}
  .pnl-act.is-live .pnl-act__body{flex-basis:calc(100% - 34px)}
  .pnl-act__v{margin-left:33px}
  .pnl-act__cta{margin-left:auto}
}

/* panel entrance animation — .in is added by app.js on scroll */
.pnl-draw{stroke-dasharray:var(--dash);stroke-dashoffset:var(--dash);transition:stroke-dashoffset 1.2s ease var(--d,0s)}
[data-panel].in .pnl-draw{stroke-dashoffset:0}
.pnl-fade{opacity:0;transition:opacity .6s ease var(--d,.4s)}
[data-panel].in .pnl-fade{opacity:var(--to,1)}
.pnl-area{transition:opacity .8s ease var(--d,.5s)}
[data-panel].in .pnl-area{opacity:var(--to,.08)}
.pnl-dot{opacity:0;transition:opacity .3s ease var(--d,0s)}
[data-panel].in .pnl-dot{opacity:1}
.pnl-ring{stroke-dashoffset:var(--from);transition:stroke-dashoffset 1.2s ease .3s}
[data-panel].in .pnl-ring{stroke-dashoffset:var(--to)}
@media(prefers-reduced-motion:reduce){
  .pnl-draw{stroke-dashoffset:0}
  .pnl-fade{opacity:var(--to,1)}
  .pnl-area{opacity:var(--to,.08)}
  .pnl-dot{opacity:1}
  .pnl-ring{stroke-dashoffset:var(--to)}
  .pnl-bars__fill,.pnl-bars__waste{width:var(--w)}
}

/* ══════════════════════════════════════════════════
   17. CASE STUDY
   ══════════════════════════════════════════════════ */
.case-hero{background:var(--navy);padding-top:132px;padding-bottom:64px}
.case-hero__h{
  font-weight:500;font-size:clamp(2.2rem,4.8vw,3.7rem);line-height:1.1;
  color:#fff;max-width:940px;letter-spacing:-.01em;
}
.case-hero__h em{color:var(--gold-soft)}
.case-hero__p{margin-top:24px;max-width:672px;font-size:16.5px;line-height:1.75;color:rgba(255,255,255,.72)}
.case-chips{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px}
.case-chips span{
  font-size:12px;font-weight:600;color:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:8px 16px;
}

.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.case-metrics{grid-template-columns:1fr}}
.case-metric{padding:32px;height:100%;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold)}
.case-metric__v{font-weight:500;font-size:52px;letter-spacing:-.02em;color:var(--navy);line-height:1}
.case-metric__v i{font-style:normal;font-size:30px;color:var(--gold)}
.case-metric__l{margin-top:12px;font-weight:700;font-size:13px;color:var(--gold)}
.case-metric p{margin-top:12px;font-size:13px;line-height:1.65;color:var(--muted)}

.case-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:900px){.case-split{grid-template-columns:1fr;gap:48px}}
.case-h2{font-weight:500;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.18;color:var(--navy)}
.case-h2 em{color:var(--gold)}

.case-approach{margin-top:40px;padding-left:20px;border-left:2px solid var(--gold)}
.case-approach__k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.case-approach p{font-size:18px;line-height:1.55;color:var(--navy);max-width:680px}
.case-approach em{font-style:italic}

.case-quote{font-style:italic;font-weight:400;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35;color:#fff}
.case-quote span{color:var(--gold-soft)}
.case-quote__attr{margin-top:24px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

.pnl-triple{display:flex;gap:24px;margin-bottom:10px}
.pnl-triple b{display:block;font-size:22px;font-weight:800;line-height:1}
.pnl-triple span{display:block;font-size:11px;color:var(--pnl-muted);margin-top:3px}

.avg-bar{transition:y .6s cubic-bezier(.2,.8,.2,1) var(--d),height .6s cubic-bezier(.2,.8,.2,1) var(--d)}

/* ══════════════════════════════════════════════════
   18. COMPANY PAGE
   ══════════════════════════════════════════════════ */
.company-hero{background:var(--ivory);padding-top:160px;padding-bottom:96px}
.company-hero__h{
  margin-top:20px;font-weight:700;font-size:clamp(38px,6vw,70px);
  line-height:1.05;color:var(--navy);max-width:900px;letter-spacing:-.025em;
}
.company-hero__h em{font-style:italic;color:var(--gold)}
.company-hero__p{margin-top:32px;font-size:18px;line-height:1.7;color:var(--muted);max-width:620px}

.company-facts{
  margin-top:80px;display:grid;gap:40px;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.company-fact{border-top:2px solid var(--gold);padding-top:18px}
.company-fact__v{font-weight:500;font-size:46px;color:var(--navy);line-height:1;letter-spacing:-.02em}
.company-fact__l{margin-top:10px;font-size:13px;color:var(--muted)}

.team-sec{background:var(--paper);border-top:1px solid var(--line);padding-top:96px;padding-bottom:96px}
.team-sec__h{
  margin-top:16px;font-weight:500;font-size:clamp(30px,4vw,46px);
  color:var(--navy);max-width:640px;line-height:1.15;
}
.team-sec__h em{font-style:italic;color:var(--gold)}

.team-grid{
  margin-top:64px;display:grid;column-gap:40px;row-gap:56px;
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.team-grid>*{grid-column:span 2}
.team-grid>:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}
@media(max-width:900px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid>*{grid-column:auto}
  .team-grid>:nth-last-child(2):nth-child(3n+1){grid-column:auto}
}
@media(max-width:640px){.team-grid{grid-template-columns:1fr}}
.team-card{
  display:block;width:100%;text-align:left;background:none;
  border:none;padding:0;cursor:pointer;
}
.team-card__pic{
  display:block;width:100%;max-width:190px;overflow:hidden;border-radius:50%;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;
}
.team-card__pic img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.team-card:hover .team-card__pic{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(11,18,32,.45)}
.team-card__name{display:block;margin-top:24px;font-weight:500;font-size:23px;line-height:1.2;color:var(--navy)}
.team-card__role{
  display:block;margin-top:8px;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.team-card__hook{display:block;margin-top:14px;font-size:14px;line-height:1.65;color:var(--muted);max-width:260px}
.team-card__more{
  display:inline-flex;align-items:center;gap:6px;margin-top:16px;
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);
}
.team-card:hover .team-card__more{color:var(--gold)}

.team-scrim{
  position:fixed;inset:0;z-index:90;background:rgba(11,18,32,.5);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.team-scrim.open{opacity:1;pointer-events:auto}
.team-detail{
  position:fixed;top:0;right:0;bottom:0;z-index:91;
  width:min(92vw,560px);background:var(--paper);
  transform:translateX(100%);visibility:hidden;
  transition:transform .38s cubic-bezier(.4,0,.2,1),visibility .38s;
  overflow-y:auto;box-shadow:-30px 0 70px -32px rgba(11,18,32,.45);
}
.team-detail.open{transform:none;visibility:visible}
.team-detail__close{
  position:absolute;top:22px;right:22px;background:none;border:none;
  cursor:pointer;color:var(--muted);padding:4px;line-height:0;z-index:2;
}
.team-detail__body{padding:48px 48px}
@media(max-width:640px){.team-detail__body{padding:48px 32px}}
.team-detail__pic{display:block;width:116px;overflow:hidden;border-radius:50%}
.team-detail__pic img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.team-detail__body h3{margin-top:28px;font-weight:500;font-size:34px;line-height:1.15;color:var(--navy)}
.team-detail__role{
  margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);
}
.team-detail__rule{margin-top:28px;width:40px;height:2px;background:var(--gold)}
.team-detail__body p{margin-top:20px;font-size:15px;line-height:1.75;color:var(--muted)}

/* ══════════════════════════════════════════════════
   19. WHY PMI
   ══════════════════════════════════════════════════ */
.why-hero{background:var(--ivory);padding-top:160px;padding-bottom:96px}
.why-hero__h{font-weight:700;font-size:clamp(38px,6.2vw,74px);line-height:1.04;color:var(--navy);max-width:940px;letter-spacing:-.025em}
.why-hero__h em{font-style:italic;color:var(--gold)}
.why-hero__p{margin-top:36px;font-size:20px;line-height:1.6;color:var(--muted);max-width:640px}
.why-hero__p em{font-style:italic;color:var(--navy)}

.why-problem{background:var(--navy-deep)}
.why-money{
  margin-top:56px;display:grid;gap:1px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  background:var(--line-dark);border:1px solid var(--line-dark);
}
.why-money__cell{background:var(--navy-deep);padding:40px 28px;height:100%}
.why-money__v{font-weight:500;font-size:52px;line-height:1;letter-spacing:-.02em}
.why-money__l{margin-top:12px;font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.6)}
.why-money__cell--question{display:flex;align-items:center}
.why-money__cell--question p{font-family:'Newsreader',Georgia,serif;font-size:clamp(24px,3vw,34px);line-height:1.12;color:var(--gold-soft)}
.why-problem__p{margin-top:40px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.66);max-width:620px}

.fpa-grid{margin-top:64px;display:grid;column-gap:48px;row-gap:56px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.fpa-item{display:flex;gap:20px}
.fpa-item__ico{
  flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--ivory-deep);
  display:flex;align-items:center;justify-content:center;
}
.fpa-item__n{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--faint)}
.fpa-item h3{margin-top:6px;font-weight:500;font-size:23px;line-height:1.25;color:var(--navy)}
.fpa-item p{margin-top:12px;font-size:15px;line-height:1.7;color:var(--muted)}

.why-two__grid{margin-top:32px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.why-q{padding:44px 36px;height:100%}
.why-q--rm{background:var(--paper);border:1px solid var(--line)}
.why-q--pmi{background:var(--navy)}
.why-q__k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.why-q__q{margin-top:16px;font-style:italic;font-size:26px;line-height:1.35;color:var(--navy)}
.why-q__list{margin-top:24px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.why-two__foot{margin:40px auto 0;text-align:center;font-size:16px;line-height:1.7;color:var(--muted);max-width:560px}
.why-two__foot em{font-style:italic;color:var(--navy)}

.why-index{display:grid;gap:56px;align-items:center;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.idx-card{padding:40px 32px;background:var(--ivory);border:1px solid var(--line)}
.idx-row{display:flex;align-items:center;gap:16px}
.idx-row__d{width:130px;font-size:13px;color:var(--navy);flex-shrink:0}
.idx-row__t{flex:1;height:8px;background:var(--ivory-deep);border-radius:4px;overflow:hidden}
.idx-row__t i{display:block;width:0;height:100%;border-radius:4px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in .idx-row__t i{width:var(--w)}
.idx-row__s{width:32px;font-size:13px;font-weight:600;color:var(--navy);text-align:right}
.idx-card__foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}

.proof-sec{background:var(--ivory);border-top:1px solid var(--line)}
.proof-sec__grid{margin-top:56px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.proof-sec__card{
  display:block;padding:36px 32px;height:100%;background:var(--paper);
  border:1px solid var(--line);text-decoration:none;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.proof-sec__card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 18px 38px -28px rgba(32,44,65,.5)}
.proof-sec__card:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-color:var(--gold)}
.proof-sec__cta{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.proof-sec__group{font-weight:500;font-size:21px;color:var(--navy)}
.proof-sec__gop{margin-top:24px;font-weight:500;font-size:44px;line-height:1;color:var(--gold);letter-spacing:-.02em}
.proof-sec__lbl{margin-top:6px;font-size:12px;letter-spacing:.04em;color:var(--muted)}
.proof-sec__meta{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:24px}
.proof-sec__mv{font-size:18px;font-weight:700;color:var(--navy)}
.proof-sec__ml{font-size:11px;letter-spacing:.04em;color:var(--muted)}

/* ══════════════════════════════════════════════════
   20. SOLUTIONS
   ══════════════════════════════════════════════════ */
.sol-hero{background:var(--ivory);padding-top:160px;padding-bottom:96px}
.sol-hero__h{font-weight:700;font-size:clamp(38px,6vw,72px);line-height:1.05;color:var(--navy);max-width:900px;letter-spacing:-.025em}
.sol-hero__h em{font-style:italic;color:var(--gold)}
.sol-hero__p{margin-top:36px;font-size:19px;line-height:1.65;color:var(--muted);max-width:620px}

.mod-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.mod-card{
  padding:36px 32px;height:100%;background:var(--paper);
  border:1px solid var(--line);transition:border-color .25s ease,transform .25s ease;
}
.mod-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.mod-card__ico{
  display:flex;width:48px;height:48px;border-radius:12px;background:var(--ivory-deep);
  align-items:center;justify-content:center;
}
.mod-card__name{margin-top:24px;font-weight:500;font-size:25px;color:var(--navy)}
.mod-card__tag{margin-top:4px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.mod-card__body{margin-top:16px;font-size:14.5px;line-height:1.68;color:var(--muted)}
.mod-card__points{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.mod-card__points div{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--navy)}
.mod-card__points svg{flex-shrink:0}

.sol-strip{margin-top:48px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.sol-strip__t{font-size:14px;font-weight:700;color:#fff}
.sol-strip__d{margin-top:8px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.6)}

/* ══════════════════════════════════════════════════
   21. RESOURCES
   ══════════════════════════════════════════════════ */
.res-hero{background:var(--ivory);padding-top:160px;padding-bottom:64px}
.res-hero__h{font-weight:700;font-size:clamp(38px,6vw,72px);line-height:1.05;color:var(--navy);max-width:880px;letter-spacing:-.025em}
.res-hero__h em{font-style:italic;color:var(--gold)}
.res-hero__p{margin-top:28px;max-width:58ch;font-size:18px;line-height:1.7;color:var(--muted)}
.res-hub{background:var(--paper);border-top:1px solid var(--line)}
.res-section-head{margin-bottom:36px}
.res-section-head h2{margin-top:12px;font-weight:500;font-size:clamp(26px,3.2vw,40px);line-height:1.18;color:var(--navy)}

.res-feat{
  display:grid;gap:40px;align-items:center;padding:48px;
  background:var(--navy);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
@media(max-width:640px){.res-feat{padding:32px 24px}}
.res-feat__k{
  display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);
}
.res-feat__h{margin-top:20px;font-weight:500;font-size:clamp(24px,3vw,34px);line-height:1.2;color:#fff}
.res-feat__meta{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
.res-feat__p{margin-top:20px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.68)}
.res-feat__authors{margin-top:20px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.78)}
.res-feat__authors span{color:rgba(255,255,255,.58)}
.res-feat__art{display:flex;justify-content:center}
.res-feat__cover-link{
  display:block;width:100%;max-width:300px;border:1px solid rgba(255,255,255,.2);
  box-shadow:0 24px 48px -28px rgba(0,0,0,.85);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.res-feat__cover-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-color:var(--gold)}
.res-feat__cover{display:block;width:100%;height:auto}
@media(hover:hover) and (pointer:fine){
  .res-feat__cover-link:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 28px 52px -26px rgba(0,0,0,.9)}
}

.res-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.res-card{
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  width:100%;height:100%;padding:36px 32px;background:var(--paper);
  border:1px solid var(--line);cursor:pointer;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.res-card:focus-visible{
  border-color:var(--gold);box-shadow:0 16px 32px -24px rgba(32,44,65,.55);
  outline:3px solid var(--gold);outline-offset:3px;transform:translateY(-2px)
}
@media(hover:hover) and (pointer:fine){
  .res-card:hover{
    border-color:var(--gold);box-shadow:0 16px 32px -24px rgba(32,44,65,.55);
    transform:translateY(-2px)
  }
}
.res-card--link{text-decoration:none}
.res-card__k{
  display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.res-card__h{display:block;margin-top:16px;font-weight:500;font-size:24px;line-height:1.25;color:var(--navy)}
.res-card__p{display:block;margin-top:12px;font-size:14.5px;line-height:1.68;color:var(--muted);flex:1}
.res-card__cta{
  display:inline-flex;align-items:center;gap:6px;margin-top:24px;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
}
.res-card:focus-visible .res-card__cta{color:var(--gold)}
@media(hover:hover) and (pointer:fine){.res-card:hover .res-card__cta{color:var(--gold)}}

.lbox{
  position:fixed;inset:0;z-index:120;background:rgba(7,12,20,.88);
  backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,visibility .3s;
  overflow-y:auto;padding:clamp(16px,5vh,64px) 16px;
}
.lbox.open{opacity:1;visibility:visible;pointer-events:auto}
.lbox__close{
  position:fixed;top:20px;right:22px;z-index:121;background:rgba(255,255,255,.1);
  border:none;border-radius:50%;width:42px;height:42px;display:flex;
  align-items:center;justify-content:center;cursor:pointer;
}
.lbox__inner{margin:0 auto}
.lbox__set{display:none;flex-direction:column;gap:16px}
.lbox__set.on{display:flex}
.lbox__set img{width:100%;display:block;border-radius:4px;box-shadow:0 20px 60px -20px rgba(0,0,0,.6)}
.lbox__inner[data-view="engine"],
.lbox__inner[data-view="missing_link"]{max-width:620px}

/* Videos — curated resource library. */
.videos-hero{padding-top:142px;padding-bottom:72px;background:var(--ivory)}
.videos-hero .pcm-breadcrumb{margin-bottom:28px}
.videos-hero h1{max-width:840px;font-size:clamp(44px,6.8vw,78px);line-height:1.02;font-weight:500;color:var(--navy)}
.videos-hero h1 em{color:var(--gold);font-style:italic}
.videos-hero> .wrap>p,.videos-hero .reveal>p{margin-top:28px;max-width:68ch;font-size:18px;line-height:1.72;color:var(--muted)}
.videos-featured{padding-top:64px;background:var(--paper);border-top:1px solid var(--line)}
.videos-featured__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:clamp(36px,6vw,88px);align-items:center}
.videos-featured__copy h2,.video-card h3,.videos-cta h2{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.01em;color:var(--navy)}
.videos-featured__copy h2{margin-top:18px;font-size:clamp(32px,4vw,48px);line-height:1.08}
.videos-featured__copy p{margin-top:20px;font-size:16px;line-height:1.72;color:var(--muted)}
.video-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.video-meta span+span{position:relative;color:var(--faint)}
.video-meta span+span::before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--steel)}
.video-player{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;background:var(--navy);box-shadow:0 24px 54px -34px rgba(6,15,20,.65)}
.video-player img,.video-player iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}
.video-player::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,15,20,.3));pointer-events:none}
.video-player.is-playing::after{display:none}
.video-player__play{position:absolute;left:24px;bottom:22px;z-index:1;display:flex;align-items:center;gap:11px;min-height:48px;padding:10px 18px 10px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(6,15,20,.88);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.video-player__play:hover{background:var(--navy);border-color:#fff;transform:translateY(-1px)}
.video-player__play:focus-visible{outline:3px solid var(--gold-soft);outline-offset:4px}
.video-player__play-icon{display:block;width:28px;height:28px;border-radius:50%;background:var(--gold-soft);position:relative}
.video-player__play-icon::after{content:"";position:absolute;left:11px;top:8px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid var(--navy)}
.videos-library{background:var(--ivory)}
.videos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.video-card{min-width:0;background:var(--paper);border:1px solid var(--line)}
.video-card__body{padding:28px 28px 32px}
.video-card h3{margin-top:14px;font-size:clamp(25px,2.5vw,32px);line-height:1.16}
.video-card p{margin-top:14px;font-size:14.5px;line-height:1.68;color:var(--muted)}
.videos-cta{background:var(--navy)}
.videos-cta__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.videos-cta h2{max-width:720px;font-size:clamp(32px,4.5vw,52px);line-height:1.08;color:#fff}
.videos-cta p{margin-top:18px;max-width:64ch;font-size:16px;line-height:1.68;color:rgba(255,255,255,.68)}
.videos-cta .btn{flex:none}
@media(max-width:820px){
  .videos-featured__grid{grid-template-columns:1fr}.videos-featured__copy{max-width:680px}
  .videos-grid{grid-template-columns:1fr}.videos-cta__inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .videos-hero{padding-top:124px}.videos-hero .reveal>p{font-size:16px}
  .video-player__play{left:14px;bottom:14px;min-height:44px;padding:8px 14px 8px 9px}
  .video-player__play-icon{width:26px;height:26px}.video-player__play-icon::after{left:10px;top:7px}
  .video-card__body{padding:24px 22px 27px}
}

/* ══════════════════════════════════════════════════
   22. PARENT-THEME OVERRIDES & CARD BUTTON FIXES
   ══════════════════════════════════════════════════ */

/* Hello Elementor styles bare `button` elements, including :focus and
   :active states. Those selectors carry higher specificity than our single
   classes, so a clicked button picked up the parent theme's accent colour
   and kept it until blur. Pin every state explicitly. */
.btn-gold,.btn-gold:hover,.btn-gold:focus,.btn-gold:active,.btn-gold:visited{
  background:var(--gold);color:#fff;border:none;
}
.btn-navy,.btn-navy:hover,.btn-navy:focus,.btn-navy:active,.btn-navy:visited{
  background:var(--navy);color:#fff;border:none;
}
.btn-outline,.btn-outline:focus,.btn-outline:active{
  background:transparent;color:var(--navy);border:1px solid var(--gold);
}
.btn-outline:hover{background:var(--gold);color:#fff}

/* Card-shaped buttons must stay transparent in every state. */
.team-card,.team-card:hover,.team-card:focus,.team-card:active,
.play-btn,.play-btn:hover,.play-btn:focus,.play-btn:active,
.brief-close,.brief-close:hover,.brief-close:focus,
.team-detail__close,.team-detail__close:hover,.team-detail__close:focus,
.nav-burger,.nav-burger:hover,.nav-burger:focus{
  background:transparent;
}
.res-card,.res-card:hover,.res-card:focus,.res-card:active{
  background:var(--paper);color:inherit;
}
.lbox__close,.lbox__close:hover,.lbox__close:focus{background:rgba(255,255,255,.1)}

/* Clicking a card button was selecting its text, and the selection
   highlight read as a solid block across the whole card. */
.team-card,.res-card,.play-btn{-webkit-user-select:none;user-select:none}

/* Text inside a <button> was not wrapping, so long paragraphs ran past the
   card edge and over neighbouring columns. Force normal flow and stop grid
   items being sized by their max-content width. */
.team-card,.res-card{white-space:normal;text-align:left}
.team-card span,.res-card span{white-space:normal;overflow-wrap:anywhere}
.res-card__p,.res-card__h,.team-card__hook,.team-card__name{width:100%}
.res-grid>*,.mod-grid>*,.team-grid>*,.proof-sec__grid>*,
.drivers-grid>*,.case-metrics>*,.fpa-grid>*{min-width:0}

/* Own the selection colour rather than inheriting the parent theme's. */
::selection{background:var(--gold);color:#fff}
::-moz-selection{background:var(--gold);color:#fff}

/* Portraits read as monochrome until hovered. */
.team-card__pic img{filter:grayscale(1);transition:filter .45s ease,transform .45s ease}
.team-card:hover .team-card__pic img,
.team-card:focus-visible .team-card__pic img{filter:grayscale(0)}
.team-detail__pic img{filter:none}
@media(prefers-reduced-motion:reduce){
  .team-card__pic img{transition:none}
}

/* ══════════════════════════════════════════════════
   25. CUSTOMERS LANDING PAGE
   ══════════════════════════════════════════════════ */
.cust-hero{background:var(--ivory);padding-top:160px;padding-bottom:88px}
.cust-hero__h{
  margin-top:16px;font-weight:700;font-size:clamp(38px,6vw,70px);line-height:1.05;
  color:var(--navy);max-width:16ch;letter-spacing:-.025em;
}
.cust-hero__h em{font-style:italic;color:var(--gold)}
.cust-hero__p{margin-top:32px;font-size:18px;line-height:1.7;color:var(--muted);max-width:54ch}

.cust-h2{font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.16;color:var(--navy)}

.cust-grid-sec{background:var(--paper);border-top:1px solid var(--line)}
.cust-grid{
  margin-top:48px;display:grid;gap:8px;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
}
.cust-logo{
  display:flex;align-items:center;justify-content:center;
  padding:30px 22px;min-height:104px;border:1px solid transparent;
  transition:border-color .25s ease,background .25s ease;
}
.cust-grid{--logo-h:52px}
.cust-logo img{
  max-width:100%;width:auto;display:block;
  max-height:calc(var(--logo-h) * var(--s,1));
}
.cust-logo.has-case{cursor:pointer}
.cust-logo.has-case:hover{border-color:var(--gold);background:var(--ivory)}
@media(max-width:640px){
  .cust-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));--logo-h:36px}
  .cust-logo{padding:20px 14px;min-height:78px}
}

.cust-cases{background:var(--ivory)}
.cust-case-grid{
  margin-top:48px;display:grid;gap:24px;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}
.cust-case{
  display:flex;flex-direction:column;height:100%;padding:32px;
  background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);
  text-decoration:none;transition:transform .25s ease,box-shadow .25s ease;
}
a.cust-case:hover{transform:translateY(-3px);box-shadow:0 18px 44px -26px rgba(11,18,32,.4)}
.cust-case__logo{display:block;height:38px;margin-bottom:24px}
.cust-case__logo img{max-height:calc(38px * var(--s,1));width:auto;display:block}
.cust-case__stat{
  display:block;font-weight:500;font-size:46px;line-height:1;
  color:var(--navy);letter-spacing:-.02em;
}
.cust-case__statlabel{display:block;margin-top:8px;font-weight:700;font-size:13px;color:var(--gold)}
.cust-case__meta{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.cust-case__blurb{display:block;margin-top:16px;font-size:13.5px;line-height:1.7;color:var(--muted);flex:1}
.cust-case__cta{
  display:inline-flex;align-items:center;gap:8px;margin-top:24px;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.case-index__state{
  display:block;margin:-4px 0 18px;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.case-index__note{margin-top:38px;font-size:14px;color:var(--muted)}
.case-index__note a{color:var(--gold)}
/* placeholder — honest about what's coming without faking a study */
.cust-case.is-pending{
  border:1px dashed var(--line);border-top:1px dashed var(--line);background:none;
  align-items:flex-start;justify-content:center;min-height:220px;
}
.cust-case__soon{
  font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);
}
.cust-case__pendname{margin-top:10px;font-weight:500;font-size:22px;color:var(--faint)}

.cust-quotes{background:var(--paper);border-top:1px solid var(--line)}
.cust-quote-grid{
  margin-top:48px;display:grid;gap:32px;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
}
.cust-quote{margin:0;padding-left:22px;border-left:2px solid var(--gold);height:100%}
.cust-quote blockquote{
  margin:0;font-style:italic;font-size:19px;line-height:1.55;color:var(--navy);
}
.cust-quote figcaption{margin-top:20px}
.cust-quote__name{display:block;font-size:13.5px;font-weight:600;color:var(--navy)}
.cust-quote__role{display:block;margin-top:3px;font-size:12px;color:var(--muted)}

/* Customers hero: the headline sits left, the canonical facts fill the right,
   so the band isn't a half-empty rectangle. */
.cust-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
@media(max-width:900px){.cust-hero__grid{grid-template-columns:1fr;gap:48px}}
.cust-facts{display:flex;flex-direction:column;gap:34px}
.cust-fact{padding-left:24px;border-left:2px solid var(--gold)}
.cust-fact__v{
  display:block;font-weight:500;font-size:clamp(34px,3.6vw,50px);line-height:1;
  color:var(--navy);letter-spacing:-.02em;
}
.cust-fact__k{
  display:block;margin-top:8px;font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
}
.cust-fact__d{display:block;margin-top:6px;font-size:13.5px;line-height:1.6;color:var(--muted);max-width:30ch}

/* ══════════════════════════════════════════════════
   26. FOOTER CONTACT + SOCIAL
   ══════════════════════════════════════════════════ */
.footer-cols{
  margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.1);
  display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.footer-col__h{
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-soft);margin:0 0 14px;
}
.footer-col,.footer-col address{
  font-style:normal;font-size:14px;line-height:1.8;color:rgba(255,255,255,.7);
}
.footer-col a{color:rgba(255,255,255,.7);text-decoration:none}
.footer-col a:hover{color:#fff}
.footer-social{display:flex;flex-direction:column;gap:12px}
.footer-social a{
  display:inline-flex;align-items:center;gap:11px;
  font-size:14px;color:rgba(255,255,255,.7);text-decoration:none;
  transition:color .2s ease;width:fit-content;
}
.footer-social a:hover{color:var(--gold-soft)}
.footer-social svg{flex-shrink:0}

/* ── customer quote ── */
.cust-quote{margin:0;padding-left:26px;border-left:2px solid var(--gold);height:100%}
.cust-quote blockquote{
  margin:0;font-style:italic;font-weight:400;
  font-size:clamp(20px,2.2vw,27px);line-height:1.42;color:var(--navy);
}
.cust-quote__note{
  margin-top:20px;font-size:15px;line-height:1.7;color:var(--muted);max-width:52ch;
}
.cust-quote figcaption{
  margin-top:30px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:16px;
}
.cust-quote__pic{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:block}
.cust-quote__who{flex:1;min-width:0}
.cust-quote__name{display:block;font-size:15px;font-weight:600;color:var(--navy)}
.cust-quote__role{display:block;margin-top:3px;font-size:13px;color:var(--muted)}
.cust-quote__logo{
  height:calc(38px * var(--s,1));width:auto;display:block;flex-shrink:0;margin-left:auto;
}
@media(max-width:520px){
  .cust-quote figcaption{flex-wrap:wrap}
  .cust-quote__logo{margin-left:0}
}

/* ══════════════════════════════════════════════════
   27. PRIVACY
   ══════════════════════════════════════════════════ */
.priv-hero{background:var(--ivory);padding-top:160px;padding-bottom:80px}
.priv-hero__h{
  margin-top:16px;font-weight:700;font-size:clamp(36px,5.4vw,64px);line-height:1.06;
  color:var(--navy);max-width:16ch;letter-spacing:-.025em;
}
.priv-hero__h em{font-style:italic;color:var(--gold)}
.priv-hero__p{margin-top:30px;font-size:18px;line-height:1.7;color:var(--muted);max-width:54ch}

.priv-h2{font-weight:500;font-size:clamp(26px,3.2vw,38px);line-height:1.18;color:var(--navy)}
.priv-posture{background:var(--paper);border-top:1px solid var(--line)}
.priv-grid{
  margin-top:48px;display:grid;gap:44px 48px;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}
.priv-item{border-top:1px solid var(--line);padding-top:22px}
.priv-item h3{font-weight:600;font-size:17px;line-height:1.3;color:var(--navy)}
.priv-item p{margin-top:12px;font-size:14.5px;line-height:1.75;color:var(--muted)}

.priv-policy{background:var(--ivory)}
.priv-body{margin-top:28px;font-size:15.5px;line-height:1.8;color:var(--muted)}
.priv-body h2,.priv-body h3{color:var(--navy);margin-top:36px;scroll-margin-top:110px}
.priv-body h2{font-weight:500;font-size:clamp(22px,2.5vw,29px);line-height:1.25}
.priv-body h3{font-size:19px}
.priv-body p{margin-top:16px}
.priv-body ul,.priv-body ol{margin-top:16px;padding-left:22px}
.priv-body li{margin-top:8px}
.priv-body a{color:var(--gold)}
.priv-body .priv-updated{margin-top:0;color:var(--navy)}
.priv-body address{margin-top:24px;padding-left:20px;border-left:2px solid var(--gold);font-style:normal}
.priv-empty{
  padding:26px 28px;border:1px dashed var(--gold);
  font-size:14.5px;line-height:1.7;color:var(--muted);
}
.priv-empty strong{display:block;color:var(--navy);margin-bottom:6px}

.priv-contact{background:var(--paper);border-top:1px solid var(--line)}
.priv-contact a{color:var(--gold)}
.priv-address{
  margin-top:22px;font-style:normal;font-size:15.5px;line-height:1.9;color:var(--muted);
  padding-left:20px;border-left:2px solid var(--gold);
}

/* Trust Center */
.trust-hero{background:var(--navy);padding-top:150px;padding-bottom:86px}
.trust-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(40px,6vw,84px);align-items:center}
.trust-hero h1{font-weight:500;font-size:clamp(38px,5.7vw,68px);line-height:1.05;color:#fff;max-width:14ch}
.trust-hero h1 em{font-style:italic;color:var(--gold-soft)}
.trust-hero p{margin-top:26px;max-width:58ch;font-size:17px;line-height:1.7;color:rgba(255,255,255,.7)}
.trust-hero__visual{margin:0;display:flex;align-items:center;justify-content:center;min-width:0}
.trust-hero__visual img{display:block;width:min(100%,520px);height:auto;opacity:.72;filter:saturate(.58) contrast(.94)}
@media(max-width:900px){
  .trust-hero__grid{grid-template-columns:minmax(0,1fr) minmax(250px,.58fr);gap:32px}
  .trust-hero__visual img{opacity:.66}
}
@media(max-width:700px){
  .trust-hero{padding-bottom:64px}
  .trust-hero__grid{grid-template-columns:1fr;gap:30px}
  .trust-hero__visual{width:min(100%,360px);margin:0 auto}
  .trust-hero__visual img{opacity:.62}
}
.trust-badges{background:var(--paper)}
.trust-badges h2,.trust-group h2{margin-top:12px;font-weight:500;font-size:clamp(28px,3.5vw,42px);line-height:1.16;color:var(--navy)}
.trust-badge-grid{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.trust-badge{padding:28px 24px;border:1px solid var(--line);background:var(--ivory);height:100%}
.trust-badge img{display:block;width:auto;height:76px;max-width:132px;object-fit:contain;object-position:left center}
.trust-badge h3{margin-top:22px;font-size:18px;font-weight:600;color:var(--navy)}
.trust-badge p{margin-top:12px;font-size:13.5px;line-height:1.65;color:var(--muted)}
.trust-group__grid{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:72px;align-items:start}
.trust-group__heading{position:sticky;top:112px}
.trust-disclosures{border-top:1px solid var(--line)}
.trust-disclosure{border-bottom:1px solid var(--line)}
.trust-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:16px 4px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;color:var(--navy)}
.trust-disclosure summary::-webkit-details-marker{display:none}
.trust-disclosure summary svg{flex-shrink:0;transition:transform .2s ease}
.trust-disclosure[open] summary svg{transform:rotate(180deg)}
.trust-disclosure summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.trust-disclosure__body{padding:0 36px 24px 4px;font-size:14.5px;line-height:1.75;color:var(--muted)}
.trust-disclosure__body p + p{margin-top:14px}
.trust-disclosure__body a{color:var(--gold)}
@media(max-width:860px){.trust-group__grid{grid-template-columns:1fr;gap:32px}.trust-group__heading{position:static}.trust-disclosure__body{padding-right:4px}}

/* ══════════════════════════════════════════════════
   28. LIFE AT d2o
   The only photography on the site outside the four portraits. Given how much
   of the rest is type and numbers, these carry most of the warmth — so they
   get room rather than being shrunk into a tidy row of thumbnails.
   ══════════════════════════════════════════════════ */
.life-sec{background:var(--ivory);border-top:1px solid var(--line)}
.life-h2{
  margin-top:16px;font-weight:500;font-size:clamp(28px,3.6vw,44px);
  line-height:1.15;color:var(--navy);max-width:20ch;
}
.life-h2 em{font-style:italic;color:var(--gold)}

.life-grid{
  margin-top:56px;display:grid;gap:24px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.life-item{margin:0}
.life-item.is-wide{grid-column:1 / -1}
.life-item img{
  display:block;width:100%;height:auto;object-fit:cover;
  aspect-ratio:16/9;background:var(--ivory-deep);
}
.life-item.is-wide img{aspect-ratio:21/9}
/* Captions read as labels, not sentences: they sit on one line under the
   image rather than wrapping into a paragraph beneath a very wide photo. */
.life-item figcaption{
  margin-top:14px;font-size:11.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint);
}
@media(max-width:760px){
  .life-grid{grid-template-columns:1fr}
  .life-item img,.life-item.is-wide img{aspect-ratio:16/10}
}

/* Company hero: copy left, the team photo right. The page opens with people
   rather than with a statistic. */
.company-hero__grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
}
@media(max-width:900px){.company-hero__grid{grid-template-columns:1fr;gap:44px}}
.company-hero__copy{min-width:0}
.company-hero__art{min-width:0}
.company-hero__art img{
  display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  background:var(--ivory-deep);
}
.company-hero__cap{
  display:block;margin-top:14px;font-size:11.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
}

/* ══════════════════════════════════════════════════
   29. CASE STUDY TEMPLATE
   ══════════════════════════════════════════════════ */
.case-hero__h em{display:block;margin-top:8px}
.case-sec{padding-top:80px;padding-bottom:80px}
.case-sec__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:64px;align-items:start}
@media(max-width:900px){.case-sec__grid{grid-template-columns:1fr;gap:28px}}
.case-sec__head{position:sticky;top:110px}
@media(max-width:900px){.case-sec__head{position:static}}
.case-sec__body p{font-size:16.5px;line-height:1.75;color:var(--muted);max-width:62ch}
.case-sec__body p + p{margin-top:18px}
.case-sec__body strong{color:var(--navy);font-weight:600}
.case-sec__body em{font-style:italic}

.case-list{margin:28px 0 0;display:flex;flex-direction:column;gap:0}
.case-list > div{
  display:grid;grid-template-columns:minmax(140px,190px) 1fr;gap:24px;
  padding:16px 0;border-top:1px solid var(--line);
}
.case-list dt{font-size:14px;font-weight:600;color:var(--navy)}
.case-list dd{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}
@media(max-width:640px){
  .case-list > div{grid-template-columns:1fr;gap:6px}
}

.case-voices{
  margin-top:48px;display:grid;gap:32px;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}
.case-voice{margin:0;padding-left:22px;border-left:2px solid var(--gold);height:100%}
.case-voice blockquote{
  margin:0;font-style:italic;font-size:18px;line-height:1.5;color:var(--navy);
}
.case-voice figcaption{margin-top:18px}
.case-voice__name{display:block;font-size:14px;font-weight:600;color:var(--navy)}
.case-voice__role{display:block;margin-top:3px;font-size:12.5px;color:var(--muted)}
.case-source{margin-top:40px;font-size:13px;color:var(--faint)}
.case-source a{color:var(--gold)}

.case-pending{padding:36px 40px;border:1px dashed var(--gold);max-width:60ch}
.case-pending__k{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.case-pending p{font-size:16px;line-height:1.75;color:var(--muted)}
.case-pending a{color:var(--gold)}

/* ══════════════════════════════════════════════════
   30. NEWS & ARTICLES
   Native WordPress posts: archive cards and long-form article reading view.
   ══════════════════════════════════════════════════ */
.news-hero{padding-top:164px;padding-bottom:84px;background:var(--ivory);border-bottom:1px solid var(--line)}
.news-hero__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:72px;align-items:end}
.news-hero h1,.article-hero h1{
  font-family:'Newsreader',Georgia,'Times New Roman',serif;font-weight:500;
  letter-spacing:-.025em;color:var(--navy)
}
.news-hero h1{font-size:clamp(48px,7vw,88px);line-height:.98}
.news-hero__grid>p,.news-hero__description{font-size:16px;line-height:1.75;color:var(--muted);max-width:42ch}
.news-hero__description p{margin:0}
@media(max-width:800px){
  .news-hero__grid{grid-template-columns:1fr;gap:28px}
  .news-hero{padding-top:138px;padding-bottom:64px}
}

.news-index{background:var(--paper)}
.news-search{max-width:680px;margin-bottom:58px}
.news-search__controls{display:flex;align-items:flex-end;gap:12px}
.news-search__field{flex:1;min-width:0}
.news-search label{
  display:block;margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy)
}
.news-search input[type="search"]{
  width:100%;height:48px;padding:0 15px;border:1px solid var(--line);border-radius:0;
  background:var(--paper);color:var(--navy);font:inherit;font-size:15px;
  -webkit-appearance:none;appearance:none
}
.news-search input[type="search"]::placeholder{color:var(--faint)}
.news-search button{
  min-height:48px;padding:0 24px;border:1px solid var(--navy);background:var(--navy);
  color:var(--white);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer
}
.news-search button:hover{background:var(--gold);border-color:var(--gold)}
.news-search input[type="search"]:focus-visible,.news-search button:focus-visible,
.article-breadcrumb a:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px
}
.news-search-summary{margin:-18px 0 42px;font-size:14px;line-height:1.6;color:var(--muted)}
.news-search-summary strong{color:var(--navy)}
.news-empty__return{display:inline-block;margin-top:20px;color:var(--gold);font-weight:650;text-underline-offset:3px}
.news-hero--search h1{font-size:clamp(42px,5.5vw,72px);overflow-wrap:anywhere}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}
.article-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:38px}
.article-card__media{display:block;overflow:hidden;background:var(--ivory-deep);aspect-ratio:3/2}
.article-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.article-card__media:hover img{transform:scale(1.025)}
.article-card__placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.article-card__body{padding-top:24px}
.article-card__meta,.article-hero__meta{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;
  font-size:10.5px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)
}
.article-card__meta a{color:var(--gold);text-decoration:none}
.article-card__title{
  margin-top:16px;font-family:'Newsreader',Georgia,'Times New Roman',serif;
  font-size:clamp(25px,3vw,35px);font-weight:500;line-height:1.13;letter-spacing:-.015em
}
.article-card__title a{text-decoration:none}
.article-card__title a:hover{color:var(--gold)}
.article-card__excerpt{margin-top:15px;font-size:14.5px;line-height:1.72;color:var(--muted)}
.article-card__excerpt p{margin:0}
.article-card__link{
  margin-top:22px;display:inline-flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase
}
.article-card__link svg{transition:transform .2s ease}
.article-card__link:hover{color:var(--gold)}
.article-card__link:hover svg{transform:translateX(4px)}
@media(max-width:720px){.article-grid{grid-template-columns:1fr;gap:48px}}

.navigation.pagination{margin-top:72px}
.pagination .nav-links{display:flex;align-items:center;gap:8px}
.pagination .page-numbers{
  min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);text-decoration:none;font-size:12px;font-weight:650
}
.pagination .page-numbers.current,.pagination a.page-numbers:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.news-empty{padding:54px 0}
.news-empty h2{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:34px;font-weight:500}
.news-empty p{margin-top:12px;color:var(--muted)}
@media(max-width:540px){
  .news-search__controls{align-items:stretch;flex-direction:column}
  .news-search button{align-self:flex-start}
}

.article-hero{padding-top:164px;padding-bottom:76px;background:var(--ivory)}
.article-breadcrumb{margin-bottom:24px;font-size:12px;line-height:1.5;color:var(--faint)}
.article-breadcrumb ol{display:flex;align-items:center;min-width:0;padding:0;list-style:none}
.article-breadcrumb li{min-width:0}
.article-breadcrumb li+li{display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.article-breadcrumb li+li::before{content:"/";flex:none;margin:0 10px;color:var(--steel)}
.article-breadcrumb a{color:var(--gold);font-weight:650;text-decoration:none}
.article-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.article-hero__category{display:inline-block;text-decoration:none}
.article-hero h1{font-size:clamp(42px,6vw,74px);line-height:1.02;max-width:18ch}
.article-hero__excerpt{margin-top:30px;font-size:18px;line-height:1.68;color:var(--muted);max-width:62ch}
.article-hero__excerpt p{margin:0}
.article-hero__meta{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.article-main{background:var(--paper);padding-top:88px;padding-bottom:104px}
.article-content{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:20px;line-height:1.75;color:#283238}
.article-content>*+*{margin-top:1.3em}
.article-content h2,.article-content h3,.article-content h4,.article-content h5{
  color:var(--navy);line-height:1.18;letter-spacing:-.015em;margin-top:1.8em
}
.article-content h2{font-size:clamp(31px,4vw,43px);font-weight:500}
.article-content h3{font-size:clamp(25px,3vw,32px);font-weight:500}
.article-content h4{font-size:22px;font-weight:600}
.article-content h5{font-size:19px;font-weight:600}
.article-content p,.article-content li{max-width:68ch}
.article-content ul,.article-content ol{padding-left:1.35em}
.article-content li+li{margin-top:.45em}
.article-content a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}
.article-content blockquote{margin:2em 0;padding:6px 0 6px 28px;border-left:2px solid var(--gold);font-size:1.2em;font-style:italic;color:var(--navy)}
.article-content blockquote>*{margin:0}
.article-content blockquote>*+*{margin-top:.7em}
.article-content figure,.article-content .wp-block-image{margin:2.2em 0}
.article-content img{display:block;height:auto}
.article-content figcaption,.article-content .wp-caption-text{margin-top:10px;font-family:'Inter',system-ui,sans-serif;font-size:12px;line-height:1.5;color:var(--faint)}
.article-content iframe{max-width:100%}
.article-content .alignwide{width:min(100vw - 40px,1040px);max-width:none;margin-left:50%;transform:translateX(-50%)}
.article-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.article-taxonomy{margin-top:72px;padding-top:28px;border-top:1px solid var(--line);display:grid;gap:14px}
.article-taxonomy div{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;line-height:1.5;color:var(--muted)}
.article-taxonomy span{font-weight:700;color:var(--navy)}
.article-taxonomy a{color:var(--gold);text-decoration:none}
.article-nav{padding-top:64px;padding-bottom:64px;background:var(--ivory);border-top:1px solid var(--line)}
.article-nav__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.article-nav__grid>div:last-child{text-align:right}
.article-nav span{display:block;margin-bottom:9px;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}
.article-nav a{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:22px;line-height:1.25;text-decoration:none}
.article-nav a:hover{color:var(--gold)}
@media(max-width:640px){
  .article-hero{padding-top:138px;padding-bottom:60px}
  .article-main{padding-top:64px;padding-bottom:76px}
  .article-content{font-size:18px}
  .article-nav__grid{grid-template-columns:1fr;gap:32px}
  .article-nav__grid>div:last-child{text-align:left}
}

/* ══════════════════════════════════════════════════
   31. PROFIT CONVERSION MANAGEMENT AUTHORITY HUB
   Canonical pillar + native post-based evergreen insight series.
   ══════════════════════════════════════════════════ */
.framework__cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--gold-soft);
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none
}
.framework__cta svg{transition:transform .2s ease}
.framework__cta:hover svg{transform:translateX(4px)}
.framework__cta:focus-visible{outline:2px solid var(--gold-soft);outline-offset:5px}

@media(min-width:1121px) and (max-width:1320px){
  .site-nav{padding-left:24px;padding-right:24px}
  .nav-links{gap:17px}
  .nav-link{font-size:11px;letter-spacing:.1em}
  .nav-links>.btn{padding-left:17px;padding-right:17px}
}

.pcm-hero{padding-top:154px;padding-bottom:92px;background:var(--ivory);border-bottom:1px solid var(--line)}
.pcm-hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);gap:80px;align-items:center}
.pcm-breadcrumb,.pcm-series-link{font-size:12px;line-height:1.5}
.pcm-breadcrumb{margin-bottom:34px;color:var(--faint)}
.pcm-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;min-width:0;padding:0;list-style:none;row-gap:4px}
.pcm-breadcrumb li{min-width:0;overflow-wrap:anywhere}
.pcm-breadcrumb li+li{display:flex;align-items:center;min-width:0}
.pcm-breadcrumb li+li::before{content:"/";margin:0 10px;color:var(--steel)}
.pcm-breadcrumb a{color:var(--gold);font-weight:650;text-decoration:none}
.pcm-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.pcm-hero h1{
  margin-top:20px;max-width:10ch;font-family:'Newsreader',Georgia,'Times New Roman',serif;
  font-size:clamp(52px,7vw,94px);font-weight:500;line-height:.96;letter-spacing:-.035em;color:var(--navy)
}
.pcm-hero__line{margin-top:27px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:clamp(25px,3vw,38px);font-style:italic;color:var(--gold)}
.pcm-hero__definition{margin-top:26px;max-width:60ch;font-size:17px;line-height:1.72;color:var(--muted)}
.pcm-hero__principle{margin-top:20px;max-width:62ch;padding-left:18px;border-left:2px solid var(--gold);font-size:14px;font-weight:650;line-height:1.65;color:var(--navy)}
.pcm-economy{padding:30px;border:1px solid var(--line);background:var(--paper);box-shadow:0 26px 60px -44px rgba(10,23,29,.55)}
.pcm-economy figcaption{margin-bottom:22px;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.pcm-economy ol{position:relative;display:grid;gap:12px;margin:0;padding:0 0 0 26px;list-style:none}
.pcm-economy ol::before{content:"";position:absolute;top:42px;bottom:42px;left:7px;width:1px;background:linear-gradient(var(--line),var(--gold),var(--line))}
.pcm-economy__stage{position:relative;min-height:86px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);background:var(--ivory)}
.pcm-economy__stage::before{content:"";position:absolute;top:50%;left:-25px;width:13px;height:13px;border:3px solid var(--paper);border-radius:50%;background:var(--steel);box-shadow:0 0 0 1px var(--line);transform:translateY(-50%)}
.pcm-economy__stage span{font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--faint)}
.pcm-economy__stage strong{margin-top:8px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:22px;font-weight:500;line-height:1.15;color:var(--navy)}
.pcm-economy__stage.is-accent{background:var(--navy);border-color:var(--navy)}
.pcm-economy__stage.is-accent::before{background:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.pcm-economy__stage.is-accent span{color:var(--gold-soft)}
.pcm-economy__stage.is-accent strong{color:#fff}
.pcm-economy__stage small{margin-top:9px;max-width:30ch;font-size:10px;font-weight:650;line-height:1.45;letter-spacing:.045em;color:rgba(255,255,255,.62)}

.pcm-intro{background:var(--paper)}
.pcm-intro h2,.pcm-copy h2,.pcm-section-head h2,.pcm-scale h2,.pcm-why-now h2,
.pcm-engine h2,.pcm-final h2,.pcm-faq h2,.pcm-article-related h2{
  margin-top:16px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:clamp(34px,4.8vw,58px);
  font-weight:500;line-height:1.08;letter-spacing:-.025em;color:var(--navy)
}
.pcm-intro p,.pcm-copy p,.pcm-scale p,.pcm-why-now p,.pcm-engine p{
  margin-top:22px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:20px;line-height:1.72;color:#354047
}
.pcm-intro blockquote{margin:34px 0;padding:8px 0 8px 28px;border-left:2px solid var(--gold);font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:clamp(26px,3.2vw,38px);font-style:italic;line-height:1.3;color:var(--navy)}

.pcm-missing,.pcm-cycle,.pcm-engine,.pcm-why-now{background:var(--navy);color:#fff}
.pcm-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.58fr);gap:86px;align-items:center}
.pcm-missing .pcm-copy h2,.pcm-cycle h2,.pcm-engine h2,.pcm-why-now h2{color:#fff}
.pcm-missing .pcm-copy p,.pcm-engine p,.pcm-why-now p{color:rgba(255,255,255,.72)}
.pcm-equation,.pcm-equation-inline{
  padding:18px 20px;border:1px solid rgba(217,169,74,.42);background:rgba(217,169,74,.08);
  font-family:'Inter',system-ui,sans-serif!important;font-size:14px!important;font-weight:700!important;
  letter-spacing:.04em;color:var(--gold-soft)!important
}
.pcm-copy ul{margin-top:24px;padding-left:1.25em;color:rgba(255,255,255,.72)}
.pcm-copy li{font-size:15px;line-height:1.65}.pcm-copy li+li{margin-top:9px}
.pcm-infographic{margin:0;padding:14px;background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px -34px rgba(0,0,0,.85)}
.pcm-infographic img{display:block;width:100%;height:auto}
.pcm-infographic figcaption{padding:12px 4px 2px;font-size:11px;line-height:1.5;color:var(--muted)}

.pcm-compare,.pcm-measures,.pcm-explore,.pcm-faq-section{background:var(--ivory)}
.pcm-section-head{max-width:840px;margin-bottom:44px}
.pcm-section-head p{margin-top:20px;max-width:68ch;font-size:16px;line-height:1.72;color:var(--muted)}
.pcm-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:var(--paper);-webkit-overflow-scrolling:touch}
.pcm-table-wrap:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.pcm-table{width:100%;min-width:680px;border-collapse:collapse;font-family:'Inter',system-ui,sans-serif}
.pcm-table th,.pcm-table td{width:50%;padding:18px 22px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px;line-height:1.55}
.pcm-table th{background:var(--navy);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pcm-table th+th{border-left:1px solid rgba(255,255,255,.16);color:var(--gold-soft)}
.pcm-table td+td{border-left:1px solid var(--line)}
.pcm-table tr:last-child td{border-bottom:0}
.pcm-text-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--gold);font-size:12px;font-weight:750;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}
.pcm-text-link svg{transition:transform .2s ease}.pcm-text-link:hover svg{transform:translateX(4px)}
.pcm-text-link:focus-visible{outline:2px solid var(--gold);outline-offset:5px}

.pcm-leak,.pcm-levers,.pcm-scale,.pcm-related{background:var(--paper)}
.pcm-leak__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}
.pcm-leak__card{min-width:0;padding:28px 22px;border-right:1px solid var(--line)}
.pcm-leak__card:last-child{border-right:0}
.pcm-leak__card>span,.pcm-lever>span{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--gold)}
.pcm-leak__card h3,.pcm-lever h3,.pcm-article-card h3,.pcm-resource-card h3{
  margin-top:16px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;line-height:1.18;color:var(--navy)
}
.pcm-leak__card p,.pcm-lever p,.pcm-article-card p,.pcm-resource-card p{margin-top:13px;font-size:13.5px;line-height:1.68;color:var(--muted)}
.pcm-section-close{max-width:70ch;margin-top:30px;font-size:16px;line-height:1.7;color:var(--muted)}

.pcm-cycle .pcm-section-head p{color:rgba(255,255,255,.7)}
.pcm-cycle .pcm-section-head p strong{color:#fff}
.pcm-cycle__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:52px 0 0;padding:0;list-style:none;border:1px solid rgba(255,255,255,.16)}
.pcm-cycle__steps li{position:relative;min-width:0;padding:28px 24px;border-right:1px solid rgba(255,255,255,.14)}
.pcm-cycle__steps li:last-child{border-right:0}
.pcm-cycle__steps li:not(:last-child)::after{content:"→";position:absolute;top:29px;right:-9px;z-index:1;color:var(--gold-soft);background:var(--navy)}
.pcm-cycle__steps span{font-size:10px;font-weight:750;letter-spacing:.14em;color:var(--gold-soft)}
.pcm-cycle__steps strong{display:block;margin-top:14px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;color:#fff}
.pcm-cycle__steps p{margin-top:12px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.62)}
.pcm-cycle__result{margin:32px 0 0;max-width:76ch;font-size:16px;line-height:1.7;color:rgba(255,255,255,.72)}

.pcm-levers__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.pcm-lever{display:flex;min-width:0;min-height:330px;flex-direction:column;padding:27px 24px;border:1px solid var(--line);background:var(--ivory);text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.pcm-lever p{flex:1}.pcm-lever b,.pcm-article-card b,.pcm-resource-card b{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--gold);font-size:10.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
@media(hover:hover) and (pointer:fine){.pcm-lever:hover,.pcm-article-card:hover,.pcm-resource-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 20px 44px -34px rgba(10,23,29,.7)}}
.pcm-lever:focus-visible,.pcm-article-card:focus-visible,.pcm-resource-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.pcm-split--measure{grid-template-columns:minmax(0,.8fr) minmax(430px,1.2fr)}
.pcm-measures .pcm-copy ul{color:var(--muted)}
.pcm-metrics{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--paper)}
.pcm-metrics>div{min-width:0;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pcm-metrics>div:nth-child(2n){border-right:0}.pcm-metrics>div:nth-last-child(-n+2){border-bottom:0}
.pcm-metrics dt{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:28px;font-weight:600;color:var(--navy)}
.pcm-metrics dd{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted)}

.pcm-engine__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:88px;align-items:center}
.pcm-engine .btn{margin-top:30px}
.pcm-engine__statement{padding:36px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.pcm-engine__statement span{display:block;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.pcm-engine__statement strong{display:block;margin-top:9px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:30px;font-weight:500;line-height:1.15;color:#fff}
.pcm-engine__statement i{display:block;margin:28px 0;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);font-size:12px;font-style:normal;color:rgba(255,255,255,.48)}

.pcm-scale h2{max-width:16ch}.pcm-scale .pcm-text-link{font-family:'Inter',system-ui,sans-serif}
.pcm-why-now{text-align:center}.pcm-why-now .wrap-narrow{max-width:820px}.pcm-why-now p{margin-left:auto;margin-right:auto;max-width:68ch}
.pcm-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pcm-article-card,.pcm-resource-card{display:flex;min-width:0;min-height:300px;flex-direction:column;padding:29px 28px;border:1px solid var(--line);background:var(--paper);text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.pcm-article-card>span,.pcm-resource-card>span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pcm-article-card p,.pcm-resource-card p{flex:1}.pcm-article-card b,.pcm-resource-card b{margin-top:24px}
.pcm-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pcm-resource-card{min-height:330px;background:var(--ivory)}

.pcm-faq{margin-top:0}.pcm-faq h2{font-size:clamp(32px,4vw,48px)}
.pcm-faq__list{margin-top:38px;border-top:1px solid var(--line)}
.pcm-faq__item{border-bottom:1px solid var(--line)}
.pcm-faq__item summary{position:relative;padding:22px 48px 22px 0;cursor:pointer;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:21px;font-weight:550;line-height:1.35;color:var(--navy);list-style:none}
.pcm-faq__item summary::-webkit-details-marker{display:none}
.pcm-faq__item summary::after{content:"+";position:absolute;right:4px;top:20px;font-family:'Inter',system-ui,sans-serif;font-size:22px;font-weight:400;color:var(--gold)}
.pcm-faq__item[open] summary::after{content:"−"}
.pcm-faq__item summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pcm-faq__item p{max-width:70ch;padding:0 48px 24px 0;font-size:15px;line-height:1.75;color:var(--muted)}

.pcm-final{background:var(--ivory-deep);text-align:center}.pcm-final p{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.pcm-final h2{margin-left:auto;margin-right:auto;max-width:20ch}
.pcm-final__marks{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--navy)}

/* Authority-series additions to the native single-post template. */
.pcm-series-link{display:inline-flex;margin-bottom:21px;color:var(--gold);font-weight:650;text-decoration:none}
.pcm-series-link:hover{text-decoration:underline;text-underline-offset:3px}
.pcm-series-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.single-article.category-profit-conversion-management .article-hero{background:linear-gradient(120deg,var(--ivory),var(--ivory-deep))}
.single-article.category-profit-conversion-management .article-breadcrumb ol{flex-wrap:wrap;row-gap:4px}
.single-article.category-profit-conversion-management .article-breadcrumb li+li{overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
.single-article.category-profit-conversion-management .article-content{font-size:19px}
.article-content .pcm-answer{margin:0 0 1.7em;padding:24px 26px;border:1px solid var(--line);background:var(--ivory);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.75;color:var(--navy)}
.article-content .pcm-question-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:2em 0;background:var(--line);border:1px solid var(--line)}
.article-content .pcm-question-pair>div{padding:23px;background:var(--ivory)}
.article-content .pcm-question-pair span{display:block;margin-bottom:9px;font-family:'Inter',system-ui,sans-serif;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.article-content .pcm-question-pair strong{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:23px;font-weight:550;line-height:1.3;color:var(--navy)}
.article-content .pcm-inline-cycle,.article-content .pcm-equation-inline{max-width:none;margin:2em 0;padding:22px 24px;text-align:center}
.article-content .pcm-inline-cycle{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:'Inter',system-ui,sans-serif;font-size:14px;letter-spacing:.04em;color:var(--navy)}
.article-content .pcm-table-wrap{width:min(100vw - 40px,900px);max-width:none;margin:2.2em 0 2.2em 50%;transform:translateX(-50%)}
.pcm-article-related{margin-top:76px;padding-top:46px;border-top:1px solid var(--line)}
.pcm-article-related h2{font-size:clamp(29px,3.5vw,40px)}
.pcm-article-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.pcm-article-related__grid a{display:flex;min-width:0;min-height:160px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid var(--line);background:var(--ivory);text-decoration:none}
.pcm-article-related__grid strong{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:20px;font-weight:550;line-height:1.25;color:var(--navy)}
.pcm-article-related__grid span{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pcm-article-related__grid a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Resources placement: category authority first, existing taxonomy retained. */
.res-authority{padding-top:24px;padding-bottom:24px;background:var(--ivory)}
.res-authority__card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr) auto;gap:42px;align-items:center;padding:38px 40px;border:1px solid var(--line);background:var(--navy);color:#fff;text-decoration:none;box-shadow:0 20px 50px -40px rgba(10,23,29,.75)}
.res-authority__k{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.res-authority__card h2{margin-top:12px;font-family:'Newsreader',Georgia,'Times New Roman',serif;font-size:clamp(28px,3.4vw,42px);font-weight:500;line-height:1.1;color:#fff}
.res-authority__card p{margin-top:12px;max-width:56ch;font-size:14px;line-height:1.65;color:rgba(255,255,255,.64)}
.res-authority__model{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;font-size:10px;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.res-authority__model i{font-style:normal;color:var(--gold-soft)}
.res-authority__card>strong{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft)}
.res-authority__card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.res-authority__card:hover{border-color:var(--gold)}.res-authority__card:hover>strong svg{transform:translateX(4px)}}
.res-insights{background:var(--ivory-deep)}

@media(max-width:1100px){
  .pcm-hero__grid,.pcm-split,.pcm-engine__grid{grid-template-columns:1fr;gap:52px}
  .pcm-economy{max-width:760px}
  .pcm-infographic{max-width:520px;margin-inline:auto}
  .pcm-leak__grid,.pcm-cycle__steps,.pcm-levers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pcm-leak__card{border-bottom:1px solid var(--line)}
  .pcm-cycle__steps li:nth-child(2n),.pcm-leak__card:nth-child(2n){border-right:0}
  .pcm-cycle__steps li:not(:last-child)::after{display:none}
  .pcm-levers__grid{gap:18px}.pcm-lever{min-height:270px}
  .pcm-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res-authority__card{grid-template-columns:1fr;gap:24px}.res-authority__model{justify-content:flex-start}.res-authority__card>strong{white-space:normal}
}
@media(max-width:760px){
  .pcm-hero{padding-top:132px;padding-bottom:68px}.pcm-hero h1{font-size:clamp(45px,14vw,68px)}
  .pcm-economy{padding:22px}.pcm-economy ol{padding-left:23px}.pcm-economy__stage::before{left:-22px}
  .pcm-intro p,.pcm-copy p,.pcm-scale p,.pcm-why-now p,.pcm-engine p{font-size:18px}
  .pcm-split--measure{grid-template-columns:1fr}
  .pcm-leak__grid,.pcm-cycle__steps,.pcm-levers__grid,.pcm-article-grid,.pcm-related__grid,.pcm-article-related__grid{grid-template-columns:1fr}
  .pcm-leak__card,.pcm-cycle__steps li{border-right:0;border-bottom:1px solid var(--line)}
  .pcm-leak__card:last-child,.pcm-cycle__steps li:last-child{border-bottom:0}
  .pcm-lever,.pcm-article-card,.pcm-resource-card{min-height:0}
  .pcm-metrics{grid-template-columns:1fr}.pcm-metrics>div{border-right:0}.pcm-metrics>div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .pcm-table th,.pcm-table td{padding:15px 16px;font-size:13px}
  .article-content .pcm-question-pair{grid-template-columns:1fr}
  .pcm-faq__item summary{font-size:19px}.pcm-faq__item p{padding-right:0}
  .res-authority__card{padding:30px 25px}.res-authority__model{align-items:flex-start;flex-direction:column}.res-authority__model i{transform:rotate(90deg);margin-left:14px}
}

/* ══════════════════════════════════════════════════
   23. EDITORIAL DISPLAY TYPE
   Headlines carry the serif; UI, labels and body stay Inter so the
   interface reads as a product rather than a magazine.
   ══════════════════════════════════════════════════ */
.h-display,
.hero h1,
.sf-head,
.platform-hero__h,.driver-sec__h,
.case-hero__h,.case-h2,.case-quote,
.company-hero__h,.team-sec__h,.team-card__name,.team-detail__body h3,
.life-h2,
.why-hero__h,.why-money__v,.fpa-item h3,.why-q__q,
.sol-hero__h,.mod-card__name,
.res-hero__h,.res-section-head h2,.res-feat__h,.res-card__h,.videos-hero h1,
.cust-hero__h,.cust-h2,
.priv-hero__h,.priv-h2,
.trust-hero h1,.trust-badges h2,.trust-group h2,
.closing h2,.brief-body h2,
.company-fact__v,.case-metric__v,.proof-card__big,.proof-sec__gop,
.proof-sec__group{
  font-family:'Newsreader',Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.01em;
}
.hero h1,.why-hero__h,.company-hero__h,.sol-hero__h,.res-hero__h,.videos-hero h1{font-weight:500}
.h-display em,.hero h1 em,.sf-head em,.closing h2 em,.case-h2 em,
.company-hero__h em,.team-sec__h em,.why-hero__h em,.sol-hero__h em,
.life-h2 em,.res-hero__h em,.cust-hero__h em,.priv-hero__h em,.trust-hero h1 em,
.platform-hero__h em,.brief-body h2 em{font-style:italic}
.pnl,.pnl *{font-family:'Inter',system-ui,sans-serif}
