
/* v2 shell: header/footer/layout */
/* === Canonical nav-dropdown closed-state rules (guarantee on every page) === */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown-trigger{background:none;border:0;padding:8px 12px;font:inherit;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:5px;letter-spacing:inherit;border-radius:6px;transition:color .15s,background .15s}
.nav-dropdown-trigger:hover,.nav-dropdown[data-open="true"] .nav-dropdown-trigger{color:var(--ink);background:var(--surface-2)}
.nav-caret{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .2s var(--ease,ease),opacity .2s;opacity:.6}
.nav-dropdown[data-open="true"] .nav-caret,.nav-dropdown:hover .nav-caret{transform:rotate(225deg) translateY(2px);opacity:1}
.nav-dropdown-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:8px;box-shadow:0 12px 32px rgba(10,37,64,.10),0 2px 6px rgba(10,37,64,.04);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .15s,transform .18s var(--ease,ease),visibility .15s;z-index:60;display:flex;flex-direction:column;gap:2px}
.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel,.nav-dropdown[data-open="true"] .nav-dropdown-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.nav-dropdown-panel a{display:block;padding:10px 14px;font-size:14px;color:var(--ink);font-weight:500;border-radius:6px;letter-spacing:-.005em;transition:background .12s,color .12s;text-decoration:none}
.nav-dropdown-panel a:hover{background:rgba(109,40,217,.06);color:var(--accent)}
.nav-dropdown-panel::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;background:transparent}
@media(max-width:1180px){.nav-dropdown{display:none}}

/* Skip link */
.skip{position:absolute;top:-999px;left:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:200}
.skip:focus{top:0}

/* === Mobile menu (default closed, open via data-open or .open) === */
.mobile-menu{display:none;position:fixed;inset:64px 0 0;background:#fff;padding:24px 32px;overflow-y:auto;z-index:50;flex-direction:column;gap:0}
.mobile-menu.open{display:flex}
.mobile-menu > a{padding:14px 0;border-bottom:1px solid var(--border);font-family:var(--sans-d);font-size:17px;font-weight:500;color:var(--ink);text-decoration:none}
.mobile-menu .menu-cta{margin-top:18px;background:var(--ink);color:#fff;text-align:center;border-radius:999px;border-bottom:0;padding:14px 20px;font-weight:600}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--border);background:transparent;border-radius:8px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;margin-left:auto}
.menu-btn span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
@media(max-width:1180px){.menu-btn{display:flex}}

/* === V2 FOOTER (multi-column, enterprise-grade) === */
footer{background:#0b1020;color:rgba(255,255,255,.75);padding:64px 0 36px;border-top:0;font-size:14.5px;line-height:1.6}
footer .wrap{max-width:1200px !important;margin:0 auto !important;padding:0 32px !important;display:block !important;flex-direction:column !important;align-items:stretch !important;justify-content:flex-start !important;width:100% !important;box-sizing:border-box !important;gap:0 !important;flex-wrap:nowrap !important}
@media(max-width:640px){footer .wrap{padding:0 20px !important}}
footer a{color:rgba(255,255,255,.85);text-decoration:none;transition:color .15s}
footer a:hover{color:#fff;text-decoration:none}
.footer-grid{display:grid !important;grid-template-columns:1.6fr 1fr 1fr 1fr !important;gap:48px 36px !important;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.10)}
@media(max-width:1080px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px 32px}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:36px;padding-bottom:36px}}
.footer-brand{display:flex;flex-direction:column;gap:18px;max-width:340px}
.brand--footer{align-self:flex-start}
.brand--footer .brand-name{color:#fff}
.brand--footer .brand-tag{color:#a78bfa}
.footer-positioning{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.72)}
.footer-positioning a{color:#a78bfa;border-bottom:1px solid rgba(167,139,250,.4);transition:border-color .15s,color .15s}
.footer-positioning a:hover{color:#c4b5fd;border-bottom-color:#c4b5fd}
.footer-social{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.footer-social li{margin:0}
.footer-social a{display:inline-flex;align-items:center;padding:6px 12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:12.5px;font-weight:500;color:#fff;transition:background .15s,border-color .15s}
.footer-social a:hover{background:rgba(167,139,250,.18);border-color:rgba(167,139,250,.5);color:#fff}
.footer-col{display:flex;flex-direction:column;gap:6px}
.footer-col-title{margin:0 0 12px;font-family:var(--sans-d);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.footer-col-title--sub{margin-top:24px}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.footer-col li{margin:0;font-size:13.5px;line-height:1.5}
.footer-col a{color:rgba(255,255,255,.78);font-weight:400}
.footer-col a:hover{color:#fff}
.footer-bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;color:rgba(255,255,255,.55)}
.footer-bottom a{color:rgba(255,255,255,.78)}
.footer-bottom a:hover{color:#fff}
.footer-copy,.footer-meta{margin:0}
@media(max-width:640px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:12.5px}}

/* === V2 SERVICES DROPDOWN (wide, sectioned) === */
.nav-dropdown-panel--wide{min-width:720px;display:block;column-count:3;column-gap:24px;padding:18px 20px}
.nav-dropdown-panel--wide .nav-dropdown-section{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:0 0 14px}
.nav-dropdown-panel--wide .nav-dropdown-section:last-child{margin-bottom:0}
/* Resources mega: right-anchored so it never overflows the viewport edge */
.nav .nav-dropdown .nav-dropdown-panel--resources{min-width:700px;max-width:min(760px,calc(100vw - 48px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 26px;align-items:start;left:auto;right:0;transform:translateY(-6px)}
.nav .nav-dropdown
.nav .nav-dropdown
.nav .nav-dropdown:focus-within .nav-dropdown-panel--resources,.nav .nav-dropdown[data-open="true"] .nav-dropdown-panel--resources{transform:translateY(0)}
@media(max-width:1180px){.nav-dropdown-panel--resources{display:none}}
@media(max-width:1180px){.nav-dropdown-panel--wide{display:none}}
.nav-dropdown-section{display:flex;flex-direction:column;gap:2px}
.nav-dropdown-heading{display:block;font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:8px 14px 6px;margin-top:4px}
.nav-dropdown-section:first-child .nav-dropdown-heading,
.nav-dropdown-section:nth-child(2) .nav-dropdown-heading{margin-top:0}
.nav-dropdown-panel--wide a{display:block;padding:8px 14px;font-size:14px;color:var(--ink);font-weight:500;border-radius:6px;letter-spacing:-.005em;transition:background .12s,color .12s;line-height:1.35}
.nav-dropdown-panel--wide a:hover{background:rgba(109,40,217,.06);color:var(--accent)}

/* Mobile submenu heading */
.mobile-submenu-heading{display:block;font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:14px 0 6px;border-bottom:0}
.mobile-submenu-panel a{font-family:var(--sans-d);font-size:15px;font-weight:500;color:var(--ink)}

/* === LAYOUT FIX: ensure content visible immediately (no IO flash) === */
/* The canonical CSS hides .section-head, .grid-3>*, etc. with opacity:0 until
   parent gets .in-view. We force .in-view on all relevant sections at parse
   time via inline JS so content is never hidden. CSS fallback ensures graceful
   degradation when JS is disabled. */
@media(prefers-reduced-motion:no-preference){
  /* When IO observer hasn't run (no JS / before script), still show content */
  html.no-js .section-head,html.no-js .why-grid>*,html.no-js .outcomes-grid>*,
  html.no-js .grid-3>*,html.no-js .duo>*,html.no-js .first30>*,html.no-js .phases>*,
  html.no-js .pricing,html.no-js .inq-grid>*,html.no-js .faq details{
    opacity:1 !important;transform:none !important
  }
}

/* === FIX: proof-standard text color (was forced to #000) === */
.proof-standard-tagline,.proof-standard-meta,.proof-standard p,.proof-standard .lede{color:var(--text) !important}
.proof-standard .proof-item dl dt{color:var(--ink) !important}
.proof-standard .proof-item dl dd{color:var(--text) !important}

/* === LAYOUT FIX: tighter section padding when content is light === */
section.block.block--tight{padding:64px 0}
@media(max-width:920px){section.block.block--tight{padding:48px 0}}

/* CTA block: match canonical aesthetic when used as full-width section */
section.cta-block.block{padding:80px 0;background:transparent}
section.cta-block.block > .wrap{background:var(--ink);color:#fff;padding:48px 40px;border-radius:var(--r-lg);box-shadow:var(--sh);text-align:center}
section.cta-block.block > .wrap > h2,section.cta-block.block > .wrap > h3{color:#fff;margin:0 0 14px}
section.cta-block.block > .wrap > p{color:rgba(255,255,255,.78);max-width:56ch;margin:0 auto 24px;font-size:16px;line-height:1.6}
section.cta-block.block > .wrap > .btn-primary,
section.cta-block.block > .wrap > a.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(109,40,217,.35)}
section.cta-block.block > .wrap > .btn-primary:hover,
section.cta-block.block > .wrap > a.btn-primary:hover{background:var(--accent-deep);box-shadow:0 10px 24px rgba(109,40,217,.45)}
@media(max-width:640px){section.cta-block.block > .wrap{padding:36px 24px}}

/* === Hero meta-strip (used by wedge service pages) === */
.hero .meta-strip{display:flex;flex-wrap:wrap;gap:14px 28px;font-size:14px;color:var(--text-2);margin:0 0 32px;padding-top:8px}
.hero .meta-strip > span{display:inline-flex;align-items:baseline;gap:5px;line-height:1.5}
.hero .meta-strip strong{color:var(--ink);font-weight:600}

/* === Hero CTA row === */
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px}

/* === Hero mesh background (subtle gradient) === */
.hero{position:relative;overflow:hidden}
.hero-mesh{position:absolute;inset:0;background:radial-gradient(60% 80% at 80% 20%,rgba(167,139,250,.18) 0%,transparent 60%),radial-gradient(50% 70% at 0% 30%,rgba(167,139,250,.08) 0%,transparent 60%);pointer-events:none;z-index:0}
.hero > .wrap{position:relative;z-index:1}

/* === Steps grid (4-step decision framework component) === */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:28px 28px 26px;box-shadow:var(--sh);transition:border-color .15s,box-shadow .15s}
.step:hover{border-color:rgba(109,40,217,.3);box-shadow:0 4px 14px rgba(15,23,42,.08)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(109,40,217,.08);color:var(--accent);font-family:var(--sans-d);font-weight:700;font-size:13px;border-radius:8px;margin-bottom:14px;letter-spacing:.02em}
.step h3{margin:0 0 8px;font-size:18px;line-height:1.3;color:var(--ink);font-weight:600}
.step p{margin:0;font-size:14.5px;line-height:1.6;color:var(--text-2)}

/* === Trust stack (operator credentials list) === */
.trust-stack{list-style:none;padding:0;margin:0;display:grid;gap:14px;max-width:880px}
.trust-stack li{position:relative;padding:16px 20px 16px 44px;background:var(--surface-2,#f8f9fb);border-left:3px solid var(--accent);border-radius:6px;font-size:15px;line-height:1.55;color:var(--text)}
.trust-stack li:before{content:"✓";position:absolute;left:18px;top:16px;color:var(--accent);font-weight:700;font-size:15px}
.trust-stack li strong{color:var(--ink);font-weight:600}

/* === Related cards grid === */
.related{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
@media(max-width:760px){.related{grid-template-columns:1fr}}
.related a{display:block;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.related a:hover{border-color:rgba(109,40,217,.4);transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.06)}
.related h4{margin:0 0 6px;font-size:16px;line-height:1.3;color:var(--ink);font-weight:600}
.related p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-2)}

/* === FAQ details === */
.faq{padding:18px 0;border-bottom:1px solid var(--border)}
.faq:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-family:var(--sans-d);font-weight:600;font-size:17px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:6px 0}
.faq summary::-webkit-details-marker{display:none}
.faq
.faq[open]
.faq .ans{padding:8px 0 4px;color:var(--text);font-size:15px;line-height:1.7;max-width:72ch}
.faq .ans p{margin:10px 0}
.faq .ans p:first-child{margin-top:0}
.faq .ans p:last-child{margin-bottom:0}
.faq .ans a{color:var(--accent);border-bottom:1px solid rgba(109,40,217,.3)}

/* === Section padding consistency === */
section.block{padding:80px 0}
@media(max-width:920px){section.block{padding:60px 0}}
@media(max-width:640px){section.block{padding:48px 0}}
section.block + section.block{border-top:1px solid var(--border)}
section.block.alt{background:var(--surface-2,#f8f9fb);border-top:0}
section.block.alt + section.block{border-top:0}

/* Hero spacing tightened */
section.hero{padding:56px 0 72px}
@media(max-width:920px){section.hero{padding:48px 0 56px}}
@media(max-width:640px){section.hero{padding:36px 0 44px}}

.hero h1{font-size:clamp(40px,5.5vw,72px);line-height:1.05;letter-spacing:-.025em;margin:18px 0 22px;font-weight:700;max-width:18ch}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px}
.hero .eyebrow:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}
.hero .lede{max-width:62ch;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--text);margin:0 0 30px}

/* === FIX: board-advisor compensation table (figures column needs more space) === */
.comp-row{grid-template-columns:220px 280px 1fr !important;align-items:start !important}
.comp-row .figures{font-weight:500;color:var(--ink)}
@media(max-width:920px){.comp-row{grid-template-columns:200px 240px 1fr !important;gap:18px !important;padding:18px 20px !important}}
@media(max-width:760px){.comp-row{grid-template-columns:1fr !important;gap:6px !important;padding:18px 20px !important}.comp-row .role{font-size:15px}.comp-row .figures{font-size:14.5px;color:var(--accent);font-weight:600}.comp-row .note{padding-top:6px;border-top:1px solid var(--border);margin-top:4px}}

/* ============================================================
   FIX SUITE 2026-05-09: comprehensive style cascade repairs
   ============================================================ */

/* === FIX 1: trust-stack: reset canonical dot, keep only checkmark ===
   Canonical CSS sets ::before to an 8x8 circle with content:"" (a dot).
   v2 wedge CSS adds content:"✓" but inherits the canonical 8x8/border-radius.
   Result: a tiny circle with a checkmark overflowing. Reset all to checkmark only. */
.trust-stack li::before,
.trust-stack li:before{
  content:"✓" !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  border-radius:0 !important;
  opacity:1 !important;
  color:var(--accent) !important;
  font-weight:700 !important;
  font-size:15px !important;
  left:18px !important;
  top:16px !important;
}

/* === FIX 2: FAQ double "+" icon ===
   Canonical pages have <span class="plus"> drawn via two crossed bars (gray).
   My v2 added  which DOUBLES the icon on
   canonical pages. Use :not(:has(.plus)) so my ::after only appears when
   the page doesn't already have a .plus element. */
.faq
.faq details:not(:has(.plus)) summary::after,
details.faq:not(:has(.plus))
.faq details:not(:has(.plus))[open] summary::after,
details.faq:not(:has(.plus))[open]

/* === FIX 3: FAQ collapse animation (modern browsers, graceful fallback) ===
   Uses ::details-content (Chrome 131+, Safari 18+, Firefox 138+) and
   interpolate-size: allow-keywords (Chrome 129+, Safari 18+, Firefox 137+).
   Older browsers get instant toggle (no animation): graceful degradation. */
@supports(interpolate-size: allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content,
  details.faq::details-content{
    block-size:0;
    overflow:clip;
    opacity:0;
    transition:block-size .3s ease, opacity .25s ease, content-visibility .3s allow-discrete;
    transition-behavior:allow-discrete;
  }
  .faq details[open]::details-content,
  details.faq[open]::details-content{
    block-size:auto;
    opacity:1;
  }
}

/* === FIX 4: keep "Send an AI brief" CTA visible at the 1180px breakpoint ===
   Canonical hides regular nav links at <=1180px. Sector pages then add
   `.cta-mini{display:none}` which hides the CTA too: leaving only a
   bare hamburger. Override to keep the CTA visible until the actual
   mobile breakpoint (640px). */
@media(max-width:1180px){
  .nav .cta-mini{display:inline-flex !important}
}
@media(max-width:640px){
  .nav .cta-mini{display:none !important}
}

/* === FIX 5: hamburger button alignment when only it + cta-mini show === */
.nav{display:flex;align-items:center;gap:6px}
.menu-btn{margin-left:auto}
@media(min-width:1181px){
  .menu-btn{display:none !important}
}

/* === FIX 6: FAQ visibility on wedge pages ===
   Canonical reveal animation uses `.in-view .faq details` which fails when
   `.faq` and `.in-view` are on the same element (descendant combinator).
   Force details visible: the IO reveal animation is now disabled site-wide
   anyway via the immediate-fire .in-view JS, so this is safe everywhere. */
.faq details,
details.faq{
  opacity:1 !important;
  transform:none !important;
}

/* === FIX 7: Define --ink-soft alias used by preserved in-body CSS on 12 pages ===
   Page-specific component CSS uses var(--ink-soft) but the canonical design
   tokens never defined it. Alias to --text (the soft body color) so existing
   styles render correctly. */
:root{
  --ink-soft:var(--text);
}

/* === FIX 8: board-advisor "expect" sections: reset cascade dot, leave only arrow ===
   Canonical `.duo li::before` sets content:""; 5x5 circle with gray bg.
   v2 `.duo-col ul li::before` sets content:"→" but doesn't reset the canonical
   width/height/background/border-radius. Result: 5x5 gray circle with overflowing arrow.
   Reset all dot props so only the arrow renders. */
.duo .duo-col ul li::before,
.duo .duo-col ul li:before,
.duo-col li::before,
.duo-col li:before{
  content:"→" !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  border-radius:0 !important;
  margin-top:0 !important;
  flex-shrink:initial !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:var(--accent) !important;
  font-weight:700 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.duo .duo-col.dark ul li::before,
.duo-col.dark li::before{
  color:rgba(255,255,255,.7) !important;
}
/* Restore proper li layout (canonical sets display:flex on .duo li, but
   arrow rule uses position:absolute so we need padding-left for indent).
   ALSO: remove the canonical border-top separator (per user request: only
   arrows should separate items, no horizontal lines). */
.duo .duo-col ul li,
.duo-col li{
  display:block !important;
  padding:8px 0 8px 26px !important;
  position:relative !important;
  border-top:0 !important;
  margin-top:6px;
}
.duo .duo-col ul li:first-child,
.duo-col li:first-child{
  margin-top:0;
}

/* ============================================================
   FIX SUITE 2026-05-09 (round 2): page-quality fixes
   ============================================================ */

/* === FIX 9: "More ways to work with Paul Okhrem": replaces "Where else Paul Okhrem helps" === */
.related-practice{padding:80px 0 88px;background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);border-top:1px solid var(--border)}
.related-practice .wrap{max-width:1200px}
.related-practice .section-head{text-align:center;max-width:760px;margin:0 auto 44px;padding-bottom:0;border-bottom:0}
.related-practice .section-head .eyebrow{justify-content:center}
.related-practice .section-head h2{font-size:clamp(28px,3.2vw,40px);margin:8px 0 16px;letter-spacing:-.022em}
.related-practice .section-head .lede{font-size:1.05rem;color:var(--text);max-width:640px;margin:0 auto;line-height:1.55}
.related-practice-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:14px;max-width:1200px;margin:0 auto}
@media(max-width:1080px){.related-practice-grid{grid-template-columns:repeat(2, 1fr);gap:14px}}
@media(max-width:560px){.related-practice-grid{grid-template-columns:1fr}}
.related-practice-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 22px 26px;background:#fff;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--ink);transition:transform .18s var(--ease,ease), box-shadow .18s var(--ease,ease), border-color .18s, background .18s;min-height:148px;overflow:hidden}
.related-practice-card::before{content:"";position:absolute;inset:0;background:radial-gradient(at 100% 0%,rgba(109,40,217,.07) 0,transparent 50%);opacity:0;transition:opacity .25s var(--ease,ease);pointer-events:none}
.related-practice-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(10,37,64,.08), 0 3px 8px rgba(10,37,64,.04);border-color:rgba(109,40,217,.30)}
.related-practice-card:hover::before{opacity:1}
.related-practice-card .rp-eyebrow{font-family:var(--sans-d);font-size:10.5px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.related-practice-card h3{font-size:17px;font-weight:700;letter-spacing:-.012em;color:var(--ink);margin:0 0 4px;line-height:1.28}
.related-practice-card p{margin:0;font-size:14px;color:var(--text);line-height:1.55;flex:1}
.related-practice-card .rp-arrow{display:block;margin-top:14px;font-size:13px;font-weight:500;color:var(--accent);letter-spacing:-.005em;line-height:1.4}
.related-practice-card .rp-arrow strong{font-weight:700;display:inline}
.related-practice-card .rp-arrow::after{content:" →";display:inline-block;transition:transform .18s var(--ease,ease);transform-origin:left center}
.related-practice-card:hover .rp-arrow::after{transform:translateX(4px)}

/* === FIX 10: about.html layout: balance hero with stat card on right === */
.about-hero-aside{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 14px 36px rgba(10,37,64,.06);position:sticky;top:96px}
.about-hero-aside .aside-eyebrow{font-family:var(--sans-d);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2,#566177)}
.about-hero-aside .aside-stats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.about-hero-aside .aside-stats li{padding:14px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.about-hero-aside .aside-stats li:first-child{padding-top:0}
.about-hero-aside .aside-stats li:last-child{padding-bottom:0;border-bottom:0}
.about-hero-aside .aside-stats .label{color:var(--text-2,#566177);font-size:13px}
.about-hero-aside .aside-stats .val{font-family:var(--sans-d);font-weight:700;color:var(--ink);font-size:15px;letter-spacing:-.005em;text-align:right}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start}
@media(max-width:980px){.about-hero-grid{grid-template-columns:1fr;gap:36px}.about-hero-aside{position:static}}

/* === FIX 11: "Written by" block: more marketing-friendly === */
.author-card{background:linear-gradient(135deg,#fff 0%,#fbfaf6 100%);border:1px solid var(--border);border-radius:16px;padding:36px 36px 32px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;box-shadow:0 12px 32px rgba(10,37,64,.05)}
@media(max-width:760px){.author-card{grid-template-columns:1fr;padding:28px 24px;gap:20px;text-align:center}.author-card .author-photo{margin:0 auto}.author-card .author-credentials{justify-content:center}}
.author-card .author-photo{width:128px;height:128px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 18px rgba(10,37,64,.10);flex-shrink:0}
.author-card .author-photo img{width:100%;height:100%;object-fit:cover;display:block}
.author-card .author-meta{display:flex;flex-direction:column;gap:6px}
.author-card .author-eyebrow{font-family:var(--sans-d);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
.author-card .author-name{font-size:clamp(22px,2.3vw,28px);font-weight:700;letter-spacing:-.018em;color:var(--ink);margin:0;line-height:1.15}
.author-card .author-role{font-size:14.5px;color:var(--text-2,#566177);margin:2px 0 14px;line-height:1.5;font-weight:500}
.author-card .author-credentials{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 8px}
.author-card .author-credentials li{display:inline-flex;align-items:center;gap:6px;background:rgba(109,40,217,.08);color:var(--accent);padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:-.005em;border:1px solid rgba(109,40,217,.18)}
.author-card .author-credentials li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.author-card .author-bio{margin:0 0 16px;font-size:15.5px;line-height:1.62;color:var(--text);max-width:62ch}
.author-card .author-bio strong{color:var(--ink);font-weight:600}
.author-card .author-cta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:2px}
.author-card .author-cta-primary{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:11px 20px;border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;border:1px solid var(--ink);transition:background .15s,border-color .15s}
.author-card .author-cta-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.author-card .author-cta-primary::after{content:"→";transition:transform .2s}
.author-card .author-cta-primary:hover::after{transform:translateX(3px)}
.author-card .author-cta-secondary{font-size:14px;color:var(--text-2,#566177);text-decoration:none;font-weight:500;border-bottom:1px solid rgba(86,97,119,.3);padding-bottom:1px;transition:color .15s,border-color .15s}
.author-card .author-cta-secondary:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* === FIX 12: case-studies: match canonical case card pattern === */
.case-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:0;margin:0 0 32px;overflow:hidden;box-shadow:0 4px 16px rgba(10,37,64,.04)}
.case-card .case-head{padding:28px 36px 22px;background:linear-gradient(135deg,rgba(109,40,217,.04) 0%, rgba(255,255,255,1) 60%);border-bottom:1px solid var(--border)}
.case-card .case-pill{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.case-card .case-title{font-size:clamp(22px,2.3vw,28px);font-weight:700;letter-spacing:-.018em;color:var(--ink);margin:0 0 4px;line-height:1.18}
.case-card .case-sub{font-size:14.5px;color:var(--text-2,#566177);margin:0;line-height:1.5}
.case-card .case-body{padding:8px 36px 28px}
.case-card .case-body .case-row{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}
.case-card .case-body .case-row:last-child{border-bottom:0}
.case-card .case-body .case-row .label{font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--text-2,#566177);padding-top:2px}
.case-card .case-body .case-row .content{font-size:15px;line-height:1.62;color:var(--text)}
.case-card .case-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:linear-gradient(135deg,#0a2540 0%,#1e3a5f 100%);padding:0;border-top:1px solid var(--border)}
@media(max-width:760px){.case-card .case-metrics{grid-template-columns:repeat(2,1fr)}.case-card .case-body .case-row{grid-template-columns:1fr;gap:6px}}
@media(max-width:380px){.case-card .case-metrics{grid-template-columns:1fr}}
.case-card .case-metric{padding:24px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.case-card .case-metric:last-child{border-right:0}
.case-card .case-metric .metric-val{font-family:var(--sans-d);font-size:clamp(24px,2.6vw,32px);font-weight:700;color:#fff;letter-spacing:-.022em;line-height:1;margin-bottom:6px;display:block}
.case-card .case-metric .metric-label{font-family:var(--sans-d);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.case-card .case-footnote{padding:14px 36px;background:rgba(109,40,217,.04);border-top:1px solid var(--border);font-size:13px;color:var(--text-2,#566177);font-style:italic;line-height:1.5}

/* === FIX 13: compare.html: wins/loses card polish === */
.compare-archetype-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 14px rgba(10,37,64,.04)}
.compare-archetype-card h3{font-size:20px;font-weight:700;letter-spacing:-.014em;color:var(--ink);margin:0 0 2px}
.compare-archetype-card .archetype-sub{font-size:13.5px;font-style:italic;color:var(--text-2,#566177);margin:0 0 10px;line-height:1.5}
.compare-archetype-card .ca-section-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;margin:6px 0 4px}
.compare-archetype-card .ca-section-label.win{color:#16a34a}
.compare-archetype-card .ca-section-label.win::before{content:"✓";font-size:13px}
.compare-archetype-card .ca-section-label.lose{color:#dc2626}
.compare-archetype-card .ca-section-label.lose::before{content:"✗";font-size:13px}
.compare-archetype-card .ca-text{font-size:14.5px;line-height:1.55;color:var(--text);margin:0 0 10px}
.compare-archetype-card .ca-callout{background:rgba(109,40,217,.05);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:14px 16px;margin-top:6px;font-size:14px;line-height:1.55;color:var(--text)}
.compare-archetype-card .ca-callout strong{color:var(--ink)}

/* === FIX 14: ai-growth-readiness-audit: table & infographic polish === */
.score-bands{margin:32px auto 0;max-width:1080px;width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(10,37,64,.04)}
.score-bands thead th{background:#0a2540;color:#fff;padding:14px 20px;font-family:var(--sans-d);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left}
.score-bands tbody td{padding:18px 20px;font-size:14.5px;line-height:1.55;border-bottom:1px solid var(--border);vertical-align:top}
.score-bands tbody tr:last-child td{border-bottom:0}
.score-bands tbody tr:hover{background:rgba(109,40,217,.025)}
.score-bands .band-score{font-family:var(--sans-d);font-weight:700;color:var(--ink);font-size:15px;letter-spacing:-.005em}
.score-bands .band-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-family:var(--sans-d);font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}

.gap-matrix{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:14px;max-width:880px;margin:32px auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 4px 14px rgba(10,37,64,.04)}
.gap-matrix .gap-cell{padding:24px 22px;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:160px}
.gap-matrix .gap-cell.bad{background:linear-gradient(135deg,rgba(220,38,38,.05),rgba(220,38,38,.10));border:1px solid rgba(220,38,38,.18)}
.gap-matrix .gap-cell.warn{background:linear-gradient(135deg,rgba(234,179,8,.05),rgba(234,179,8,.10));border:1px solid rgba(234,179,8,.18)}
.gap-matrix .gap-cell.good{background:linear-gradient(135deg,rgba(34,197,94,.05),rgba(34,197,94,.12));border:1px solid rgba(34,197,94,.20)}
.gap-matrix .gap-cell h3{margin:0 0 4px;font-size:18px;letter-spacing:-.012em}
.gap-matrix .gap-cell p{margin:0;font-size:13.5px;color:var(--text);line-height:1.5}

.layers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}
@media(max-width:980px){.layers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.layers-grid{grid-template-columns:1fr}}
.layer-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 22px 20px;box-shadow:0 2px 8px rgba(10,37,64,.04);transition:transform .15s,box-shadow .15s,border-color .15s}
.layer-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,37,64,.07);border-color:rgba(109,40,217,.20)}
.layer-card .layer-num{display:inline-flex;align-items:center;background:var(--accent);color:#fff;font-family:var(--sans-d);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.05em;margin-bottom:10px}
.layer-card h3{font-size:17px;letter-spacing:-.012em;margin:0 0 14px;color:var(--ink);font-weight:700}
.layer-card .layer-row{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--border);font-size:13.5px;line-height:1.5}
.layer-card .layer-row:first-of-type{border-top:0;padding-top:0}
.layer-card .layer-row .label{font-family:var(--sans-d);font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--text-2,#566177);padding-top:1px}
.layer-card .layer-row .content{color:var(--text)}

/* === FIX 15: also-helps section: unified layout for "Continue the journey" === */
.also-helps{
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-top:1px solid var(--border);
  padding:80px 0;
}
.also-helps .also-helps-head{
  text-align:center;
  max-width:680px;
  margin:0 auto 44px;
}
.also-helps .also-helps-head .eyebrow{justify-content:center}
.also-helps .also-helps-head h2{
  font-size:clamp(28px,3.4vw,42px);
  letter-spacing:-.022em;
  margin:8px 0 14px;
  font-weight:700;
}
.also-helps .also-helps-head .lede{
  font-size:1.05rem;
  line-height:1.6;
  color:var(--text);
  margin:0 auto;
  max-width:580px;
}
.also-helps-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:1200px;
  margin:0 auto;
}
@media(max-width:1080px){.also-helps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.also-helps-grid{grid-template-columns:1fr}}
.also-helps-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:24px 22px 22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  text-decoration:none !important;
  color:var(--ink) !important;
  transition:transform .18s,border-color .18s,box-shadow .18s;
  min-height:166px;
  overflow:hidden;
}
.also-helps-card:hover{
  transform:translateY(-2px);
  border-color:rgba(109,40,217,.30);
  box-shadow:0 14px 28px rgba(10,37,64,.07),0 3px 8px rgba(10,37,64,.04);
}
.also-helps-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(at 100% 0%,rgba(109,40,217,.06) 0,transparent 55%);
  opacity:0;
  transition:opacity .25s;
  pointer-events:none;
  border-radius:14px;
}
.also-helps-card:hover::before{opacity:1}
.also-helps-card .ahc-eyebrow{
  font-family:var(--sans-d);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:2px;
}
.also-helps-card h3{
  font-size:16.5px;
  font-weight:700;
  letter-spacing:-.012em;
  margin:0 0 4px;
  line-height:1.3;
  color:var(--ink) !important;
}
.also-helps-card p{
  margin:0;
  font-size:14px;
  color:var(--text);
  line-height:1.55;
  flex:1;
}
.also-helps-card .ahc-arrow{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:14px;
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  transition:gap .18s;
}
.also-helps-card .ahc-arrow::after{content:"→"}
.also-helps-card:hover .ahc-arrow{gap:9px}

/* === FIX 16: author-block: marketing-friendly Written-by replacement === */
.author-block{
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:64px 0;
}
.author-block .author-grid{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:36px;
  align-items:start;
  max-width:920px;
  margin:0 auto;
}
@media(max-width:680px){.author-block .author-grid{grid-template-columns:1fr;gap:20px;text-align:left}}
.author-block .author-photo{position:relative}
.author-block .author-photo img{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid #fff;
  box-shadow:0 6px 22px rgba(10,37,64,.12);
}
.author-block .author-photo::after{
  content:"";
  position:absolute;
  bottom:6px;
  right:6px;
  width:28px;
  height:28px;
  background:var(--accent);
  border-radius:50%;
  border:3px solid #fff;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>");
  background-size:16px;
  background-position:center;
  background-repeat:no-repeat;
}
.author-block .author-eyebrow{
  font-family:var(--sans-d);
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
  display:inline-block;
}
.author-block .author-name{
  font-size:clamp(22px,2.4vw,28px);
  line-height:1.15;
  margin:0 0 4px;
  font-weight:700;
  letter-spacing:-.018em;
  color:var(--ink);
}
.author-block .author-role{
  font-size:14.5px;
  line-height:1.5;
  color:var(--text);
  margin:0 0 14px;
}
.author-block .author-creds{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}
.author-block .author-cred{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 11px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:12.5px;
  font-weight:500;
  color:var(--ink);
}
.author-block .author-cred::before{
  content:"✓";
  color:var(--accent);
  font-weight:700;
  font-size:11px;
}
.author-block .author-bio{
  font-size:15px;
  line-height:1.65;
  color:var(--text);
  margin:0 0 16px;
  max-width:680px;
}
.author-block .author-cta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  font-size:14px;
}
.author-block .author-cta a{
  color:var(--accent);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(109,40,217,.3);
  transition:border-color .15s;
}
.author-block .author-cta a:hover{border-bottom-color:var(--accent)}
.author-block .author-cta .sep{color:var(--text-2,var(--text));opacity:.5}

/* === FIX 12B: case-studies existing class names: match site standard ===
   The page uses .case (not .case-card), .row (not .case-row), .ribbon (not
   .case-pill), .metric-row/.metric (not .case-metrics/.case-metric), .nda-note
   (not .case-footnote). Apply the new visual language to these existing classes. */
section.block .case{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:0;
  margin:0 0 32px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(10,37,64,.04);
  transition:box-shadow .2s,border-color .2s;
}
section.block .case:hover{box-shadow:0 8px 24px rgba(10,37,64,.07);border-color:rgba(109,40,217,.18)}
section.block .case .ribbon{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--accent);
  color:#fff;
  font-family:var(--sans-d);
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:999px;
  margin:28px 0 0 36px;
}
section.block .case > h2{
  font-size:clamp(22px,2.3vw,28px);
  font-weight:700;
  letter-spacing:-.018em;
  color:var(--ink);
  margin:14px 36px 4px;
  line-height:1.18;
}
section.block .case .sector{
  font-size:14.5px;
  color:var(--text-2,#566177);
  margin:0 36px 18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
  line-height:1.5;
}
section.block .case .row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:24px;
  padding:18px 36px;
  margin:0;
  border-bottom:1px solid var(--border);
  font-size:15px;
  line-height:1.62;
  color:var(--text);
}
section.block .case .row > strong{
  font-family:var(--sans-d);
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-2,#566177);
  padding-top:2px;
  margin:0;
  display:block;
}
section.block .case .row > p{
  margin:0;
  font-size:15px;
  line-height:1.62;
  color:var(--text);
}
@media(max-width:760px){
  section.block .case .row{grid-template-columns:1fr;gap:6px;padding:18px 24px}
  section.block .case .ribbon{margin:24px 0 0 24px}
  section.block .case > h2{margin:14px 24px 4px}
  section.block .case .sector{margin:0 24px 18px}
}
section.block .case .metric-row{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  background:linear-gradient(135deg,#0a2540 0%,#1e3a5f 100%) !important;
  margin:0 !important;
  padding:0 !important;
  border-top:1px solid var(--border) !important;
  flex-wrap:nowrap !important;
}
@media(max-width:760px){section.block .case .metric-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:380px){section.block .case .metric-row{grid-template-columns:1fr}}
section.block .case .metric-row .metric{
  padding:24px 20px !important;
  text-align:center !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  background:transparent !important;
  border-radius:0 !important;
}
section.block .case .metric-row .metric:last-child{border-right:0 !important}
section.block .case .metric-row .metric .metric-num{
  font-family:var(--sans-d) !important;
  font-size:clamp(24px,2.6vw,32px) !important;
  font-weight:700 !important;
  color:#fff !important;
  letter-spacing:-.022em !important;
  line-height:1 !important;
  margin-bottom:8px !important;
  display:block !important;
}
section.block .case .metric-row .metric .metric-label{
  font-family:var(--sans-d) !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.85) !important;
  display:block !important;
  margin-top:0 !important;
}
section.block .case .nda-note{
  padding:14px 36px;
  background:rgba(109,40,217,.04);
  border-top:1px solid var(--border);
  margin:0;
  font-size:13px;
  color:var(--text-2,#566177);
  font-style:italic;
  line-height:1.5;
}
section.block .case .nda-note a{color:var(--accent);font-weight:500}

/* === FIX 13B: compare.html .arch existing class names: polish wins/loses cards === */
.arch-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
@media(max-width:880px){.arch-grid{grid-template-columns:1fr}}
.arch-grid article.arch{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  gap:0;
  box-shadow:0 4px 14px rgba(10,37,64,.04);
  transition:box-shadow .2s,border-color .2s,transform .2s;
}
.arch-grid article.arch:hover{
  box-shadow:0 10px 30px rgba(10,37,64,.07);
  border-color:rgba(109,40,217,.20);
  transform:translateY(-2px);
}
.arch-grid article.arch h3{
  font-size:20px;
  font-weight:700;
  letter-spacing:-.014em;
  color:var(--ink);
  margin:0 0 4px;
  line-height:1.2;
}
.arch-grid article.arch p.examples{
  font-size:13.5px;
  font-style:italic;
  color:var(--text-2,#566177);
  margin:0 0 16px;
  line-height:1.5;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.arch-grid article.arch p.row{
  margin:0 0 12px;
  font-size:14.5px;
  line-height:1.55;
  color:var(--text);
  padding:0;
  border:0;
  background:transparent;
  display:block;
  grid-template-columns:none;
}
.arch-grid article.arch p.row > strong{
  display:block;
  font-family:var(--sans-d);
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin:0 0 6px;
  padding:0;
}
/* "Wins on": green */
/* "Wins on": green (2nd <p> in article: 1st is .examples, 2nd is first .row) */
.arch-grid article.arch p.row:nth-of-type(2) > strong{color:#16a34a}
.arch-grid article.arch p.row:nth-of-type(2) > strong::before{content:"✓ ";font-size:13px}
/* "Loses to Paul Okhrem on": red (3rd <p>: 2nd .row) */
.arch-grid article.arch p.row:nth-of-type(3) > strong{color:#dc2626}
.arch-grid article.arch p.row:nth-of-type(3) > strong::before{content:"✗ ";font-size:13px}
.arch-grid article.arch .verdict{
  background:rgba(109,40,217,.05);
  border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0;
  padding:14px 16px;
  margin-top:auto;
  font-size:14px;
  line-height:1.55;
  color:var(--text);
}
.arch-grid article.arch .verdict strong{color:var(--ink);font-weight:600}

/* Compare matrix table polish */
.matrix-wrap .matrix{
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(10,37,64,.04);
  border:1px solid var(--border);
}
.matrix-wrap .matrix thead th{
  background:#0a2540;
  color:#fff;
  font-family:var(--sans-d);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:14px 14px;
  text-align:left;
  vertical-align:bottom;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.matrix-wrap .matrix tbody td{
  padding:14px 14px;
  font-size:13.5px;
  line-height:1.5;
  color:var(--text);
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.matrix-wrap .matrix tbody tr:last-child td{border-bottom:0}
.matrix-wrap .matrix tbody tr:hover{background:rgba(109,40,217,.03)}
.matrix-wrap .matrix tbody td:first-child{font-weight:600;color:var(--ink);background:#fbfaf6;padding-right:18px}

/* === FIX 14B: ai-growth-readiness-audit existing class names === */
.gap-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:880px;margin:32px auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 4px 14px rgba(10,37,64,.04)}
.layers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}
@media(max-width:980px){.layers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.layers-grid{grid-template-columns:1fr}}

/* === FIX 17: author-block: initials avatar (no image dependency) === */
.author-block .author-initials{
  width:120px;
  height:120px;
  border-radius:50%;
  background:linear-gradient(135deg,#6d28d9 0%,#4c1d95 100%);
  color:#fff;
  display:grid;
  place-items:center;
  font-family:var(--sans-d);
  font-size:42px;
  font-weight:700;
  letter-spacing:-.02em;
  border:3px solid #fff;
  box-shadow:0 6px 22px rgba(109,40,217,.20);
}

/* === FIX 10B: about.html: style the existing .about-hero-card markup === */
.about-hero-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:24px 26px 22px;
  display:flex;
  flex-direction:column;
  gap:0;
  box-shadow:0 12px 32px rgba(10,37,64,.06);
  position:sticky;
  top:88px;
}
.about-hero-card h3{
  font-size:13px;
  font-family:var(--sans-d);
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-2,#566177);
  margin:0 0 14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.about-hero-card .row{
  padding:11px 0;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
  border-bottom:1px solid var(--border);
}
.about-hero-card .row:last-of-type{border-bottom:0;padding-bottom:0}
.about-hero-card .row .label{
  font-size:13px;
  color:var(--text-2,#566177);
}
.about-hero-card .row .val{
  font-family:var(--sans-d);
  font-weight:700;
  color:var(--ink);
  font-size:14.5px;
  letter-spacing:-.005em;
  text-align:right;
}
@media(max-width:980px){.about-hero-card{position:static}}

/* about-hero-grid layout: find the existing wrapper around the hero columns */
.hero .hero-grid,
.hero-grid:has(.about-hero-card),
.about-hero-wrapper{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:60px;
  align-items:start;
}
@media(max-width:980px){
  .hero .hero-grid,
  .hero-grid:has(.about-hero-card),
  .about-hero-wrapper{grid-template-columns:1fr;gap:32px}
}

/* === Author photo initials fallback === */
.author-card .author-photo .author-initials{
  width:128px;
  height:128px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent) 0%,#4c1d95 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--sans-d);
  font-size:42px;
  font-weight:700;
  letter-spacing:-.02em;
  border:3px solid #fff;
  box-shadow:0 6px 18px rgba(10,37,64,.12);
}

/* === FIX 15: pricing.html disqualification block: canonical design === */
.disq-block{background:linear-gradient(180deg,#fbfaf6 0%,#fff 100%)}
.disq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0 auto;max-width:980px}
@media(max-width:760px){.disq-grid{grid-template-columns:1fr}}
.disq-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 22px 20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;box-shadow:0 2px 8px rgba(10,37,64,.04);transition:transform .15s,box-shadow .15s,border-color .15s}
.disq-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,37,64,.06);border-color:rgba(220,38,38,.20)}
.disq-card .disq-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:rgba(220,38,38,.10);color:#dc2626;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;margin-top:1px;grid-row:1 / span 2}
.disq-card h3{font-size:15.5px;font-weight:700;letter-spacing:-.012em;color:var(--ink);margin:0 0 6px;line-height:1.3;grid-column:2}
.disq-card p{margin:0;font-size:14px;line-height:1.55;color:var(--text);grid-column:2}
.disq-card p a.ctx-link{color:var(--accent);font-weight:500}
.disq-footer{margin:32px auto 0;font-size:.95rem;color:var(--text-2,#566177);font-style:italic;text-align:center;max-width:680px;line-height:1.5}

/* === FIX 16: ecommerce-consultant the credibility that comes from running things block: 2-col grid === */
.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:32px 0 0;max-width:1080px}
@media(max-width:760px){.cred-grid{grid-template-columns:1fr}}
.cred-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 22px 20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;box-shadow:0 2px 8px rgba(10,37,64,.04);transition:transform .15s,box-shadow .15s,border-color .15s}
.cred-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,37,64,.06);border-color:rgba(109,40,217,.18)}
.cred-card .cred-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:rgba(34,197,94,.10);color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1;margin-top:1px;grid-row:1 / span 2}
.cred-card h3{font-size:15.5px;font-weight:700;letter-spacing:-.012em;color:var(--ink);margin:0 0 6px;line-height:1.3;grid-column:2}
.cred-card p{margin:0;font-size:14px;line-height:1.55;color:var(--text);grid-column:2}

/* === FIX 17: practice-page hero CTA buttons: fix bright purple to dark navy === */
section.hero .btn.btn-primary,
.cta-block .btn.btn-primary{background:var(--ink) !important;color:#fff !important;border:1px solid var(--ink) !important}
section.hero .btn.btn-primary:hover,
.cta-block .btn.btn-primary:hover{background:var(--accent) !important;border-color:var(--accent) !important}

/* === FIX 18: compare.html: matrix grade pills, risk callout, validation block === */
.matrix .grade{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:42px;padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:var(--sans-d);margin-right:8px;vertical-align:middle;line-height:1.2}
.matrix .grade.win{background:rgba(22,163,74,.14);color:#15803d;border:1px solid rgba(22,163,74,.32)}
.matrix .grade.tie{background:rgba(234,179,8,.14);color:#a16207;border:1px solid rgba(234,179,8,.32);font-size:14px;padding:1px 12px}
.matrix .grade.lose{background:rgba(220,38,38,.14);color:#b91c1c;border:1px solid rgba(220,38,38,.32);font-size:14px;padding:1px 12px}
.matrix .col-paul{background:rgba(109,40,217,.06);color:var(--ink);font-weight:700}
.matrix .cell-paul{background:rgba(109,40,217,.04);font-weight:500}
.matrix .dim{font-weight:600;color:var(--ink);background:#fafbfc}
.matrix-summary{margin:24px auto 0;max-width:880px;font-size:.97rem;line-height:1.6;color:var(--text);background:rgba(109,40,217,.04);border-left:3px solid var(--accent);padding:18px 22px;border-radius:0 8px 8px 0}
.matrix-summary strong{color:var(--ink);font-weight:700}

.arch-grid article.arch p.cite{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2,#566177)}
.arch-grid article.arch p.cite a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(109,40,217,.3)}
.arch-grid article.arch p.cite a:hover{border-bottom-color:var(--accent)}

.risk-callout{background:#fff8e1;border:1px solid #f59e0b;border-left:4px solid #b45309;border-radius:10px;padding:24px 28px;margin:0 0 32px}
.risk-callout p{margin:0 0 12px;font-size:1rem;line-height:1.65;color:var(--ink)}
.risk-callout p:last-child{margin:0}
.risk-callout strong{color:#92400e;font-weight:700}

.validation-frame{background:var(--ink);color:#fff;border-radius:10px;padding:28px 32px;margin:0}
.validation-frame h3{font-size:1.18rem;color:#fff;margin:0 0 12px;font-weight:700;letter-spacing:-.012em}
.validation-frame p{margin:0 0 14px;font-size:.97rem;line-height:1.65;color:rgba(255,255,255,.86)}
.validation-frame p:last-child{margin:0}
.validation-frame strong{color:#fff;font-weight:700}
.validation-frame a.ctx-link{color:#a78bfa;border-bottom:1px solid rgba(167,139,250,.5);text-decoration:none}
.validation-frame a.ctx-link:hover{border-bottom-color:#c4b5fd;color:#c4b5fd}

/* === FIX 19: an operator's track record strip on wedge pages === */
.operator-strip{padding:48px 0 56px !important;background:linear-gradient(180deg,#fafbff 0%,#fff 100%) !important;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.op-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0 0 24px}
@media(max-width:920px){.op-strip-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:520px){.op-strip-grid{grid-template-columns:1fr}}
.op-stat{text-align:center;padding:8px 12px;border-right:1px solid var(--border)}
.op-stat:last-child{border-right:0}
@media(max-width:920px){.op-stat:nth-child(2){border-right:0}}
.op-stat-num{font-family:var(--sans-d);font-size:clamp(36px,4vw,52px);font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.025em;margin:0 0 8px}
.op-stat-label{font-size:13.5px;line-height:1.45;color:var(--text-2,#566177);font-weight:500}
.op-strip-tag{margin:24px 0 0;text-align:center;font-size:13.5px;color:var(--text-2,#566177);line-height:1.6;border-top:1px solid var(--border);padding-top:18px}

/* === FIX 20: <dfn class="defined-term">: render as normal text === */
/* Browsers render <dfn> as italic by default. We use it for semantic GEO/AEO  */
/* signal (marking the first defining instance of a proprietary term), not as  */
/* visual emphasis. Override to inherit surrounding text style.                */
dfn.defined-term{font-style:inherit;font-weight:inherit}

/* === Scroll-to-top button === */
.scroll-top-btn{position:fixed;bottom:32px;right:32px;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s var(--ease,ease),transform .2s var(--ease,ease),visibility 0s linear .2s,background .15s var(--ease,ease);z-index:40;box-shadow:0 6px 20px rgba(10,37,64,.18),0 2px 6px rgba(10,37,64,.08)}
.scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s var(--ease,ease),transform .2s var(--ease,ease),visibility 0s,background .15s var(--ease,ease)}
.scroll-top-btn:hover{background:var(--accent)}
.scroll-top-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.scroll-top-btn svg{width:20px;height:20px;display:block}
@media (max-width:640px){
  .scroll-top-btn{bottom:20px;right:20px;width:42px;height:42px}
  .scroll-top-btn svg{width:18px;height:18px}
}
@media (prefers-reduced-motion: reduce){
  .scroll-top-btn{transition:opacity .15s,visibility 0s}
}
img
.bf-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* === FIX 1: Scroll-margin offsets so #anchors clear the sticky header === */
[id]{scroll-margin-top:80px}
@media(max-width:768px){[id]{scroll-margin-top:24px}}

/* === FIX 3: Canonical FAQ Type D answer styling === */
.faq-item .ans{padding:0 22px 22px;color:var(--text);font-size:15.5px;line-height:1.65}
.faq-item .ans p{margin:0 0 12px}
.faq-item .ans p:last-child{margin-bottom:0}
.faq-item .ans ul,.faq-item .ans ol{margin:8px 0 12px;padding-left:22px}
.faq-item .ans li{margin-bottom:6px}

/* === Canonical FAQ chevron icon (consolidated from r22) === */
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;font-weight:600;color:var(--ink);font-size:16px;line-height:1.4;transition:color .15s}
.faq-item summary:hover{color:var(--accent)}
.faq-item summary::after{content:"";flex-shrink:0;width:11px;height:11px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg);margin-right:4px;transition:transform .2s var(--ease,ease)}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-right:0;margin-top:6px}
.faq-item[open] summary{color:var(--accent)}

/* === FIX 2: aside.author-bio centering (higher specificity wins over conflicts) === */
aside.author-bio{margin:64px auto !important;max-width:1200px;padding:48px 24px;border-top:1px solid var(--border)}
aside.author-bio .wrap{max-width:1200px;margin:0 auto}

/* === FIX 1 R22: scroll-padding-top on html for reliable anchor jumps === */
html{scroll-padding-top:88px}
@media(max-width:768px){html{scroll-padding-top:24px}}
