/* Shared styles for the destination pages (/work, /method, /growth-challenges).
   Same tokens as the hand-styled pages: navy #0B1D33, brand blue #1E4FA1,
   light blue #5D9BD4, Source Serif 4 headings, Inter body, DM Sans labels.
   The older pages keep their inline styles; this file only serves the new ones. */

/* Smooth scrolling only for in-page links, switched on after load (ga-motion.js),
   so arriving at /page#section jumps straight there instead of gliding down. */
html.ga-smooth{scroll-behavior:smooth}
body{margin:0;background:#FBFBF9;color:#14202F;-webkit-font-smoothing:antialiased;font-family:'Inter',system-ui,sans-serif}
*{box-sizing:border-box}
a{color:#1E4FA1;text-decoration:none}
a:hover{color:#123163}
::selection{background:#1E4FA1;color:#fff}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid #5D9BD4;outline-offset:3px}

/* ---- layout ---- */
.gp-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.gp-narrow{max-width:820px}
.gp-section{padding:clamp(64px,9vw,120px) 0}
.gp-section + .gp-section{padding-top:0}
.gp-band{background:#fff;border-top:1px solid #EEF0F3;border-bottom:1px solid #EEF0F3}

/* ---- dark wood hero (same treatment as About / Capital Readiness) ---- */
.gp-hero{position:relative;background-color:#0B1D33;background-image:linear-gradient(rgba(11,29,51,.955),rgba(11,29,51,.972)),url('/assets/wood-wall.jpg');background-image:linear-gradient(rgba(11,29,51,.955),rgba(11,29,51,.972)),image-set(url('/assets/wood-wall.webp') type('image/webp'),url('/assets/wood-wall.jpg') type('image/jpeg'));background-size:cover;background-position:center;background-blend-mode:normal;color:#fff}
.gp-hero-inner{padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(56px,8vw,96px)}
.gp-dark{background-color:#0B1D33;background-image:linear-gradient(rgba(11,29,51,.95),rgba(11,29,51,.97)),url('/assets/wood-wall.jpg');background-image:linear-gradient(rgba(11,29,51,.95),rgba(11,29,51,.97)),image-set(url('/assets/wood-wall.webp') type('image/webp'),url('/assets/wood-wall.jpg') type('image/jpeg'));background-size:cover;background-position:center;background-blend-mode:normal;color:#fff}

/* ---- type ---- */
.gp-back{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.1em;color:#8FA0B4}
.gp-back:hover{color:#fff}
.gp-eyebrow{font-family:'DM Sans',sans-serif;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#1E4FA1}
.gp-hero .gp-eyebrow,.gp-dark .gp-eyebrow{color:#5D9BD4}
.gp-h1{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(34px,5.6vw,72px);line-height:1.02;letter-spacing:-0.015em;margin:16px 0 0;max-width:20ch}
.gp-h1 span,.gp-h2 span{display:block}
.gp-h2{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(28px,4.2vw,48px);line-height:1.05;letter-spacing:-0.015em;color:#0B1D33;margin:14px 0 0;max-width:22ch}
.gp-dark .gp-h2{color:#fff}
.gp-h3{font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(20px,2.3vw,26px);line-height:1.2;letter-spacing:-0.01em;color:#0B1D33;margin:0}
.gp-h4{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;line-height:1.3;color:#0B1D33;margin:0}
.gp-lead{font-family:'Inter',sans-serif;font-size:clamp(16px,1.7vw,20px);line-height:1.6;color:#AEBED0;margin:22px 0 0;max-width:62ch}
.gp-p{font-family:'Inter',sans-serif;font-size:clamp(16px,1.5vw,18px);line-height:1.65;color:#3A4654;margin:16px 0 0;max-width:68ch}
.gp-dark .gp-p{color:#AEBED0}
.gp-small{font-family:'Inter',sans-serif;font-size:14.5px;line-height:1.6;color:#5B6B7C}
.gp-label{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5B6B7C;margin:0 0 12px}
.gp-dark .gp-label{color:#8FA0B4}
.gp-statement{font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(19px,2.2vw,26px);line-height:1.2;letter-spacing:-0.01em;color:#0B1D33;margin:0}
.gp-dark .gp-statement{color:#fff}

/* ---- buttons and links ---- */
.gp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.gp-btn,.gp-btn-ghost,.ga-header-cta{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease}
.gp-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-weight:600;font-size:15px;color:#fff;background:#0B1D33;padding:14px 24px;border-radius:6px;border:0;cursor:pointer}
.gp-btn:hover{background:#123163;color:#fff}
.gp-btn:hover,.ga-header-cta:hover{transform:translateY(-1px);box-shadow:0 10px 20px -12px rgba(11,29,51,.6)}
.gp-btn:active,.gp-btn-ghost:active,.ga-header-cta:active{transform:translateY(0);box-shadow:none}
.gp-btn-light{color:#0B1D33;background:#fff}
.gp-btn-light:hover{background:#EEF3FB;color:#0B1D33}
.gp-btn-ghost{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-weight:600;font-size:15px;color:#1E4FA1;border:1px solid #C7D2E0;padding:13px 23px;border-radius:6px}
.gp-btn-ghost:hover{border-color:#1E4FA1;background:rgba(30,79,161,.04)}
.gp-hero .gp-btn-ghost,.gp-dark .gp-btn-ghost{color:#fff;border-color:rgba(255,255,255,.34)}
.gp-hero .gp-btn-ghost:hover,.gp-dark .gp-btn-ghost:hover{color:#fff;border-color:#fff;background:transparent}
.gp-arrow{font-family:'Inter',sans-serif;font-weight:600;font-size:15px;color:#1E4FA1;border-bottom:1px solid #C7D2E0;padding-bottom:2px}
.gp-arrow:hover{border-color:#1E4FA1}
.gp-dark .gp-arrow{color:#fff;border-color:rgba(255,255,255,.34)}

/* ---- cards, lists, quotes ---- */
.gp-card{background:#fff;border:1px solid transparent;border-radius:14px;padding:clamp(20px,2.6vw,28px);box-shadow:0 0 0 1px rgba(11,29,51,.06),0 18px 36px -28px rgba(11,29,51,.35);transition:box-shadow .25s ease,transform .25s ease}
a.gp-card:hover,a.gp-card:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(30,79,161,.25),0 24px 44px -28px rgba(11,29,51,.45)}
.gp-dark .gp-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);box-shadow:none}
.gp-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.gp-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.gp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gp-list li{display:flex;gap:12px;align-items:baseline;font-family:'Inter',sans-serif;font-size:15.5px;line-height:1.45;color:#14202F}
.gp-list li::before{content:'\203A';color:#5D9BD4;font-weight:700;flex:0 0 auto}
.gp-dark .gp-list li{color:#DCE5EF}
.gp-list-x li::before{content:'\00D7';color:#C7CDD4}
.gp-quote{border-left:2px solid #1E4FA1;padding:6px 0 6px 22px;margin:24px 0 0;max-width:72ch}
.gp-quote p{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(19px,1.9vw,23px);line-height:1.45;color:#0B1D33;margin:0}
.gp-quote p + p{margin-top:12px}
.gp-quote cite{display:block;font-style:normal;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.06em;color:#8FA0B4;margin-top:12px}
.gp-quote cite a{color:#1E4FA1}
.gp-tag{display:inline-block;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:#0B1D33;background:#fff;border:1px solid #E2E6EA;border-radius:6px;padding:8px 13px}
.gp-tags{display:flex;flex-wrap:wrap;gap:8px}
/* /method engagement path: a blue spine and a serif statement */
.ga-path .gp-wrap{box-shadow:inset 2px 0 0 #1E4FA1;padding-left:clamp(28px,4.5vw,56px)}
.ga-path .gp-statement{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.25;max-width:40ch}
/* /method playbook: a book spread, a chapter list and a reader journey */
@media(min-width:720px){ .ga-playbook .ga-pb-top{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)} }
.ga-pb-cover{display:block;max-width:380px;width:100%;justify-self:center}
.ga-pb-cover img{display:block;width:100%;height:auto;border-radius:3px 8px 8px 3px;transform-origin:left center;
  transform:perspective(1400px) rotateY(-14deg) rotateX(2deg);box-shadow:24px 40px 60px -30px rgba(11,29,51,.55),inset 2px 0 0 #DCE2EA}
.ga-pb-cover:hover img,.ga-pb-cover:focus-visible img{transform:perspective(1400px) rotateY(-6deg) translateY(-4px)}
.ga-pb-cover:focus-visible{outline:2px solid #5D9BD4;outline-offset:3px}
@media(max-width:719px){
  .ga-pb-cover{max-width:300px}
  .ga-pb-cover img{transform:perspective(1400px) rotateY(-8deg)}
  .ga-pb-cover:hover img,.ga-pb-cover:focus-visible img{transform:perspective(1400px) rotateY(-4deg) translateY(-4px)}
}
.ga-playbook ol.gp-list{border-top:2px solid #0B1D33}
.ga-playbook ol.gp-list li{padding:16px 0;border-bottom:1px solid #E2E6EA}
.ga-playbook ol.gp-list li::before{content:none}
.ga-playbook ol.gp-list a{display:flex;gap:16px;align-items:baseline;width:100%;padding:10px 0;margin:-10px 0;font-size:16px;color:#0B1D33}
.ga-playbook ol.gp-list a:hover{color:#1E4FA1}
.ga-playbook ol.gp-list a::after{content:'\2192';margin-left:auto;padding-left:12px;color:#C7D2E0;transition:transform .2s ease,color .2s ease}
.ga-playbook ol.gp-list a:hover::after{color:#1E4FA1;transform:translateX(3px)}
.ga-ch-n{flex:0 0 28px;font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:18px;color:#1E4FA1}
.ga-journey-seq{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px}
.ga-journey-seq::before{content:'';position:absolute;left:6px;right:12%;top:6px;height:2px;background:linear-gradient(90deg,#1E4FA1,#C7D2E0)}
.ga-journey-seq .gp-tag{position:relative;background:none;border:0;border-radius:0;padding:26px 0 0;font-size:14px;letter-spacing:.04em}
.ga-journey-seq .gp-tag::before{content:'';position:absolute;left:0;top:0;width:14px;height:14px;box-sizing:border-box;border-radius:50%;background:#fff;border:2px solid #1E4FA1}
@media (prefers-reduced-motion:no-preference){ .ga-pb-cover img{transition:transform .5s ease} }
@media (prefers-reduced-motion:reduce){
  .ga-pb-cover img,.ga-pb-cover:hover img,.ga-pb-cover:focus-visible img{transform:none}
  .ga-playbook ol.gp-list a::after{transition:none}
  .ga-playbook ol.gp-list a:hover::after{transform:none}
}
.gp-figure{margin:0;position:relative}
/* The figure PNGs carry their own card and #FAFAF9 margin, so the frame is just
   a radius. Side-by-side figures share one box so a row has one height. */
.gp-figure img{display:block;width:100%;height:auto;border-radius:14px;background:#FAFAF9}
.gp-grid2 > .gp-figure img{aspect-ratio:1338/860;object-fit:contain;box-shadow:0 0 0 1px rgba(11,29,51,.06)}
.gp-figure figcaption{font-family:'DM Sans',sans-serif;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#5B6B7C;margin-top:14px}
/* Enlarge control: needs JS (the lightbox lives in ga-motion.js), so it only
   shows on .ga-js. 34px visible, 44px hit area. */
.gp-figure-zoom{display:none;position:absolute;top:14px;right:14px;width:34px;height:34px;align-items:center;justify-content:center;padding:0;
  border:0;border-radius:8px;background:#fff;color:#0B1D33;cursor:zoom-in;box-shadow:0 0 0 1px rgba(11,29,51,.1),0 6px 14px -8px rgba(11,29,51,.4)}
.ga-js .gp-figure-zoom{display:flex}
.gp-figure-zoom::before{content:'';position:absolute;inset:-5px}
.gp-figure-zoom:hover{color:#1E4FA1}
.gp-figure-zoom:focus-visible{outline:2px solid #5D9BD4;outline-offset:3px}
/* Lightbox: one shared native <dialog>, built by ga-motion.js. */
.gp-lightbox{border:0;padding:clamp(16px,3vw,32px);margin:0;width:100%;height:100%;max-width:none;max-height:none;background:transparent;color:#fff;
  box-sizing:border-box;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.gp-lightbox[open]{display:flex}
.gp-lightbox::backdrop{background:rgba(11,29,51,.92)}
.gp-lightbox img{display:block;max-width:92vw;max-height:calc(88vh - 40px);width:auto;height:auto;border-radius:14px;background:#FAFAF9}
.gp-lightbox p{margin:0;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#DCE5EF;text-align:center;max-width:92vw}
.gp-lightbox-close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;
  border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(11,29,51,.6);color:#fff;cursor:pointer}
.gp-lightbox-close:hover{border-color:#fff}
.gp-lightbox-close:focus-visible{outline:2px solid #5D9BD4;outline-offset:3px}
html.gp-lightbox-on,html.gp-lightbox-on body{overflow:hidden}
@media (prefers-reduced-motion:no-preference){
  .gp-lightbox[open]{animation:gp-lightbox-in .22s ease-out}
  .gp-lightbox[open]::backdrop{animation:gp-lightbox-fade .22s ease-out}
}
@keyframes gp-lightbox-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes gp-lightbox-fade{from{opacity:0}to{opacity:1}}

/* ---- three-column problem / do / get row (The Work, from the mock-up) ---- */
.gp-area{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);padding:clamp(32px,4vw,48px) 0;border-top:1px solid #D6DBE1}
.gp-area-num{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#1E4FA1;font-weight:600}
.gp-area-title{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1.1;color:#0B1D33;margin:10px 0 0}
.gp-area-sub{font-family:'Inter',sans-serif;font-size:15px;line-height:1.55;color:#5B6B7C;margin:12px 0 0}
.gp-area .gp-list li{font-size:14.5px}
@media(max-width:960px){.gp-area{grid-template-columns:1fr 1fr}.gp-area > :first-child{grid-column:1 / -1}}
@media(max-width:620px){.gp-area{grid-template-columns:1fr}}

/* ---- LAND / RETAIN / EXPAND / LEAD strip ---- */
.gp-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(40px,6vw,64px)}
.gp-strip a{display:block;padding:22px 20px 4px 0;color:#fff;border-right:1px solid rgba(255,255,255,.1);margin-right:20px}
.gp-strip a:last-child{border-right:0}
.gp-strip a:hover .gp-strip-t{color:#5D9BD4}
.gp-strip-k{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.18em;color:#5D9BD4;font-weight:600}
.gp-strip-t{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:19px;margin-top:8px;transition:color .2s ease}
.gp-strip-s{font-family:'Inter',sans-serif;font-size:13.5px;line-height:1.45;color:#8FA0B4;margin-top:6px}
@media(max-width:860px){.gp-strip{grid-template-columns:1fr 1fr}.gp-strip a:nth-child(2){border-right:0}}
@media(max-width:480px){.gp-strip{grid-template-columns:1fr}.gp-strip a{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px}}

/* ---- engagement model cards ---- */
.gp-model{display:flex;flex-direction:column;background:#fff;border:1px solid transparent;border-radius:14px;box-shadow:0 0 0 1px rgba(11,29,51,.06),0 18px 36px -28px rgba(11,29,51,.35);padding:clamp(22px,2.6vw,30px)}
.gp-model-k{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#1E4FA1;font-weight:600}
.gp-model-t{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(22px,2.3vw,28px);color:#0B1D33;margin:10px 0 0}
.gp-model-d{font-family:'Inter',sans-serif;font-size:15px;line-height:1.55;color:#5B6B7C;margin:10px 0 0}
.gp-model .gp-label{margin-top:22px}
.gp-model .gp-list li{font-size:14.5px}
.gp-price{margin-top:auto;padding-top:22px;border-top:1px solid #EEF0F3}
.gp-price-v{font-family:'Inter',sans-serif;font-weight:700;font-size:clamp(24px,2.6vw,30px);letter-spacing:-0.01em;color:#0B1D33;margin-top:4px}
.gp-price-u{font-family:'Inter',sans-serif;font-size:14px;color:#5B6B7C;margin-top:2px}

/* ---- 90-day timeline ---- */
.gp-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gp-day{border-top:2px solid #1E4FA1;padding-top:16px}
.gp-day-k{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#1E4FA1;font-weight:600}
.gp-day-t{font-family:'Inter',sans-serif;font-weight:700;font-size:19px;color:#0B1D33;margin:8px 0 14px}
@media(max-width:760px){.gp-days{grid-template-columns:1fr}}

/* ---- two-column comparison (CRO vs CCO, CMO vs CCO) ---- */
.gp-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.gp-compare > div{border-radius:14px;padding:clamp(20px,2.6vw,28px)}
.gp-compare > div:first-child{background:#fff;border:1px solid #E2E6EA}
.gp-compare > div:last-child{background:#0B1D33;color:#fff}
.gp-compare > div:last-child .gp-list li{color:#DCE5EF}
.gp-compare > div:last-child .gp-label{color:#5D9BD4}
.gp-compare-note{font-family:'Inter',sans-serif;font-size:14px;line-height:1.55;color:#5B6B7C;margin:16px 0 0}
.gp-compare > div:last-child .gp-compare-note{color:#AEBED0}
@media(max-width:720px){.gp-compare{grid-template-columns:1fr}}

/* ---- Growth Challenges: in-page chooser + sections ---- */
.gc-chooser{position:sticky;top:68px;z-index:40;background:rgba(251,251,249,.94);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid #E2E6EA}
.gc-chooser ol{list-style:none;margin:0 auto;max-width:1180px;padding:10px 24px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.gc-chooser ol::-webkit-scrollbar{display:none}
.gc-chooser a{display:block;white-space:nowrap;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;color:#3A4654;border:1px solid #E2E6EA;background:#fff;border-radius:999px;padding:8px 14px;min-height:36px}
.gc-chooser a:hover{border-color:#1E4FA1;color:#1E4FA1}
.gc-chooser a[aria-current="true"]{background:#0B1D33;border-color:#0B1D33;color:#fff}
/* Desktop: all seven challenges visible at once, as a numbered row of equal
   columns (no sideways scrolling). The current one is white, underlined. */
@media(min-width:901px){
  .gc-chooser ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;overflow:visible;max-width:1320px;padding:0 24px;counter-reset:gc}
  .gc-chooser li{counter-increment:gc;display:flex}
  .gc-chooser li + li a{box-shadow:inset 1px 0 0 #E2E6EA}
  .gc-chooser a{flex:1;white-space:normal;border:0;border-radius:0;background:none;min-height:0;padding:11px 14px 12px;font-size:13px;line-height:1.3;color:#3A4654;transition:color .2s ease,background .2s ease}
  .gc-chooser a::before{content:counter(gc,decimal-leading-zero);display:block;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;color:#8FA0B4;margin-bottom:3px}
  .gc-chooser a:hover{color:#1E4FA1;border-color:transparent;background:rgba(30,79,161,.04)}
  .gc-chooser a[aria-current="true"]{background:#fff;color:#0B1D33;font-weight:600;box-shadow:inset 0 -2px 0 #1E4FA1}
  .gc-chooser li + li a[aria-current="true"]{box-shadow:inset 1px 0 0 #E2E6EA,inset 0 -2px 0 #1E4FA1}
  .gc-chooser a[aria-current="true"]::before{color:#1E4FA1}
  .gc-section{scroll-margin-top:calc(184px - clamp(64px,9vw,120px))}
}
@media(min-width:901px) and (max-width:1199px){
  .gc-chooser ol{padding:0 12px}
  .gc-chooser a{padding:10px 10px 11px;font-size:12.5px}
  .gc-chooser a::before{display:none}
}
/* Phones and tablets: one "jump to" button that names the challenge in view
   and opens the full list of seven. Its label is drawn from the links via
   data attributes, so no wording is duplicated in the page. Without JS the
   list stays the original horizontal strip. */
.gc-jump{display:none}
@media(max-width:900px){
  .ga-js .gc-jump{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0;padding:8px 24px;border:0;background:none;cursor:pointer;
    font-family:'Inter',sans-serif;font-size:15px;font-weight:600;color:#0B1D33;text-align:left}
  .gc-jump-n::before{content:attr(data-n);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;color:#1E4FA1}
  .gc-jump-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .gc-jump-t::before{content:attr(data-t)}
  .gc-jump svg{flex:0 0 auto;color:#5B6B7C;transition:transform .2s ease}
  .gc-chooser.is-open .gc-jump svg{transform:rotate(180deg)}
  .ga-js .gc-chooser ol{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:2px;max-width:none;padding:6px 12px 12px;overflow-y:auto;
    max-height:calc(100vh - 160px);background:#fff;border-bottom:1px solid #E2E6EA;box-shadow:0 18px 30px -18px rgba(11,29,51,.35);counter-reset:gc}
  .ga-js .gc-chooser.is-open ol{display:flex}
  .ga-js .gc-chooser li{counter-increment:gc}
  .ga-js .gc-chooser ol a{display:flex;gap:12px;align-items:baseline;white-space:normal;min-height:44px;padding:12px;border:0;border-radius:8px;background:none;font-size:15px;color:#3A4654}
  .ga-js .gc-chooser ol a::before{content:counter(gc,decimal-leading-zero);flex:0 0 22px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;color:#8FA0B4}
  .ga-js .gc-chooser ol a[aria-current="true"]{background:#F3F5F8;color:#0B1D33;font-weight:600}
  .ga-js .gc-chooser ol a[aria-current="true"]::before{color:#1E4FA1}
}
@media (prefers-reduced-motion:reduce){ .gc-jump svg,.gc-chooser a{transition:none} }
/* Anchor landing: the section label sits 32px under the sticky chooser
   (bottom at 130px), not after the section's full top padding. */
.gc-section{scroll-margin-top:calc(162px - clamp(64px,9vw,120px));padding:clamp(64px,9vw,120px) 0;border-top:1px solid #E2E6EA}
.gc-section:nth-of-type(even){background:#F3F5F8}
.gc-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media(max-width:900px){.gc-head{grid-template-columns:1fr}}
/* Even sections mirror on desktop only: the conversation sits left. DOM order
   is unchanged, so phones and screen readers still get the heading first. */
@media(min-width:901px){.gc-section:nth-of-type(even) .gc-head > :first-child{order:2}}
.gc-head h2{font-size:clamp(34px,4.6vw,56px)}
.gc-num{display:inline-flex;align-items:center;gap:12px;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#1E4FA1;font-weight:600}
.gc-num::before{content:'';flex:0 0 auto;width:28px;height:2px;background:#1E4FA1}
.gc-convo{background:#0B1D33;color:#fff;border-radius:14px;padding:clamp(22px,2.8vw,32px)}
.gc-convo .gp-label{color:#8FA0B4}
.gc-convo-q{font-family:'Inter',sans-serif;font-size:16px;line-height:1.55;color:#DCE5EF;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}
.gc-convo-a{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(18px,1.9vw,22px);line-height:1.45;color:#fff;margin:0}
/* Even sections alternate the buyer conversation: a light editorial quote
   instead of the navy card. The opening quote mark is decorative. */
.gc-section:nth-of-type(even) .gc-convo{position:relative;background:#fff;color:#0B1D33;border-radius:14px;padding-top:clamp(40px,4vw,52px);
  box-shadow:0 0 0 1px rgba(11,29,51,.06),0 24px 48px -32px rgba(11,29,51,.35)}
.gc-section:nth-of-type(even) .gc-convo::before{content:'\201C';position:absolute;top:-6px;left:clamp(22px,2.8vw,32px);font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:88px;line-height:1;color:#5D9BD4}
.gc-section:nth-of-type(even) .gc-convo .gp-label{color:#5B6B7C}
.gc-section:nth-of-type(even) .gc-convo-q{color:#3A4654;border-bottom-color:#E2E6EA}
.gc-section:nth-of-type(even) .gc-convo-a{color:#0B1D33}
.gc-part > .gp-h3{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1.12;letter-spacing:-0.012em;max-width:26ch}
.gc-part{margin-top:clamp(40px,5vw,60px)}
.gc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,60px)}
@media(max-width:820px){.gc-row{grid-template-columns:1fr}}
.gc-related{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:14px}
.gc-related a{font-family:'Inter',sans-serif;font-size:15px;font-weight:500;color:#1E4FA1}
.gc-related a::after{content:' \2192'}
.gc-next{margin-top:clamp(40px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:22px 24px;border-radius:14px;background:#EEF3FB}
.gc-section:nth-of-type(even) .gc-next{background:#fff;box-shadow:0 0 0 1px rgba(11,29,51,.06)}
.gc-next p{flex:1 1 320px;margin:0;font-family:'Inter',sans-serif;font-size:16px;line-height:1.55;color:#14202F}
.gc-gap{font-family:'Inter',sans-serif;font-size:14px;line-height:1.55;color:#5B6B7C;margin:14px 0 0}

/* ---- readiness ladder (five dimensions, in order) ---- */
.gp-ladder{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gp-ladder li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;background:#fff;border:1px solid transparent;border-radius:14px;padding:16px 18px;box-shadow:0 0 0 1px rgba(11,29,51,.06),0 18px 36px -28px rgba(11,29,51,.35)}
.gp-ladder li.is-dim{opacity:.55}
/* Cards on the white band take a tint instead of a ring and shadow. */
.gp-band .gp-card,.gp-band .gp-model,.gp-band .gp-ladder li{background:#F6F7F9;box-shadow:none}
@media (prefers-reduced-motion:reduce){ .gp-card,.gp-btn,.gp-btn-ghost,.ga-header-cta{transition:none} a.gp-card:hover,a.gp-card:focus-visible,.gp-btn:hover,.ga-header-cta:hover{transform:none} }
.gp-ladder-n{width:32px;height:32px;border-radius:7px;background:#0B1D33;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:700;font-size:14px}
.gp-ladder-t{font-family:'Inter',sans-serif;font-weight:700;font-size:16px;color:#0B1D33}
.gp-ladder-d{font-family:'Inter',sans-serif;font-size:14.5px;line-height:1.5;color:#5B6B7C;margin-top:4px}

/* ---- relocated homepage diagrams: One Commercial Truth + Dependency/Engine ---- */
@keyframes ga-hub-pulse{0%,100%{r:16}45%{r:19}}
@keyframes ga-hub-ring{0%{r:16;opacity:.5}100%{r:32;opacity:0}}
@keyframes ga-mesh-in{0%{opacity:.25}100%{opacity:1}}
@keyframes ga-dc-in{0%{transform:translateX(0);opacity:0}18%{opacity:1}82%{opacity:1}100%{transform:translateX(208px);opacity:0}}
@keyframes ga-dc-out{0%{transform:translateX(0);opacity:0}18%{opacity:1}82%{opacity:1}100%{transform:translateX(208px);opacity:0}}
.ga-dc-in{animation:ga-dc-in 1.15s cubic-bezier(.4,0,.4,1) .5s 1 both;animation-play-state:paused}
.ga-dc-out{animation:ga-dc-out 1.15s cubic-bezier(.4,0,.4,1) 1.6s 1 both;animation-play-state:paused}
.ga-dist-v{display:none}
@media(max-width:640px){.ga-dist-h{display:none !important}.ga-dist-v{display:block}}
@media(prefers-reduced-motion:reduce){.ga-hub-core,.ga-hub-ring,.ga-mesh-node{animation:none !important}.ga-dc-in,.ga-dc-out{display:none}}

/* Reveal-on-scroll, same contract as the homepage: hidden only when JS runs,
   finished state immediately under reduced motion. */
.ga-js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.ga-js svg [data-reveal]{transform:none}
.ga-js [data-draw]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s ease}
@media (prefers-reduced-motion: reduce){
  .ga-js [data-reveal]{opacity:1 !important;transform:none !important}
  .ga-js [data-draw]{stroke-dashoffset:0 !important}
  html{scroll-behavior:auto}
}

/* ---- header + mobile nav (copied from the page-level blocks) ---- */
.ga-header-cta{white-space:nowrap}
.ga-navlinks a[aria-current="page"]{color:#1E4FA1 !important}
@media(max-width:1060px){ .ga-navlinks{gap:14px !important} }
@media(max-width:860px){ .ga-navlinks{display:none !important} }
.ga-burger{display:none;position:fixed;right:20px;top:12px;z-index:60;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:0;cursor:pointer;padding:0}
.ga-burger-bar{display:block;width:22px;height:2px;background:#0B1D33;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.ga-burger[aria-expanded="true"] .ga-burger-bar{background:#fff}
.ga-burger[aria-expanded="true"] .ga-burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ga-burger[aria-expanded="true"] .ga-burger-bar:nth-child(2){opacity:0}
.ga-burger[aria-expanded="true"] .ga-burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ga-mobile-nav{display:none;position:fixed;inset:0;background:#0B1D33;z-index:55;padding:96px 24px 32px;overflow-y:auto}
.ga-mobile-nav nav{display:flex;flex-direction:column;gap:4px;max-width:520px;margin:0 auto}
.ga-mobile-nav a{font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:26px;letter-spacing:-0.01em;color:#fff;text-decoration:none;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ga-mobile-nav a:active{color:#5D9BD4}
.ga-mobile-cta{margin-top:24px;border-bottom:0 !important;font-size:16px !important;font-family:'Inter',sans-serif !important;font-weight:600 !important;background:#fff;color:#0B1D33 !important;border-radius:6px;padding:15px 22px !important;text-align:center}
html.ga-js .ga-burger{display:none}
@media(max-width:860px){ html.ga-js .ga-burger{display:flex} .ga-mobile-nav[data-open]{display:block} html.ga-js .ga-header-cta{display:none} }
html.ga-nav-open,html.ga-nav-open body{overflow:hidden}
@media (prefers-reduced-motion: reduce){ .ga-burger-bar{transition:none} }
