:root{
  --navy:#10243e;--navy-2:#173653;--blue:#2b68a6;--coral:#fc5e5e;--coral-deep:#d94d59;--lav:#a7aaf5;--peach:#f7aea5;
  --ink:#172033;--muted:#687386;--muted-2:#8590a2;--line:#e7ebf1;--line-2:#dbe1e9;--paper:#ffffff;--soft:#f6f8fb;--soft-blue:#f0f6fc;--soft-lav:#f5f3ff;--soft-peach:#fff4f0;
  --shadow-sm:0 10px 30px rgba(16,36,62,.06);--shadow-md:0 22px 60px rgba(16,36,62,.09);--shadow-lg:0 36px 90px rgba(16,36,62,.12);
  --radius:22px;--radius-lg:30px;--radius-xl:40px;--wrap:1220px;--ease:cubic-bezier(.2,.75,.2,1);
  --grad:linear-gradient(120deg,#fc5e5e 0%,#ef8d95 28%,#a7aaf5 62%,#6fa8de 100%);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.modal-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,h4,h5,h6{font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);margin:0;text-wrap:balance}h1{font-size:clamp(48px,5vw,72px);line-height:1.04;letter-spacing:-.045em;font-weight:700}h2{font-size:clamp(34px,3.5vw,50px);line-height:1.08;letter-spacing:-.035em;font-weight:700}h3{font-size:clamp(21px,1.8vw,27px);line-height:1.18;letter-spacing:-.025em;font-weight:700}p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}strong,b{font-weight:800}.wrap{width:min(calc(100% - 48px),var(--wrap));margin-inline:auto}.section{position:relative;padding:88px 0}.skip-link{position:fixed;left:14px;top:-100px;z-index:10000;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px}.skip-link:focus{top:14px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.eyebrow:before{content:"";width:22px;height:2px;border-radius:99px;background:var(--grad)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-weight:800;font-size:14px}.text-link span{color:var(--coral-deep);transition:transform .2s var(--ease)}.text-link:hover span{transform:translateX(4px)}

/* navigation */
.site-nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.92);backdrop-filter:saturate(150%) blur(18px);border-bottom:1px solid rgba(16,36,62,.07);transition:box-shadow .25s var(--ease),background .25s var(--ease)}.site-nav.scrolled{box-shadow:0 8px 28px rgba(16,36,62,.06);background:rgba(255,255,255,.97)}.nav-inner{min-height:78px;display:flex;align-items:center;gap:28px}.logo{display:inline-flex;align-items:center;margin-right:auto}.brand-lockup{display:inline-flex;align-items:center;gap:9px}.brand-mark{width:38px;height:38px;object-fit:contain}.brand-word{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.055em;color:var(--navy)}.brand-num{color:var(--coral)}.nav-links{display:flex;align-items:center}.nav-menu{display:flex;align-items:center;gap:24px}.nav-menu>a,.nav-service-trigger{border:0;background:none;padding:10px 0;font-size:14px;font-weight:700;color:#354158;cursor:pointer}.nav-menu>a:hover,.nav-service-trigger:hover{color:var(--navy)}.nav-services{position:relative}.nav-service-trigger span{font-size:12px;color:var(--muted)}.mega-menu{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-34%);width:min(940px,86vw);display:grid;grid-template-columns:280px 1fr;gap:18px;padding:16px;border:1px solid rgba(16,36,62,.08);border-radius:24px;background:#fff;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;translate:0 -6px;transition:.2s var(--ease)}.nav-services.open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;translate:0 0}.mega-intro{padding:22px;border-radius:18px;background:linear-gradient(145deg,var(--soft-lav),var(--soft-blue));display:flex;flex-direction:column;gap:12px}.mega-intro>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--blue)}.mega-intro strong{font:800 23px/1.08 "Plus Jakarta Sans",sans-serif;color:var(--navy);letter-spacing:-.04em}.mega-intro a{margin-top:auto;font-size:13px;font-weight:800}.mega-services{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mega-services a{position:relative;padding:15px 38px 15px 15px;border-radius:15px;display:grid;gap:4px}.mega-services a:hover{background:var(--soft)}.mega-services small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:800}.mega-services b{font-size:14px;color:var(--navy)}.mega-services span{font-size:12px;color:var(--muted)}.mega-services i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--coral-deep)}.nav-actions{display:flex;align-items:center;gap:12px}.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;position:relative}.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--navy);border-radius:2px}.burger span:first-child{top:16px}.burger span:last-child{bottom:16px}.mobile-panel{display:none}

/* buttons */
.btn,.contact-submit,.footer-contact-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 21px;border-radius:14px;background:linear-gradient(135deg,var(--navy),#224b72);border:1px solid var(--navy);box-shadow:0 12px 28px rgba(16,36,62,.16);color:#fff!important;font-size:14px;font-weight:800;letter-spacing:-.015em;cursor:pointer;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)}.btn:hover,.contact-submit:hover,.footer-contact-cta:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(16,36,62,.2)}.btn.small{min-height:43px;padding-inline:16px;font-size:13px}.btn.secondary{background:#fff;color:var(--navy)!important;border-color:var(--line-2);box-shadow:none}.btn.secondary:hover{background:var(--soft);box-shadow:none}

/* hero */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}.hero-mesh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,rgba(247,174,165,.18),transparent 28%),radial-gradient(circle at 86% 18%,rgba(167,170,245,.20),transparent 26%)}.inner-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);gap:64px;align-items:center;padding:74px 0 70px}.home-hero .inner-hero{min-height:680px}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy h1 em{font-style:normal;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}.hero-copy>p{max-width:690px;margin-top:24px;font-size:19px;line-height:1.68;color:#59667a}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.hero-trust-rail{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px;padding-top:23px;border-top:1px solid rgba(16,36,62,.08)}.hero-trust-rail span{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:#526077}.hero-trust-rail span:before{content:"✓";display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#edf2ff;color:var(--blue);font-size:10px}.mini-note{margin-top:22px!important;font-size:12px!important;font-weight:750;color:#5d687b!important}.editorial-visual{margin:0;position:relative;z-index:1}.editorial-visual-frame{position:relative;padding:12px;border:1px solid rgba(16,36,62,.08);border-radius:32px;background:rgba(255,255,255,.72);box-shadow:var(--shadow-lg);overflow:hidden}.editorial-visual-frame:after{content:"";position:absolute;inset:12px;border-radius:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);pointer-events:none}.editorial-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}.editorial-glow{position:absolute;border-radius:50%;filter:blur(30px);opacity:.28;pointer-events:none}.editorial-glow-a{width:140px;height:140px;right:-35px;top:-28px;background:var(--lav)}.editorial-glow-b{width:120px;height:120px;left:-30px;bottom:-24px;background:var(--peach)}

/* proof */
.proof-strip{position:relative;z-index:4;margin-top:-28px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(16,36,62,.08);border-radius:22px;box-shadow:var(--shadow-md);overflow:hidden}.proof-grid>div{padding:22px 24px;border-right:1px solid var(--line)}.proof-grid>div:last-child{border-right:0}.proof-grid b{display:block;font:800 29px/1 "Plus Jakarta Sans",sans-serif;color:var(--navy);letter-spacing:-.04em}.proof-grid span{display:block;margin-top:7px;color:var(--muted);font-size:12px}.global-proof-band{padding:24px 0 30px;background:#fff}.global-proof-inner{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:34px;align-items:center}.global-proof-inner small{display:block;color:var(--coral-deep);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.global-proof-inner strong{display:block;margin-top:4px;color:var(--navy);font:800 17px/1.35 "Plus Jakarta Sans",sans-serif;letter-spacing:-.02em}.market-chips{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.market-chips span{padding:7px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:#5a6678;font-size:10px;font-weight:700}

/* generic section intro */
.section-head{max-width:980px;margin-bottom:38px}.section-head>div{max-width:900px}.section-head h2{margin-top:12px}.section-head>p{max-width:720px;margin-top:18px;font-size:18px;line-height:1.72;color:#657184}.tone-section{background:var(--soft)}

/* narrative problem */
.story-problem-section{padding-top:96px}.story-problem-grid{display:grid;grid-template-columns:90px minmax(0,.92fr) minmax(360px,.88fr);gap:44px;align-items:start}.story-number{font:800 72px/1 "Plus Jakarta Sans",sans-serif;color:#e4e9f0;letter-spacing:-.06em}.story-problem-copy h2{margin-top:12px;max-width:760px}.story-problem-copy p{margin-top:20px;max-width:680px;font-size:18px}.story-problem-points{display:grid;gap:10px}.story-problem-points article{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:17px 18px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.story-problem-points article>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--soft-lav);color:var(--blue);font-size:10px;font-weight:800}.story-problem-points b{font:800 15px/1.25 "Plus Jakarta Sans",sans-serif;color:var(--navy)}.story-problem-points p{margin-top:4px;font-size:13px;line-height:1.55}

/* AI chapter */
.ai-positioning-section{background:linear-gradient(145deg,#10243e,#173c61);color:#fff;overflow:hidden}.ai-positioning-section:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-140px;top:-140px;background:radial-gradient(circle,rgba(167,170,245,.22),transparent 68%)}.ai-positioning-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:60px;align-items:center}.ai-positioning-section .eyebrow{color:#d8e6f7}.ai-positioning-section .eyebrow:before{background:linear-gradient(90deg,var(--coral),var(--lav))}.ai-positioning-section h2{color:#fff;margin-top:12px}.ai-positioning-section p{color:rgba(255,255,255,.72);margin-top:20px;font-size:17px}.ai-positioning-section .text-link{margin-top:23px;color:#fff}.ai-operating-model{padding:22px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.14)}.ai-model-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 18px;color:#fff;font-weight:800;font-size:12px}.ai-model-head i{font-style:normal;color:#9cc0e4}.ai-model-grid{display:grid;gap:10px}.ai-model-grid>div{padding:16px 17px;border-radius:16px;background:#fff}.ai-model-grid small{display:block;color:var(--coral-deep);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.ai-model-grid b{display:block;margin-top:6px;color:var(--navy);font:800 15px/1.35 "Plus Jakarta Sans",sans-serif}.ai-model-note{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.ai-model-note .pulse{width:10px;height:10px;border-radius:50%;background:#74d49b;box-shadow:0 0 0 6px rgba(116,212,155,.12)}.ai-model-note div{display:grid}.ai-model-note b{color:#fff;font-size:13px}.ai-model-note small{color:rgba(255,255,255,.58);font-size:11px}

/* services */
.services-directory{background:#fff}.service-showcase-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.service-showcase-card{grid-column:span 6;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(16,36,62,.04);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}.service-showcase-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9dfe8}.service-showcase-wide{grid-column:span 12;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.service-showcase-art{display:block;background:var(--soft);overflow:hidden;min-height:220px}.service-showcase-wide .service-showcase-art{min-height:330px}.service-card-art{height:100%;min-height:220px;position:relative;overflow:hidden}.service-card-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.service-showcase-card:hover .service-card-art img{transform:scale(1.025)}.service-art-sheen{position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(16,36,62,.10));pointer-events:none}.service-showcase-copy{padding:24px}.service-showcase-wide .service-showcase-copy{padding:34px;align-self:center}.service-group{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--coral-deep)}.service-showcase-copy h3{margin-top:8px}.service-showcase-copy p{margin-top:10px;max-width:620px;font-size:14px;line-height:1.65}.service-task-pills{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 18px;padding:0;list-style:none}.service-task-pills li{padding:7px 9px;border-radius:9px;background:var(--soft);color:#5e6a7c;font-size:10px;font-weight:700}.compact-showcase .service-showcase-card{grid-column:span 6}

/* audience */
.audience-story-section{background:linear-gradient(180deg,#fff,var(--soft))}.audience-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.audience-story-card{min-height:330px;padding:28px;border-radius:24px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:.28s var(--ease)}.audience-story-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.audience-story-card.growing{background:linear-gradient(155deg,#fff,#fff5f1)}.audience-story-card.teams{background:linear-gradient(155deg,#fff,#f3f5ff)}.audience-story-card.partners{background:linear-gradient(155deg,#fff,#eef7ff)}.audience-story-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--blue)}.audience-story-card h3{margin-top:44px;font-size:26px}.audience-story-card p{margin-top:13px;font-size:14px}.audience-story-card strong{margin-top:auto;padding-top:24px;color:var(--navy);font-size:13px}.audience-story-card strong i{font-style:normal;color:var(--coral-deep)}

/* engagement */
.engagement-section{background:#fff}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.engagement-card{padding:26px;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}.engagement-card>span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:var(--soft-lav);color:var(--blue);font-size:10px;font-weight:800}.engagement-card h3{margin-top:28px}.engagement-card p{margin-top:11px;font-size:14px}.engagement-card ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px}.engagement-card li{position:relative;padding-left:20px;color:#596679;font-size:12px}.engagement-card li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}

/* assurances */
.engagement-assurance-section{background:var(--soft)}.assurance-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:56px;align-items:start}.assurance-intro{position:sticky;top:116px}.assurance-intro h2{margin-top:12px}.assurance-intro p{margin-top:18px;font-size:17px}.assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assurance-card{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}.assurance-card>span{font-size:10px;color:var(--coral-deep);font-weight:800}.assurance-card h3{margin-top:24px;font-size:21px}.assurance-card p{margin-top:8px;font-size:13px}

/* process */
.process-section{background:var(--navy);color:#fff}.process-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:72px;align-items:start}.process-intro{position:sticky;top:118px}.process-section .eyebrow{color:#c7d9ed}.process-section .eyebrow:before{background:linear-gradient(90deg,var(--coral),var(--lav))}.process-intro h2{margin-top:12px;color:#fff}.process-intro p{margin-top:18px;color:rgba(255,255,255,.65);font-size:17px}.process-timeline{display:grid;gap:10px}.process-step{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:22px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}.process-step>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.10);color:#fff;font-size:11px;font-weight:800}.process-step h3{color:#fff;font-size:24px}.process-step p{margin-top:7px;color:rgba(255,255,255,.64);font-size:14px}

/* audit */
.audit-offer-section{background:#fff}.audit-offer-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:44px;padding:42px;border-radius:30px;background:linear-gradient(135deg,#fff4f0 0%,#f4f2ff 50%,#eef7ff 100%);border:1px solid rgba(16,36,62,.07);box-shadow:var(--shadow-md)}.audit-offer-card:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(167,170,245,.25),transparent 68%)}.audit-offer-copy{position:relative;z-index:1}.audit-offer-copy h2{margin-top:12px}.audit-offer-copy p{margin-top:17px;max-width:640px;font-size:16px}.audit-offer-copy .btn{margin-top:24px}.delegation-map{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.delegation-map>div{min-height:122px;padding:16px;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid rgba(16,36,62,.07);display:flex;flex-direction:column;justify-content:flex-end}.delegation-map span{font:800 15px/1.15 "Plus Jakarta Sans",sans-serif;color:var(--navy)}.delegation-map small{margin-top:6px;color:var(--muted);font-size:10px;line-height:1.45}

/* faq */
.faq-section{background:var(--soft)}.faq-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start}.faq-intro{position:sticky;top:116px}.faq-intro h2{margin-top:12px}.faq-intro p{margin-top:18px;font-size:17px}.faq-list{display:grid;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;cursor:pointer;color:var(--navy);font:800 17px/1.35 "Plus Jakarta Sans",sans-serif}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;font-weight:500;color:var(--muted-2);transition:transform .2s var(--ease)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list .answer{padding:0 44px 20px 0;color:var(--muted);font-size:14px;line-height:1.7}

/* contact */
.home-contact-section{background:#fff}.home-contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:70px;align-items:start}.home-contact-copy h2{margin-top:12px}.home-contact-copy>p{margin-top:18px;font-size:17px;max-width:600px}.contact-side-note{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:15px 0;border-top:1px solid var(--line)}.contact-side-note:first-of-type{margin-top:28px}.contact-side-note>span{font-size:10px;color:var(--coral-deep);font-weight:800}.contact-side-note div{display:grid;gap:3px}.contact-side-note b{color:var(--navy);font-size:13px}.contact-side-note small{color:var(--muted);font-size:11px;line-height:1.5}.home-contact-card{padding:28px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow-md);background:#fff}.home-contact-head h3{font-size:25px}.home-contact-head p{margin-top:4px;font-size:12px}.contact-form{margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label,.contact-form label{font-size:11px;font-weight:800;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line-2);border-radius:12px;background:#fbfcfe;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#8aa7c4;box-shadow:0 0 0 4px rgba(43,104,166,.08)}.contact-form textarea{min-height:120px;resize:vertical}.contact-submit{margin-top:15px}.contact-form-foot{margin-top:11px}.contact-legal{font-size:10px;color:var(--muted-2)}.contact-error,.contact-success{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;font-size:12px}.contact-error.show{display:block;background:#fff1f1;color:#9e3434}.contact-success.show{display:flex;gap:10px;align-items:center;background:#effaf4;color:#296d4c}.contact-honey{position:absolute!important;left:-9999px!important}.contact-success-icon{font-size:18px}.contact-success button{border:0;background:none;color:inherit;font-weight:800;cursor:pointer}

/* service pages */
.page-hero:not(.home-hero) .inner-hero{padding:72px 0 66px}.page-hero:not(.home-hero) h1{font-size:clamp(48px,5.6vw,76px)}.page-hero:not(.home-hero) .hero-copy>p{font-size:18px}.split-intro{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);gap:64px;align-items:start}.section-sticky{position:sticky;top:116px}.section-sticky h2{margin-top:12px}.section-sticky p{margin-top:18px;font-size:17px}.task-list{display:grid;border-top:1px solid var(--line)}.task-row{display:grid;grid-template-columns:44px 1fr 22px;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.task-row>span{font-size:10px;color:var(--coral-deep);font-weight:800;padding-top:4px}.task-row h3{font-size:20px}.task-row p{margin-top:7px;font-size:13px}.task-row>i{font-style:normal;color:#a5adba}.service-workflow-section{background:var(--soft)}.service-workflow-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:54px;align-items:center}.service-workflow-art{overflow:hidden;border-radius:26px;min-height:380px;box-shadow:var(--shadow-md);background:#fff}.service-workflow-art .service-card-art{min-height:380px}.service-workflow-copy h2{margin-top:12px}.service-workflow-copy>p{margin-top:17px;font-size:16px}.workflow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}.workflow-steps span{padding:14px;border-radius:13px;background:#fff;border:1px solid var(--line);font:800 12px/1.25 "Plus Jakarta Sans",sans-serif;color:var(--navy)}.workflow-steps small{display:block;margin-bottom:8px;color:var(--coral-deep);font-size:9px}.ownership-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.ownership-grid>div{padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line)}.ownership-grid small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.ownership-grid ul{margin:11px 0 0;padding:0;list-style:none;display:grid;gap:8px}.ownership-grid li{position:relative;padding-left:18px;color:#606d7f;font-size:11px}.ownership-grid li:before{content:"•";position:absolute;left:3px;color:var(--coral)}.ai-layer-section{background:var(--navy);color:#fff}.ai-layer-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:56px;align-items:center}.ai-layer-section .eyebrow{color:#c7d9ed}.ai-layer-copy h2{color:#fff;margin-top:12px}.ai-layer-copy p{color:rgba(255,255,255,.66);margin-top:18px;font-size:17px}.ai-layer-section .text-link{margin-top:22px;color:#fff}.ai-layer-board{display:grid;grid-template-columns:1fr 50px 1fr;gap:8px;align-items:stretch}.ai-layer-col{padding:20px;border-radius:17px;background:#fff;color:var(--ink)}.ai-layer-col small{display:block;color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.ai-layer-col span{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;color:#556174}.ai-layer-col span:last-child{border-bottom:0}.ai-layer-col i{font-style:normal;color:var(--coral-deep)}.ai-layer-divider{display:grid;place-items:center}.ai-layer-divider b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.10);color:#fff}.outcome-editorial{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.outcome-card{padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.outcome-card>span{font-size:10px;color:var(--coral-deep);font-weight:800}.outcome-card h3{margin-top:30px;font-size:22px}.outcome-card p{margin-top:9px;font-size:13px}.tool-panel{margin-top:18px;padding:22px;border-radius:20px;background:var(--navy);display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}.tool-panel small{color:#a9bfd6;font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.tool-panel h3{color:#fff;margin-top:5px;font-size:22px}.tool-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tool-row span{padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.10);color:#fff;font-size:11px}.model-grid,.resource-feature-grid,.topic-grid,.role-grid,.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.model,.resource-feature,.topic-card,.reason-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.model>span,.resource-feature>span,.reason-card>span{font-size:10px;color:var(--coral-deep);font-weight:800}.model h3,.resource-feature h3,.topic-card h3,.reason-card h3{margin-top:28px;font-size:22px}.model p,.resource-feature p,.topic-card p,.reason-card p{margin-top:9px;font-size:13px}.model ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.model li{position:relative;padding-left:18px;color:var(--muted);font-size:11px}.model li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}.editorial-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.story-title h2{margin-top:12px}.story-body p{font-size:17px}.story-body blockquote{margin:28px 0 0;padding:18px 22px;border-left:3px solid var(--coral);background:var(--soft);color:var(--navy);font:800 22px/1.3 "Plus Jakarta Sans",sans-serif}.principle-list{display:grid;border-top:1px solid var(--line)}.principle-row{display:grid;grid-template-columns:44px 240px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.principle-row>span{font-size:10px;color:var(--coral-deep);font-weight:800}.principle-row h3{font-size:18px}.principle-row p{font-size:13px}.proof-grid-large{margin-top:20px}.about-market-proof{margin-top:18px;padding:18px;border-radius:15px;background:var(--soft)}.about-market-proof small{font-size:9px;color:var(--coral-deep);text-transform:uppercase;letter-spacing:.09em;font-weight:800}.about-market-proof p{margin-top:6px;font-size:13px}

/* CTA */
.cta-band{padding:54px 0;background:#fff}.cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:34px;border-radius:26px;background:linear-gradient(135deg,#f3f1ff,#eef7ff 60%,#fff4ef);border:1px solid rgba(16,36,62,.07)}.cta-card h2{margin-top:10px;font-size:clamp(34px,3.6vw,50px)}.cta-card p{margin-top:13px;max-width:720px}.cta-actions{display:flex;gap:9px;flex-wrap:wrap}

/* standard WordPress content */
.wp-content-shell,.entry-content{max-width:900px;margin-inline:auto}.entry-title{font-size:clamp(42px,5vw,66px);margin-bottom:22px}.entry-content>*+*{margin-top:1.2em}.entry-content h2{font-size:36px;margin-top:1.6em}.entry-content h3{font-size:26px;margin-top:1.4em}.entry-content ul,.entry-content ol{color:var(--muted);padding-left:22px}

/* modal */
.contact-modal{position:fixed;inset:0;z-index:1200;display:none}.contact-modal.open{display:grid;place-items:center}.contact-backdrop{position:absolute;inset:0;background:rgba(10,20,34,.65);backdrop-filter:blur(5px)}.contact-dialog{position:relative;z-index:1;width:min(960px,calc(100% - 32px));max-height:90vh;overflow:auto;display:grid;grid-template-columns:.85fr 1.15fr;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25)}.contact-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:22px;cursor:pointer;z-index:2}.contact-aside{padding:38px;background:linear-gradient(160deg,var(--navy),#1f4b75);color:#fff}.contact-aside h2{color:#fff;margin-top:12px;font-size:40px}.contact-aside p{color:rgba(255,255,255,.68);margin-top:16px}.contact-mini-flow{display:grid;gap:8px;margin-top:30px;color:#fff;font-size:12px}.contact-mini-flow i{font-style:normal;color:#91afd0}.contact-form-wrap{padding:38px}.contact-form-head h3{font-size:26px}.contact-form-head p{margin-top:4px;font-size:12px}

/* footer */
.site-footer{position:relative;background:#0f2238;color:#fff;padding:64px 0 24px}.site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}.footer-shell{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.footer-lead{max-width:650px}.footer-logo .brand-word,.footer-logo .brand-va,.footer-logo .brand-four{color:#fff}.footer-lead h2{color:#fff;margin-top:26px;font-size:clamp(36px,4vw,54px)}.footer-lead p{margin-top:16px;color:rgba(255,255,255,.65);font-size:15px}.footer-contact-cta{margin-top:22px;background:#fff;color:var(--navy)!important;border-color:#fff;box-shadow:none}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:12px}.footer-links>div{display:grid;align-content:start;gap:10px}.footer-links b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#c8d8e8}.footer-links a{font-size:13px;color:rgba(255,255,255,.66)}.footer-links a:hover{color:#fff}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:24px;margin-top:12px;border-top:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.42);font-size:10px}

/* motion: content is visible by default; JS opts only below-fold elements into motion */
.reveal{opacity:1;transform:none}.motion-ready .will-reveal{opacity:0;transform:translateY(20px);transition:opacity .58s var(--ease),transform .58s var(--ease)}.motion-ready .will-reveal.in{opacity:1;transform:none}.d1{transition-delay:.05s!important}.d2{transition-delay:.1s!important}.d3{transition-delay:.15s!important}.d4{transition-delay:.2s!important}.va247-scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;transform-origin:left center;background:var(--grad);z-index:1000;pointer-events:none}

@media(max-width:1100px){
  .nav-menu{gap:18px}.nav-menu>a,.nav-service-trigger{font-size:13px}.nav-actions .btn.small{display:none}
  .inner-hero{grid-template-columns:1fr 1fr;gap:40px}.home-hero .inner-hero{min-height:610px}.hero-copy>p{font-size:17px}
  .story-problem-grid{grid-template-columns:64px 1fr}.story-problem-points{grid-column:2}.ai-positioning-grid,.assurance-layout,.process-layout,.faq-layout,.home-contact-grid,.split-intro,.service-workflow-grid,.ai-layer-grid{gap:42px}
}
@media(max-width:900px){
  .nav-links{display:none}.burger{display:block}.mobile-panel{position:fixed;top:78px;left:0;right:0;z-index:850;display:block;padding:14px 24px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;translate:0 -8px;transition:.2s var(--ease)}.mobile-panel.open{opacity:1;visibility:visible;translate:0 0}.mobile-nav-links{display:grid}.mobile-nav-links>a,.mobile-services-toggle{padding:13px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-weight:800;color:var(--navy)}.mobile-services-toggle{display:flex;justify-content:space-between}.mobile-services-list{display:none;padding:6px 0 10px}.mobile-services-list.open{display:grid}.mobile-services-list a{display:grid;gap:2px;padding:10px 12px;border-radius:10px}.mobile-services-list a:hover{background:var(--soft)}.mobile-services-list b{font-size:13px}.mobile-services-list small{font-size:10px;color:var(--muted)}.mobile-cta{width:100%;margin-top:14px}
  .inner-hero,.ai-positioning-grid,.assurance-layout,.process-layout,.faq-layout,.home-contact-grid,.split-intro,.service-workflow-grid,.ai-layer-grid,.editorial-story{grid-template-columns:1fr}.home-hero .inner-hero{min-height:auto;padding-top:58px}.editorial-visual{max-width:700px}.proof-strip{margin-top:0;padding-top:12px}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid>div:nth-child(2){border-right:0}.proof-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.global-proof-inner{grid-template-columns:1fr}.market-chips{justify-content:flex-start}
  .section{padding:72px 0}.section-head{margin-bottom:30px}.story-problem-grid{grid-template-columns:1fr}.story-number{display:none}.story-problem-points{grid-column:auto}.audience-story-grid,.engagement-grid,.model-grid,.resource-feature-grid,.topic-grid,.reason-grid,.outcome-editorial{grid-template-columns:1fr}.assurance-intro,.process-intro,.faq-intro,.section-sticky{position:static}.assurance-grid{grid-template-columns:1fr 1fr}.service-showcase-card,.compact-showcase .service-showcase-card{grid-column:span 12}.service-showcase-wide{grid-template-columns:1fr}.service-showcase-wide .service-showcase-art{min-height:260px}.workflow-steps{grid-template-columns:1fr 1fr}.tool-panel{grid-template-columns:1fr}.tool-row{justify-content:flex-start}.ai-layer-board{grid-template-columns:1fr}.ai-layer-divider{min-height:30px}.cta-card{grid-template-columns:1fr}.cta-actions{justify-content:flex-start}.footer-shell{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}
@media(max-width:640px){
  .wrap{width:min(calc(100% - 32px),var(--wrap))}.nav-inner{min-height:70px}.mobile-panel{top:70px}.brand-word{font-size:20px}.brand-mark{width:34px;height:34px}h1{font-size:44px}h2{font-size:36px}h3{font-size:22px}.inner-hero{padding:48px 0 50px}.hero-copy>p{font-size:16px;margin-top:18px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-trust-rail{display:grid;gap:10px}.editorial-visual-frame{padding:8px;border-radius:24px}.editorial-visual img{border-radius:18px}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid>div{padding:18px}.proof-grid b{font-size:24px}.global-proof-band{padding-top:18px}.section{padding:60px 0}.section-head>p,.story-problem-copy p,.ai-positioning-section p,.assurance-intro p,.process-intro p,.faq-intro p,.home-contact-copy>p,.section-sticky p{font-size:15px}.service-showcase-copy{padding:20px}.service-showcase-wide .service-showcase-copy{padding:22px}.service-showcase-art,.service-card-art{min-height:190px}.service-showcase-wide .service-showcase-art{min-height:220px}.audience-story-card{min-height:280px;padding:22px}.audience-story-card h3{margin-top:34px}.engagement-card{padding:22px}.assurance-grid{grid-template-columns:1fr}.process-step{grid-template-columns:42px 1fr;padding:18px;gap:14px}.process-step>span{width:36px;height:36px}.audit-offer-card{grid-template-columns:1fr;padding:24px;border-radius:24px}.delegation-map{grid-template-columns:1fr}.faq-list summary{font-size:15px}.home-contact-card{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.workflow-steps,.ownership-grid{grid-template-columns:1fr}.service-workflow-art,.service-workflow-art .service-card-art{min-height:260px}.principle-row{grid-template-columns:36px 1fr}.principle-row p{grid-column:2}.contact-dialog{grid-template-columns:1fr}.contact-aside{display:none}.contact-form-wrap{padding:24px}.footer-links{grid-template-columns:1fr 1fr}.footer-lead h2{font-size:36px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .will-reveal{opacity:1!important;transform:none!important;transition:none!important}.service-card-art img,.btn,.service-showcase-card,.audience-story-card{transition:none!important}}
/* audit + fit + careers */
.audit-inner-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)}.audit-hero-visual{position:relative}.audit-map-card{padding:24px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg)}.audit-map-head{display:grid;gap:5px;padding-bottom:16px;border-bottom:1px solid var(--line)}.audit-map-head small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--blue);font-weight:800}.audit-map-head b{font:800 23px/1.1 "Plus Jakarta Sans",sans-serif;color:var(--navy)}.audit-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.audit-map-grid>div{min-height:118px;padding:15px;border-radius:15px;background:var(--soft);display:flex;flex-direction:column;justify-content:flex-end}.audit-map-grid span{font:800 14px/1.15 "Plus Jakarta Sans",sans-serif;color:var(--navy)}.audit-map-grid small{margin-top:5px;font-size:10px;color:var(--muted)}.audit-map-foot{display:flex;align-items:center;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.audit-map-foot .pulse{width:9px;height:9px;border-radius:50%;background:#65c98d;box-shadow:0 0 0 5px rgba(101,201,141,.12)}.audit-map-foot small{color:var(--muted);font-size:10px}.audit-value-section{background:#fff}.audit-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.audit-value-grid article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.audit-value-grid article>span{font-size:9px;color:var(--coral-deep);font-weight:800}.audit-value-grid h3{margin-top:25px;font-size:20px}.audit-value-grid p{margin-top:8px;font-size:12px}.audit-process-section{background:var(--soft)}.audit-process-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:56px}.audit-process-copy h2{margin-top:12px}.audit-process-copy p{margin-top:16px;font-size:16px}.audit-process-steps{display:grid;gap:10px}.audit-process-steps>div{padding:20px;border-radius:17px;background:#fff;border:1px solid var(--line)}.audit-process-steps span{font-size:9px;color:var(--coral-deep);font-weight:800}.audit-process-steps h3{margin-top:20px;font-size:20px}.audit-process-steps p{margin-top:7px;font-size:12px}.fit-section{background:#fff}.fit-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:56px;align-items:start}.fit-copy h2{margin-top:12px}.fit-copy p{margin-top:17px;font-size:16px}.fit-copy .text-link{margin-top:20px}.fit-list{display:grid;border-top:1px solid var(--line)}.fit-list>div{display:grid;grid-template-columns:32px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.fit-list i{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--soft-blue);color:var(--blue);font-style:normal;font-weight:800;font-size:10px}.fit-list span{display:grid;gap:3px}.fit-list b{color:var(--navy);font-size:13px}.fit-list small{color:var(--muted);font-size:11px;line-height:1.5}.career-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.benefit-card{padding:23px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow-sm)}.benefit-card h3{font-size:21px}.benefit-card p{margin-top:8px;font-size:12px}.role-grid{grid-template-columns:repeat(4,1fr)}.role-grid span{padding:17px;border-radius:15px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:12px;font-weight:800}
@media(max-width:900px){.audit-inner-hero,.audit-process-grid,.fit-grid{grid-template-columns:1fr}.audit-value-grid{grid-template-columns:1fr 1fr}.career-benefits,.role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.audit-map-grid,.audit-value-grid,.career-benefits,.role-grid{grid-template-columns:1fr}.audit-process-grid,.fit-grid{gap:34px}}

/* ============================================================
   VA20Four7 v4.1.0 — cohesive premium product/service UI
   This layer intentionally normalizes the active v4 markup into
   one visual system. Copy and image assets remain unchanged.
   ============================================================ */
:root{
  --v410-navy:#0d2137;
  --v410-ink:#162235;
  --v410-copy:#5d697b;
  --v410-line:#e6eaf0;
  --v410-surface:#f6f8fb;
  --v410-surface-2:#eef4fa;
  --v410-card:#fff;
  --v410-coral:#fc5e5e;
  --v410-blue:#315f91;
  --v410-lav:#a7aaf5;
  --v410-radius:24px;
  --v410-radius-lg:34px;
  --v410-shadow:0 18px 50px rgba(13,33,55,.075);
  --v410-shadow-lg:0 34px 84px rgba(13,33,55,.11);
}

html{scroll-padding-top:86px}
body{background:#fff;color:var(--v410-ink);font-size:16px;line-height:1.64;letter-spacing:-.002em}
.wrap{width:min(calc(100% - 48px),1240px)}
.section{padding:76px 0}
.section + .section{border-top:1px solid rgba(13,33,55,.035)}
h1,h2,h3,h4{color:var(--v410-navy)}
h1{font-size:clamp(52px,5.25vw,76px);line-height:.99;letter-spacing:-.058em}
h2{font-size:clamp(38px,3.8vw,56px);line-height:1.03;letter-spacing:-.047em}
h3{letter-spacing:-.03em}
p{color:var(--v410-copy);line-height:1.7}
.eyebrow{gap:8px;padding:7px 10px;border-radius:999px;background:#f3f6fa;border:1px solid rgba(13,33,55,.055);font-size:10px;letter-spacing:.1em;color:var(--v410-blue)}
.eyebrow:before{width:7px;height:7px;border-radius:50%;background:var(--v410-coral)}

/* navigation — compact and intentionally product-like */
.site-nav{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(13,33,55,.055);backdrop-filter:saturate(145%) blur(14px)}
.nav-inner{min-height:72px;gap:24px}
.brand-word{font-size:21px}
.nav-menu{gap:20px}
.nav-menu>a,.nav-service-trigger{font-size:13px;font-weight:700;color:#465267}
.nav-menu>a:hover,.nav-service-trigger:hover{color:var(--v410-navy)}
.nav-actions{gap:8px}
.btn,.contact-submit,.footer-contact-cta{min-height:47px;padding:0 19px;border-radius:12px;background:var(--v410-navy);box-shadow:none;font-size:13px}
.btn:hover,.contact-submit:hover,.footer-contact-cta:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(13,33,55,.14);background:#173552}
.btn.secondary{background:#fff;border-color:#dce2e9;color:var(--v410-navy)!important}

/* HERO — complete within first fold, visual carries equal weight */
.page-hero.home-hero{background:linear-gradient(180deg,#fbfcfe 0%,#fff 94%)}
.home-hero .hero-mesh{background:
  radial-gradient(circle at 8% 18%,rgba(247,174,165,.16),transparent 26%),
  radial-gradient(circle at 90% 18%,rgba(167,170,245,.18),transparent 28%),
  linear-gradient(rgba(13,33,55,.022) 1px,transparent 1px),
  linear-gradient(90deg,rgba(13,33,55,.022) 1px,transparent 1px);
  background-size:auto,auto,44px 44px,44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 92%)}
.home-hero .inner-hero{min-height:0;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:58px;padding:52px 0 58px;align-items:center}
.home-hero .hero-copy{max-width:690px}
.home-hero .hero-copy .eyebrow{margin-bottom:16px}
.home-hero .hero-copy h1{max-width:680px}
.home-hero .hero-copy h1 em{display:inline;color:transparent;background:linear-gradient(110deg,#e5515a 0%,#f08d91 38%,#7c85dd 82%);-webkit-background-clip:text;background-clip:text}
.home-hero .hero-copy>p{max-width:640px;margin-top:20px;font-size:17px;line-height:1.65;color:#5f6b7c}
.home-hero .hero-actions{margin-top:26px;gap:10px}
.home-hero .hero-trust-rail{display:grid;grid-template-columns:repeat(3,max-content);gap:8px;margin-top:26px;padding:0;border:0}
.home-hero .hero-trust-rail span{padding:8px 10px;border:1px solid rgba(13,33,55,.07);border-radius:10px;background:rgba(255,255,255,.82);color:#506077;font-size:10.5px;font-weight:750;box-shadow:0 6px 18px rgba(13,33,55,.035)}
.home-hero .hero-trust-rail span:before{content:"";width:6px;height:6px;background:#7c87dd;box-shadow:none}
.home-hero .editorial-visual{align-self:center}
.home-hero .editorial-visual-frame{padding:10px;border-radius:30px;background:linear-gradient(145deg,#fff,#f4f7fb);border:1px solid rgba(13,33,55,.07);box-shadow:var(--v410-shadow-lg)}
.home-hero .editorial-visual-frame:after{display:none}
.home-hero .editorial-visual img{aspect-ratio:1.08/1;object-fit:cover;object-position:center;border-radius:22px}
.home-hero .editorial-glow-a{width:170px;height:170px;opacity:.18}
.home-hero .editorial-glow-b{width:150px;height:150px;opacity:.14}

/* proof becomes one compact continuation of hero */
.proof-strip{margin-top:-22px;padding:0;z-index:8}
.proof-grid{border-radius:18px;box-shadow:0 16px 38px rgba(13,33,55,.075);border-color:rgba(13,33,55,.07)}
.proof-grid>div{padding:18px 22px;background:#fff}
.proof-grid b{font-size:27px}
.proof-grid span{margin-top:4px;font-size:11px}
.global-proof-band{padding:20px 0 24px;background:#fff}
.global-proof-inner{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:28px}
.market-chips{gap:6px}
.market-chips span{background:#f7f9fb;border-color:#e7ebf1;padding:6px 9px;font-size:9.5px}

/* section intros — one reading flow, no floating side-copy */
.section-head{max-width:820px;margin:0 0 34px}
.section-head>div{max-width:none}
.section-head h2{margin-top:12px}
.section-head>p{max-width:680px;margin-top:15px;font-size:16px;line-height:1.68;color:#657184}

/* chapter 1 problem */
.story-problem-section{padding:74px 0;background:#fff}
.story-problem-grid{grid-template-columns:54px minmax(0,.92fr) minmax(340px,.82fr);gap:34px}
.story-number{font-size:48px;color:#e9edf2}
.story-problem-copy h2{font-size:clamp(34px,3.4vw,50px);max-width:720px}
.story-problem-copy p{margin-top:16px;max-width:640px;font-size:16px}
.story-problem-points{gap:0;border-top:1px solid var(--v410-line)}
.story-problem-points article{grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-radius:0;border:0;border-bottom:1px solid var(--v410-line);box-shadow:none;background:transparent}
.story-problem-points article>span{width:28px;height:28px;border-radius:8px;background:#f1f4f8}
.story-problem-points b{font-size:14px}
.story-problem-points p{font-size:12px;line-height:1.5}

/* chapter 2 operating model — deliberate dark contrast */
.ai-positioning-section{padding:78px 0;background:var(--v410-navy);border-top:0!important;color:#fff}
.ai-positioning-section .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#d4e1ee}
.ai-positioning-section h2{color:#fff}
.ai-positioning-section p{color:rgba(255,255,255,.70);font-size:16px}
.ai-positioning-grid{gap:58px}
.ai-positioning-copy{max-width:620px}
.ai-positioning-copy h2{font-size:clamp(38px,3.8vw,56px)}
.ai-positioning-copy .text-link{margin-top:20px;color:#fff}
.ai-operating-model{padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:26px;background:rgba(255,255,255,.055);box-shadow:none}
.ai-model-head{gap:10px;color:#fff}
.ai-model-head span{padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.07);font-size:10px}
.ai-model-grid{gap:8px}
.ai-model-grid>div{padding:16px;border-radius:14px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
.ai-model-grid small{color:rgba(255,255,255,.5)}
.ai-model-grid b{color:#fff;font-size:13px}
.ai-model-note{border-color:rgba(255,255,255,.09)}
.ai-model-note b{color:#fff}.ai-model-note small{color:rgba(255,255,255,.55)}

/* services — bento, but calm and readable */
.services-directory{background:#f7f9fb}
.service-showcase-grid{gap:14px}
.service-showcase-card{border-radius:22px;border-color:#e3e8ee;box-shadow:none;background:#fff}
.service-showcase-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(13,33,55,.07);border-color:#d7dde5}
.service-showcase-wide{grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)}
.service-showcase-art{min-height:200px;background:#f1f5f9}
.service-showcase-wide .service-showcase-art{min-height:295px}
.service-card-art{min-height:200px}
.service-showcase-copy{padding:22px}
.service-showcase-wide .service-showcase-copy{padding:30px}
.service-group{font-size:9px;letter-spacing:.11em}
.service-showcase-copy h3{font-size:25px}
.service-showcase-copy p{font-size:13px;line-height:1.6}
.service-task-pills{margin:14px 0 15px}
.service-task-pills li{padding:6px 8px;border-radius:8px;background:#f5f7fa;font-size:9.5px}

/* audience — three distinct paths, no excess height */
.audience-story-section{background:#fff}
.audience-story-grid{gap:12px}
.audience-story-card{min-height:0;padding:24px;border-radius:22px;border:1px solid var(--v410-line);box-shadow:none;display:flex;flex-direction:column}
.audience-story-card:before{height:3px}
.audience-story-card h3{margin-top:30px;font-size:24px}
.audience-story-card p{font-size:13px;line-height:1.6}
.audience-story-card strong{margin-top:22px}
.audience-story-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(13,33,55,.07)}

/* engagement */
.engagement-section{background:#f7f9fb}
.engagement-grid{gap:12px}
.engagement-card{padding:24px;border-radius:22px;box-shadow:none;border-color:#e3e8ee}
.engagement-card>span{font-size:9px}
.engagement-card h3{margin-top:34px;font-size:25px}
.engagement-card p{font-size:13px}
.engagement-card ul{gap:8px;margin-top:16px}
.engagement-card li{font-size:11px}

/* assurance — editorial intro + slim cards */
.engagement-assurance-section{background:#fff;padding:76px 0}
.assurance-layout{gap:48px}
.assurance-intro{top:94px}
.assurance-intro p{font-size:15px}
.assurance-grid{gap:10px}
.assurance-card{min-height:0;padding:18px;border-radius:16px;box-shadow:none;border-color:#e5e9ef}
.assurance-card h3{margin-top:20px;font-size:18px}
.assurance-card p{font-size:11.5px;line-height:1.55}

/* process — one real scroll-story */
.process-section{padding:78px 0;background:var(--v410-navy);color:#fff;border-top:0!important}
.process-section .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#d4e1ee}
.process-intro{top:96px}.process-intro h2{color:#fff}.process-intro p{color:rgba(255,255,255,.66);font-size:15px}
.process-timeline{gap:8px}
.process-step{padding:20px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);box-shadow:none}
.process-step>span{background:rgba(255,255,255,.09);color:#fff}
.process-step h3{color:#fff;font-size:21px}.process-step p{color:rgba(255,255,255,.62);font-size:12px}

/* audit — clear high-intent conversion block */
.audit-offer-section{padding:68px 0;background:#fff}
.audit-offer-card{padding:34px;border-radius:28px;gap:34px;background:linear-gradient(135deg,#f6f7ff 0%,#f4f8fb 48%,#fff6f2 100%);box-shadow:none;border:1px solid #e4e8ee}
.audit-offer-copy h2{font-size:clamp(34px,3.5vw,50px)}
.audit-offer-copy p{font-size:15px}
.delegation-map{gap:8px}
.delegation-map>div{min-height:108px;padding:14px;border-radius:14px;box-shadow:none}
.delegation-map span{font-size:13px}.delegation-map small{font-size:9px}

/* faq — tighter editorial */
.faq-section{background:#f7f9fb}
.faq-layout{gap:48px}
.faq-intro{top:94px}.faq-intro p{font-size:15px}
.faq-list details{border-radius:14px;margin-bottom:8px;border-color:#e2e7ed;background:#fff}
.faq-list summary{padding:17px 18px;font-size:14px}.faq-list .answer{padding:0 18px 18px;font-size:12px;line-height:1.6}

/* contact */
.home-contact-section{padding:78px 0;background:#fff}
.home-contact-grid{gap:54px}
.home-contact-copy h2{font-size:clamp(38px,4vw,56px)}
.home-contact-copy>p{font-size:15px}
.contact-side-note{padding:14px 0}.contact-side-note small{font-size:11px}
.home-contact-card{padding:24px;border-radius:22px;box-shadow:var(--v410-shadow);border-color:#e1e6ec}

/* inner pages inherit same premium rhythm */
.page-hero:not(.home-hero) .inner-hero{min-height:0;padding:58px 0 64px;grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);gap:54px}
.page-hero:not(.home-hero) .hero-copy>p{font-size:17px;max-width:650px}
.page-hero:not(.home-hero) .editorial-visual-frame{border-radius:26px;box-shadow:var(--v410-shadow)}
.page-hero:not(.home-hero) .editorial-visual img{border-radius:20px}
.split-intro,.service-workflow-grid,.ai-layer-grid,.editorial-story{gap:46px}
.section-sticky{top:96px}
.workflow-steps>div,.principle-row,.reason-card,.outcome-card,.model,.resource-feature{box-shadow:none;border-color:#e3e8ee}

/* footer */
.site-footer{background:#0d2137}
.footer-shell{padding-top:62px}
.footer-lead h2{font-size:clamp(34px,3.8vw,52px)}
.footer-lead p{max-width:680px}

/* transitions: visible first; below-fold gets subtle movement only */
.motion-ready .will-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.motion-ready .will-reveal.in{opacity:1;transform:none}
@view-transition{navigation:auto}
::view-transition-old(root){animation:va247fadeout .14s ease both}
::view-transition-new(root){animation:va247fadein .22s ease both}
@keyframes va247fadeout{to{opacity:.82}}
@keyframes va247fadein{from{opacity:.86}to{opacity:1}}

@media(max-width:1100px){
  .home-hero .inner-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:38px}
  .home-hero .hero-trust-rail{grid-template-columns:1fr 1fr}.home-hero .hero-trust-rail span:last-child{grid-column:1/-1;width:max-content}
  .story-problem-grid{grid-template-columns:46px 1fr}.story-problem-points{grid-column:2}.assurance-layout{gap:36px}
}
@media(max-width:900px){
  .section{padding:64px 0}
  .home-hero .inner-hero,.page-hero:not(.home-hero) .inner-hero{grid-template-columns:1fr;padding:44px 0 48px;gap:34px}
  .home-hero .editorial-visual{max-width:720px}.home-hero .editorial-visual img{aspect-ratio:16/11}
  .proof-strip{margin-top:0;padding-top:10px}.global-proof-inner{grid-template-columns:1fr}.market-chips{justify-content:flex-start}
  .story-problem-grid{grid-template-columns:1fr}.story-number{display:none}.story-problem-points{grid-column:auto}
  .service-showcase-wide{grid-template-columns:1fr}.service-showcase-wide .service-showcase-art{min-height:230px}
  .assurance-intro,.process-intro,.faq-intro,.section-sticky{position:static}
  .assurance-layout,.faq-layout,.home-contact-grid{gap:34px}
}
@media(max-width:640px){
  .wrap{width:min(calc(100% - 28px),1240px)}
  .section{padding:52px 0}
  h1{font-size:43px;line-height:1.01}h2{font-size:34px}h3{font-size:21px}
  .home-hero .inner-hero{padding:34px 0 38px}
  .home-hero .hero-copy>p{font-size:15px;line-height:1.62}
  .home-hero .hero-actions{display:grid}.home-hero .hero-actions .btn{width:100%}
  .home-hero .hero-trust-rail{grid-template-columns:1fr;gap:7px}.home-hero .hero-trust-rail span:last-child{grid-column:auto;width:auto}
  .home-hero .editorial-visual-frame{padding:7px;border-radius:22px}.home-hero .editorial-visual img{border-radius:16px}
  .proof-grid>div{padding:15px}.proof-grid b{font-size:23px}.global-proof-band{padding:15px 0 20px}
  .section-head{margin-bottom:26px}.section-head>p{font-size:14px}
  .story-problem-copy p,.ai-positioning-section p,.assurance-intro p,.process-intro p,.faq-intro p,.home-contact-copy>p{font-size:14px}
  .service-showcase-copy,.service-showcase-wide .service-showcase-copy{padding:18px}.service-showcase-copy h3{font-size:22px}.service-showcase-art,.service-card-art{min-height:180px}.service-showcase-wide .service-showcase-art{min-height:190px}
  .audience-story-card,.engagement-card{padding:19px}.audience-story-card h3{font-size:21px;margin-top:24px}.engagement-card h3{font-size:22px;margin-top:26px}
  .audit-offer-card{padding:21px}.home-contact-card{padding:18px}
}
/* final narrative polish */
.story-problem-grid{grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr);gap:56px}.story-number{display:none}.story-problem-points{grid-column:auto}
@media(max-width:900px){.story-problem-grid{grid-template-columns:1fr;gap:30px}}

/* v4.1.1 — restore full premium visual storytelling without text overlays */
.premium-graphic-frame{background:linear-gradient(145deg,#fff,#f7f5ff 52%,#f0f7ff);border:1px solid rgba(13,33,55,.08);box-shadow:0 24px 64px rgba(13,33,55,.10)}
.premium-graphic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;filter:saturate(.96) contrast(.99)}
.chapter-visual{margin:24px 0 0}.chapter-visual-frame{overflow:hidden;border-radius:24px;border:1px solid rgba(13,33,55,.08);background:#f5f7fb;box-shadow:0 18px 46px rgba(13,33,55,.07)}.chapter-visual img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform .6s var(--ease)}.chapter-visual:hover img{transform:scale(1.018)}
.story-problem-grid-visual{grid-template-columns:minmax(0,1.04fr) minmax(340px,.76fr);gap:48px;align-items:start}.story-problem-main h2{margin-top:12px;font-size:clamp(34px,3.4vw,50px);max-width:720px}.story-problem-main>p{margin-top:16px;max-width:640px;font-size:16px;line-height:1.72}.story-growth-visual{max-width:720px}.story-growth-visual .chapter-visual-frame{border-radius:26px}
.audience-story-card{overflow:hidden;padding:0!important}.audience-story-art{margin:0;overflow:hidden;aspect-ratio:16/9;background:#f3f5f9;border-bottom:1px solid var(--v410-line)}.audience-story-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s var(--ease)}.audience-story-card:hover .audience-story-art img{transform:scale(1.025)}.audience-story-card>span,.audience-story-card>h3,.audience-story-card>p,.audience-story-card>strong{margin-left:24px;margin-right:24px}.audience-story-card>span{margin-top:20px}.audience-story-card h3{margin-top:22px}.audience-story-card strong{margin-bottom:24px}
.visual-card-media.service-card-art{padding:0!important;display:block!important;min-height:200px;background:#f4f6f9!important;border:0!important;box-shadow:none!important}.visual-card-media.service-card-art:before,.visual-card-media.service-card-art:after{display:none!important}.visual-card-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .55s var(--ease);filter:saturate(.96)}.service-showcase-card:hover .visual-card-media>img{transform:scale(1.025)}
.workflow-visual-canvas{min-height:360px;padding:22px;border-radius:24px;background:linear-gradient(145deg,#fff,#f8f7ff 55%,#f4f9ff);border:1px solid rgba(16,36,62,.07);box-shadow:0 18px 48px rgba(16,36,62,.07);display:grid;grid-template-rows:auto 1fr auto auto;gap:18px;overflow:hidden;position:relative}.workflow-visual-canvas:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;bottom:-105px;background:radial-gradient(circle,rgba(167,170,245,.22),rgba(167,170,245,0) 70%);pointer-events:none}.workflow-visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.workflow-visual-head>small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:var(--coral-deep)}.workflow-visual-head>span{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#fff;border:1px solid rgba(16,36,62,.07);font-size:9px;font-weight:800;color:var(--navy)}.workflow-visual-head i{width:7px;height:7px;border-radius:50%;background:#3ba177;box-shadow:0 0 0 4px rgba(59,161,119,.11)}.workflow-visual-route{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:1}.workflow-visual-step{min-width:0;flex:1;min-height:106px;padding:15px 12px;border-radius:17px;background:rgba(255,255,255,.93);border:1px solid rgba(16,36,62,.07);box-shadow:0 10px 24px rgba(16,36,62,.045);display:grid;align-content:end;gap:20px}.workflow-visual-step small{font-size:8px;font-weight:850;color:var(--coral-deep)}.workflow-visual-step b{font:800 13px/1.18 "Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.025em;color:var(--navy)}.workflow-visual-arrow{font-style:normal;color:#a7afbd;font-weight:800;flex:0 0 auto}.workflow-visual-owner{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}.workflow-visual-owner>div{padding:13px 14px;border-radius:15px;background:#fff;border:1px solid rgba(16,36,62,.07);display:grid;gap:5px}.workflow-visual-owner>div:first-child{background:#f1faf6}.workflow-visual-owner>div:last-child{background:#f6f3ff}.workflow-visual-owner small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#6f7887}.workflow-visual-owner b{font-size:10px;line-height:1.45;color:var(--navy)}.workflow-visual-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;color:#788190;font-size:8px;font-weight:750}.workflow-visual-foot i{font-style:normal;color:var(--coral-deep)}.service-workflow-art{display:block;min-height:0;background:transparent!important;box-shadow:none!important;overflow:visible}.service-workflow-art .workflow-visual-canvas{min-height:360px}
@media(max-width:900px){.story-problem-grid-visual{grid-template-columns:1fr;gap:30px}.chapter-visual{max-width:720px}.audience-story-card>span,.audience-story-card>h3,.audience-story-card>p,.audience-story-card>strong{margin-left:22px;margin-right:22px}}
@media(max-width:720px){.premium-graphic img{aspect-ratio:16/11}.chapter-visual{margin-top:18px}.chapter-visual-frame{border-radius:20px}.audience-story-card>span,.audience-story-card>h3,.audience-story-card>p,.audience-story-card>strong{margin-left:18px;margin-right:18px}.audience-story-card>span{margin-top:17px}.audience-story-card strong{margin-bottom:20px}.workflow-visual-canvas{min-height:auto;padding:16px}.workflow-visual-route{display:grid;grid-template-columns:1fr 1fr}.workflow-visual-arrow{display:none}.workflow-visual-owner{grid-template-columns:1fr}.workflow-visual-step{min-height:90px}.workflow-visual-foot{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.chapter-visual img,.audience-story-art img,.visual-card-media>img{transition:none!important}.chapter-visual:hover img,.audience-story-card:hover .audience-story-art img,.service-showcase-card:hover .visual-card-media>img{transform:none!important}}


/* ========================================================================== */
/* VA20Four7 v4.2.1 — STABLE PREMIUM FIX                                      */
/* Scoped to the homepage. No global typography/layout overrides.             */
/* ========================================================================== */

.va247-home-v421{
  --v421-ink:#11233b;
  --v421-copy:#596778;
  --v421-line:#e1e7ed;
  --v421-soft:#f6f8fb;
  --v421-soft-2:#eef3f8;
  --v421-coral:#ef5961;
  --v421-navy:#10243e;
  --v421-shadow:0 24px 70px rgba(16,36,62,.09);
  background:#fff;
  color:var(--v421-ink);
}
.va247-home-v421 .section{position:relative}
.va247-home-v421 .section h2,
.va247-home-v421 .section h3{color:var(--v421-ink)}
.va247-home-v421 .section p{color:var(--v421-copy)}

/* HERO — clean two-column composition with the original correct home visual */
.va247-home-v421 .home-hero{
  padding:34px 0 16px;
  min-height:auto;
  background:
    radial-gradient(circle at 84% 18%,rgba(112,128,255,.10),transparent 30%),
    radial-gradient(circle at 8% 88%,rgba(239,89,97,.07),transparent 26%),
    linear-gradient(180deg,#fbfcfe 0%,#fff 82%);
  border-bottom:1px solid rgba(16,36,62,.06);
  overflow:hidden;
}
.va247-home-v421 .home-hero .inner-hero{
  grid-template-columns:minmax(0,.93fr) minmax(460px,1.07fr);
  gap:64px;
  align-items:center;
  padding:48px 0 52px;
}
.va247-home-v421 .home-hero .hero-copy{max-width:720px}
.va247-home-v421 .home-hero .hero-copy h1{
  max-width:760px;
  font-size:clamp(54px,5.6vw,78px);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--v421-ink);
}
.va247-home-v421 .home-hero .hero-copy h1 em{
  font-style:normal;
  color:var(--v421-coral)!important;
  background:none!important;
  -webkit-text-fill-color:var(--v421-coral)!important;
}
.va247-home-v421 .home-hero .hero-copy>p{max-width:660px;color:var(--v421-copy);font-size:17px;line-height:1.68}
.va247-home-v421 .home-hero .hero-actions{margin-top:28px}
.va247-home-v421 .home-hero .hero-trust-rail{margin-top:28px;padding-top:18px;border-top:1px solid var(--v421-line)}
.va247-home-v421 .home-hero .editorial-visual{margin:0;max-width:none}
.va247-home-v421 .home-hero .editorial-visual-frame{
  padding:10px;
  border-radius:30px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(16,36,62,.09);
  box-shadow:0 30px 85px rgba(16,36,62,.13);
}
.va247-home-v421 .home-hero .premium-graphic img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border-radius:21px;
  filter:saturate(.94) contrast(.99);
}

/* proof rail */
.va247-home-v421 + .proof-strip,
.va247-home-v421 .proof-strip{background:#fff}
.va247-home-v421 .proof-grid{border:1px solid var(--v421-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(16,36,62,.05)}
.va247-home-v421 .proof-grid>div{border-color:var(--v421-line)}
.va247-home-v421 .proof-grid b{color:var(--v421-ink)}
.va247-home-v421 .proof-grid span{color:#788494}
.va247-home-v421 .global-proof-band{background:#fff;padding-top:16px}
.va247-home-v421 .global-proof-inner{border-top:0}

/* PROBLEM — editorial split, not floating WordPress cards */
.va247-home-v421 .story-problem-section{padding:86px 0 92px;background:#fff}
.va247-home-v421 .story-problem-grid{
  grid-template-columns:72px minmax(0,.92fr) minmax(360px,.82fr);
  gap:44px;
  align-items:start;
}
.va247-home-v421 .story-number{display:block;font-size:54px;color:#dce3eb;line-height:1}
.va247-home-v421 .story-problem-copy h2{font-size:clamp(38px,4vw,56px);line-height:1.04;letter-spacing:-.045em;color:var(--v421-ink)}
.va247-home-v421 .story-problem-copy p{font-size:16px;line-height:1.75;color:var(--v421-copy)}
.va247-home-v421 .story-problem-points{position:relative;gap:0;border-top:1px solid var(--v421-line)}
.va247-home-v421 .story-problem-points article{
  border:0;border-bottom:1px solid var(--v421-line);border-radius:0;box-shadow:none;background:transparent;padding:20px 4px;
}
.va247-home-v421 .story-problem-points article>span{border-radius:50%;background:#f3f5ff;color:#586ed8}
.va247-home-v421 .story-problem-points b{color:var(--v421-ink)}
.va247-home-v421 .story-problem-points p{color:#6a7686}

/* AI MODEL — explicit dark-section colors to prevent white-on-white regressions */
.va247-home-v421 .ai-positioning-section{padding:88px 0;background:linear-gradient(145deg,#0f2138,#163654);color:#fff}
.va247-home-v421 .ai-positioning-section h2,
.va247-home-v421 .ai-positioning-section h3,
.va247-home-v421 .ai-positioning-section b{color:#fff}
.va247-home-v421 .ai-positioning-section p{color:rgba(255,255,255,.72)}
.va247-home-v421 .ai-positioning-section .eyebrow{color:#dce8f4}
.va247-home-v421 .ai-positioning-section .text-link{color:#fff}
.va247-home-v421 .ai-positioning-grid{gap:70px}
.va247-home-v421 .ai-operating-model{padding:24px;border-radius:24px;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.13);box-shadow:0 24px 60px rgba(0,0,0,.12)}
.va247-home-v421 .ai-model-grid>div{background:#fff;border:1px solid rgba(255,255,255,.8);box-shadow:none}
.va247-home-v421 .ai-model-grid>div b{color:var(--v421-ink)}
.va247-home-v421 .ai-model-grid>div small{color:#d84b54}
.va247-home-v421 .ai-model-note b{color:#fff}
.va247-home-v421 .ai-model-note small{color:rgba(255,255,255,.62)}

/* SERVICES — keep only the semantically mapped service visuals already in v4.1.1 */
.va247-home-v421 .services-directory{padding:94px 0;background:#f6f8fa}
.va247-home-v421 .services-directory .section-head{align-items:end;gap:70px;margin-bottom:42px}
.va247-home-v421 .services-directory .section-head h2{font-size:clamp(40px,4.1vw,58px);line-height:1.04;letter-spacing:-.045em}
.va247-home-v421 .service-showcase-grid{gap:18px}
.va247-home-v421 .service-showcase-card{
  border-radius:22px;
  border:1px solid #dde4eb;
  box-shadow:0 12px 34px rgba(16,36,62,.045);
  background:#fff;
}
.va247-home-v421 .service-showcase-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(16,36,62,.09)}
.va247-home-v421 .service-showcase-art{background:#edf2f7}
.va247-home-v421 .service-showcase-art img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;visibility:visible!important}
.va247-home-v421 .service-showcase-copy{padding:26px}
.va247-home-v421 .service-showcase-wide .service-showcase-copy{padding:34px 36px}
.va247-home-v421 .service-showcase-copy h3{color:var(--v421-ink);font-size:25px}
.va247-home-v421 .service-showcase-copy p{color:#667384}
.va247-home-v421 .service-task-pills li{background:#f3f6f9;color:#596777;border:1px solid #e7ebf0}
.va247-home-v421 .service-showcase-copy .text-link{color:var(--v421-ink)}

/* WHO / ENGAGEMENT — visual distinction without incorrect stock/generated imagery */
.va247-home-v421 .audience-story-section{padding:88px 0;background:#fff}
.va247-home-v421 .audience-story-grid{gap:14px}
.va247-home-v421 .audience-story-card{
  min-height:330px;
  padding:28px!important;
  border:1px solid var(--v421-line);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fafbfd);
  box-shadow:none;
  position:relative;
  overflow:hidden;
}
.va247-home-v421 .audience-story-card:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,#ef5961,#8b87df)}
.va247-home-v421 .audience-story-card:nth-child(2):before{background:linear-gradient(90deg,#6b78d8,#67a6cf)}
.va247-home-v421 .audience-story-card:nth-child(3):before{background:linear-gradient(90deg,#df8f70,#e9be78)}
.va247-home-v421 .audience-story-card>span{margin:0;color:#7b8796}
.va247-home-v421 .audience-story-card h3{margin-top:54px;color:var(--v421-ink);font-size:25px;line-height:1.18}
.va247-home-v421 .audience-story-card p{color:#687586}
.va247-home-v421 .audience-story-card strong{color:var(--v421-ink)}
.va247-home-v421 .engagement-section{padding:88px 0;background:#f6f8fa}
.va247-home-v421 .engagement-grid{gap:0;border:1px solid var(--v421-line);border-radius:22px;overflow:hidden;background:#fff}
.va247-home-v421 .engagement-card{border:0;border-right:1px solid var(--v421-line);border-radius:0;box-shadow:none;background:#fff;padding:28px;min-height:360px}
.va247-home-v421 .engagement-card:last-child{border-right:0}
.va247-home-v421 .engagement-card h3{color:var(--v421-ink);font-size:25px}
.va247-home-v421 .engagement-card p,.va247-home-v421 .engagement-card li{color:#667384}

/* DELIVERABLES / PROCESS */
.va247-home-v421 .engagement-assurance-section{padding:88px 0;background:#fff}
.va247-home-v421 .assurance-layout{gap:68px}
.va247-home-v421 .assurance-intro h2{font-size:clamp(38px,3.8vw,54px);line-height:1.04;letter-spacing:-.04em;color:var(--v421-ink)}
.va247-home-v421 .assurance-grid{gap:12px}
.va247-home-v421 .assurance-card{border-radius:17px;border-color:var(--v421-line);box-shadow:none}
.va247-home-v421 .assurance-card h3{color:var(--v421-ink)}
.va247-home-v421 .assurance-card p{color:#6b7787}
.va247-home-v421 .process-section{padding:88px 0;background:#10243e;color:#fff}
.va247-home-v421 .process-section h2,.va247-home-v421 .process-section h3{color:#fff}
.va247-home-v421 .process-section p{color:rgba(255,255,255,.68)}
.va247-home-v421 .process-section .eyebrow{color:#d8e4ef}
.va247-home-v421 .process-step{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.11);box-shadow:none}
.va247-home-v421 .process-step h3{color:#fff}
.va247-home-v421 .process-step p{color:rgba(255,255,255,.67)}

/* Audit, FAQ, contact — explicit readable colors */
.va247-home-v421 .audit-offer-section{padding:78px 0;background:#fff}
.va247-home-v421 .audit-offer-card{background:linear-gradient(135deg,#f7f7ff,#f4f8fb 50%,#fff7f3);border-color:#e2e7ed;box-shadow:0 18px 50px rgba(16,36,62,.06)}
.va247-home-v421 .audit-offer-card h2,.va247-home-v421 .audit-offer-card span{color:var(--v421-ink)}
.va247-home-v421 .audit-offer-card p,.va247-home-v421 .audit-offer-card small{color:#667384}
.va247-home-v421 .home-faq{padding:82px 0;background:#f6f8fa}
.va247-home-v421 .faq-list details{background:#fff;border-color:var(--v421-line)}
.va247-home-v421 .faq-list summary{color:var(--v421-ink)}
.va247-home-v421 .faq-list .answer{color:#667384}
.va247-home-v421 .home-contact-section{padding:86px 0;background:#fff}
.va247-home-v421 .home-contact-copy h2,.va247-home-v421 .home-contact-card h3{color:var(--v421-ink)}
.va247-home-v421 .home-contact-copy p,.va247-home-v421 .home-contact-head p{color:#667384}
.va247-home-v421 .home-contact-card{border-color:var(--v421-line);box-shadow:0 20px 58px rgba(16,36,62,.08)}

/* ONE compact footer. Also suppress common legacy footer wrappers. */
#va247-theme-footer.site-footer{
  background:#0d1c2f!important;
  padding:48px 0 20px!important;
}
#va247-theme-footer .footer-shell{gap:38px!important}
#va247-theme-footer .footer-lead{max-width:650px}
#va247-theme-footer .footer-logo{margin-bottom:0!important}
#va247-theme-footer .footer-lead h2{
  margin-top:18px!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
}
#va247-theme-footer .footer-lead p{margin-top:12px!important;font-size:13px!important;line-height:1.6!important;color:rgba(255,255,255,.66)!important}
#va247-theme-footer .footer-contact-cta{margin-top:16px!important;color:#10243e!important;-webkit-text-fill-color:#10243e!important}
#va247-theme-footer .footer-links{padding-top:4px!important;gap:26px!important}
#va247-theme-footer .footer-links>div{gap:7px!important}
#va247-theme-footer .footer-links a{font-size:12px!important}
#va247-theme-footer .footer-bottom{padding-top:16px!important;margin-top:2px!important;font-size:9px!important}

@media(max-width:1100px){
  .va247-home-v421 .home-hero .inner-hero{grid-template-columns:1fr;gap:34px}
  .va247-home-v421 .home-hero .hero-copy{max-width:840px}
  .va247-home-v421 .home-hero .editorial-visual{max-width:820px}
  .va247-home-v421 .story-problem-grid{grid-template-columns:52px 1fr}.va247-home-v421 .story-problem-points{grid-column:2}
}
@media(max-width:900px){
  .va247-home-v421 .story-problem-grid{grid-template-columns:1fr;gap:28px}.va247-home-v421 .story-number{display:none}.va247-home-v421 .story-problem-points{grid-column:auto}
  .va247-home-v421 .engagement-card{min-height:auto}
}
@media(max-width:760px){
  .va247-home-v421 .home-hero{padding-top:18px}.va247-home-v421 .home-hero .inner-hero{padding:30px 0 38px}.va247-home-v421 .home-hero .hero-copy h1{font-size:clamp(44px,13vw,60px)}
  .va247-home-v421 .home-hero .editorial-visual-frame{border-radius:22px;padding:7px}.va247-home-v421 .home-hero .premium-graphic img{aspect-ratio:16/11;border-radius:16px}
  .va247-home-v421 .story-problem-section,.va247-home-v421 .ai-positioning-section,.va247-home-v421 .services-directory,.va247-home-v421 .audience-story-section,.va247-home-v421 .engagement-section,.va247-home-v421 .engagement-assurance-section,.va247-home-v421 .process-section,.va247-home-v421 .home-contact-section{padding:64px 0}
  .va247-home-v421 .engagement-grid{display:grid}.va247-home-v421 .engagement-card{border-right:0;border-bottom:1px solid var(--v421-line)}.va247-home-v421 .engagement-card:last-child{border-bottom:0}
  #va247-theme-footer.site-footer{padding:38px 0 18px!important}#va247-theme-footer .footer-shell{gap:28px!important}#va247-theme-footer .footer-lead h2{font-size:32px!important}
}
\n\n/* v4.2.3 footer recovery: canonical footer is rendered last and never suppressed. */
#va247-theme-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2}
#va247-theme-footer .footer-lead,#va247-theme-footer .footer-links,#va247-theme-footer .footer-bottom{opacity:1!important;visibility:visible!important;transform:none!important}
#va247-theme-footer.site-footer{padding:40px 0 18px!important}
#va247-theme-footer .footer-shell{padding-top:0!important;gap:30px!important}
#va247-theme-footer .footer-lead h2{margin-top:14px!important;font-size:clamp(28px,2.7vw,38px)!important}
#va247-theme-footer .footer-lead p{margin-top:10px!important;max-width:620px!important}
#va247-theme-footer .footer-contact-cta{margin-top:14px!important}
#va247-theme-footer .footer-bottom{padding-top:14px!important;margin-top:0!important}
@media(max-width:640px){#va247-theme-footer.site-footer{padding:32px 0 16px!important}#va247-theme-footer .footer-shell{gap:24px!important}#va247-theme-footer .footer-lead h2{font-size:28px!important}}

/* ========================================================================== */
/* VA20Four7 v4.2.4 — INNER-PAGE CONTRAST CONTRACT                            */
/* Dark surfaces own their foreground palette explicitly.                     */
/* White/light cards nested inside dark surfaces are intentionally re-inverted.*/
/* ========================================================================== */

:root{
  --va247-on-dark:#f8fbff;
  --va247-on-dark-copy:rgba(248,251,255,.76);
  --va247-on-dark-muted:rgba(248,251,255,.58);
  --va247-on-light:#172033;
  --va247-on-light-copy:#596778;
}

/* Section-level foreground defaults. */
.ai-positioning-section,
.process-section,
.ai-layer-section,
.tool-panel,
.contact-aside,
.site-footer{
  color:var(--va247-on-dark)!important;
}

/* Headings and high-emphasis copy on dark surfaces. */
.ai-positioning-section :where(h1,h2,h3,h4,h5,h6,strong,b),
.process-section :where(h1,h2,h3,h4,h5,h6,strong,b),
.ai-layer-section .ai-layer-copy :where(h1,h2,h3,h4,h5,h6,strong,b),
.ai-layer-section .ai-layer-divider :where(strong,b),
.tool-panel :where(h1,h2,h3,h4,h5,h6,strong,b),
.contact-aside :where(h1,h2,h3,h4,h5,h6,strong,b),
.site-footer :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--va247-on-dark)!important;
}

/* Body copy and secondary labels on dark surfaces. */
.ai-positioning-section :where(p,li),
.process-section :where(p,li),
.ai-layer-section .ai-layer-copy :where(p,li),
.tool-panel :where(p,li),
.contact-aside :where(p,li),
.site-footer :where(p,li){
  color:var(--va247-on-dark-copy)!important;
}

.ai-positioning-section :where(small),
.process-section :where(small),
.ai-layer-section .ai-layer-copy :where(small),
.tool-panel :where(small),
.contact-aside :where(small),
.site-footer :where(small){
  color:var(--va247-on-dark-muted)!important;
}

/* Dark-surface links must never inherit the global navy/black text color. */
.ai-positioning-section .text-link,
.process-section .text-link,
.ai-layer-section .text-link,
.tool-panel a:not(.btn),
.contact-aside a:not(.btn),
.site-footer a:not(.footer-contact-cta){
  color:var(--va247-on-dark)!important;
}

/* Known dark UI elements. */
.process-section .process-step>span,
.process-section .process-step h3,
.ai-layer-section .ai-layer-divider b,
.tool-panel .tool-row span,
.site-footer .footer-logo .brand-word,
.site-footer .footer-logo .brand-va,
.site-footer .footer-logo .brand-four{
  color:var(--va247-on-dark)!important;
}
.process-section .process-step p{color:var(--va247-on-dark-copy)!important}
.site-footer .footer-links a{color:rgba(248,251,255,.70)!important}
.site-footer .footer-links a:hover{color:#fff!important}
.site-footer .footer-bottom{color:rgba(248,251,255,.48)!important}

/* Re-invert intentionally light cards placed inside dark sections. */
.ai-layer-section .ai-layer-col,
.ai-layer-section .ai-layer-col :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--va247-on-light)!important;
}
.ai-layer-section .ai-layer-col :where(p,li,span){
  color:var(--va247-on-light-copy)!important;
}
.ai-layer-section .ai-layer-col small{color:var(--blue)!important}
.ai-layer-section .ai-layer-col i{color:var(--coral-deep)!important}

/* White CTA remains a white CTA even though it lives in the dark footer. */
.site-footer .footer-contact-cta{
  background:#fff!important;
  border-color:#fff!important;
  color:#10243e!important;
}
.site-footer .footer-contact-cta span{color:#10243e!important}

/* Eyebrows on dark surfaces use a readable cool-light treatment. */
.ai-positioning-section .eyebrow,
.process-section .eyebrow,
.ai-layer-section .eyebrow,
.contact-aside .eyebrow,
.site-footer .eyebrow{
  color:#dce9f6!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.12)!important;
}

/* Standard light sections/cards always keep the light-surface palette. */
.page-hero:not(.home-hero),
.service-workflow-section,
.tone-section,
.audit-value-section,
.audit-process-section,
.fit-section,
.faq-section,
.cta-band,
.home-contact-section{
  color:var(--va247-on-light);
}

/* ============================================================
   VA20Four7 v4.2.5 — current brand lockup + premium footer reset
   This block intentionally overrides every legacy footer rule.
   ============================================================ */
.brand-lockup-current{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
.brand-logo-current{
  display:block;
  width:196px;
  height:auto;
  max-width:none;
  object-fit:contain;
}
.site-nav .brand-logo-current{width:184px}

#va247-theme-footer.site-footer.site-footer-premium{
  position:relative!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#0b1828!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  z-index:2!important;
}
#va247-theme-footer.site-footer.site-footer-premium:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:3px!important;
  background:var(--grad)!important;
}
#va247-theme-footer.site-footer.site-footer-premium:after{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-260px;
  top:-330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(167,170,245,.13),rgba(167,170,245,0) 68%);
  pointer-events:none;
}
#va247-theme-footer .footer-premium-shell{
  position:relative;
  z-index:1;
  display:block!important;
  padding:42px 0 18px!important;
}
#va247-theme-footer .footer-premium-top{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:64px;
  align-items:end;
  padding-bottom:30px;
}
#va247-theme-footer .footer-premium-brand{
  max-width:760px;
}
#va247-theme-footer .footer-logo-current{
  display:inline-flex;
  align-items:center;
  width:236px;
  min-height:70px;
  padding:12px 16px;
  margin:0 0 22px!important;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
#va247-theme-footer .footer-logo-current .brand-lockup-current{width:100%}
#va247-theme-footer .footer-logo-current .brand-logo-current{
  width:100%;
  height:auto;
}
#va247-theme-footer .footer-premium-brand h2{
  margin:0!important;
  max-width:760px;
  color:#fff!important;
  font-size:clamp(28px,2.65vw,40px)!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
}
#va247-theme-footer .footer-premium-brand p{
  margin:13px 0 0!important;
  max-width:720px!important;
  color:rgba(232,239,248,.68)!important;
  font-size:13px!important;
  line-height:1.72!important;
}
#va247-theme-footer .footer-premium-action{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:21px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#va247-theme-footer .footer-action-label{
  display:block;
  margin-bottom:12px;
  color:#aebed0!important;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
#va247-theme-footer .footer-contact-cta{
  width:100%;
  min-height:48px!important;
  margin:0!important;
  padding:0 17px!important;
  border:1px solid rgba(255,255,255,.94)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#10243e!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:800!important;
}
#va247-theme-footer .footer-contact-cta:hover{
  transform:translateY(-1px)!important;
  background:#f7f9fc!important;
  box-shadow:none!important;
}
#va247-theme-footer .footer-premium-nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  align-items:end;
  padding:26px 0 22px;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
#va247-theme-footer .footer-links-premium{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(180px,250px))!important;
  gap:44px!important;
  padding:0!important;
  margin:0!important;
}
#va247-theme-footer .footer-links-premium>div{
  display:grid!important;
  gap:6px!important;
  align-content:start;
}
#va247-theme-footer .footer-links-premium b{
  margin-bottom:4px!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#va247-theme-footer .footer-links-premium a{
  width:max-content;
  max-width:100%;
  color:rgba(226,235,245,.62)!important;
  font-size:12px!important;
  line-height:1.6!important;
  transition:color .18s ease,transform .18s ease;
}
#va247-theme-footer .footer-links-premium a:hover{
  color:#fff!important;
  transform:translateX(2px);
}
#va247-theme-footer .footer-signature{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
  max-width:390px;
  color:rgba(216,227,239,.58)!important;
  font-size:10px;
  line-height:1.4;
  font-weight:700;
}
#va247-theme-footer .footer-signature i{
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#fc6b70;
}
#va247-theme-footer .footer-bottom-premium{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
  padding:15px 0 0!important;
  margin:0!important;
  border:0!important;
  color:rgba(211,223,236,.42)!important;
  font-size:9px!important;
  line-height:1.4!important;
}
#va247-theme-footer .footer-bottom-premium span:last-child{
  color:rgba(255,255,255,.56)!important;
  font-weight:800;
  letter-spacing:.03em;
}

@media(max-width:900px){
  .site-nav .brand-logo-current{width:168px}
  #va247-theme-footer .footer-premium-shell{padding-top:36px!important}
  #va247-theme-footer .footer-premium-top{grid-template-columns:1fr;gap:24px;align-items:start}
  #va247-theme-footer .footer-premium-brand{max-width:720px}
  #va247-theme-footer .footer-premium-action{max-width:430px}
  #va247-theme-footer .footer-premium-nav{grid-template-columns:1fr;gap:24px;align-items:start}
  #va247-theme-footer .footer-signature{justify-content:flex-start;max-width:none}
}
@media(max-width:640px){
  .site-nav .brand-logo-current{width:148px}
  #va247-theme-footer .footer-premium-shell{padding:30px 0 15px!important}
  #va247-theme-footer .footer-logo-current{width:210px;min-height:62px;margin-bottom:18px!important;padding:10px 14px}
  #va247-theme-footer .footer-premium-brand h2{font-size:29px!important}
  #va247-theme-footer .footer-premium-brand p{font-size:12px!important}
  #va247-theme-footer .footer-premium-top{padding-bottom:22px}
  #va247-theme-footer .footer-premium-action{padding:16px;border-radius:16px}
  #va247-theme-footer .footer-premium-nav{padding:21px 0 18px}
  #va247-theme-footer .footer-links-premium{grid-template-columns:1fr 1fr!important;gap:24px!important}
  #va247-theme-footer .footer-bottom-premium{flex-direction:column!important;align-items:flex-start!important;gap:5px!important}
}
@media(max-width:430px){
  #va247-theme-footer .footer-links-premium{grid-template-columns:1fr!important}
}

/* v4.2.5 final footer art direction: light foundation + contained premium CTA panel */
#va247-theme-footer.site-footer.site-footer-premium{
  background:#f6f8fb!important;
  color:#10243e!important;
  border-top:1px solid #e7ebf1!important;
}
#va247-theme-footer.site-footer.site-footer-premium:before{
  display:none!important;
}
#va247-theme-footer.site-footer.site-footer-premium:after{
  width:520px;
  height:520px;
  right:-240px;
  top:-270px;
  background:radial-gradient(circle,rgba(167,170,245,.15),rgba(167,170,245,0) 68%);
}
#va247-theme-footer .footer-premium-shell{
  padding:30px 0 16px!important;
}
#va247-theme-footer .footer-premium-top{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:54px;
  align-items:end;
  padding:30px 32px!important;
  border-radius:28px;
  background:linear-gradient(125deg,#0b1828 0%,#102942 64%,#142f49 100%);
  box-shadow:0 24px 64px rgba(13,33,55,.14);
}
#va247-theme-footer .footer-premium-top:before{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  left:-150px;
  top:-190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(252,94,94,.18),rgba(252,94,94,0) 70%);
  pointer-events:none;
}
#va247-theme-footer .footer-premium-top:after{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:8%;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(167,170,245,.18),rgba(167,170,245,0) 70%);
  pointer-events:none;
}
#va247-theme-footer .footer-premium-brand,
#va247-theme-footer .footer-premium-action{
  position:relative;
  z-index:1;
}
#va247-theme-footer .footer-logo-current{
  width:220px;
  min-height:62px;
  margin-bottom:20px!important;
  padding:10px 14px;
  border-radius:15px;
  box-shadow:0 12px 30px rgba(0,0,0,.13);
}
#va247-theme-footer .footer-premium-brand h2{
  max-width:700px;
  font-size:clamp(27px,2.5vw,38px)!important;
}
#va247-theme-footer .footer-premium-brand p{
  max-width:680px!important;
  font-size:12.5px!important;
  color:rgba(233,239,247,.68)!important;
}
#va247-theme-footer .footer-premium-action{
  padding:18px;
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}
#va247-theme-footer .footer-premium-nav{
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  margin-top:26px;
  padding:0 4px 18px;
  border-top:0;
  border-bottom:1px solid #dde3eb;
}
#va247-theme-footer .footer-links-premium b{
  color:#10243e!important;
}
#va247-theme-footer .footer-links-premium a{
  color:#657184!important;
}
#va247-theme-footer .footer-links-premium a:hover{
  color:#10243e!important;
}
#va247-theme-footer .footer-signature{
  color:#738096!important;
}
#va247-theme-footer .footer-signature i{
  background:#fc5e5e;
}
#va247-theme-footer .footer-bottom-premium{
  padding:13px 4px 0!important;
  color:#8893a3!important;
}
#va247-theme-footer .footer-bottom-premium span:last-child{
  color:#556276!important;
}
@media(max-width:900px){
  #va247-theme-footer .footer-premium-top{grid-template-columns:1fr;gap:22px;padding:26px!important}
  #va247-theme-footer .footer-premium-action{max-width:430px}
  #va247-theme-footer .footer-premium-nav{grid-template-columns:1fr;gap:22px}
}
@media(max-width:640px){
  #va247-theme-footer .footer-premium-shell{padding:22px 0 14px!important}
  #va247-theme-footer .footer-premium-top{padding:22px 20px!important;border-radius:22px}
  #va247-theme-footer .footer-logo-current{width:200px;min-height:58px;margin-bottom:16px!important}
  #va247-theme-footer .footer-premium-brand h2{font-size:28px!important}
  #va247-theme-footer .footer-premium-nav{margin-top:22px;padding-bottom:16px}
}

/* ========================================================================== */
/* VA20Four7 v4.2.7 — SAFE FOOTER RECOVERY + SURFACE CONTRAST HARDENING   */
/* ========================================================================== */

/* v4.2.7: Never hide footer wrappers globally. The canonical footer is rendered
   before wp_footer(), then only the exact legacy footer signature is removed. */
#va247-theme-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* -------------------------------------------------------------------------- */
/* Home-page surface contract. Every major section owns its foreground colors. */
/* -------------------------------------------------------------------------- */
.va247-home-v421 :is(
  .home-hero,
  .proof-strip,
  .global-proof-band,
  .story-problem-section,
  .services-directory,
  .audience-story-section,
  .engagement-section,
  .engagement-assurance-section,
  .audit-offer-section,
  .home-faq,
  .home-contact-section
){
  --va247-surface-heading:#11233b;
  --va247-surface-copy:#596778;
  --va247-surface-muted:#748193;
}

.va247-home-v421 :is(.ai-positioning-section,.process-section){
  --va247-surface-heading:#ffffff;
  --va247-surface-copy:rgba(248,251,255,.78);
  --va247-surface-muted:rgba(248,251,255,.62);
}

.va247-home-v421 :is(
  .home-hero,
  .proof-strip,
  .global-proof-band,
  .section
) :where(h1,h2,h3,h4,h5,h6){
  color:var(--va247-surface-heading,#11233b)!important;
  -webkit-text-fill-color:currentColor;
}

.va247-home-v421 :is(
  .home-hero,
  .proof-strip,
  .global-proof-band,
  .section
) :where(p,li,.answer){
  color:var(--va247-surface-copy,#596778)!important;
}

.va247-home-v421 :is(
  .home-hero,
  .proof-strip,
  .global-proof-band,
  .section
) :where(strong,b,summary,.text-link){
  color:var(--va247-surface-heading,#11233b)!important;
}

/* Muted labels on dark surfaces must not fall back to black/navy. */
.va247-home-v421 :is(.ai-positioning-section,.process-section) :where(small){
  color:var(--va247-surface-muted)!important;
}
.va247-home-v421 :is(.ai-positioning-section,.process-section) .eyebrow{
  color:#e4edf7!important;
}
.va247-home-v421 :is(.ai-positioning-section,.process-section) .text-link span{
  color:#ff9297!important;
}

/* White cards living inside the dark AI section get their own light surface. */
.va247-home-v421 .ai-positioning-section .ai-model-grid>div{
  --va247-surface-heading:#11233b;
  --va247-surface-copy:#596778;
  --va247-surface-muted:#748193;
  color:#11233b!important;
}
.va247-home-v421 .ai-positioning-section .ai-model-grid>div :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:#11233b!important;
}
.va247-home-v421 .ai-positioning-section .ai-model-grid>div :where(p,li){
  color:#596778!important;
}
.va247-home-v421 .ai-positioning-section .ai-model-grid>div small{
  color:#c8444e!important;
}

/* Preserve the gradient-emphasis word in the hero after the global contrast rule. */
.va247-home-v421 .home-hero .hero-copy h1 em{
  color:#ef5961!important;
  -webkit-text-fill-color:#ef5961!important;
}

/* Light cards and controls: explicit dark-on-light protection. */
.va247-home-v421 :is(
  .proof-grid,
  .story-problem-points article,
  .service-showcase-card,
  .audience-story-card,
  .engagement-card,
  .assurance-card,
  .audit-offer-card,
  .faq-list details,
  .home-contact-card
) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){
  color:#11233b!important;
}
.va247-home-v421 :is(
  .proof-grid,
  .story-problem-points article,
  .service-showcase-card,
  .audience-story-card,
  .engagement-card,
  .assurance-card,
  .audit-offer-card,
  .faq-list details,
  .home-contact-card
) :where(p,li,.answer){
  color:#596778!important;
}

/* Buttons keep their own intentional contrast. */
.va247-home-v421 .btn:not(.secondary),
.va247-home-v421 .btn:not(.secondary) span,
.va247-home-v421 .contact-submit,
.va247-home-v421 .contact-submit span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.va247-home-v421 .btn.secondary,
.va247-home-v421 .btn.secondary span{
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}

/* -------------------------------------------------------------------------- */
/* Inner-page hardening: known dark surfaces always use light foregrounds.    */
/* -------------------------------------------------------------------------- */
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside){
  --va247-dark-heading:#f8fbff;
  --va247-dark-copy:rgba(248,251,255,.78);
  --va247-dark-muted:rgba(248,251,255,.60);
  color:var(--va247-dark-heading)!important;
}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--va247-dark-heading)!important;
  -webkit-text-fill-color:currentColor;
}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :where(p,li){
  color:var(--va247-dark-copy)!important;
}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :where(small){
  color:var(--va247-dark-muted)!important;
}

/* Nested white cards inside dark inner-page sections remain dark-on-light. */
:is(.ai-positioning-section,.ai-layer-section) :is(.ai-model-grid>div,.ai-layer-col){
  color:#11233b!important;
}
:is(.ai-positioning-section,.ai-layer-section) :is(.ai-model-grid>div,.ai-layer-col) :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:#11233b!important;
  -webkit-text-fill-color:#11233b!important;
}
:is(.ai-positioning-section,.ai-layer-section) :is(.ai-model-grid>div,.ai-layer-col) :where(p,li,span){
  color:#596778!important;
}

/* Canonical footer stays readable on its final light-foundation treatment. */
#va247-theme-footer .footer-premium-nav :where(b,strong){color:#10243e!important}
#va247-theme-footer .footer-premium-nav a{color:#657184!important}
#va247-theme-footer .footer-bottom-premium,
#va247-theme-footer .footer-bottom-premium span{color:#7a8798!important}
#va247-theme-footer .footer-premium-top :where(h1,h2,h3,h4,h5,h6,strong,b){color:#fff!important}
#va247-theme-footer .footer-premium-top p{color:rgba(248,251,255,.74)!important}
#va247-theme-footer .footer-premium-top .footer-action-label{color:#bdcad8!important}
#va247-theme-footer .footer-premium-top .footer-contact-cta,
#va247-theme-footer .footer-premium-top .footer-contact-cta span{
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}


/* ==========================================================================
   VA20Four7 v4.2.9 — CANONICAL FOOTER LAST
   The current footer is intentionally rendered after wp_footer().
   It is therefore always the final visible site footer.
   ========================================================================== */
#va247-theme-footer[data-va247-footer-version="4.2.8"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  isolation:isolate!important;
  z-index:10!important;
}
[data-va247-legacy-footer="true"]{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;}


/* ========================================================================== */
/* VA20Four7 v4.3.0 — PROFESSIONAL TYPOGRAPHY SYSTEM                           */
/* Typography-only pass. No layout, colour, footer or visual behavior changes. */
/* ========================================================================== */
:root{
  --va247-font:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --va247-text-xs:12px;
  --va247-text-sm:14px;
  --va247-text-md:16px;
  --va247-text-lg:18px;
}

html body{
  font-family:var(--va247-font);
  font-size:16px;
  line-height:1.68;
  font-weight:400;
  letter-spacing:-.006em;
  font-kerning:normal;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html body :is(button,input,select,textarea){font-family:var(--va247-font)}
html body :is(h1,h2,h3,h4,h5,h6){font-family:var(--va247-font);font-weight:700}
html body h1{font-size:clamp(48px,5vw,72px);line-height:1.04;letter-spacing:-.045em}
html body h2{font-size:clamp(34px,3.5vw,50px);line-height:1.08;letter-spacing:-.035em}
html body h3{font-size:clamp(21px,1.8vw,27px);line-height:1.18;letter-spacing:-.025em}
html body h4{font-size:clamp(18px,1.25vw,22px);line-height:1.28;letter-spacing:-.018em}
html body p{font-size:16px;line-height:1.72}
html body :is(strong,b){font-weight:700}

/* Navigation and menus */
.nav-menu>a,.nav-service-trigger{font-size:14px!important;font-weight:600!important;letter-spacing:-.01em}
.mega-intro>span,.mega-services small{font-size:11px!important;letter-spacing:.075em!important;font-weight:700!important}
.mega-intro strong{font-size:22px!important;line-height:1.16!important;font-weight:700!important;letter-spacing:-.025em!important}
.mega-services b{font-size:14px!important;font-weight:700!important}
.mega-services span{font-size:12.5px!important;line-height:1.45!important}
.mobile-panel a{font-size:15px!important;font-weight:600!important}

/* Buttons / action text */
.btn,.contact-submit,.footer-contact-cta{font-size:14px!important;font-weight:700!important;letter-spacing:-.01em!important}
.btn.small{font-size:13.5px!important}
.text-link{font-size:14px!important;font-weight:700!important}
.eyebrow{font-size:12px!important;line-height:1.2!important;letter-spacing:.075em!important;font-weight:700!important}

/* Hero hierarchy */
.va247-home-v421 .home-hero .hero-copy h1,
.home-hero .hero-copy h1{font-size:clamp(48px,4.8vw,68px)!important;line-height:1.05!important;letter-spacing:-.043em!important;font-weight:700!important}
.page-hero:not(.home-hero) h1{font-size:clamp(44px,4.7vw,64px)!important;line-height:1.06!important;letter-spacing:-.04em!important;font-weight:700!important}
.hero-copy>p,.va247-home-v421 .home-hero .hero-copy>p{font-size:18px!important;line-height:1.7!important;letter-spacing:-.008em!important}
.hero-trust-rail span{font-size:12px!important;font-weight:600!important}
.mini-note{font-size:13px!important;font-weight:600!important;line-height:1.55!important}

/* Section introductions */
.section-head h2,
.story-problem-copy h2,
.ai-positioning-copy h2,
.assurance-intro h2,
.process-intro h2,
.audit-offer-copy h2,
.home-contact-copy h2,
.faq-intro h2,
.section-sticky h2,
.service-workflow-copy h2,
.ai-layer-copy h2,
.audit-process-copy h2,
.fit-copy h2{
  font-size:clamp(34px,3.35vw,48px)!important;
  line-height:1.09!important;
  letter-spacing:-.033em!important;
  font-weight:700!important;
}
.section-head>p,
.story-problem-copy p,
.ai-positioning-section p,
.assurance-intro p,
.process-intro p,
.audit-offer-copy>p,
.home-contact-copy>p,
.faq-intro p,
.section-sticky p,
.service-workflow-copy>p,
.ai-layer-copy p,
.audit-process-copy p,
.fit-copy p,
.story-body p{
  font-size:16.5px!important;
  line-height:1.72!important;
}

/* Cards and service descriptions — remove the tiny WordPress-card feel */
.service-showcase-copy h3,
.audience-story-card h3,
.engagement-card h3,
.outcome-card h3,
.model h3,.resource-feature h3,.topic-card h3,.reason-card h3,
.benefit-card h3,
.audit-value-grid h3,
.audit-process-steps h3,
.home-contact-head h3{
  font-size:23px!important;
  line-height:1.22!important;
  letter-spacing:-.022em!important;
  font-weight:700!important;
}
.service-showcase-copy p,
.audience-story-card p,
.engagement-card p,
.assurance-card p,
.outcome-card p,
.model p,.resource-feature p,.topic-card p,.reason-card p,
.benefit-card p,
.audit-value-grid p,
.audit-process-steps p,
.principle-row p,
.task-row p{
  font-size:14px!important;
  line-height:1.68!important;
}
.assurance-card h3,.principle-row h3,.task-row h3{font-size:19px!important;line-height:1.28!important;font-weight:700!important}

/* Micro-copy and labels: retain hierarchy without unreadable 8–10px text */
.service-group,
.model>span,.resource-feature>span,.reason-card>span,.outcome-card>span,
.principle-row>span,.task-row>span,.audit-value-grid article>span,.audit-process-steps span,
.workflow-visual-head>small,.workflow-visual-step small,
.workflow-visual-owner small,
.audit-map-head small,.about-market-proof small,
.ai-model-grid small,.ownership-grid small,.ai-layer-col small,.tool-panel small{
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:.065em!important;
  font-weight:700!important;
}
.service-task-pills li,.market-chips span{font-size:11px!important;line-height:1.35!important;font-weight:600!important}
.workflow-steps span{font-size:12.5px!important;line-height:1.35!important;font-weight:700!important}
.workflow-steps small{font-size:11px!important}
.ownership-grid li,.model li,.fit-list small{font-size:12.5px!important;line-height:1.58!important}
.ai-layer-col span,.tool-row span,.role-grid span{font-size:12.5px!important;line-height:1.45!important}
.proof-grid b{font-size:28px!important;font-weight:700!important;letter-spacing:-.03em!important}
.proof-grid span{font-size:12.5px!important;line-height:1.45!important}
.global-proof-inner strong{font-size:17px!important;font-weight:700!important}
.global-proof-inner small{font-size:11px!important}

/* FAQ */
.faq-list summary{font-size:16px!important;line-height:1.45!important;font-weight:700!important;letter-spacing:-.012em!important}
.faq-list .answer{font-size:14.5px!important;line-height:1.72!important}

/* Forms and modal */
.field label,.contact-form label{font-size:12.5px!important;line-height:1.4!important;font-weight:700!important}
.contact-form input,.contact-form select,.contact-form textarea{font-size:15px!important;line-height:1.5!important}
.contact-legal{font-size:11.5px!important;line-height:1.5!important}
.contact-form-head h3{font-size:24px!important}
.contact-form-head p,.home-contact-head p{font-size:13px!important;line-height:1.55!important}
.contact-aside h2{font-size:36px!important;line-height:1.1!important;letter-spacing:-.03em!important}
.contact-aside p{font-size:15px!important;line-height:1.68!important}

/* Editorial / quote / utility typography */
.story-number{font-size:52px!important;font-weight:700!important;letter-spacing:-.04em!important}
.story-body blockquote{font-size:21px!important;line-height:1.42!important;font-weight:700!important;letter-spacing:-.018em!important}
.audit-map-head b{font-size:21px!important;font-weight:700!important}
.audit-map-grid span{font-size:14px!important;font-weight:700!important}
.workflow-visual-step b{font-size:13px!important;font-weight:700!important;line-height:1.32!important}
.workflow-visual-owner b{font-size:11.5px!important;line-height:1.48!important;font-weight:600!important}
.workflow-visual-foot{font-size:10.5px!important;line-height:1.45!important}

/* Footer — consistent with the new site typography */
#va247-theme-footer{font-family:var(--va247-font)!important}
#va247-theme-footer .footer-premium-brand h2{font-size:clamp(29px,2.45vw,37px)!important;line-height:1.12!important;letter-spacing:-.03em!important;font-weight:700!important}
#va247-theme-footer .footer-premium-brand p{font-size:14px!important;line-height:1.68!important}
#va247-theme-footer .footer-action-label{font-size:11.5px!important;letter-spacing:.06em!important;font-weight:700!important}
#va247-theme-footer .footer-links-premium b{font-size:13px!important;font-weight:700!important}
#va247-theme-footer .footer-links-premium a{font-size:13.5px!important;line-height:1.5!important;font-weight:500!important}
#va247-theme-footer .footer-bottom-premium{font-size:11.5px!important;line-height:1.5!important}

/* Mobile typography keeps hierarchy without oversized wrapping. */
@media(max-width:720px){
  html body{font-size:15.5px;line-height:1.66}
  html body h1{font-size:clamp(40px,11vw,50px);line-height:1.06;letter-spacing:-.04em}
  html body h2{font-size:clamp(30px,8.2vw,39px);line-height:1.1;letter-spacing:-.032em}
  html body h3{font-size:clamp(20px,5.7vw,24px);line-height:1.22}
  .va247-home-v421 .home-hero .hero-copy h1,.home-hero .hero-copy h1,.page-hero:not(.home-hero) h1{font-size:clamp(40px,11vw,50px)!important;line-height:1.06!important}
  .hero-copy>p,.va247-home-v421 .home-hero .hero-copy>p{font-size:16.5px!important;line-height:1.68!important}
  .section-head h2,.story-problem-copy h2,.ai-positioning-copy h2,.assurance-intro h2,.process-intro h2,.audit-offer-copy h2,.home-contact-copy h2,.faq-intro h2,.section-sticky h2,.service-workflow-copy h2,.ai-layer-copy h2,.audit-process-copy h2,.fit-copy h2{font-size:clamp(30px,8.2vw,39px)!important;line-height:1.1!important}
  .section-head>p,.story-problem-copy p,.ai-positioning-section p,.assurance-intro p,.process-intro p,.audit-offer-copy>p,.home-contact-copy>p,.faq-intro p,.section-sticky p,.service-workflow-copy>p,.ai-layer-copy p,.audit-process-copy p,.fit-copy p,.story-body p{font-size:15.5px!important}
  .service-showcase-copy h3,.audience-story-card h3,.engagement-card h3,.outcome-card h3,.model h3,.resource-feature h3,.topic-card h3,.reason-card h3,.benefit-card h3,.audit-value-grid h3,.audit-process-steps h3,.home-contact-head h3{font-size:21.5px!important}
  .nav-menu>a,.nav-service-trigger,.mobile-panel a{font-size:15px!important}
  #va247-theme-footer .footer-premium-brand h2{font-size:28px!important}
}

/* Final legibility guards for remaining micro-labels. */
.workflow-visual-head>span,.engagement-card>span,.delegation-map small,.mobile-services-list small{
  font-size:11.5px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

/* ========================================================================== */
/* VA20Four7 v4.3.1 — HOMEPAGE FIRST-FOLD REFINEMENT                         */
/* Homepage hero only. Typography system, inner pages and footer stay intact. */
/* ========================================================================== */

.va247-home-v421 .home-hero-v431{
  padding:12px 0 24px!important;
  border-bottom:0!important;
  background:#f6f8fb!important;
  overflow:visible!important;
}
.va247-home-v421 .home-hero-v431>.hero-mesh{display:none!important}
.va247-home-v421 .home-hero-v431 .inner-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr)!important;
  gap:54px!important;
  align-items:center!important;
  min-height:0!important;
  padding:52px 54px 56px!important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:34px;
  background:
    radial-gradient(circle at 92% 4%,rgba(167,170,245,.20),transparent 31%),
    radial-gradient(circle at 4% 96%,rgba(252,94,94,.15),transparent 29%),
    linear-gradient(135deg,#0d2137 0%,#122a44 56%,#173a59 100%);
  box-shadow:0 28px 70px rgba(13,33,55,.14);
}
.va247-home-v421 .home-hero-v431 .inner-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(105deg,rgba(0,0,0,.8),transparent 78%);
}
.va247-home-v421 .home-hero-v431 .hero-copy{max-width:650px!important}
.va247-home-v421 .home-hero-v431 .hero-copy .eyebrow{
  margin-bottom:18px!important;
  padding:8px 11px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.075)!important;
  color:#dce8f4!important;
  box-shadow:none!important;
}
.va247-home-v421 .home-hero-v431 .hero-copy .eyebrow:before{background:#ff8a83!important}
.va247-home-v421 .home-hero-v431 .hero-copy h1{
  max-width:650px!important;
  color:#fff!important;
  font-size:clamp(46px,4.45vw,64px)!important;
  line-height:1.035!important;
  letter-spacing:-.046em!important;
}
.va247-home-v421 .home-hero-v431 .hero-copy h1 em{
  display:inline!important;
  color:#ffaaa5!important;
  background:none!important;
  -webkit-text-fill-color:#ffaaa5!important;
}
.va247-home-v421 .home-hero-v431 .hero-copy>p{
  max-width:625px!important;
  margin-top:21px!important;
  color:#d3deea!important;
  font-size:17px!important;
  line-height:1.68!important;
}
.va247-home-v421 .home-hero-v431 .hero-actions{margin-top:27px!important;gap:10px!important}
.va247-home-v421 .home-hero-v431 .hero-primary-cta{
  min-height:50px!important;
  padding-inline:20px!important;
  border-color:#fff!important;
  background:#fff!important;
  color:#10243e!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
}
.va247-home-v421 .home-hero-v431 .hero-primary-cta:hover{background:#f7f9fc!important;box-shadow:0 16px 34px rgba(0,0,0,.20)!important}
.va247-home-v421 .home-hero-v431 .hero-primary-cta span{color:#ef5961!important}
.va247-home-v421 .home-hero-v431 .hero-secondary-cta{
  min-height:50px!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.va247-home-v421 .home-hero-v431 .hero-secondary-cta:hover{background:rgba(255,255,255,.11)!important}
.va247-home-v421 .home-hero-v431 .hero-trust-rail{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
  margin-top:27px!important;
  padding-top:19px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.va247-home-v421 .home-hero-v431 .hero-trust-rail span{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#c7d4e1!important;
  font-size:11.5px!important;
  font-weight:600!important;
}
.va247-home-v421 .home-hero-v431 .hero-trust-rail span:before{
  content:"✓"!important;
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:rgba(126,210,168,.14)!important;
  color:#8fddb7!important;
  font-size:9px!important;
  box-shadow:inset 0 0 0 1px rgba(143,221,183,.20)!important;
}

/* Visual now explains the operating model instead of behaving like decoration. */
.va247-home-v421 .home-hero-v431 .hero-visual-system{
  position:relative;
  min-width:0;
  padding-bottom:42px;
}
.va247-home-v421 .home-hero-v431 .editorial-visual{margin:0!important;max-width:none!important}
.va247-home-v421 .home-hero-v431 .editorial-visual-frame{
  position:relative;
  overflow:hidden;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:0 30px 65px rgba(0,0,0,.23)!important;
  backdrop-filter:blur(8px);
}
.va247-home-v421 .home-hero-v431 .premium-graphic img{
  width:100%!important;
  aspect-ratio:16/11!important;
  object-fit:cover!important;
  object-position:center 35%!important;
  border-radius:20px!important;
  filter:saturate(.88) contrast(1.02) brightness(.96)!important;
}
.va247-home-v421 .home-hero-v431 .editorial-glow{display:none!important}
.va247-home-v421 .home-hero-v431 .hero-workflow-card{
  position:absolute;
  z-index:5;
  left:24px;
  right:24px;
  bottom:0;
  padding:15px 17px 16px;
  border:1px solid rgba(16,36,62,.08);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 45px rgba(5,20,35,.22);
  backdrop-filter:blur(14px);
}
.va247-home-v421 .home-hero-v431 .hero-workflow-label{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:11px;
  color:#697487;
  font-size:9.5px;
  line-height:1;
  letter-spacing:.075em;
  text-transform:uppercase;
  font-weight:700;
}
.va247-home-v421 .home-hero-v431 .hero-workflow-label span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#47a87d;
  box-shadow:0 0 0 4px rgba(71,168,125,.11);
}
.va247-home-v421 .home-hero-v431 .hero-workflow-route{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:9px;
  align-items:center;
}
.va247-home-v421 .home-hero-v431 .hero-workflow-route>div{display:grid;gap:2px;min-width:0}
.va247-home-v421 .home-hero-v431 .hero-workflow-route small{color:#ef5961;font-size:8px;font-weight:800}
.va247-home-v421 .home-hero-v431 .hero-workflow-route b{color:#10243e;font-size:12px;line-height:1.25;font-weight:700}
.va247-home-v421 .home-hero-v431 .hero-workflow-route span{color:#7a8494;font-size:9.5px;line-height:1.35}
.va247-home-v421 .home-hero-v431 .hero-workflow-route i{font-style:normal;color:#abb4c1;font-size:13px}

/* Proof rail sits immediately under the hero instead of creating another gap. */
.va247-home-v421 .proof-strip{margin-top:-8px!important;padding-top:0!important}
.va247-home-v421 .proof-grid{box-shadow:0 12px 32px rgba(16,36,62,.055)!important}

@media(max-width:1080px){
  .va247-home-v421 .home-hero-v431 .inner-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr)!important;gap:36px!important;padding:44px 40px 48px!important}
  .va247-home-v421 .home-hero-v431 .hero-copy h1{font-size:clamp(44px,5vw,58px)!important}
  .va247-home-v421 .home-hero-v431 .hero-trust-rail{gap:9px 14px!important}
}
@media(max-width:900px){
  .va247-home-v421 .home-hero-v431{padding-top:8px!important}
  .va247-home-v421 .home-hero-v431 .inner-hero{grid-template-columns:1fr!important;gap:34px!important;padding:42px 36px 46px!important;border-radius:28px}
  .va247-home-v421 .home-hero-v431 .hero-copy{max-width:760px!important}
  .va247-home-v421 .home-hero-v431 .hero-copy h1{max-width:720px!important}
  .va247-home-v421 .home-hero-v431 .hero-visual-system{max-width:760px;width:100%}
}
@media(max-width:720px){
  .va247-home-v421 .home-hero-v431{padding:6px 0 18px!important}
  .va247-home-v421 .home-hero-v431 .inner-hero{width:calc(100% - 24px)!important;padding:32px 20px 28px!important;border-radius:24px!important;gap:28px!important}
  .va247-home-v421 .home-hero-v431 .hero-copy .eyebrow{margin-bottom:15px!important}
  .va247-home-v421 .home-hero-v431 .hero-copy h1{font-size:clamp(38px,10.8vw,48px)!important;line-height:1.055!important;letter-spacing:-.04em!important}
  .va247-home-v421 .home-hero-v431 .hero-copy>p{margin-top:18px!important;font-size:16px!important;line-height:1.62!important}
  .va247-home-v421 .home-hero-v431 .hero-actions{display:grid!important;margin-top:23px!important}
  .va247-home-v421 .home-hero-v431 .hero-actions .btn{width:100%!important}
  .va247-home-v421 .home-hero-v431 .hero-trust-rail{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:22px!important;padding-top:16px!important}
  .va247-home-v421 .home-hero-v431 .hero-visual-system{padding-bottom:0}
  .va247-home-v421 .home-hero-v431 .editorial-visual-frame{padding:5px!important;border-radius:20px!important}
  .va247-home-v421 .home-hero-v431 .premium-graphic img{aspect-ratio:16/10.8!important;border-radius:16px!important}
  .va247-home-v421 .home-hero-v431 .hero-workflow-card{position:relative;left:auto;right:auto;bottom:auto;margin:-16px 10px 0;padding:14px;border-radius:16px}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route{gap:5px}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route b{font-size:10.5px}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route span{font-size:8.5px}
  .va247-home-v421 .proof-strip{margin-top:0!important}
}
@media(max-width:430px){
  .va247-home-v421 .home-hero-v431 .hero-workflow-route{grid-template-columns:1fr 1fr 1fr;gap:7px}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route i{display:none}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route>div{padding-right:5px;border-right:1px solid #e8ebef}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route>div:last-child{padding-right:0;border-right:0}
}


/* ========================================================================== */
/* VA20Four7 v4.4.0 — SITE-WIDE NARRATIVE UI SYSTEM                          */
/* Premium hierarchy, explicit surface contrast and restrained motion.        */
/* ========================================================================== */

:root{
  --v440-navy:#0d2137;
  --v440-navy-2:#153d61;
  --v440-ink:#172033;
  --v440-copy:#5d697a;
  --v440-line:#e5e9ef;
  --v440-soft:#f6f8fb;
  --v440-peach:#fff3ee;
  --v440-lav:#f3f2ff;
  --v440-blue:#eef6ff;
  --v440-on-dark:#f9fbff;
  --v440-on-dark-copy:rgba(249,251,255,.76);
  --v440-on-dark-muted:rgba(249,251,255,.58);
  --v440-radius:28px;
  --v440-shadow:0 26px 70px rgba(17,35,56,.10);
}

/* Global rhythm — tighter, more intentional, less template-like. */
.section{padding:92px 0!important}
.section-head{gap:48px!important}
.section-head h2{max-width:760px}
.section-head>p{max-width:560px;font-size:16px!important;line-height:1.72!important}
.eyebrow{letter-spacing:.07em!important;text-transform:uppercase!important;font-size:11px!important}

/* Inner-page first fold: same premium language as the homepage first fold. */
.page-hero:not(.home-hero){background:#fff!important;padding:8px 0 24px!important;overflow:visible!important}
.page-hero:not(.home-hero)>.hero-mesh{display:none!important}
.page-hero:not(.home-hero) .inner-hero{
  width:min(1320px,calc(100% - 40px))!important;
  min-height:560px!important;
  margin:0 auto!important;
  padding:54px 54px!important;
  border-radius:34px!important;
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr)!important;
  gap:48px!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(167,170,245,.22),transparent 28%),
    radial-gradient(circle at 10% 90%,rgba(247,174,165,.14),transparent 28%),
    linear-gradient(135deg,#0c1d31 0%,#102c48 54%,#173f62 100%)!important;
  box-shadow:0 30px 80px rgba(13,33,55,.16)!important;
  overflow:hidden!important;
}
.page-hero:not(.home-hero) .hero-copy{position:relative;z-index:2;max-width:690px}
.page-hero:not(.home-hero) .hero-copy .eyebrow{color:#dbe9f7!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.11)!important;padding:8px 11px!important;border-radius:999px!important;width:max-content!important}
.page-hero:not(.home-hero) .hero-copy h1{color:var(--v440-on-dark)!important;font-size:clamp(44px,4.7vw,66px)!important;line-height:1.035!important;letter-spacing:-.045em!important;max-width:760px!important}
.page-hero:not(.home-hero) .hero-copy h1 em{background:linear-gradient(90deg,#ffaba5,#c9c9ff)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.page-hero:not(.home-hero) .hero-copy>p{color:var(--v440-on-dark-copy)!important;font-size:17px!important;line-height:1.72!important;max-width:650px!important}
.page-hero:not(.home-hero) .mini-note{color:var(--v440-on-dark-muted)!important}
.page-hero:not(.home-hero) .hero-actions .btn.secondary{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.page-hero:not(.home-hero) .hero-actions .btn.secondary:hover{background:rgba(255,255,255,.14)!important}
.page-hero:not(.home-hero) .editorial-visual-frame{padding:7px!important;background:rgba(255,255,255,.94)!important;border-color:rgba(255,255,255,.18)!important;border-radius:26px!important;box-shadow:0 24px 60px rgba(0,0,0,.24)!important;transform:rotate(1.2deg)}
.page-hero:not(.home-hero) .editorial-visual img{border-radius:20px!important;aspect-ratio:4/3!important;filter:saturate(.9) contrast(1.03)!important}

/* Homepage chapters feel connected instead of isolated WordPress blocks. */
.story-problem-section{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important}
.services-directory{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%)!important}
.audience-story-section{background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)!important}
.engagement-section{background:#fff!important}
.engagement-assurance-section{background:linear-gradient(180deg,#f7f9fc,#fff)!important}
.audit-offer-section{background:#fff!important}
.home-faq{background:linear-gradient(180deg,#f7f9fc,#fff)!important}
.home-contact-section{background:#fff!important}

/* Cards: larger radii, clearer depth, more deliberate hover behavior. */
:is(.service-showcase-card,.audience-story-card,.engagement-card,.assurance-card,.outcome-card,.model,.resource-feature,.topic-card,.reason-card,.task-row,.process-step,.faq-list details){
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s cubic-bezier(.2,.8,.2,1),border-color .32s ease,background .32s ease!important;
}
@media (hover:hover){
  :is(.service-showcase-card,.audience-story-card,.engagement-card,.assurance-card,.outcome-card,.model,.resource-feature,.topic-card,.reason-card):hover{transform:translateY(-5px)!important;box-shadow:var(--v440-shadow)!important;border-color:#d9e0e9!important}
  .task-row:hover{padding-left:10px!important;background:#fbfcfe!important}
  .faq-list details:hover{border-color:#d7dee8!important;background:#fff!important}
}

.service-showcase-card{border-radius:26px!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--v440-line)!important;box-shadow:0 10px 32px rgba(17,35,56,.05)!important}
.service-showcase-copy{padding:24px 24px 26px!important}
.service-showcase-copy h3{font-size:24px!important;letter-spacing:-.035em!important}
.service-showcase-copy p{font-size:14px!important;line-height:1.7!important}
.service-task-pills li{background:#f4f7fa!important;border-color:#e4e9ef!important}

/* Service-page story sequence. */
.split-intro{gap:54px!important}
.section-sticky{top:108px!important}
.section-sticky h2{font-size:clamp(34px,3.5vw,48px)!important;line-height:1.08!important}
.task-list{border-top:0!important;display:grid!important;gap:10px!important}
.task-row{padding:20px 22px!important;border:1px solid var(--v440-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(17,35,56,.04)!important}
.task-row h3{font-size:19px!important}
.task-row p{font-size:13.5px!important;line-height:1.65!important}

.service-workflow-section{background:linear-gradient(180deg,#f4f7fb 0%,#fff 100%)!important}
.service-workflow-art{border-radius:28px!important;box-shadow:var(--v440-shadow)!important}
.workflow-visual-canvas{min-height:100%!important}
.workflow-steps span,.ownership-grid>div{border-radius:16px!important;box-shadow:0 8px 22px rgba(17,35,56,.04)!important}

/* Dark narrative chapters: no inherited black text, ever. */
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside,#va247-theme-footer){color:var(--v440-on-dark)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside,#va247-theme-footer) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--v440-on-dark)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside,#va247-theme-footer) :is(p,li){color:var(--v440-on-dark-copy)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside,#va247-theme-footer) :is(small,.muted){color:var(--v440-on-dark-muted)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside,#va247-theme-footer) a:not(.btn):not(.footer-contact-cta){color:#f8fbff!important}

/* Explicit light-card reset inside dark sections. */
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :is(.ai-model-grid>div,.ai-layer-col,.workflow-visual-canvas,.process-step.light-card,.card,.panel,.white-card){color:var(--v440-ink)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :is(.ai-model-grid>div,.ai-layer-col,.workflow-visual-canvas,.process-step.light-card,.card,.panel,.white-card) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--v440-ink)!important}
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) :is(.ai-model-grid>div,.ai-layer-col,.workflow-visual-canvas,.process-step.light-card,.card,.panel,.white-card) :is(p,li,span){color:var(--v440-copy)!important}

.ai-positioning-section,.ai-layer-section{background:linear-gradient(135deg,#0c1d31 0%,#12314e 58%,#173f62 100%)!important}
.process-section{background:linear-gradient(135deg,#0c1d31 0%,#102943 100%)!important}
.process-step{border-color:rgba(255,255,255,.11)!important;background:rgba(255,255,255,.055)!important;border-radius:18px!important;padding:19px 20px!important}
.process-step>span{background:rgba(255,255,255,.09)!important;color:#dce9f7!important;border-radius:10px!important;padding:8px!important;height:max-content!important}
.process-step h3{color:#fff!important}
.process-step p{color:rgba(249,251,255,.72)!important}

/* Light surfaces have their foreground enforced too. */
:is(.tone-section,.service-workflow-section,.faq-section,.home-contact-section,.story-problem-section,.services-directory,.audience-story-section,.engagement-section,.engagement-assurance-section,.audit-offer-section,.resource-feature,.topic-card,.model,.outcome-card,.assurance-card,.engagement-card,.task-row){color:var(--v440-ink)!important}
:is(.tone-section,.service-workflow-section,.faq-section,.home-contact-section,.story-problem-section,.services-directory,.audience-story-section,.engagement-section,.engagement-assurance-section,.audit-offer-section,.resource-feature,.topic-card,.model,.outcome-card,.assurance-card,.engagement-card,.task-row) :is(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--v440-ink)!important}
:is(.tone-section,.service-workflow-section,.faq-section,.home-contact-section,.story-problem-section,.services-directory,.audience-story-section,.engagement-section,.engagement-assurance-section,.audit-offer-section,.resource-feature,.topic-card,.model,.outcome-card,.assurance-card,.engagement-card,.task-row) :is(p,li){color:var(--v440-copy)!important}

/* Outcomes/tools read as a single closing chapter. */
.tone-section{background:linear-gradient(180deg,#fff,#f6f8fb)!important}
.outcome-editorial{gap:14px!important}
.outcome-card{border-radius:22px!important;padding:26px!important;box-shadow:0 9px 28px rgba(17,35,56,.045)!important}
.tool-panel{border-radius:24px!important;background:linear-gradient(135deg,#10243e,#173f62)!important;box-shadow:0 22px 52px rgba(16,36,62,.15)!important}
.tool-row span{border:1px solid rgba(255,255,255,.10)!important}

/* FAQ and contact feel like deliberate conversion sections. */
.faq-list details{border:1px solid var(--v440-line)!important;border-radius:16px!important;background:#fff!important;margin-bottom:9px!important;overflow:hidden!important}
.faq-list summary{padding:18px 20px!important}
.faq-list .answer{padding:0 20px 19px!important;line-height:1.7!important}
.home-contact-card,.contact-dialog{border-radius:26px!important;box-shadow:var(--v440-shadow)!important}

/* More graceful chapter transitions. */
.section{position:relative}
.section:not(.process-section):not(.ai-layer-section):not(.ai-positioning-section)+.section:before{content:"";position:absolute;top:0;left:50%;width:min(1180px,calc(100% - 48px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#e6ebf1 18%,#e6ebf1 82%,transparent);opacity:.65}

/* Motion: polished, never distracting. */
.motion-ready .will-reveal{opacity:0;transform:translateY(22px) scale(.992);filter:blur(2px)}
.motion-ready .will-reveal.in{opacity:1;transform:none;filter:none;transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1),filter .72s ease}
.motion-ready .will-reveal.d1{transition-delay:.07s}.motion-ready .will-reveal.d2{transition-delay:.14s}.motion-ready .will-reveal.d3{transition-delay:.21s}.motion-ready .will-reveal.d4{transition-delay:.28s}
.va247-parallax-soft{will-change:transform;transition:transform .18s linear}

@media(max-width:1000px){
  .page-hero:not(.home-hero) .inner-hero{width:calc(100% - 28px)!important;padding:42px 34px!important;grid-template-columns:1fr!important;min-height:0!important}
  .page-hero:not(.home-hero) .editorial-visual{max-width:760px!important}
  .section{padding:76px 0!important}
}
@media(max-width:640px){
  .section{padding:64px 0!important}
  .page-hero:not(.home-hero){padding-top:6px!important}
  .page-hero:not(.home-hero) .inner-hero{width:calc(100% - 20px)!important;padding:30px 20px 24px!important;border-radius:24px!important;gap:26px!important}
  .page-hero:not(.home-hero) .hero-copy h1{font-size:clamp(37px,10.5vw,48px)!important}
  .page-hero:not(.home-hero) .hero-copy>p{font-size:15.5px!important}
  .page-hero:not(.home-hero) .editorial-visual-frame{transform:none!important}
  .section-head{gap:18px!important}
  .task-row{grid-template-columns:34px 1fr!important;padding:17px 16px!important}
  .task-row>i{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .motion-ready .will-reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* ========================================================================== */
/* VA20Four7 v4.4.1 — ABSOLUTE SURFACE CONTRAST CONTRACT                      */
/* Fixes dark-on-dark regressions caused by overly broad nested-card resets.  */
/* ========================================================================== */
:root{
  --v441-dark-heading:#ffffff;
  --v441-dark-copy:#d6e1ec;
  --v441-dark-muted:#aebfd0;
  --v441-light-heading:#10243e;
  --v441-light-copy:#5d697a;
}

/* Every known dark surface owns its foreground explicitly. */
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top
){
  color:var(--v441-dark-heading)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top
) :where(h1,h2,h3,h4,h5,h6,strong,b,label,dt,summary){
  color:var(--v441-dark-heading)!important;
  -webkit-text-fill-color:var(--v441-dark-heading)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top
) :where(p,li,dd){
  color:var(--v441-dark-copy)!important;
  -webkit-text-fill-color:var(--v441-dark-copy)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top
) :where(small,.muted,.mini-note){
  color:var(--v441-dark-muted)!important;
  -webkit-text-fill-color:var(--v441-dark-muted)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top
) a:not(.btn):not(.footer-contact-cta){
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
}

/* Dark/translucent components inside dark sections MUST stay light-on-dark. */
.ai-positioning-section :is(.ai-operating-model,.ai-model-grid>div,.ai-model-note),
.process-section .process-step,
.ai-layer-section .ai-layer-divider,
.tool-panel .tool-row span,
#va247-theme-footer .footer-premium-action{
  color:var(--v441-dark-heading)!important;
}
.ai-positioning-section :is(.ai-operating-model,.ai-model-grid>div,.ai-model-note) :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.process-section .process-step :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.ai-layer-section .ai-layer-divider :where(strong,b,span),
.tool-panel .tool-row span,
#va247-theme-footer .footer-premium-action :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--v441-dark-heading)!important;
  -webkit-text-fill-color:var(--v441-dark-heading)!important;
}
.ai-positioning-section :is(.ai-operating-model,.ai-model-grid>div,.ai-model-note) :where(p,li,small),
.process-section .process-step :where(p,li,small),
#va247-theme-footer .footer-premium-action :where(p,li,small){
  color:var(--v441-dark-copy)!important;
  -webkit-text-fill-color:var(--v441-dark-copy)!important;
}

/* Only components with an explicit light background are reset to dark text. */
.va247-home-v421 .home-hero-v431 .hero-workflow-card,
.ai-layer-section .ai-layer-col,
.ai-layer-section .workflow-visual-canvas,
.contact-dialog .contact-form-wrap,
.contact-dialog .contact-form-wrap :where(.field,input,select,textarea),
#va247-theme-footer .footer-contact-cta,
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) .va247-light-surface{
  color:var(--v441-light-heading)!important;
  -webkit-text-fill-color:var(--v441-light-heading)!important;
}
.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .ai-layer-col :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .workflow-visual-canvas :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.contact-dialog .contact-form-wrap :where(h1,h2,h3,h4,h5,h6,strong,b,label),
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) .va247-light-surface :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--v441-light-heading)!important;
  -webkit-text-fill-color:var(--v441-light-heading)!important;
}
.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(p,li,span,small),
.ai-layer-section .ai-layer-col :where(p,li,span,small),
.ai-layer-section .workflow-visual-canvas :where(p,li,span,small),
.contact-dialog .contact-form-wrap :where(p,li,small),
:is(.ai-positioning-section,.process-section,.ai-layer-section,.tool-panel,.contact-aside) .va247-light-surface :where(p,li,span,small){
  color:var(--v441-light-copy)!important;
  -webkit-text-fill-color:var(--v441-light-copy)!important;
}

/* Preserve purposeful accent colors after the hard contrast contract. */
.va247-home-v421 .home-hero-v431 .hero-copy h1 em{
  color:#ffaaa5!important;
  -webkit-text-fill-color:#ffaaa5!important;
}
.page-hero:not(.home-hero) .hero-actions .btn:not(.secondary){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.va247-home-v421 .home-hero-v431 .hero-secondary-cta,
.page-hero:not(.home-hero) .hero-actions .btn.secondary{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.ai-positioning-section .eyebrow,
.process-section .eyebrow,
.ai-layer-section .eyebrow,
.contact-aside .eyebrow,
.page-hero:not(.home-hero) .hero-copy .eyebrow{
  color:#dce9f6!important;
  -webkit-text-fill-color:#dce9f6!important;
}
.ai-model-grid small{color:#ff9a96!important;-webkit-text-fill-color:#ff9a96!important}

/* Footer is a light foundation with one dark CTA panel: both zones are explicit. */
#va247-theme-footer.site-footer.site-footer-premium{color:var(--v441-light-heading)!important}
#va247-theme-footer .footer-premium-nav :where(h1,h2,h3,h4,h5,h6,strong,b,label),
#va247-theme-footer .footer-bottom-premium :where(strong,b){color:var(--v441-light-heading)!important;-webkit-text-fill-color:var(--v441-light-heading)!important}
#va247-theme-footer .footer-premium-nav :where(p,li,a,span,small),
#va247-theme-footer .footer-bottom-premium :where(p,li,a,span,small){color:#657184!important;-webkit-text-fill-color:#657184!important}

/* Forms on light surfaces must never inherit white from a dark parent. */
.contact-form-wrap :where(input,select,textarea){background:#fff!important;color:#172033!important;-webkit-text-fill-color:#172033!important}
.contact-form-wrap :where(input,select,textarea)::placeholder{color:#8a95a5!important;opacity:1!important}

/* Safety: reveal animation can never leave text permanently invisible. */
html:not(.motion-ready) .will-reveal,
html:not(.motion-ready) .reveal{opacity:1!important;transform:none!important;filter:none!important}

@media(prefers-reduced-motion:reduce){
  .motion-ready .will-reveal,.motion-ready .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* ========================================================================== */
/* VA20Four7 v4.4.2 — MOTION SYSTEM                                           */
/* Progressive enhancement only: no content is hidden until JS opts it in.   */
/* ========================================================================== */
:root{
  --va-motion-ease:cubic-bezier(.2,.75,.22,1);
  --va-motion-spring:cubic-bezier(.16,1,.3,1);
  --va-motion-fast:260ms;
  --va-motion-med:640ms;
  --va-motion-slow:900ms;
}

/* Scroll reveals. JS adds pending state only to off-screen content. */
.va247-motion-item{will-change:auto}
.va247-motion-pending{
  opacity:0;
  transform:translate3d(var(--va-x,0),var(--va-y,26px),0) scale(var(--va-scale,.992));
  filter:blur(3px);
}
.va247-motion-in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:none;
  transition:
    opacity var(--va-duration,var(--va-motion-med)) var(--va-motion-ease) var(--va-delay,0ms),
    transform var(--va-duration,var(--va-motion-med)) var(--va-motion-spring) var(--va-delay,0ms),
    filter var(--va-duration,var(--va-motion-med)) ease var(--va-delay,0ms);
}
.va247-motion-from-left{--va-x:-26px;--va-y:0}
.va247-motion-from-right{--va-x:26px;--va-y:0}
.va247-motion-scale{--va-x:0;--va-y:14px;--va-scale:.972}

/* Ambient hero motion — decorative layers only, never text. */
body.va247-motion-enabled .hero-mesh{animation:va247MeshDrift 15s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
body.va247-motion-enabled .editorial-glow-a{animation:va247GlowA 8s ease-in-out infinite alternate}
body.va247-motion-enabled .editorial-glow-b{animation:va247GlowB 10s ease-in-out infinite alternate}
body.va247-motion-enabled .page-hero .editorial-visual img{animation:va247HeroImage 10s ease-in-out infinite;transform-origin:center}
body.va247-motion-enabled .home-hero-v431 .hero-workflow-card{animation:va247WorkflowFloat 6.5s ease-in-out infinite}
body.va247-motion-enabled .home-hero-v431 .hero-workflow-route i{animation:va247RouteNudge 2.1s ease-in-out infinite}
body.va247-motion-enabled .home-hero-v431 .hero-workflow-route i:nth-of-type(2){animation-delay:.45s}

@keyframes va247MeshDrift{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.035) translate3d(10px,-7px,0)}}
@keyframes va247GlowA{0%{transform:translate3d(0,0,0) scale(.94);opacity:.22}100%{transform:translate3d(-10px,8px,0) scale(1.08);opacity:.34}}
@keyframes va247GlowB{0%{transform:translate3d(0,0,0) scale(.96);opacity:.2}100%{transform:translate3d(12px,-7px,0) scale(1.09);opacity:.32}}
@keyframes va247HeroImage{0%,100%{transform:scale(1.008) translate3d(0,0,0)}50%{transform:scale(1.018) translate3d(0,-5px,0)}}
@keyframes va247WorkflowFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes va247RouteNudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(3px);opacity:1}}

/* Navigation: refined underline and mega-menu arrival. */
.nav-menu>a,.nav-service-trigger{position:relative}
.nav-menu>a:after,.nav-service-trigger:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .28s var(--va-motion-ease);opacity:.72}
.nav-menu>a:hover:after,.nav-service-trigger:hover:after,.nav-services.open .nav-service-trigger:after{transform:scaleX(1);transform-origin:left center}
.mega-menu{transition:opacity .24s var(--va-motion-ease),visibility .24s,translate .32s var(--va-motion-spring),box-shadow .3s ease!important}
.nav-services.open .mega-menu{box-shadow:0 28px 70px rgba(16,36,62,.16)!important}
.mega-services a{transition:background .22s ease,transform .22s var(--va-motion-spring)}
.mega-services a:hover{transform:translateX(3px)}
.mega-services i{transition:transform .22s var(--va-motion-spring)}
.mega-services a:hover i{transform:translate(3px,-50%)}

/* Buttons: tiny physical response + sheen, without changing layout. */
.btn,.contact-submit,.footer-contact-cta{position:relative;isolation:isolate;overflow:hidden;transition:transform .24s var(--va-motion-spring),box-shadow .24s ease,background .24s ease!important}
.btn:after,.contact-submit:after,.footer-contact-cta:after{content:"";position:absolute;z-index:1;top:-60%;bottom:-60%;width:36%;left:-55%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);transition:left .65s var(--va-motion-ease);pointer-events:none}
.btn:hover:after,.contact-submit:hover:after,.footer-contact-cta:hover:after{left:125%}
.btn:active,.contact-submit:active,.footer-contact-cta:active{transform:translateY(0) scale(.985)!important;transition-duration:90ms!important}
.btn span,.text-link{transition:transform .22s var(--va-motion-spring)}
.btn:hover span{transform:translateX(2px)}
.text-link{display:inline-flex;align-items:center;gap:6px}
.text-link:hover{transform:translateX(3px)}

/* Service imagery gets a moving light pass on hover. */
.service-showcase-art,.service-workflow-art,.chapter-visual-frame{position:relative;overflow:hidden}
.service-showcase-art:after,.service-workflow-art:after,.chapter-visual-frame:after{content:"";position:absolute;inset:-35% auto -35% -55%;width:30%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.30),transparent);transform:skewX(-16deg);opacity:0;transition:left .85s var(--va-motion-ease),opacity .35s ease}
.service-showcase-card:hover .service-showcase-art:after,.service-workflow-art:hover:after,.chapter-visual-frame:hover:after{left:130%;opacity:1}

/* Card motion remains understated and does not fight the reveal transform. */
:is(.service-showcase-card,.audience-story-card,.engagement-card,.assurance-card,.outcome-card,.model,.resource-feature,.topic-card,.reason-card,.benefit-card,.principle-row,.audit-value-grid article,.audit-process-steps>div,.task-row,.faq-list details){transition:transform .32s var(--va-motion-spring),box-shadow .32s ease,border-color .28s ease,background .28s ease!important}
@media(hover:hover) and (pointer:fine){
  :is(.engagement-card,.assurance-card,.outcome-card,.model,.resource-feature,.topic-card,.reason-card,.benefit-card,.audit-value-grid article,.audit-process-steps>div):hover{transform:translateY(-5px) scale(1.006)!important}
  .process-step:hover{transform:translateX(4px)!important;background:rgba(255,255,255,.085)!important}
}

/* Process numbers acknowledge each step when revealed. */
.va247-motion-in.process-step>span{animation:va247StepPop .55s var(--va-motion-spring) calc(var(--va-delay,0ms) + 120ms) both}
@keyframes va247StepPop{0%{transform:scale(.78);opacity:.2}70%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}

/* FAQ opening feels intentional without custom height calculations. */
.faq-list details[open]{box-shadow:0 12px 32px rgba(17,35,56,.065)!important}
.faq-list details[open] .answer{animation:va247FaqIn .32s var(--va-motion-ease) both}
@keyframes va247FaqIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Contact modal entrance. */
.contact-modal.open .contact-dialog{animation:va247ModalIn .42s var(--va-motion-spring) both}
@keyframes va247ModalIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}

/* Scroll progress becomes smoother and less mechanical. */
.va247-scroll-progress{transform-origin:left center!important;will-change:transform;transition:opacity .25s ease;box-shadow:0 0 12px rgba(239,89,97,.28)}

/* Touch devices: no hover-dependent movement. */
@media(hover:none){
  .service-showcase-card:hover,.audience-story-card:hover,.engagement-card:hover,.assurance-card:hover,.outcome-card:hover,.task-row:hover{transform:none!important}
}

@media(max-width:760px){
  body.va247-motion-enabled .hero-mesh{animation-duration:20s}
  body.va247-motion-enabled .page-hero .editorial-visual img{animation:none}
  body.va247-motion-enabled .home-hero-v431 .hero-workflow-card{animation:none}
  .va247-motion-pending{--va-x:0!important;--va-y:18px!important;--va-scale:.995!important;filter:none}
}

@media(prefers-reduced-motion:reduce){
  body.va247-motion-enabled .hero-mesh,
  body.va247-motion-enabled .editorial-glow-a,
  body.va247-motion-enabled .editorial-glow-b,
  body.va247-motion-enabled .page-hero .editorial-visual img,
  body.va247-motion-enabled .home-hero-v431 .hero-workflow-card,
  body.va247-motion-enabled .home-hero-v431 .hero-workflow-route i{animation:none!important}
  .va247-motion-pending,.va247-motion-in{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .btn:after,.contact-submit:after,.footer-contact-cta:after,.service-showcase-art:after,.service-workflow-art:after,.chapter-visual-frame:after{display:none!important}
}
@media(hover:hover) and (pointer:fine) and (min-width:1001px){
  body.va247-motion-enabled .page-hero .editorial-visual-frame{
    --va-rotate-z:0deg;
    transform:translate3d(0,var(--va247-parallax-y,0px),0) rotateZ(var(--va-rotate-z)) rotateX(var(--va-tilt-x,0deg)) rotateY(var(--va-tilt-y,0deg));
    transform-style:preserve-3d;
    transition:transform .22s ease-out,box-shadow .3s ease!important;
  }
  body.va247-motion-enabled .page-hero:not(.home-hero) .editorial-visual-frame{--va-rotate-z:1.2deg}
  body.va247-motion-enabled .page-hero .editorial-visual:hover .editorial-visual-frame{box-shadow:0 30px 74px rgba(16,36,62,.20)!important}
}


/* ========================================================================== */
/* VA20Four7 v4.5.0 — IMMERSIVE INTERACTION LAYER                            */
/* ========================================================================== */

:root{
  --v450-menu-bg:#09162f;
  --v450-menu-bg-2:#10284c;
  --v450-menu-copy:rgba(239,246,255,.68);
  --v450-menu-line:rgba(255,255,255,.12);
  --v450-spring:cubic-bezier(.16,1,.3,1);
}

/* Full-screen navigation. Fallback navigation remains visible until JS is ready. */
.va247-menu-trigger{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-color:rgba(16,36,62,.12);background:#fff;cursor:pointer;transition:transform .25s var(--v450-spring),box-shadow .25s ease,border-color .25s ease}
body.va247-overlay-nav-ready .burger:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,36,62,.12);border-color:rgba(16,36,62,.2)}
body.va247-overlay-nav-ready .burger span{left:13px;right:13px;transition:transform .35s var(--v450-spring),top .35s var(--v450-spring),bottom .35s var(--v450-spring)}
body.va247-menu-open{overflow:hidden!important}
body.va247-menu-open .site-nav{box-shadow:none!important}
body.va247-menu-open .burger span:first-child{top:22px;transform:rotate(45deg)}
body.va247-menu-open .burger span:last-child{bottom:24px;transform:rotate(-45deg)}

.va247-fullscreen-nav{position:fixed;inset:0;z-index:9990;visibility:hidden;pointer-events:none;opacity:0;color:#fff;isolation:isolate;transition:opacity .45s ease,visibility .45s ease}
.va247-fullscreen-nav-bg{position:absolute;inset:0;background:radial-gradient(circle at 84% 9%,rgba(117,110,255,.22),transparent 30%),radial-gradient(circle at 18% 80%,rgba(255,111,121,.14),transparent 28%),linear-gradient(145deg,var(--v450-menu-bg) 0%,#0c1d3a 58%,var(--v450-menu-bg-2) 100%);transform:scale(1.025);transition:transform .85s var(--v450-spring)}
.va247-fullscreen-nav.is-open{visibility:visible;pointer-events:auto;opacity:1}
.va247-fullscreen-nav.is-open .va247-fullscreen-nav-bg{transform:scale(1)}
.va247-fullscreen-nav-shell{position:relative;z-index:2;width:min(1420px,calc(100% - 72px));height:100%;margin:auto;padding:28px 0 24px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}
.va247-fullscreen-nav-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--v450-menu-line)}
.va247-overlay-logo{justify-self:start;display:inline-flex;align-items:center;padding:8px 11px;border-radius:14px;background:#fff}
.va247-overlay-logo .brand-logo-current{width:146px!important;height:auto!important;display:block}
.va247-overlay-kicker{justify-self:center;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;color:rgba(255,255,255,.5)}
.va247-menu-close{justify-self:end;position:relative;width:48px;height:48px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.06);cursor:pointer;transition:background .25s ease,transform .25s var(--v450-spring)}
.va247-menu-close:hover{background:rgba(255,255,255,.12);transform:rotate(5deg)}
.va247-menu-close span{position:absolute;left:13px;right:13px;top:23px;height:1.5px;background:#fff;border-radius:2px}.va247-menu-close span:first-child{transform:rotate(45deg)}.va247-menu-close span:last-child{transform:rotate(-45deg)}
.va247-fullscreen-nav-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:64px;align-items:center;padding:14px 0}
.va247-overlay-links{align-self:center;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.va247-overlay-section-label{grid-column:1/-1;margin-bottom:13px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:rgba(255,255,255,.42)}
.va247-overlay-link{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"small arrow" "title arrow";gap:5px 14px;padding:12px 4px 13px;border-bottom:1px solid var(--v450-menu-line);color:#fff;opacity:0;transform:translateY(20px);transition:opacity .5s var(--v450-spring),transform .55s var(--v450-spring),padding-left .28s ease,color .25s ease;transition-delay:calc(.06s + var(--menu-i)*32ms)}
.va247-fullscreen-nav.is-open .va247-overlay-link{opacity:1;transform:none}
.va247-overlay-link small{grid-area:small;text-transform:uppercase;letter-spacing:.08em;font-size:8.5px;font-weight:800;color:rgba(255,255,255,.38)}
.va247-overlay-link span{grid-area:title;font:700 clamp(18px,1.65vw,28px)/1.08 "Plus Jakarta Sans",sans-serif;letter-spacing:-.035em;color:#fff!important}
.va247-overlay-link i{grid-area:arrow;align-self:center;font-style:normal;font-size:15px;color:rgba(255,255,255,.35);transition:transform .25s ease,color .25s ease}
.va247-overlay-link:hover,.va247-overlay-link:focus-visible{padding-left:10px;color:#ff9d9f}.va247-overlay-link:hover span,.va247-overlay-link:focus-visible span{color:#ffb0ae!important}.va247-overlay-link:hover i,.va247-overlay-link:focus-visible i{transform:translate(3px,-3px);color:#ffb0ae}
.va247-overlay-preview{align-self:center;opacity:0;transform:translateX(24px);transition:opacity .7s var(--v450-spring) .18s,transform .7s var(--v450-spring) .18s}
.va247-fullscreen-nav.is-open .va247-overlay-preview{opacity:1;transform:none}
.va247-overlay-preview-frame{position:relative;overflow:hidden;padding:7px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.07);box-shadow:0 40px 90px rgba(0,0,0,.27);transform:rotate(1.2deg)}
.va247-overlay-preview-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:21px;transition:opacity .2s ease,transform .75s var(--v450-spring);will-change:transform,opacity}
.va247-overlay-preview-frame.is-changing img{opacity:.18;transform:scale(1.035)}
.va247-preview-sheen{position:absolute;inset:7px;border-radius:21px;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.15) 50%,transparent 65%);transform:translateX(-120%)}
.va247-fullscreen-nav.is-open .va247-preview-sheen{animation:va247PreviewSheen 2.4s ease .5s 1}
@keyframes va247PreviewSheen{to{transform:translateX(120%)}}
.va247-overlay-preview p{max-width:470px;margin:20px 0 0;color:var(--v450-menu-copy)!important;font-size:14px;line-height:1.65}
.va247-overlay-footer{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-top:18px;border-top:1px solid var(--v450-menu-line)}
.va247-overlay-secondary{display:flex;gap:18px;flex-wrap:wrap}.va247-overlay-secondary-link{font-size:12px;font-weight:700;color:rgba(255,255,255,.66);opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s var(--v450-spring),color .2s ease;transition-delay:calc(.08s + (var(--menu-i) - 8)*36ms)}.va247-fullscreen-nav.is-open .va247-overlay-secondary-link{opacity:1;transform:none}.va247-overlay-secondary-link:hover{color:#fff}
.va247-overlay-audit{background:#fff!important;color:#10243e!important;border-color:#fff!important;box-shadow:0 18px 40px rgba(0,0,0,.18)!important}

/* Interactive generative canvas. */
.home-hero-v431{isolation:isolate}
.va247-generative-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.42;mix-blend-mode:screen}
.home-hero-v431 .hero-mesh{z-index:0}.home-hero-v431 .inner-hero{z-index:2}

/* Motion-driven proof visualization. */
.global-proof-visuals{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.coverage-viz{display:flex;align-items:center;gap:12px;min-width:240px;padding:9px 12px 9px 9px;border:1px solid rgba(16,36,62,.08);border-radius:18px;background:#f9fbff;box-shadow:0 10px 28px rgba(16,36,62,.04)}
.coverage-chart-wrap{position:relative;flex:0 0 68px;width:68px;height:68px;border-radius:50%;background:conic-gradient(from -90deg,#ff7d83 0 24%,#8f87ff 24% 52%,#64b5ff 52% 76%,#d8d8ff 76% 100%)}
.coverage-chart-wrap:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#f9fbff;z-index:0}
.coverage-chart-wrap canvas{position:absolute!important;inset:0!important;width:68px!important;height:68px!important;z-index:1}
.coverage-chart-center{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center;pointer-events:none}.coverage-chart-center b{font:800 14px/1 "Plus Jakarta Sans",sans-serif;color:#10243e}.coverage-chart-center small{margin-top:3px;font-size:6.5px;text-transform:uppercase;letter-spacing:.08em;color:#6a7585;font-weight:800}.coverage-viz p{margin:0;max-width:145px;font-size:10px!important;line-height:1.45!important;color:#657184!important}
.proof-grid b[data-va247-counter]{font-variant-numeric:tabular-nums;min-width:2.5ch}

/* Layered 3D hero depth. */
.home-hero-v431 .inner-hero,.page-hero:not(.home-hero) .inner-hero{perspective:1300px}
.hero-visual-system,.page-hero:not(.home-hero) .editorial-visual{--v450-rx:0deg;--v450-ry:0deg;--v450-lift:0px;transform-style:preserve-3d;will-change:transform;transform:translate3d(0,var(--v450-lift),0) rotateX(var(--v450-rx)) rotateY(var(--v450-ry));transition:transform .16s ease-out}
.home-hero-v431 .hero-visual-system .editorial-visual{transform:translateZ(18px)}
.home-hero-v431 .hero-workflow-card{transform:translateZ(58px);box-shadow:0 24px 56px rgba(1,10,28,.22)!important}
.home-hero-v431 .editorial-glow-a{transform:translateZ(35px)}.home-hero-v431 .editorial-glow-b{transform:translateZ(15px)}

/* Kinetic typography. Original headings remain semantic; generated spans are aria-hidden. */
.va247-kinetic{perspective:900px}
.va247-kinetic .kinetic-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.07em;margin-bottom:-.07em}
.va247-kinetic .kinetic-word-inner{display:inline-block;transform-origin:50% 100%;will-change:transform,opacity}
.va247-kinetic-fallback .kinetic-word-inner{animation:va247KineticFallback .72s var(--v450-spring) both;animation-delay:calc(var(--word-i)*28ms)}
@keyframes va247KineticFallback{from{opacity:0;transform:translateY(105%) rotateX(-35deg)}to{opacity:1;transform:none}}

/* Slightly stronger hover affordance to connect motion system to interaction. */
@media (hover:hover) and (pointer:fine){
  .service-showcase-card,.audience-story-card,.engagement-card,.assurance-card,.outcome-card{transition:transform .38s var(--v450-spring),box-shadow .38s ease,border-color .3s ease!important}
  .service-showcase-card:hover,.audience-story-card:hover,.engagement-card:hover,.assurance-card:hover,.outcome-card:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(16,36,62,.12)!important}
}

@media (max-width:1100px){
  .va247-fullscreen-nav-shell{width:calc(100% - 48px)}
  .va247-fullscreen-nav-grid{grid-template-columns:minmax(0,1fr) 340px;gap:36px}
  .global-proof-visuals{align-items:flex-end;flex-direction:column}.coverage-viz{min-width:230px}
}
@media (max-width:820px){
  body.va247-overlay-nav-ready .nav-audit-cta{display:none!important}
  .va247-fullscreen-nav-shell{width:calc(100% - 34px);padding:18px 0 16px;gap:12px}
  .va247-fullscreen-nav-top{grid-template-columns:1fr auto;padding-bottom:12px}.va247-overlay-kicker{display:none}.va247-overlay-logo .brand-logo-current{width:128px!important}
  .va247-fullscreen-nav-grid{display:block;overflow:auto;padding:12px 2px 18px;overscroll-behavior:contain}.va247-overlay-links{display:block}.va247-overlay-preview{display:none}.va247-overlay-link{padding:12px 2px}.va247-overlay-link span{font-size:clamp(22px,7vw,32px)}
  .va247-overlay-footer{display:grid;gap:14px}.va247-overlay-secondary{gap:12px 16px}.va247-overlay-audit{width:100%!important}
  .global-proof-inner{grid-template-columns:1fr!important}.global-proof-visuals{align-items:flex-start}.coverage-viz{width:100%;justify-content:flex-start}.coverage-viz p{max-width:none}
  .hero-visual-system,.page-hero:not(.home-hero) .editorial-visual{transform:none!important}
  .va247-generative-canvas{opacity:.26}
}
@media (prefers-reduced-motion:reduce){
  .va247-fullscreen-nav,.va247-fullscreen-nav-bg,.va247-overlay-link,.va247-overlay-preview,.va247-overlay-secondary-link,.va247-menu-close,.burger{transition:none!important;animation:none!important}
  .va247-overlay-link,.va247-overlay-preview,.va247-overlay-secondary-link{opacity:1!important;transform:none!important}
  .va247-preview-sheen{display:none!important}.va247-generative-canvas{display:none!important}
  .hero-visual-system,.page-hero:not(.home-hero) .editorial-visual{transform:none!important;transition:none!important}
  .va247-kinetic .kinetic-word-inner{opacity:1!important;transform:none!important;animation:none!important}
}


/* ========================================================================== */
/* VA20Four7 v4.6.0 — QA REMEDIATION CONTRACT                                */
/* One nav model, explicit contrast, uncropped artwork, collision-free hero.  */
/* ========================================================================== */
:root{
  --v460-dark:#0d2137;
  --v460-dark-2:#163b5b;
  --v460-on-dark:#fff;
  --v460-on-dark-copy:#d8e3ee;
  --v460-on-dark-muted:#afc0d0;
  --v460-on-light:#142238;
  --v460-on-light-copy:#5c697a;
}

/* HEADER — the full-screen overlay is the navigation; no duplicate link row. */
.site-nav .nav-links{display:none!important}
.site-nav .nav-inner{min-height:74px!important;gap:16px!important}
.site-nav .nav-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important}
.site-nav .burger{display:block!important;flex:0 0 44px!important}
.mobile-panel{display:none!important}
@media(max-width:720px){
  .site-nav .nav-inner{min-height:68px!important}
  .site-nav .brand-logo-current{width:154px!important}
  .site-nav .nav-audit-cta{display:none!important}
}

/* SURFACE CONTRAST — dark sections own all foreground colours. */
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .va247-fullscreen-nav
){color:var(--v460-on-dark)!important}
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .va247-fullscreen-nav
) :where(h1,h2,h3,h4,h5,h6,strong,b,label,dt,summary){color:var(--v460-on-dark)!important;-webkit-text-fill-color:var(--v460-on-dark)!important}
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .va247-fullscreen-nav
) :where(p,li,dd){color:var(--v460-on-dark-copy)!important;-webkit-text-fill-color:var(--v460-on-dark-copy)!important}
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .va247-fullscreen-nav
) :where(small,.muted,.mini-note){color:var(--v460-on-dark-muted)!important;-webkit-text-fill-color:var(--v460-on-dark-muted)!important}

/* Only these components are truly light surfaces inside dark chapters. */
.ai-positioning-section .ai-model-grid>div,
.ai-layer-section .ai-layer-col,
.va247-home-v421 .home-hero-v431 .hero-workflow-card,
.contact-dialog .contact-form-wrap,
#va247-theme-footer .footer-contact-cta{
  color:var(--v460-on-light)!important;
  -webkit-text-fill-color:var(--v460-on-light)!important;
}
.ai-positioning-section .ai-model-grid>div :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .ai-layer-col :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--v460-on-light)!important;
  -webkit-text-fill-color:var(--v460-on-light)!important;
}
.ai-positioning-section .ai-model-grid>div :where(p,li,span),
.ai-layer-section .ai-layer-col :where(p,li,span),
.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(p,li,span){
  color:var(--v460-on-light-copy)!important;
  -webkit-text-fill-color:var(--v460-on-light-copy)!important;
}
.ai-positioning-section .ai-model-grid>div small{color:#d94d59!important;-webkit-text-fill-color:#d94d59!important}
.ai-layer-section .ai-layer-col small{color:#2b68a6!important;-webkit-text-fill-color:#2b68a6!important}
.ai-layer-section .ai-layer-col i{color:#d94d59!important;-webkit-text-fill-color:#d94d59!important}

/* Dark translucent components stay light; never classify them as white cards. */
.ai-positioning-section :is(.ai-operating-model,.ai-model-note),
.process-section .process-step,
.ai-layer-section .ai-layer-divider,
.tool-panel .tool-row span{
  color:var(--v460-on-dark)!important;
  -webkit-text-fill-color:var(--v460-on-dark)!important;
}
.process-section .process-step p{color:var(--v460-on-dark-copy)!important;-webkit-text-fill-color:var(--v460-on-dark-copy)!important}

/* ARTWORK — all generated art is 4:3. Never crop embedded labels/UI. */
.editorial-visual-frame,.premium-graphic-frame,.chapter-visual-frame,.service-card-art,.audience-story-art{background:#f4f7fb!important}
.editorial-visual img,.premium-graphic img,.chapter-visual img,.service-card-art img,.visual-card-media>img,.audience-story-art img,.va247-overlay-preview-frame img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  object-position:center!important;
}
.service-card-art,.visual-card-media.service-card-art,.audience-story-art{aspect-ratio:4/3!important;min-height:0!important;height:auto!important}
.service-showcase-art,.service-showcase-wide .service-showcase-art{min-height:0!important}
.chapter-visual-frame{aspect-ratio:4/3!important}
.chapter-visual:hover img,.service-showcase-card:hover .visual-card-media>img,.audience-story-card:hover .audience-story-art img{transform:scale(1.008)!important}

/* HOME HERO — workflow explanation sits below art instead of on top of it. */
.va247-home-v421 .home-hero-v431 .hero-visual-system{padding-bottom:0!important;display:grid!important;gap:12px!important;align-self:center!important}
.va247-home-v421 .home-hero-v431 .premium-graphic img{aspect-ratio:4/3!important;object-fit:contain!important;object-position:center!important}
.va247-home-v421 .home-hero-v431 .hero-workflow-card{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;
  margin:0 6px!important;width:auto!important;max-width:none!important;
  padding:15px 16px!important;border-radius:17px!important;background:#fff!important;
  box-shadow:0 14px 34px rgba(5,20,35,.16)!important;transform:none!important;
}
.va247-home-v421 .home-hero-v431 .hero-workflow-route{grid-template-columns:1fr auto 1fr auto 1fr!important;gap:8px!important}
.va247-home-v421 .home-hero-v431 .hero-workflow-route small{font-size:10px!important}
.va247-home-v421 .home-hero-v431 .hero-workflow-route b{font-size:12px!important}
.va247-home-v421 .home-hero-v431 .hero-workflow-route span{font-size:10px!important;line-height:1.4!important}
@media(max-width:520px){
  .va247-home-v421 .home-hero-v431 .hero-workflow-route{grid-template-columns:1fr!important;gap:8px!important}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route i{display:none!important}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route>div{padding:9px 0!important;border-bottom:1px solid #e7ebf1!important}
  .va247-home-v421 .home-hero-v431 .hero-workflow-route>div:last-of-type{border-bottom:0!important}
}

/* PROOF / 24-HOUR COVERAGE — clear timeline, no tiny doughnut chart. */
.global-proof-inner{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;gap:28px!important}
.global-proof-visuals{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;min-width:0!important}
.coverage-viz.coverage-timeline-v460{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(160px,.62fr)!important;align-items:center!important;gap:16px!important;min-width:min(100%,520px)!important;padding:14px 16px!important;border:1px solid #e4e9ef!important;border-radius:18px!important;background:#f9fbff!important;box-shadow:0 10px 28px rgba(16,36,62,.045)!important}
.coverage-timeline{min-width:0!important}.coverage-track{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#ff8a83 0 25%,#9c96ff 25% 50%,#68b9ff 50% 75%,#bfd4ff 75% 100%);box-shadow:inset 0 0 0 1px rgba(16,36,62,.06);overflow:visible}.coverage-track>span{position:absolute;inset:3px;border-radius:999px;background:rgba(255,255,255,.34)}.coverage-playhead{position:absolute;z-index:2;top:50%;left:0;width:18px;height:18px;border-radius:50%;background:#10243e;border:4px solid #fff;box-shadow:0 4px 14px rgba(16,36,62,.24);transform:translate(-50%,-50%)}
.coverage-hours{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;font-weight:700;color:#778396;font-variant-numeric:tabular-nums}.coverage-copy b{display:block!important;color:#10243e!important;-webkit-text-fill-color:#10243e!important;font-size:13px!important;line-height:1.3!important}.coverage-copy p{margin-top:4px!important;color:#657184!important;-webkit-text-fill-color:#657184!important;font-size:11px!important;line-height:1.45!important}
.coverage-timeline-v460.is-active .coverage-playhead{animation:v460CoverageSweep 5.5s cubic-bezier(.25,.75,.3,1) infinite alternate}
@keyframes v460CoverageSweep{from{left:0}to{left:100%}}
@media(max-width:1120px){.global-proof-visuals{align-items:stretch!important;flex-direction:column!important}.coverage-viz.coverage-timeline-v460{width:100%!important}}
@media(max-width:760px){.global-proof-inner{grid-template-columns:1fr!important}.coverage-viz.coverage-timeline-v460{grid-template-columns:1fr!important}.coverage-hours{font-size:9px!important}}

/* FULL-SCREEN NAV — explicit readable sizing and single-source navigation. */
.va247-overlay-link small{font-size:10px!important;line-height:1.3!important;color:rgba(255,255,255,.56)!important;-webkit-text-fill-color:rgba(255,255,255,.56)!important}
.va247-overlay-link span{font-size:clamp(18px,1.55vw,27px)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.va247-overlay-secondary-link{font-size:13px!important;color:rgba(255,255,255,.74)!important;-webkit-text-fill-color:rgba(255,255,255,.74)!important}
.va247-overlay-preview p{font-size:14px!important;color:rgba(255,255,255,.72)!important;-webkit-text-fill-color:rgba(255,255,255,.72)!important}

/* MICRO TYPOGRAPHY — floor tiny interface labels at a readable size. */
:is(.service-group,.service-task-pills li,.workflow-steps small,.ownership-grid small,.workflow-visual-head small,.workflow-visual-step small,.workflow-visual-owner small,.audit-map-head small,.about-market-proof small,.ai-model-grid small,.ai-layer-col small,.tool-panel small,.market-chips span){font-size:11px!important;line-height:1.4!important}

/* MOTION — one hero depth system only; no animation may change layout geometry. */
body.va247-motion-enabled .page-hero .editorial-visual img{animation:none!important}
body.va247-motion-enabled .home-hero-v431 .hero-workflow-card{animation:none!important}
.hero-visual-system,.page-hero:not(.home-hero) .editorial-visual{transform:translate3d(0,var(--v460-depth-y,0px),0) rotateX(var(--v460-depth-x,0deg)) rotateY(var(--v460-depth-r,0deg))!important;transition:transform .24s cubic-bezier(.2,.75,.22,1)!important;will-change:auto!important}
.home-hero-v431 .hero-visual-system .editorial-visual,.home-hero-v431 .hero-workflow-card{transform:none!important}

/* Keep content visible if motion JS is delayed or blocked. */
html:not(.motion-ready) .reveal,html:not(.motion-ready) .will-reveal{opacity:1!important;transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){
  .coverage-timeline-v460 .coverage-playhead{animation:none!important;left:50%!important}
  .hero-visual-system,.page-hero:not(.home-hero) .editorial-visual{transform:none!important;transition:none!important}
}

/* ========================================================================== 
   VA20Four7 v4.7.1 — confirmed Tasks 1–5 integration
   Motion policy: only cross-document view transitions, mega-menu discrete
   transition, FAQ height transition, and scroll-driven sticky-header shrink.
   ========================================================================== */

:root{
  interpolate-size:allow-keywords;
}

@view-transition{
  navigation:auto;
}

.site-nav .logo{
  view-transition-name:va247-site-logo;
}

.page-hero h1,
.wp-content-shell .entry-title,
.section-head h1{
  view-transition-name:va247-page-title;
}

/* --------------------------------------------------------------------------
   Strict motion reset. Legacy theme layers contain older experimental motion;
   this final layer makes them inert without changing layout or content.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:no-preference){
  body *{
    animation:none!important;
    transition:none!important;
  }
}

/* No positional hover effects. */
.btn:hover,
.text-link:hover,
.text-link:hover span,
.service-showcase-card:hover,
.audience-story-card:hover,
.engagement-card:hover,
.assurance-card:hover,
.outcome-card:hover,
.model:hover,
.resource-feature:hover,
.topic-card:hover,
.reason-card:hover,
.benefit-card:hover,
.principle-row:hover,
.audit-value-grid article:hover,
.audit-process-steps>div:hover,
.task-row:hover,
.service-showcase-card:hover .visual-card-media>img,
.chapter-visual:hover img,
.audience-story-card:hover img{
  transform:none!important;
  translate:none!important;
}

/* Old reveal hooks must never hide content. */
.reveal,
.will-reveal,
.va247-motion-item,
.va247-motion-pending,
.va247-motion-in{
  opacity:1!important;
  transform:none!important;
  translate:none!important;
  filter:none!important;
}

.va247-scroll-progress,
.va247-generative-canvas,
.va247-fullscreen-nav{
  display:none!important;
}

/* --------------------------------------------------------------------------
   Header + primary navigation
   -------------------------------------------------------------------------- */
.site-nav{
  position:sticky!important;
  top:0;
  z-index:900;
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid rgba(16,36,62,.07)!important;
  box-shadow:none!important;
  backdrop-filter:saturate(150%) blur(18px);
}

.site-nav .nav-inner{
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
}

.site-nav .brand-logo-current{
  width:184px!important;
  max-width:none!important;
  height:auto!important;
}

.nav-primary{
  display:block!important;
  margin-left:auto;
}

.nav-menu{
  display:flex!important;
  align-items:center;
  gap:22px!important;
}

.nav-drop{
  position:relative;
}

.nav-menu>a,
.nav-drop-trigger{
  position:relative;
  border:0;
  background:none;
  padding:10px 0;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  color:#354158;
  cursor:pointer;
}

.nav-menu>a:hover,
.nav-menu>a:focus-visible,
.nav-drop-trigger:hover,
.nav-drop-trigger:focus-visible,
.nav-drop.open>.nav-drop-trigger{
  color:var(--navy)!important;
}

.nav-drop-trigger>span{
  margin-left:3px;
  font-size:11px;
  color:var(--muted)!important;
}

/* Task 2b: native discrete-property mega-menu transition. */
.mega-menu{
  position:absolute!important;
  top:calc(100% + 18px)!important;
  left:50%!important;
  width:min(940px,86vw)!important;
  grid-template-columns:280px 1fr;
  gap:18px;
  padding:16px;
  border:1px solid rgba(16,36,62,.08);
  border-radius:24px;
  background:#fff!important;
  box-shadow:var(--shadow-lg)!important;

  display:none!important;
  opacity:0!important;
  visibility:visible!important;
  pointer-events:auto!important;
  translate:0 -4px!important;
  transform:translateX(-34%)!important;

  transition:
    opacity .18s ease,
    translate .18s ease,
    display .18s allow-discrete!important;
}

.nav-drop.open>.mega-menu,
.nav-drop:focus-within>.mega-menu{
  display:grid!important;
  opacity:1!important;
  translate:0 0!important;
}

@media (hover:hover) and (pointer:fine){
  .nav-drop:hover>.mega-menu{
    display:grid!important;
    opacity:1!important;
    translate:0 0!important;
  }
}

@starting-style{
  .nav-drop.open>.mega-menu,
  .nav-drop:focus-within>.mega-menu{
    opacity:0!important;
    translate:0 -4px!important;
  }
}

.audience-mega-menu{
  width:min(620px,72vw)!important;
  grid-template-columns:1fr!important;
  transform:translateX(-50%)!important;
}

.audience-mega-links{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}

.audience-mega-links a{
  min-height:86px;
  display:flex!important;
  align-items:center;
  padding:18px 42px 18px 18px!important;
  border:1px solid rgba(16,36,62,.07);
  border-radius:15px;
  background:linear-gradient(145deg,#fff,#fafbff);
}

.audience-mega-links b{
  font-size:14px!important;
  line-height:1.35;
}

.nav-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:4px!important;
}

.burger{
  display:none!important;
}

/* Task 2d: CSS scroll-driven header shrink over first 120px. */
@supports (animation-timeline:scroll()){
  .site-nav{
    animation:va247-header-surface linear both!important;
    animation-timeline:scroll()!important;
    animation-range:0px 120px!important;
  }

  .site-nav .nav-inner{
    animation:va247-header-height linear both!important;
    animation-timeline:scroll()!important;
    animation-range:0px 120px!important;
  }

  .site-nav .brand-logo-current{
    animation:va247-header-logo linear both!important;
    animation-timeline:scroll()!important;
    animation-range:0px 120px!important;
  }
}

@keyframes va247-header-surface{
  from{background:rgba(255,255,255,.92);box-shadow:0 0 0 rgba(16,36,62,0)}
  to{background:rgba(255,255,255,.98);box-shadow:0 8px 28px rgba(16,36,62,.07)}
}

@keyframes va247-header-height{
  from{min-height:74px}
  to{min-height:62px}
}

@keyframes va247-header-logo{
  from{width:184px}
  to{width:160px}
}

/* --------------------------------------------------------------------------
   Mobile drawer + accordions. No animation by design.
   -------------------------------------------------------------------------- */
.mobile-panel{
  display:none!important;
  opacity:1!important;
  visibility:visible!important;
  translate:none!important;
  pointer-events:auto!important;
}

@media (max-width:899px){
  .nav-primary{
    display:none!important;
  }

  .nav-audit-cta{
    display:none!important;
  }

  .burger{
    display:block!important;
    flex:0 0 44px!important;
  }

  .site-nav .nav-inner{
    min-height:68px!important;
  }

  .site-nav .brand-logo-current{
    width:154px!important;
  }

  .mobile-panel{
    position:fixed!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    z-index:850!important;
    display:none!important;
    max-height:calc(100dvh - 68px)!important;
    overflow-y:auto!important;
    padding:12px 24px 24px!important;
    border-bottom:1px solid var(--line)!important;
    background:#fff!important;
    box-shadow:var(--shadow-md)!important;
  }

  .mobile-panel.open{
    display:block!important;
  }

  body.mobile-nav-open{
    overflow:hidden;
  }

  .mobile-nav-links{
    display:grid!important;
  }

  .mobile-nav-links>a,
  .mobile-accordion-toggle{
    width:100%;
    padding:14px 0!important;
    border:0!important;
    border-bottom:1px solid var(--line)!important;
    background:none!important;
    text-align:left;
    font:inherit;
    font-size:15px!important;
    font-weight:700!important;
    color:var(--navy)!important;
  }

  .mobile-accordion-toggle{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
  }

  .mobile-accordion-toggle>span:last-child{
    font-size:20px!important;
    font-weight:500!important;
    color:var(--muted)!important;
  }

  .mobile-accordion-panel{
    display:none!important;
    padding:6px 0 10px!important;
  }

  .mobile-accordion-panel.open{
    display:grid!important;
  }

  .mobile-accordion-panel a{
    position:relative;
    display:grid!important;
    gap:3px;
    padding:11px 34px 11px 12px!important;
    border-radius:10px;
    color:var(--navy)!important;
  }

  .mobile-accordion-panel b{
    font-size:13px!important;
    font-weight:700!important;
    color:var(--navy)!important;
  }

  .mobile-accordion-panel small{
    font-size:11px!important;
    line-height:1.4;
    color:var(--muted)!important;
  }

  .mobile-audience-list a{
    padding-top:13px!important;
    padding-bottom:13px!important;
  }

  .mobile-cta{
    width:100%!important;
    margin-top:16px!important;
  }

  @supports (animation-timeline:scroll()){
    .site-nav .nav-inner{
      animation:va247-header-height-mobile linear both!important;
      animation-timeline:scroll()!important;
      animation-range:0px 120px!important;
    }
    .site-nav .brand-logo-current{
      animation:va247-header-logo-mobile linear both!important;
      animation-timeline:scroll()!important;
      animation-range:0px 120px!important;
    }
  }
}

@keyframes va247-header-height-mobile{
  from{min-height:68px}
  to{min-height:60px}
}

@keyframes va247-header-logo-mobile{
  from{width:154px}
  to{width:142px}
}

/* --------------------------------------------------------------------------
   Task 2c: native FAQ height-to-auto transition.
   Unsupported browsers retain native <details> behavior.
   -------------------------------------------------------------------------- */
@supports selector(details::details-content){
  .faq-list details::details-content{
    height:0;
    overflow:clip;
    transition:height .24s ease!important;
  }

  .faq-list details[open]::details-content{
    height:auto;
  }
}

.faq-list details[open] .answer{
  animation:none!important;
}

.faq-list summary span{
  transition:none!important;
}

/* --------------------------------------------------------------------------
   Task 4b: mobile sticky audit CTA. No motion.
   -------------------------------------------------------------------------- */
.mobile-audit-cta-bar{
  display:none;
}

.mobile-audit-cta-bar[hidden]{
  display:none!important;
}

@media (max-width:899px){
  .mobile-audit-cta-bar:not([hidden]){
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:820;
    display:block!important;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    border-top:1px solid rgba(16,36,62,.09);
    background:rgba(255,255,255,.96);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    box-shadow:0 -10px 32px rgba(16,36,62,.08);
  }

  .mobile-audit-cta-inner{
    display:flex;
  }

  .mobile-audit-cta-bar .btn{
    width:100%;
    justify-content:center;
    margin:0;
  }
}

/* --------------------------------------------------------------------------
   Task 4c: social proof placeholder area.
   -------------------------------------------------------------------------- */
.homepage-social-proof{
  padding:38px 0 46px;
  background:#fff;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.testimonial-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:25px;
  border:1px solid rgba(16,36,62,.09);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#fafbff);
  box-shadow:0 12px 34px rgba(16,36,62,.045);
  transform:none!important;
}

.testimonial-placeholder{
  display:inline-flex;
  align-self:flex-start;
  padding:5px 8px;
  border:1px solid rgba(217,77,83,.16);
  border-radius:999px;
  background:rgba(247,91,96,.06);
  color:var(--coral-deep)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.testimonial-card blockquote{
  flex:1;
  margin:24px 0 30px;
  padding:0;
  border:0;
  color:var(--navy)!important;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.55;
  letter-spacing:-.015em;
}

.testimonial-person{
  display:grid;
  gap:2px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.testimonial-person strong{
  color:var(--navy)!important;
  font-size:13px!important;
  font-weight:800!important;
}

.testimonial-person span{
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.45;
}

@media (max-width:900px){
  .homepage-social-proof{
    padding:28px 0 34px;
  }
  .testimonial-grid{
    grid-template-columns:1fr;
  }
  .testimonial-card{
    padding:21px;
  }
  .testimonial-card blockquote{
    margin:20px 0 24px;
    font-size:17px;
  }
}

/* --------------------------------------------------------------------------
   Reduced motion: all four approved transitions/effects become static.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }

  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*){
    animation:none!important;
  }

  .mega-menu{
    translate:0 0!important;
  }
}

/* Keep the mobile drawer visually attached to the sticky header at both its
   full and scrolled sizes: it sits behind the header rather than relying on a
   fixed top offset that would become stale as the header shrinks. */
@media (max-width:899px){
  .mobile-panel{
    top:0!important;
    max-height:100dvh!important;
    padding:80px 24px 24px!important;
  }
}

/* The approved motion list does not include smooth scrolling. */
html{scroll-behavior:auto!important}


/* --------------------------------------------------------------------------
   v4.7.1: client proof cards + audit card artwork + story number removal.
   -------------------------------------------------------------------------- */
.story-problem-grid{grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr)!important}
.story-number{display:none!important}

.testimonial-card-brand{gap:0}
.testimonial-brand-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px}
.testimonial-logo{display:block;max-width:160px;width:auto;max-height:40px;object-fit:contain;filter:grayscale(0);mix-blend-mode:multiply}
.testimonial-card-brand blockquote{margin:22px 0 28px;color:#445264!important;font-size:15px;font-weight:600;line-height:1.65;letter-spacing:-.01em}
.testimonial-card-brand .testimonial-person{margin-top:auto}

.delegation-map{gap:12px}
.audit-map-card{position:relative;overflow:hidden;justify-content:space-between!important;gap:12px;min-height:160px!important;padding:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,255,.95))!important}
.audit-map-card:before{content:"";position:absolute;right:-24px;top:-24px;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,rgba(167,170,245,.12),rgba(167,170,245,0) 70%)}
.audit-map-art{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;border:1px solid rgba(16,36,62,.08);background:#fff;box-shadow:0 10px 20px rgba(16,36,62,.05);color:var(--navy)}
.audit-map-art svg{display:block;width:24px;height:24px}
.audit-map-card span{display:block}
.audit-map-card small{max-width:26ch}
.audit-map-internal .audit-map-art{background:linear-gradient(145deg,#fff3f0,#ffffff);color:var(--coral-deep)}
.audit-map-delegate .audit-map-art{background:linear-gradient(145deg,#f4f5ff,#ffffff);color:var(--blue)}
.audit-map-ai .audit-map-art{background:linear-gradient(145deg,#eef8ff,#ffffff);color:#2073a6}
.audit-map-automate .audit-map-art{background:linear-gradient(145deg,#f3fbf8,#ffffff);color:#22836b}
@media (max-width:900px){
  .testimonial-brand-row{align-items:flex-start;flex-direction:column}
  .testimonial-logo{max-height:34px}
  .story-problem-grid{grid-template-columns:1fr!important}
  .audit-map-card{min-height:148px!important}
}


/* --------------------------------------------------------------------------
   v4.7.2: polished client proof system.
   -------------------------------------------------------------------------- */
.client-proof-section{padding:54px 0 60px!important;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.client-proof-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.65fr);gap:42px;align-items:end;margin-bottom:26px}
.client-proof-head h2{margin-top:10px;max-width:720px;font-size:clamp(32px,3.4vw,48px);line-height:1.08;letter-spacing:-.04em;color:var(--navy)}
.client-proof-head>p{max-width:560px;justify-self:end;margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.client-proof-grid{gap:16px}
.client-proof-card{position:relative;min-height:300px;padding:24px!important;border-color:rgba(16,36,62,.08)!important;background:linear-gradient(145deg,#fff,#fafbff)!important;box-shadow:0 16px 42px rgba(16,36,62,.055)!important}
.client-proof-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--coral),#aaa8f3 55%,#76b9e8);opacity:.78}
.client-logo-link{display:flex;align-items:center;min-height:42px;max-width:180px}
.client-logo-link:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:6px}
.client-proof-card .testimonial-logo{max-width:170px;max-height:42px;mix-blend-mode:multiply}
.client-proof-body{display:grid;gap:10px;margin-top:28px}
.client-proof-body strong{color:var(--navy)!important;font-size:18px!important;line-height:1.25;font-weight:800!important;letter-spacing:-.02em}
.client-proof-body p{margin:0;color:#5c6879!important;font-size:13.5px!important;line-height:1.65}
.client-proof-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}
.client-proof-meta span{font-size:10.5px!important;line-height:1.35;color:var(--muted)!important}
.client-proof-meta span:first-child{font-weight:800;color:#536073!important;text-transform:uppercase;letter-spacing:.05em}
@media (max-width:900px){
  .client-proof-section{padding:38px 0 44px!important}
  .client-proof-head{grid-template-columns:1fr;gap:14px;margin-bottom:22px}
  .client-proof-head>p{justify-self:start}
  .client-proof-card{min-height:250px}
}
@media (prefers-reduced-motion:reduce){
  .client-proof-section,.client-proof-section *{animation:none!important;transition:none!important}
}


/* --------------------------------------------------------------------------
   v4.7.3 — header dedupe + resilient client testimonial cards.
   -------------------------------------------------------------------------- */
.client-testimonial-card{min-height:330px!important}
.client-testimonial-card blockquote{flex:1;margin:24px 0 26px!important;color:var(--navy)!important;font-size:16px!important;font-weight:650!important;line-height:1.6!important;letter-spacing:-.018em!important}
.testimonial-draft-note{display:inline-flex;align-items:center;min-height:25px;padding:5px 8px;border:1px solid rgba(16,36,62,.09);border-radius:999px;background:#f7f9fc;color:#7a8798!important;font-size:9px!important;font-weight:800!important;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.client-logo-link{min-width:130px;min-height:46px}
.client-logo-link .testimonial-logo{max-width:172px!important;max-height:44px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.client-logo-link .testimonial-logo-local{max-width:178px!important;max-height:46px!important;mix-blend-mode:normal!important}
.client-logo-fallback{align-items:center;min-height:40px;color:var(--navy)!important;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:20px;letter-spacing:-.035em}
.client-logo-fallback-pace{color:#1372b8!important;font-size:25px;letter-spacing:.16em}
.client-logo-fallback-mills{font-size:18px}
@media (max-width:900px){
  .client-testimonial-card{min-height:0!important}
  .testimonial-brand-row{flex-direction:row!important;align-items:center!important}
  .testimonial-draft-note{font-size:8px!important}
}


/* --------------------------------------------------------------------------
   v4.7.5: single-header guard. The PHP hook cleanup is primary; these selectors
   prevent a legacy global header wrapper from flashing if a provider renders
   through a late/unsupported path. The theme-owned .site-nav is untouched.
   -------------------------------------------------------------------------- */
.va247-custom-theme-header .elementor-location-header,
.va247-custom-theme-header .hfe-site-header:not(.site-nav),
.va247-custom-theme-header .elementor-location-header + .hfe-site-header,
.va247-custom-theme-header .ekit-template-content-header,
.va247-custom-theme-header .elementskit-header-template{display:none!important}

/* Approval-state labels are not part of the public client-proof UI. */
.testimonial-draft-note{display:none!important}


/* --------------------------------------------------------------------------
   v4.7.6 — richer section intros for ownership, audiences and support models.
   Static visual storytelling only; no additional animation system.
   -------------------------------------------------------------------------- */
.va247-home-v421 .section-story-intro{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);
  gap:58px;
  align-items:stretch;
  margin-bottom:46px;
}
.va247-home-v421 .section-story-intro .section-head{
  display:block!important;
  max-width:none!important;
  margin:0!important;
  align-self:center;
}
.va247-home-v421 .section-story-intro .section-head>div{max-width:760px}
.va247-home-v421 .section-story-intro .section-head>p{
  max-width:650px!important;
  margin-top:20px!important;
}

/* Where we take ownership — workload cluster feeding a named owner. */
.ownership-story-visual{
  position:relative;
  min-height:330px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 5%,rgba(139,135,223,.18),transparent 32%),
    linear-gradient(145deg,#fbfcff 0%,#f5f8fb 54%,#fff8f5 100%);
  box-shadow:0 18px 48px rgba(16,36,62,.06);
}
.ownership-story-visual:before{
  content:"";
  position:absolute;
  inset:24% 28% 20%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(238,89,97,.08),transparent 68%);
  pointer-events:none;
}
.ownership-work-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.ownership-work-item{
  min-height:62px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 13px;
  border:1px solid rgba(16,36,62,.08);
  border-radius:15px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 20px rgba(16,36,62,.035);
}
.ownership-work-item i{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#f0f1ff;
  color:#646bd0;
  font-style:normal;
  font-size:14px;
  font-weight:800;
}
.ownership-work-item:nth-child(3n+1) i{background:#fff0ed;color:#dc5960}
.ownership-work-item:nth-child(3n+2) i{background:#eef6ff;color:#3d7ca7}
.ownership-work-item b{
  color:#21334a!important;
  font-size:12px!important;
  line-height:1.25;
  font-weight:750!important;
}
.ownership-owner-card{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:14px;
  width:min(100%,310px);
  margin:0 auto;
  padding:15px 17px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:#10243e;
  box-shadow:0 18px 38px rgba(16,36,62,.16);
}
.ownership-owner-card:before,
.ownership-owner-card:after{
  content:"";
  position:absolute;
  left:50%;
  width:1px;
  height:22px;
  background:linear-gradient(#cfd6e0,transparent);
}
.ownership-owner-card:before{top:-22px}
.ownership-owner-card:after{display:none}
.ownership-owner-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,#ef5961,#8588e3);
  color:#fff!important;
  font-weight:900!important;
}
.ownership-owner-card small{
  display:block;
  color:#aebfd0!important;
  font-size:10px!important;
  font-weight:700;
}
.ownership-owner-card strong{
  display:block;
  margin-top:3px;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.3;
}

/* Who we support — compact audience path panel. */
.audience-path-visual{
  position:relative;
  min-height:330px;
  display:grid;
  align-content:center;
  gap:12px;
  padding:28px;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 12%,rgba(137,134,225,.28),transparent 36%),
    linear-gradient(145deg,#10243e,#172f50 68%,#1d3555);
  box-shadow:0 22px 56px rgba(16,36,62,.13);
}
.audience-path-visual:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-95px;
  width:240px;
  height:240px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.018);
}
.audience-path-line{
  position:absolute;
  left:48px;
  top:64px;
  bottom:64px;
  width:1px;
  background:linear-gradient(transparent,rgba(255,255,255,.2) 15%,rgba(255,255,255,.2) 85%,transparent);
}
.audience-path-item{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:38px 1fr 24px;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.065);
  backdrop-filter:blur(7px);
}
.audience-path-item span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.10);
  color:#ff858b!important;
  font-size:10px!important;
  font-weight:800!important;
}
.audience-path-item b{
  color:#fff!important;
  font-size:14px!important;
  line-height:1.3;
}
.audience-path-item i{
  color:#aebfd0;
  font-style:normal;
  font-size:16px;
}

/* Ways to work with us — input → support model decision panel. */
.support-model-visual{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  padding:26px;
  border:1px solid #dde4eb;
  border-radius:28px;
  background:
    radial-gradient(circle at 10% 12%,rgba(239,89,97,.09),transparent 30%),
    linear-gradient(145deg,#fff,#f7f8ff 58%,#f4f8fb);
  box-shadow:0 18px 48px rgba(16,36,62,.055);
}
.support-input-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.support-input-row span{
  display:grid;
  place-items:center;
  min-height:48px;
  padding:10px 8px;
  border:1px solid #e2e7ee;
  border-radius:13px;
  background:#fff;
  color:#5e6b7e!important;
  font-size:11px!important;
  font-weight:800!important;
}
.support-model-route{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.support-model-route i{
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,#cbd4df);
}
.support-model-route i:last-child{background:linear-gradient(90deg,#cbd4df,transparent)}
.support-model-route b{
  padding:10px 14px;
  border-radius:999px;
  background:#10243e;
  color:#fff!important;
  font-size:11px!important;
  line-height:1;
  white-space:nowrap;
}
.support-model-options{
  display:grid;
  gap:8px;
}
.support-model-options>span{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  min-height:54px;
  padding:9px 12px;
  border:1px solid rgba(16,36,62,.075);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  color:#21334a!important;
  font-size:12px!important;
  font-weight:750!important;
}
.support-model-options small{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#f0f1ff;
  color:#686fd0!important;
  font-size:9px!important;
  font-weight:800;
}
.support-model-options>span:nth-child(2) small{background:#fff0ed;color:#d9565e!important}
.support-model-options>span:nth-child(3) small{background:#eef7ff;color:#377aa8!important}

.va247-home-v421 .services-story-intro + .service-showcase-grid,
.va247-home-v421 .audience-story-intro + .audience-story-grid,
.va247-home-v421 .engagement-story-intro + .engagement-grid{
  margin-top:0;
}

@media (max-width:1050px){
  .va247-home-v421 .section-story-intro{
    grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);
    gap:34px;
  }
}
@media (max-width:820px){
  .va247-home-v421 .section-story-intro{
    grid-template-columns:1fr;
    gap:26px;
    margin-bottom:32px;
  }
  .ownership-story-visual,
  .audience-path-visual,
  .support-model-visual{min-height:0}
  .ownership-story-visual{padding:18px}
  .audience-path-visual,.support-model-visual{padding:20px}
}
@media (max-width:520px){
  .ownership-work-grid{grid-template-columns:1fr}
  .support-input-row{grid-template-columns:1fr 1fr 1fr}
  .support-input-row span{font-size:9.5px!important;padding:8px 4px}
  .audience-path-item{grid-template-columns:34px 1fr 18px;padding:10px}
  .ownership-owner-card{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ownership-story-visual *,
  .audience-path-visual *,
  .support-model-visual *{
    animation:none!important;
    transition:none!important;
  }
}


/* ========================================================================== */
/* VA20Four7 v4.7.7 — FINAL SURFACE CONTRAST + AUDIENCE MENU DETAIL CONTRACT */
/* This block intentionally lives last. Dark surfaces own their foreground.   */
/* Light cards/forms inside them are the only explicit exceptions.            */
/* ========================================================================== */
:root{
  --v477-dark-heading:#ffffff;
  --v477-dark-copy:#d8e3ee;
  --v477-dark-muted:#aebfd0;
  --v477-light-heading:#142238;
  --v477-light-copy:#5c697a;
}

/* All known full/contained dark surfaces across homepage + inner pages. */
:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .audience-path-visual,
  .ownership-owner-card
){
  color:var(--v477-dark-heading)!important;
  -webkit-text-fill-color:var(--v477-dark-heading)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .audience-path-visual,
  .ownership-owner-card
) :where(h1,h2,h3,h4,h5,h6,strong,b,label,dt,summary){
  color:var(--v477-dark-heading)!important;
  -webkit-text-fill-color:var(--v477-dark-heading)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .audience-path-visual,
  .ownership-owner-card
) :where(p,li,dd){
  color:var(--v477-dark-copy)!important;
  -webkit-text-fill-color:var(--v477-dark-copy)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .audience-path-visual,
  .ownership-owner-card
) :where(small,.muted,.mini-note){
  color:var(--v477-dark-muted)!important;
  -webkit-text-fill-color:var(--v477-dark-muted)!important;
}

:is(
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  #va247-theme-footer .footer-premium-top,
  .audience-path-visual,
  .ownership-owner-card
) a:not(.btn):not(.footer-contact-cta){
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

/* Dark/translucent children must never be reclassified as light cards. */
.ai-positioning-section :is(.ai-operating-model,.ai-model-note),
.process-section .process-step,
.ai-layer-section .ai-layer-divider,
.tool-panel .tool-row span,
.audience-path-visual .audience-path-item,
.ownership-owner-card{
  color:var(--v477-dark-heading)!important;
  -webkit-text-fill-color:var(--v477-dark-heading)!important;
}
.ai-positioning-section :is(.ai-operating-model,.ai-model-note) :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.process-section .process-step :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.ai-layer-section .ai-layer-divider :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.tool-panel .tool-row span,
.audience-path-visual .audience-path-item :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ownership-owner-card :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--v477-dark-heading)!important;
  -webkit-text-fill-color:var(--v477-dark-heading)!important;
}
.ai-positioning-section :is(.ai-operating-model,.ai-model-note) :where(p,li,small),
.process-section .process-step :where(p,li,small),
.audience-path-visual .audience-path-item :where(p,li,small),
.ownership-owner-card :where(p,li,small){
  color:var(--v477-dark-copy)!important;
  -webkit-text-fill-color:var(--v477-dark-copy)!important;
}

/* Purposeful accents on dark UI. */
.audience-path-visual .audience-path-item>span{
  color:#ff858b!important;
  -webkit-text-fill-color:#ff858b!important;
}
.audience-path-visual .audience-path-item>i,
.ownership-owner-card small{
  color:var(--v477-dark-muted)!important;
  -webkit-text-fill-color:var(--v477-dark-muted)!important;
}
.ownership-owner-icon{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Explicit light surfaces nested inside dark chapters. */
.va247-home-v421 .home-hero-v431 .hero-workflow-card,
.ai-positioning-section .ai-model-grid>div,
.ai-layer-section .ai-layer-col,
.ai-layer-section .workflow-visual-canvas,
.contact-dialog .contact-form-wrap,
.contact-dialog .contact-form-wrap :where(.field,input,select,textarea),
#va247-theme-footer .footer-contact-cta{
  color:var(--v477-light-heading)!important;
  -webkit-text-fill-color:var(--v477-light-heading)!important;
}

.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-positioning-section .ai-model-grid>div :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .ai-layer-col :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .workflow-visual-canvas :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.contact-dialog .contact-form-wrap :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--v477-light-heading)!important;
  -webkit-text-fill-color:var(--v477-light-heading)!important;
}

.va247-home-v421 .home-hero-v431 .hero-workflow-card :where(p,li,span,small),
.ai-positioning-section .ai-model-grid>div :where(p,li,span),
.ai-layer-section .ai-layer-col :where(p,li,span),
.ai-layer-section .workflow-visual-canvas :where(p,li,span,small),
.contact-dialog .contact-form-wrap :where(p,li,small){
  color:var(--v477-light-copy)!important;
  -webkit-text-fill-color:var(--v477-light-copy)!important;
}

/* Restore intended label/accent colours within light cards. */
.ai-positioning-section .ai-model-grid>div small{
  color:#d94d59!important;
  -webkit-text-fill-color:#d94d59!important;
}
.ai-layer-section .ai-layer-col small{
  color:#2b68a6!important;
  -webkit-text-fill-color:#2b68a6!important;
}
.ai-layer-section .ai-layer-col i{
  color:#d94d59!important;
  -webkit-text-fill-color:#d94d59!important;
}

/* Keep CTA/button contrast intentional on dark surfaces. */
.page-hero:not(.home-hero) .hero-actions .btn:not(.secondary){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.va247-home-v421 .home-hero-v431 .hero-secondary-cta,
.page-hero:not(.home-hero) .hero-actions .btn.secondary{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Form controls are always readable regardless of parent surface. */
.contact-form-wrap :where(input,select,textarea){
  background:#fff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
}
.contact-form-wrap :where(input,select,textarea)::placeholder{
  color:#8a95a5!important;
  -webkit-text-fill-color:#8a95a5!important;
  opacity:1!important;
}

/* Who we support: restore the descriptive three-card mega-menu presentation. */
.audience-mega-menu{
  width:min(820px,82vw)!important;
}
.audience-mega-links{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.audience-mega-links a{
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:1fr 22px!important;
  grid-template-rows:auto auto 1fr!important;
  align-content:start!important;
  column-gap:12px!important;
  row-gap:5px!important;
  padding:18px 40px 18px 18px!important;
}
.audience-mega-links a>small,
.audience-mega-links a>b,
.audience-mega-links a>span{
  grid-column:1!important;
}
.audience-mega-links a>small{
  color:#8a95a5!important;
  -webkit-text-fill-color:#8a95a5!important;
  font-size:9px!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
}
.audience-mega-links a>b{
  color:#142238!important;
  -webkit-text-fill-color:#142238!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.audience-mega-links a>span{
  color:#667386!important;
  -webkit-text-fill-color:#667386!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.audience-mega-links a>i{
  grid-column:2!important;
  grid-row:1 / span 3!important;
  align-self:center!important;
}

/* Mobile audience accordion keeps the restored description too. */
.mobile-audience-list a{
  display:grid!important;
  gap:3px!important;
}
.mobile-audience-list a>b{
  color:#142238!important;
  -webkit-text-fill-color:#142238!important;
}
.mobile-audience-list a>small{
  display:block!important;
  color:#738095!important;
  -webkit-text-fill-color:#738095!important;
  font-size:11px!important;
  line-height:1.45!important;
  font-weight:500!important;
}

@media(max-width:980px){
  .audience-mega-menu{width:min(720px,90vw)!important}
}

@media(prefers-reduced-motion:reduce){
  :is(.audience-mega-menu,.audience-mega-links a){transition:none!important;animation:none!important}
}

/* ========================================================================== */
/* VA20Four7 v4.7.9 — nested dark contrast + nav parity + modern audience pages */
/* ========================================================================== */

/* 1) Navigation parity: links and both dropdown triggers are typographically identical. */
.site-nav .nav-menu > a,
.site-nav .nav-drop > .nav-drop-trigger{
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.012em!important;
  color:#354158!important;
  -webkit-text-fill-color:#354158!important;
  padding:10px 0!important;
}
.site-nav .nav-menu > a:hover,
.site-nav .nav-menu > a:focus-visible,
.site-nav .nav-drop > .nav-drop-trigger:hover,
.site-nav .nav-drop > .nav-drop-trigger:focus-visible,
.site-nav .nav-drop.open > .nav-drop-trigger{
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}
.site-nav .nav-drop > .nav-drop-trigger > span{
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  color:#7d8898!important;
  -webkit-text-fill-color:#7d8898!important;
}

/* 2) Nested dark primitives: foreground is owned by the component itself. */
.support-model-route > b,
.support-model-route > b :where(span,strong,b,small),
.ownership-owner-card,
.ownership-owner-card :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.audience-path-visual,
.audience-path-visual .audience-path-item :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.support-model-route > b{
  background:#10243e!important;
}

/* Dark chapter fallbacks across every template. */
.page-hero:not(.home-hero) .inner-hero :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-positioning-section :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.process-section :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.tool-panel :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.contact-aside :where(h1,h2,h3,h4,h5,h6,strong,b,label),
#va247-theme-footer .footer-premium-top :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.page-hero:not(.home-hero) .inner-hero :where(p,li,small),
.ai-positioning-section :where(p,li),
.process-section :where(p,li),
.ai-layer-section :where(p,li),
.tool-panel :where(p,li,small),
.contact-aside :where(p,li,small),
#va247-theme-footer .footer-premium-top :where(p,li,small){
  color:#d8e3ee!important;
  -webkit-text-fill-color:#d8e3ee!important;
}

/* Re-assert genuine light cards nested in those dark areas. */
.ai-positioning-section .ai-model-grid > div :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ai-layer-section .ai-layer-col :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.contact-dialog .contact-form-wrap :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#142238!important;
  -webkit-text-fill-color:#142238!important;
}
.ai-positioning-section .ai-model-grid > div :where(p,li,span),
.ai-layer-section .ai-layer-col :where(p,li,span),
.contact-dialog .contact-form-wrap :where(p,li,small){
  color:#5c697a!important;
  -webkit-text-fill-color:#5c697a!important;
}
.ai-positioning-section .ai-model-grid > div small{
  color:#d94d59!important;
  -webkit-text-fill-color:#d94d59!important;
}

/* 3) Modern audience landing pages — use the same visual language as service pages. */
.audience-proof-strip{
  position:relative;
  z-index:4;
  margin-top:-22px;
  padding:0 0 18px;
  background:#fff;
}
.audience-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(16,36,62,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 22px 60px rgba(16,36,62,.08);
}
.audience-proof-grid>div{
  min-width:0;
  padding:22px 24px;
  border-right:1px solid #e7ebf1;
}
.audience-proof-grid>div:last-child{border-right:0}
.audience-proof-grid b{
  display:block;
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
  font-size:15px;
  line-height:1.3;
}
.audience-proof-grid span{
  display:block;
  margin-top:6px;
  color:#687386!important;
  -webkit-text-fill-color:#687386!important;
  font-size:12px;
  line-height:1.55;
}
.audience-modern-section .section-head{align-items:end}
.audience-modern-cards .model{min-height:230px}
.audience-four-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.audience-four-cards .model{grid-column:auto}

.audience-capability-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.audience-capability-grid>span{
  min-height:78px;
  display:flex;
  align-items:center;
  padding:18px;
  border:1px solid #e3e8ee;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#f8faff);
  color:#24364d!important;
  -webkit-text-fill-color:#24364d!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1.45;
  box-shadow:0 8px 24px rgba(16,36,62,.035);
}

.audience-track-flow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  padding:26px;
  border:1px solid #e1e7ee;
  border-radius:22px;
  background:#fff;
}
.audience-track-flow b{
  padding:11px 14px;
  border-radius:12px;
  background:#f5f6ff;
  color:#263952!important;
  -webkit-text-fill-color:#263952!important;
  font-size:12px!important;
  line-height:1.2;
}
.audience-track-flow i{
  color:#9aa7b6!important;
  -webkit-text-fill-color:#9aa7b6!important;
  font-style:normal;
}
.partner-track-flow{justify-content:flex-start}
.partner-audit-map{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center}

.audience-contact-section .home-contact-card{
  align-self:start;
}

/* Partner application form adopts the same form language as the site contact form. */
.partner-application-card .va247p-application{display:grid;gap:18px}
.partner-application-card .va247p-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.partner-application-card .va247p-grid label{
  display:grid;
  gap:7px;
  color:#25364c!important;
  -webkit-text-fill-color:#25364c!important;
  font-size:12px!important;
  font-weight:750!important;
}
.partner-application-card .va247p-grid label.full{grid-column:1/-1}
.partner-application-card .va247p-grid :where(input,select,textarea){
  width:100%;
  min-width:0;
  border:1px solid #dce3eb;
  border-radius:12px;
  background:#fff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  padding:12px 13px;
  outline:none;
}
.partner-application-card .va247p-grid :where(input,select,textarea):focus{
  border-color:#8d95e8;
  box-shadow:0 0 0 3px rgba(141,149,232,.12);
}
.partner-application-card .va247p-btn{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:12px;
  padding:13px 18px;
  background:#10243e!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:800;
  cursor:pointer;
}
.partner-application-card .va247p-btn span{color:#fff!important;-webkit-text-fill-color:#fff!important}
.partner-application-card .va247p-notice{
  display:grid;
  gap:4px;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid #dfe5ed;
  border-radius:14px;
  background:#f8faff;
}

@media (max-width:1000px){
  .audience-four-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audience-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .audience-proof-strip{margin-top:0;padding-top:10px}
  .audience-proof-grid{grid-template-columns:1fr}
  .audience-proof-grid>div{border-right:0;border-bottom:1px solid #e7ebf1}
  .audience-proof-grid>div:last-child{border-bottom:0}
  .audience-four-cards,.audience-capability-grid,.partner-audit-map{grid-template-columns:1fr}
  .audience-track-flow{justify-content:flex-start;padding:18px}
  .audience-track-flow i{display:none}
  .partner-application-card .va247p-grid{grid-template-columns:1fr}
  .partner-application-card .va247p-grid label.full{grid-column:auto}
}

@media (prefers-reduced-motion:reduce){
  .audience-modern-section *,
  .audience-proof-strip *,
  .partner-application-section *{
    animation:none!important;
    transition:none!important;
  }
}

/* ==========================================================================
   v4.7.9 — SITE-WIDE INNER PAGE REMEDIATION
   One semantic dark-surface contract + balanced inner-page content rhythm.
   This block intentionally sits LAST in the cascade.
   ========================================================================== */

/* --------------------------------------------------------------------------
   A. HARD DARK-SURFACE CONTRACT
   Any element explicitly marked as a dark surface owns its foreground.
   The known legacy dark components are included as a safety net.
   -------------------------------------------------------------------------- */
:is(
  .va247-dark-surface,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  #va247-theme-footer .footer-premium-top
){
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

:is(
  .va247-dark-surface,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  #va247-theme-footer .footer-premium-top
) :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

:is(
  .va247-dark-surface,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  #va247-theme-footer .footer-premium-top
) :where(p,li){
  color:#d8e3ee!important;
  -webkit-text-fill-color:#d8e3ee!important;
}

:is(
  .va247-dark-surface,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  #va247-theme-footer .footer-premium-top
) :where(small,.muted){
  color:#afc0d1!important;
  -webkit-text-fill-color:#afc0d1!important;
}

:is(
  .va247-dark-surface,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .process-section,
  .ai-layer-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  #va247-theme-footer .footer-premium-top
) a:not(.btn):not(.footer-contact-cta){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Dark translucent components stay light-on-dark. */
.process-section .process-step,
.process-section .process-step :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.tool-panel .tool-row span,
.audience-path-visual .audience-path-item,
.audience-path-visual .audience-path-item :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.support-model-route > b,
.support-model-route > b :where(span,strong,b,small),
.ownership-owner-card,
.ownership-owner-card :where(h1,h2,h3,h4,h5,h6,strong,b,label,span){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.process-section .process-step :where(p,li,small),
.audience-path-visual .audience-path-item :where(p,li,small){
  color:#d8e3ee!important;
  -webkit-text-fill-color:#d8e3ee!important;
}

/* Genuine light cards nested inside dark sections opt back into dark text. */
:is(
  .va247-light-surface,
  .ai-positioning-section .ai-model-grid > div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap
){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(
  .va247-light-surface,
  .ai-positioning-section .ai-model-grid > div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap
) :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(
  .va247-light-surface,
  .ai-positioning-section .ai-model-grid > div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap
) :where(p,li,span){
  color:#5d697a!important;
  -webkit-text-fill-color:#5d697a!important;
}
:is(
  .va247-light-surface,
  .ai-positioning-section .ai-model-grid > div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap
) small{
  color:#6f7b8c!important;
  -webkit-text-fill-color:#6f7b8c!important;
}

/* Preserve useful accent labels inside the white AI cards. */
.ai-positioning-section .ai-model-grid > div small,
.ai-layer-section .ai-layer-col small,
.workflow-visual-head > small,
.workflow-visual-step small{
  color:#d94d59!important;
  -webkit-text-fill-color:#d94d59!important;
}

/* Button contrast is component-owned, never inherited from its parent. */
.page-hero:not(.home-hero) .hero-actions .btn:not(.secondary),
#va247-theme-footer .footer-contact-cta,
#va247-theme-footer .footer-contact-cta :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.page-hero:not(.home-hero) .hero-actions .btn.secondary,
.page-hero:not(.home-hero) .hero-actions .btn.secondary :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Keep gradient emphasis on inner-page hero headlines. */
.page-hero:not(.home-hero) .hero-copy h1 em{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  background:linear-gradient(90deg,#ffaba5,#c9c9ff)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
}

/* --------------------------------------------------------------------------
   B. INNER-PAGE CONTENT BALANCE
   Section intros with explanatory copy become a real two-column composition
   instead of a narrow text island with unused space on the right.
   -------------------------------------------------------------------------- */
@supports selector(.section-head:has(> p)){
  body.page:not(.home) .section-head:has(> p){
    width:100%;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr)!important;
    gap:clamp(30px,4vw,62px)!important;
    align-items:end!important;
    margin-bottom:38px!important;
  }

  body.page:not(.home) .section-head:has(> p) > div{
    max-width:760px!important;
    min-width:0;
  }

  body.page:not(.home) .section-head:has(> p) > p{
    position:relative;
    max-width:none!important;
    margin:0!important;
    padding:20px 22px 20px 24px!important;
    border:1px solid #e2e7ed;
    border-radius:18px;
    background:linear-gradient(145deg,#ffffff,#f8faff);
    box-shadow:0 10px 28px rgba(16,36,62,.045);
    color:#5f6d80!important;
    -webkit-text-fill-color:#5f6d80!important;
    font-size:15px!important;
    line-height:1.72!important;
  }

  body.page:not(.home) .section-head:has(> p) > p:before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:3px;
    border-radius:99px;
    background:linear-gradient(180deg,#ef5961,#8588e3);
  }

  body.page:not(.home) .tone-section .section-head:has(> p) > p{
    background:#ffffff;
  }
}

/* Wider inner-page sections should use the available canvas deliberately. */
body.page:not(.home) :is(.split-intro,.service-workflow-grid,.ai-layer-grid,.process-layout,.faq-layout,.home-contact-grid,.editorial-story){
  width:100%;
}

/* Keep long intro headings readable rather than letting one column balloon. */
body.page:not(.home) :is(.section-sticky,.service-workflow-copy,.ai-layer-copy,.process-intro,.faq-intro,.home-contact-copy,.story-title){
  min-width:0;
}

@media (max-width:980px){
  @supports selector(.section-head:has(> p)){
    body.page:not(.home) .section-head:has(> p){
      grid-template-columns:1fr!important;
      gap:18px!important;
      align-items:start!important;
    }
    body.page:not(.home) .section-head:has(> p) > p{
      max-width:760px!important;
      padding:17px 18px 17px 20px!important;
    }
  }
}

@media (prefers-reduced-motion:reduce){
  .va247-dark-surface *,
  body.page:not(.home) .section-head *{
    animation:none!important;
    transition:none!important;
  }
}



/* ==========================================================================
   VA20Four7 v4.8.0 — INNER PAGE HARD FIX
   Final cascade. No later theme rules may override these declarations.
   ========================================================================== */

/* Inner-page primary CTA is a dark button: its label and arrow must be white. */
.va247-inner-page .page-hero:not(.home-hero) .hero-actions .btn:not(.secondary),
.va247-inner-page .page-hero:not(.home-hero) .hero-actions .btn:not(.secondary) *,
.page-hero:not(.home-hero) .hero-actions .btn:not(.secondary),
.page-hero:not(.home-hero) .hero-actions .btn:not(.secondary) *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Secondary CTA is translucent on navy, so it also stays white. */
.va247-inner-page .page-hero:not(.home-hero) .hero-actions .btn.secondary,
.va247-inner-page .page-hero:not(.home-hero) .hero-actions .btn.secondary *,
.page-hero:not(.home-hero) .hero-actions .btn.secondary,
.page-hero:not(.home-hero) .hero-actions .btn.secondary *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Explicit foreground contract for every shared dark inner-page component. */
.va247-inner-page :is(
  .page-hero:not(.home-hero) .inner-hero,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual
) :is(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.va247-inner-page :is(
  .page-hero:not(.home-hero) .inner-hero,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual
) :is(p,li,small){
  color:#d8e3ee!important;
  -webkit-text-fill-color:#d8e3ee!important;
}
.va247-inner-page :is(
  .page-hero:not(.home-hero) .inner-hero,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual
) :is(.text-link,a:not(.btn)){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* White cards nested in dark sections are deliberately light surfaces. */
.va247-inner-page :is(
  .va247-light-surface,
  .ai-layer-col,
  .workflow-visual-canvas,
  .contact-form-wrap
),
.va247-inner-page :is(
  .va247-light-surface,
  .ai-layer-col,
  .workflow-visual-canvas,
  .contact-form-wrap
) :is(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
.va247-inner-page :is(
  .va247-light-surface,
  .ai-layer-col,
  .workflow-visual-canvas,
  .contact-form-wrap
) :is(p,li,span){
  color:#5d697a!important;
  -webkit-text-fill-color:#5d697a!important;
}

/* Reliable inner-page section composition. */
@supports selector(.section-head:has(> p)){
  .va247-inner-page .section-head:has(> p){
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr)!important;
    gap:clamp(28px,4vw,56px)!important;
    align-items:stretch!important;
  }
  .va247-inner-page .section-head:has(> p)>div{
    min-width:0;
    max-width:780px!important;
    align-self:center;
  }
  .va247-inner-page .section-head:has(> p)>p{
    position:relative;
    display:flex;
    align-items:center;
    min-height:100%;
    max-width:none!important;
    margin:0!important;
    padding:22px 24px 22px 27px!important;
    border:1px solid #e2e7ed!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,#ffffff 0%,#f7f9fd 100%)!important;
    box-shadow:0 12px 30px rgba(16,36,62,.045)!important;
    color:#5f6d80!important;
    -webkit-text-fill-color:#5f6d80!important;
    font-size:15px!important;
    line-height:1.72!important;
  }
  .va247-inner-page .section-head:has(> p)>p:before{
    content:"";
    position:absolute;
    left:0;
    top:20px;
    bottom:20px;
    width:3px;
    border-radius:99px;
    background:linear-gradient(180deg,#ef5961,#8588e3);
  }
}

/* Text-led split sections should feel like designed panels, not loose copy. */
.va247-inner-page .split-intro{
  grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(34px,4vw,58px)!important;
}
.va247-inner-page .split-intro>.section-sticky{
  padding:26px 28px!important;
  border:1px solid #e3e8ef!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#ffffff,#f8faff)!important;
  box-shadow:0 12px 32px rgba(16,36,62,.04)!important;
}

@media(max-width:980px){
  @supports selector(.section-head:has(> p)){
    .va247-inner-page .section-head:has(> p){
      grid-template-columns:1fr!important;
      gap:18px!important;
    }
    .va247-inner-page .section-head:has(> p)>p{
      min-height:0!important;
    }
  }
  .va247-inner-page .split-intro{grid-template-columns:1fr!important;}
  .va247-inner-page .split-intro>.section-sticky{position:static!important;}
}

@media(prefers-reduced-motion:reduce){
  .va247-inner-page *{
    animation:none!important;
    transition:none!important;
  }
}


/* ==========================================================================
   VA20Four7 v4.8.1 — HOME HERO CTA OWNERSHIP
   The homepage primary CTA is a LIGHT button on a dark hero. It must never
   inherit the inner-page dark-button text contract.
   ========================================================================== */
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta{
  background:#ffffff!important;
  border-color:#ffffff!important;
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta :where(strong,b){
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta span{
  color:#ef5961!important;
  -webkit-text-fill-color:#ef5961!important;
}
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta:hover,
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta:focus-visible{
  background:#f7f9fc!important;
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}
body.home .va247-home-v421 .home-hero-v431 .hero-secondary-cta,
body.home .va247-home-v421 .home-hero-v431 .hero-secondary-cta :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}


/* ==========================================================================
   VA20Four7 v4.8.2 — INNER PAGE LAYOUT SYSTEM
   A narrower, centered content canvas with deliberate gutters and line lengths.
   Homepage geometry is intentionally untouched.
   ========================================================================== */

/* Desktop canvas: full-bleed section backgrounds, restrained content width. */
.va247-inner-page{
  --va247-inner-content:1180px;
  --va247-inner-hero:1280px;
  --va247-inner-gutter:clamp(48px,5.5vw,88px);
  --va247-inner-gap:clamp(42px,5vw,72px);
}

.va247-inner-page .section > .wrap,
.va247-inner-page .cta-band > .wrap,
.va247-inner-page .audience-proof-strip > .wrap,
.va247-inner-page .global-proof-band > .wrap{
  width:min(var(--va247-inner-content),calc(100% - (var(--va247-inner-gutter) * 2)))!important;
  max-width:var(--va247-inner-content)!important;
  margin-inline:auto!important;
}

/* The first fold can be a little wider than editorial content, but not edge-heavy. */
.va247-inner-page .page-hero:not(.home-hero){
  padding:22px 0 42px!important;
}
.va247-inner-page .page-hero:not(.home-hero) .inner-hero{
  width:min(var(--va247-inner-hero),calc(100% - (var(--va247-inner-gutter) * 2)))!important;
  max-width:var(--va247-inner-hero)!important;
  min-height:0!important;
  padding:clamp(52px,4.6vw,72px)!important;
  gap:clamp(48px,5vw,76px)!important;
  grid-template-columns:minmax(0,.94fr) minmax(360px,.82fr)!important;
  margin-inline:auto!important;
}
.va247-inner-page .page-hero:not(.home-hero) .hero-copy{
  max-width:630px!important;
}
.va247-inner-page .page-hero:not(.home-hero) .hero-copy h1{
  max-width:650px!important;
}
.va247-inner-page .page-hero:not(.home-hero) .hero-copy>p{
  max-width:600px!important;
}
.va247-inner-page .page-hero:not(.home-hero) .editorial-visual{
  width:100%;
  max-width:560px!important;
  justify-self:end;
}

/* More generous chapter rhythm without making pages feel loose. */
.va247-inner-page .section{
  padding:clamp(82px,6.2vw,104px) 0!important;
}
.va247-inner-page .section + .section:before{
  width:min(var(--va247-inner-content),calc(100% - (var(--va247-inner-gutter) * 2)))!important;
}

/* Editorial section intros: strong heading column + intentionally contained support copy. */
@supports selector(.section-head:has(> p)){
  .va247-inner-page .section-head:has(> p){
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr) minmax(300px,.62fr)!important;
    gap:var(--va247-inner-gap)!important;
    align-items:center!important;
    margin-bottom:clamp(38px,4vw,54px)!important;
  }
  .va247-inner-page .section-head:has(> p)>div{
    max-width:690px!important;
  }
  .va247-inner-page .section-head:has(> p)>p{
    max-width:430px!important;
    justify-self:end!important;
    min-height:0!important;
    padding:22px 24px 22px 27px!important;
  }
}

/* Shared two-column chapters use a consistent professional gap and readable columns. */
.va247-inner-page :is(
  .split-intro,
  .service-workflow-grid,
  .ai-layer-grid,
  .process-layout,
  .faq-layout,
  .home-contact-grid,
  .editorial-story,
  .assurance-layout
){
  gap:var(--va247-inner-gap)!important;
}

.va247-inner-page .split-intro{
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr)!important;
  align-items:start!important;
}
.va247-inner-page .split-intro>.section-sticky{
  max-width:410px!important;
  padding:28px 30px!important;
}
.va247-inner-page .task-list{
  max-width:680px;
  width:100%;
  justify-self:end;
}

.va247-inner-page .service-workflow-grid,
.va247-inner-page .ai-layer-grid{
  grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr)!important;
  align-items:center!important;
}
.va247-inner-page :is(.service-workflow-copy,.ai-layer-copy){
  max-width:500px!important;
}

.va247-inner-page .process-layout,
.va247-inner-page .faq-layout{
  grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr)!important;
}
.va247-inner-page :is(.process-intro,.faq-intro){
  max-width:390px!important;
}
.va247-inner-page :is(.process-timeline,.faq-list){
  max-width:700px;
  width:100%;
  justify-self:end;
}

/* Cards should fill the centered canvas, not the viewport. */
.va247-inner-page :is(
  .model-grid,
  .outcome-editorial,
  .audience-modern-cards,
  .reason-grid,
  .topic-grid,
  .assurance-grid,
  .engagement-grid
){
  width:100%;
}

/* Closing CTAs retain clear outer breathing room. */
.va247-inner-page .cta-band{
  padding:28px 0 clamp(78px,6vw,100px)!important;
}
.va247-inner-page .cta-card{
  padding:clamp(32px,4vw,48px)!important;
  gap:clamp(30px,4vw,56px)!important;
}

/* Medium screens: preserve gutters instead of jumping close to the viewport edge. */
@media (max-width:1200px){
  .va247-inner-page{
    --va247-inner-gutter:32px;
    --va247-inner-gap:36px;
  }
  .va247-inner-page .page-hero:not(.home-hero) .inner-hero{
    grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)!important;
    padding:48px!important;
  }
}

@media (max-width:980px){
  .va247-inner-page{
    --va247-inner-gutter:26px;
  }
  .va247-inner-page .page-hero:not(.home-hero){
    padding:14px 0 30px!important;
  }
  .va247-inner-page .page-hero:not(.home-hero) .inner-hero{
    width:calc(100% - (var(--va247-inner-gutter) * 2))!important;
    grid-template-columns:1fr!important;
    gap:36px!important;
    padding:42px!important;
  }
  .va247-inner-page .page-hero:not(.home-hero) .editorial-visual{
    max-width:680px!important;
    justify-self:start;
  }
  @supports selector(.section-head:has(> p)){
    .va247-inner-page .section-head:has(> p){
      grid-template-columns:1fr!important;
      gap:22px!important;
    }
    .va247-inner-page .section-head:has(> p)>p{
      max-width:720px!important;
      justify-self:start!important;
    }
  }
  .va247-inner-page :is(
    .split-intro,
    .service-workflow-grid,
    .ai-layer-grid,
    .process-layout,
    .faq-layout,
    .home-contact-grid,
    .editorial-story,
    .assurance-layout
  ){
    grid-template-columns:1fr!important;
  }
  .va247-inner-page :is(.section-sticky,.service-workflow-copy,.ai-layer-copy,.process-intro,.faq-intro){
    max-width:720px!important;
  }
  .va247-inner-page :is(.task-list,.process-timeline,.faq-list){
    max-width:none!important;
    justify-self:stretch!important;
  }
}

@media (max-width:640px){
  .va247-inner-page{
    --va247-inner-gutter:16px;
  }
  .va247-inner-page .section{
    padding:64px 0!important;
  }
  .va247-inner-page .page-hero:not(.home-hero) .inner-hero{
    width:calc(100% - 20px)!important;
    padding:30px 20px 26px!important;
    gap:28px!important;
  }
  .va247-inner-page .split-intro>.section-sticky{
    padding:22px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .va247-inner-page *{
    animation:none!important;
    transition:none!important;
  }
}


/* ========================================================================== 
   v4.8.3 — number-only motion system
   Animation-only enhancement. No layout, spacing, colour or content changes.
   ========================================================================== */

/* Keep changing counter glyphs visually stable without reserving new space. */
[data-va247-counter],
.va247-number-motion {
  font-variant-numeric: tabular-nums;
}

/*
 * Numeric labels are fully visible by default. JavaScript adds the prepared
 * state only when IntersectionObserver and motion preferences allow it.
 */
.va247-number-motion.va247-number-prep {
  opacity: .28;
  transform: scale(.88);
  filter: blur(2.2px);
  transform-origin: 50% 50%;
  transition:
    opacity .46s cubic-bezier(.2,.75,.25,1),
    transform .62s cubic-bezier(.2,.8,.2,1),
    filter .46s ease;
}

.va247-number-motion.va247-number-in {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

/* A very small settling emphasis for count-up statistics. */
[data-va247-counter].va247-counter-running {
  transform: scale(.985);
  transition: transform .22s ease;
}

[data-va247-counter].va247-counter-complete {
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .va247-number-motion,
  .va247-number-motion.va247-number-prep,
  .va247-number-motion.va247-number-in,
  [data-va247-counter],
  [data-va247-counter].va247-counter-running,
  [data-va247-counter].va247-counter-complete {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
}


/* ==========================================================================
   v4.8.4 — GSAP/ScrollTrigger reduced-motion safety only.
   No visual/layout styles are introduced by this block.
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  [data-va247-gsap-prepared] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* ==========================================================================
   v4.8.5 — GSAP timing tune + touch/mobile hover neutralisation only.
   No layout, colour system, content or component geometry changes.
   ========================================================================== */
.va247-hero-word{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
  padding-bottom:.06em;
  margin-bottom:-.06em;
}
.va247-hero-word-inner{
  display:inline-block;
  transform-origin:50% 100%;
  will-change:transform,opacity;
}

/* Touch devices should never retain desktop hover movement/effects. */
@media (hover:none), (pointer:coarse), (max-width:900px){
  .btn:hover,
  .contact-submit:hover,
  .footer-contact-cta:hover,
  .text-link:hover,
  .text-link:hover span,
  .service-showcase-card:hover,
  .audience-story-card:hover,
  .engagement-card:hover,
  .assurance-card:hover,
  .outcome-card:hover,
  .model:hover,
  .resource-feature:hover,
  .topic-card:hover,
  .reason-card:hover,
  .benefit-card:hover,
  .principle-row:hover,
  .audit-value-grid article:hover,
  .audit-process-steps>div:hover,
  .task-row:hover,
  .process-step:hover,
  .mega-services a:hover,
  .service-showcase-card:hover .visual-card-media>img,
  .chapter-visual:hover img,
  .audience-story-card:hover img{
    transform:none!important;
    translate:none!important;
  }

  .btn:hover:after,
  .contact-submit:hover:after,
  .footer-contact-cta:hover:after,
  .service-showcase-card:hover .service-showcase-art:after,
  .service-workflow-art:hover:after,
  .chapter-visual-frame:hover:after{
    display:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .va247-hero-word,
  .va247-hero-word-inner{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
}


/* ==========================================================================
   VA20Four7 v4.8.6 — FULL-SITE CONTRAST QA + CAREERS APPLICATION
   Final ownership layer. This block intentionally sits last in the cascade.
   It resolves foreground/background ownership at component level rather than
   allowing generic typography rules to leak into dark surfaces or buttons.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Canonical dark surfaces — every dark chapter owns its foreground.
   -------------------------------------------------------------------------- */
:is(
  .va247-dark-surface,
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  .ownership-owner-card,
  #va247-theme-footer.site-footer-premium
){
  --va247-dark-heading:#ffffff;
  --va247-dark-copy:#d8e3ee;
  --va247-dark-muted:#aebfd0;
  color:var(--va247-dark-heading)!important;
  -webkit-text-fill-color:var(--va247-dark-heading)!important;
}

:is(
  .va247-dark-surface,
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  .ownership-owner-card,
  #va247-theme-footer.site-footer-premium
) :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:var(--va247-dark-heading)!important;
  -webkit-text-fill-color:var(--va247-dark-heading)!important;
}

:is(
  .va247-dark-surface,
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  .ownership-owner-card,
  #va247-theme-footer.site-footer-premium
) :where(p,li){
  color:var(--va247-dark-copy)!important;
  -webkit-text-fill-color:var(--va247-dark-copy)!important;
}

:is(
  .va247-dark-surface,
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  .ownership-owner-card,
  #va247-theme-footer.site-footer-premium
) :where(small,.muted,.mini-note){
  color:var(--va247-dark-muted)!important;
  -webkit-text-fill-color:var(--va247-dark-muted)!important;
}

:is(
  .va247-dark-surface,
  .va247-home-v421 .home-hero-v431 .inner-hero,
  .page-hero:not(.home-hero) .inner-hero,
  .ai-positioning-section,
  .ai-layer-section,
  .process-section,
  .tool-panel,
  .contact-aside,
  .audience-path-visual,
  .ownership-owner-card,
  #va247-theme-footer.site-footer-premium
) a:not(.btn):not(.footer-contact-cta){
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

/* Dark nested UI primitives: these remain light even when generic span rules exist. */
.process-section .process-step,
.process-section .process-step :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.ai-positioning-section :is(.ai-operating-model,.ai-model-note),
.ai-positioning-section :is(.ai-operating-model,.ai-model-note) :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.ai-layer-section .ai-layer-divider,
.ai-layer-section .ai-layer-divider :where(h1,h2,h3,h4,h5,h6,strong,b,label,span),
.tool-panel .tool-row span,
.audience-path-visual .audience-path-item,
.audience-path-visual .audience-path-item :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.ownership-owner-card,
.ownership-owner-card :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.support-model-route>b,
.support-model-route>b :where(span,strong,b,small){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.process-section .process-step :where(p,li,small),
.ai-positioning-section :is(.ai-operating-model,.ai-model-note) :where(p,li,small),
.audience-path-visual .audience-path-item :where(p,li,small),
.ownership-owner-card :where(p,li,small){
  color:#d8e3ee!important;
  -webkit-text-fill-color:#d8e3ee!important;
}

/* --------------------------------------------------------------------------
   2. Real light surfaces nested inside dark chapters opt back to dark text.
   -------------------------------------------------------------------------- */
:is(
  .va247-light-surface,
  .va247-home-v421 .home-hero-v431 .hero-workflow-card,
  .ai-positioning-section .ai-model-grid>div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap,
  .career-application-card,
  .partner-application-card
){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(
  .va247-light-surface,
  .va247-home-v421 .home-hero-v431 .hero-workflow-card,
  .ai-positioning-section .ai-model-grid>div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap,
  .career-application-card,
  .partner-application-card
) :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(
  .va247-home-v421 .home-hero-v431 .hero-workflow-card,
  .ai-positioning-section .ai-model-grid>div,
  .ai-layer-section .ai-layer-col,
  .ai-layer-section .workflow-visual-canvas,
  .contact-dialog .contact-form-wrap,
  .career-application-card,
  .partner-application-card
) :where(p,li){
  color:#5d697a!important;
  -webkit-text-fill-color:#5d697a!important;
}

/* Intentional accent labels inside light cards. */
.ai-positioning-section .ai-model-grid>div small{color:#d94d59!important;-webkit-text-fill-color:#d94d59!important}
.ai-layer-section .ai-layer-col small{color:#2b68a6!important;-webkit-text-fill-color:#2b68a6!important}
.ai-layer-section .ai-layer-col i{color:#d94d59!important;-webkit-text-fill-color:#d94d59!important}

/* --------------------------------------------------------------------------
   3. Interactive controls own their text colour independently of parents.
   -------------------------------------------------------------------------- */
:where(.btn,.contact-submit,.career-submit,.partner-application-card .va247p-btn){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
:where(.btn,.contact-submit,.career-submit,.partner-application-card .va247p-btn) :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Standard light secondary buttons. */
.btn.secondary,
.btn.secondary :where(span,strong,b){
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}

/* Inner-page secondary hero CTA is translucent on navy, not a white button. */
.page-hero:not(.home-hero) .hero-actions .btn.secondary,
.page-hero:not(.home-hero) .hero-actions .btn.secondary :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Homepage primary CTA is intentionally white. */
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta,
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta :where(strong,b){
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}
body.home .va247-home-v421 .home-hero-v431 .hero-primary-cta span{
  color:#ef5961!important;
  -webkit-text-fill-color:#ef5961!important;
}

/* The canonical footer is dark across both the CTA and navigation zones. */
#va247-theme-footer.site-footer-premium .footer-premium-nav b{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
#va247-theme-footer.site-footer-premium .footer-premium-nav a{
  color:#c5d3e1!important;
  -webkit-text-fill-color:#c5d3e1!important;
}
#va247-theme-footer.site-footer-premium .footer-premium-nav a:hover{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
#va247-theme-footer.site-footer-premium :is(.footer-signature,.footer-signature span,.footer-bottom-premium,.footer-bottom-premium span){
  color:#9fb0c2!important;
  -webkit-text-fill-color:#9fb0c2!important;
}

/* Footer audit CTA is also a white button on a dark panel. */
#va247-theme-footer .footer-premium-top .footer-contact-cta,
#va247-theme-footer .footer-premium-top .footer-contact-cta :where(span,strong,b){
  background:#ffffff!important;
  border-color:#ffffff!important;
  color:#10243e!important;
  -webkit-text-fill-color:#10243e!important;
}

/* --------------------------------------------------------------------------
   4. Form contrast contract — applies to every theme/plugin form surface.
   -------------------------------------------------------------------------- */
:is(.home-contact-card,.contact-form-wrap,.career-application-card,.partner-application-card){
  background:#ffffff;
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(.home-contact-card,.contact-form-wrap,.career-application-card,.partner-application-card) :where(h1,h2,h3,h4,h5,h6,label,strong,b){
  color:#17263b!important;
  -webkit-text-fill-color:#17263b!important;
}
:is(.home-contact-card,.contact-form-wrap,.career-application-card,.partner-application-card) :where(.contact-legal,.field>small,.career-form-foot p){
  color:#687688!important;
  -webkit-text-fill-color:#687688!important;
}
:is(.contact-form,.career-application-form,.partner-application-card) :where(input,select,textarea){
  background:#ffffff!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  caret-color:#172033;
}
:is(.contact-form,.career-application-form,.partner-application-card) :where(input,select,textarea)::placeholder{
  color:#8793a4!important;
  -webkit-text-fill-color:#8793a4!important;
  opacity:1!important;
}
:is(.contact-form,.career-application-form,.partner-application-card) :where(option){
  color:#172033!important;
  background:#ffffff!important;
}
.contact-submit,.contact-submit :where(span,strong,b),
.career-submit,.career-submit :where(span,strong,b),
.partner-application-card .va247p-btn,.partner-application-card .va247p-btn :where(span,strong,b){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.contact-success,.contact-success :where(h1,h2,h3,h4,h5,h6,p,span,strong,b){
  color:#296d4c!important;
  -webkit-text-fill-color:#296d4c!important;
}
.contact-error{
  color:#9e3434!important;
  -webkit-text-fill-color:#9e3434!important;
}

/* --------------------------------------------------------------------------
   5. Dedicated careers application form.
   -------------------------------------------------------------------------- */
.career-application-section{
  background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%)!important;
}
.career-application-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:var(--va247-inner-gap,clamp(42px,5vw,72px));
  align-items:start;
}
.career-application-copy{
  position:sticky;
  top:116px;
  max-width:430px;
}
.career-application-copy h2{margin-top:12px}
.career-application-copy>p{margin-top:18px;font-size:16px;line-height:1.72}
.career-application-notes{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.career-application-notes>div{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}
.career-application-notes>div>span{padding-top:3px;color:#d94d59;font-size:10px;font-weight:800}
.career-application-notes p{font-size:12px;line-height:1.55;color:#657184}
.career-application-notes b{color:#17263b}
.career-application-card{
  padding:clamp(24px,3vw,34px);
  border:1px solid #dfe5ed;
  border-radius:26px;
  background:#ffffff;
  box-shadow:0 18px 48px rgba(16,36,62,.08);
}
.career-application-form{margin:0}
.career-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.career-form-grid .field{display:grid;gap:7px}
.career-form-grid .field.full{grid-column:1/-1}
.career-application-form label{font-size:11px;font-weight:800}
.career-application-form :where(input,select,textarea){
  width:100%;
  min-height:48px;
  padding:12px 13px;
  border:1px solid #d9e0e8;
  border-radius:12px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.career-application-form textarea{min-height:132px;resize:vertical}
.career-application-form :where(input,select,textarea):focus{border-color:#8aa7c4;box-shadow:0 0 0 4px rgba(43,104,166,.08)}
.career-upload-field input[type=file]{padding:9px;background:#f8faff!important}
.career-upload-field small{color:#758194;font-size:10px;line-height:1.45}
.career-consent{grid-template-columns:20px 1fr!important;align-items:start!important;gap:10px!important;padding:4px 0}
.career-consent input{width:17px!important;height:17px!important;min-height:0!important;margin:2px 0 0;padding:0!important}
.career-consent span{color:#5f6d80!important;-webkit-text-fill-color:#5f6d80!important;font-size:11px;line-height:1.55;font-weight:600}
.career-form-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid #e4e9ef}
.career-form-foot p{font-size:10px;line-height:1.5}
.career-submit{border:1px solid #10243e;background:linear-gradient(135deg,#10243e,#224b72)}
.career-success{align-items:flex-start!important;gap:12px!important}
.career-success h3{font-size:18px!important;color:#296d4c!important;-webkit-text-fill-color:#296d4c!important}
.career-success p{margin-top:3px!important;font-size:12px!important;color:#39795a!important;-webkit-text-fill-color:#39795a!important}

@media(max-width:980px){
  .career-application-layout{grid-template-columns:1fr}
  .career-application-copy{position:static;max-width:720px}
}
@media(max-width:640px){
  .career-form-grid{grid-template-columns:1fr}
  .career-form-grid .field.full{grid-column:auto}
  .career-form-foot{align-items:stretch;flex-direction:column}
  .career-submit{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .career-application-section *,
  .va247-dark-surface *{
    animation:none!important;
    transition:none!important;
  }
}

/* Retired/legacy full-screen navigation fallback: if a cached provider renders it, contrast remains safe. */
.va247-fullscreen-nav,
.va247-fullscreen-nav :where(h1,h2,h3,h4,h5,h6,strong,b,label){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.va247-fullscreen-nav :where(p,li,small,.va247-overlay-secondary-link){
  color:#c5d3e1!important;
  -webkit-text-fill-color:#c5d3e1!important;
}
.career-form-fields.is-hidden{display:none!important}
