/* ALACER MATRIX / V15 quality-control and design system refinements.
   Source of truth: approved Alacer mark, EPIF-first, accessible contrast. */
:root {--v15-navy:#0c1d30;--v15-ink:#153349;--v15-muted:#466272;--v15-cream:#f7f6f1;--v15-teal:#287b7e;--v15-mint:#9edbd2;}
html{scroll-padding-top:105px}
body{overflow-x:hidden}
/* One identity everywhere; avoids different letter spacing and mark size by page. */
.brand{display:inline-flex!important;align-items:center!important;flex:none!important;min-width:0!important;white-space:nowrap!important;background:transparent!important}
.brand .v15-brand-lockup{display:block!important;width:196px!important;height:auto!important;max-width:196px!important;object-fit:contain!important;opacity:1!important;filter:none!important}
.footer .brand .v15-brand-lockup{width:193px!important}
@media(max-width:420px){.site-header .brand .v15-brand-lockup{width:168px!important}}
/* EPIF is the core method and takes the first navigation position. */
.desktop-nav a.nav-method{color:#b4e5da!important;font-weight:700!important}
.desktop-nav a.nav-ai{color:#e0e9e9!important;font-weight:600!important}
/* Light surfaces must use visible headings - legacy light-on-dark declarations leaked here. */
.v14-home .v14-challenge,.v14-home .v14-impact,.v14-home .v14-insights,.v14-home .v14-ai,
.v14-client-directory,.v14-about-detail,.v14-about-global,.v14-editorial-main .v14-insights-archive,
.v14-editorial-main>section.v14-pad:not(.v14-press-preview),
.v14-results-main .cs-library{color:var(--v15-ink)!important}
.v14-client-directory h1,.v14-client-directory h2,.v14-client-directory h3,.v14-client-directory .v14-org-card,
.v14-editorial-main .v14-insights-archive h2,.v14-editorial-main .v14-insights-archive h3,
.v14-editorial-main>.v14-pad:not(.v14-press-preview) h2,
.v14-about-detail h2,.v14-about-global h2,.v14-results-main .cs-library h2,
.v14-results-main .cs-library .display-heading,.v14-results-main .cs-library h3,
.v14-home .v14-insights h2,.v14-home .v14-impact h2,.v14-home .v14-challenge h2,
.v14-home .v14-ai h2{color:#142f44!important;text-shadow:none!important;opacity:1!important}
.v14-client-directory h2 em,.v14-about-detail h2 em,.v14-about-global h2 em,
.v14-home .v14-insights h2 em,.v14-home .v14-impact h2 em,.v14-home .v14-challenge h2 em,
.v14-home .v14-ai h2 em,.v14-editorial-main .v14-insights-archive h2 em,
.v14-results-main .cs-library h2 em{color:#257879!important;opacity:1!important}
.v14-client-directory .v14-org-card{color:#1a3a4b!important;background:#fffefa!important;border-color:#c6d4ce!important}
.v14-client-directory .v14-org-card:hover{background:#e4f0e9!important;border-color:#4e9993!important}
.v14-editorial-main .v14-insights-archive,.v14-insights{background:#f2f3ee!important}
.v14-insight h3,.v14-insight strong,.v14-editorial-links strong{color:#16374a!important;opacity:1!important}
.v14-editorial-links span,.v14-insight span{color:#286c73!important}
.v14-editorial-main .v14-insights-archive .v14-section-heading>p,
.v14-editorial-main>.v14-pad:not(.v14-press-preview)> .shell>p:not(.v14-kicker),
.v14-client-directory .shell>p:not(.v14-kicker),
.v14-about-detail p,.v14-about-global p{color:#3f5c69!important;opacity:1!important}
.v14-editorial-main .v14-insights-archive .v14-section-heading h2,.v14-editorial-main .v14-insights-archive .v14-section-heading h2 em{display:inline-block!important}
.v14-editorial-main .v14-editorial-links a{background:#fffefa;border:1px solid #d9e3de;min-width:0;transition:transform .2s,box-shadow .2s}
.v14-editorial-main .v14-editorial-links a:hover{transform:translateY(-4px);box-shadow:0 14px 35px #0c1e3020}
.v14-editorial-main .v14-editorial-links img{width:100%;height:220px;object-fit:cover;display:block;background:#16394a}
.v14-editorial-main .v14-editorial-links small{display:block;padding:17px 25px 0;color:#397d7b;font-size:10px;letter-spacing:.13em;font-weight:700}
.v14-editorial-main .v14-editorial-links strong{display:block;padding:12px 25px 18px;font:400 clamp(27px,2.5vw,39px)/1.12 'Instrument Serif',Georgia,serif;letter-spacing:-.018em}
.v14-editorial-main .v14-editorial-links span{display:block;padding:8px 25px 3px;font-size:13px;margin-top:auto;font-weight:700}
.v15-archive-link{margin-top:36px!important;text-align:right}.v15-archive-link a{font-size:14px;font-weight:700;color:#1b6d73;border-bottom:1px solid #529692;padding-bottom:7px}
/* Section-heading typography: never fade to cream over cream. */
.v14-results-main .cs-library .cs-head .display-heading,
.v14-results-main .cs-library .cs-head .display-heading em{opacity:1!important}
.v14-results-main .cs-library .cs-head .display-heading{color:#12374a!important}
.v14-results-main .cs-library .cs-head .display-heading em{color:#287b7e!important}
.v14-results-main .cs-library .cs-head p{color:#365767!important}
/* Challenge selector: both columns equal from first pixel to last pixel. */
.v14-challenge-grid{align-items:stretch!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px}
.v14-challenge-list{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;gap:9px!important;height:100%!important;align-self:stretch!important}
.v14-challenge-btn{min-height:0!important;height:100%!important;align-self:stretch!important;padding:14px 24px!important;box-sizing:border-box!important}
.v14-challenge-answer{height:100%;min-height:555px;box-sizing:border-box}
/* Consistent measured-value axis with enough room on narrow viewports. */
.v14-answer-process>div>span{display:block;overflow-wrap:normal;font-size:clamp(8px,.7vw,10px)}
.v14-answer-bottom{align-items:center}
/* All industry items have the same affordance AND go to actual industry pages. */
.v14-industry-block>div>a{display:flex!important;align-items:center;justify-content:space-between;gap:6px;text-align:left;min-width:0;padding:15px 14px!important;line-height:1.35;color:#fff!important;text-decoration:none!important;transition:background .2s,border-color .2s}
.v14-industry-block>div>a>span{font-size:17px;color:#a5dcd2;flex:none;margin-left:4px;transition:transform .2s}
.v14-industry-block>div>a:hover{background:#275168;border-color:#8ed0c5}
.v14-industry-block>div>a:hover span{transform:translate(2px,-2px)}
/* Original animated four-point constellation separators restored. */
.v14-client-track i,.v15-spark{display:inline-block;font-style:normal;font-size:27px;font-weight:400;color:#72cfc0!important;transform-origin:center;animation:v15-star-turn 8s linear infinite;line-height:1;text-shadow:0 0 11px #4eaaa855;flex-shrink:0}
.v14-client-track i:nth-of-type(2n){animation-duration:11s;animation-direction:reverse}
@keyframes v15-star-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* Editorial cards share top, image and link baselines. */
.v14-insight-grid{align-items:stretch}
.v14-insight{height:100%;min-width:0}
.v14-insight img{height:248px!important;object-fit:cover!important;object-position:center!important}
.v14-insight h3{color:#152f44!important;min-height:calc(1.1em * 3)}
.v14-insight>div{display:flex;flex-direction:column;flex:1}
.v14-insight span{margin-top:auto!important}
/* Remove visually unprofessional article URLs: unverified posts are not clickable. */
.v15-source-unverified{font-size:12px;color:#637481;font-style:italic}
/* Rebuild EPIF hero artwork: one clear sequence from evidence to value. */
.v15-epif-hero-graphic{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:32px!important;background:linear-gradient(135deg,#173f53,#0e2b41 64%,#102c40)!important;min-height:530px!important;height:auto!important;border:1px solid #5d969b!important;box-shadow:0 24px 70px #06132124}
.v15-epif-diagram-top{font:700 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.19em;color:#9edcd2!important}
.v15-epif-diagram-title{font:400 clamp(29px,2.5vw,40px)/1.08 'Instrument Serif',Georgia,serif;color:#f4f6f1;margin:22px 0 21px;letter-spacing:-.016em}
.v15-epif-diagram-title em{font-weight:400;color:#a8dbd3}
.v15-epif-diagram-steps{display:grid;grid-template-rows:repeat(4,1fr);flex:1;border-top:1px solid #93c2c34a}
.v15-epif-diagram-row{display:grid;grid-template-columns:47px 1fr;gap:17px;padding:14px 0;align-items:center;border-bottom:1px solid #93c2c34a}
.v15-epif-diagram-row>span{font:400 30px 'Instrument Serif',Georgia,serif;color:#97d5cc}
.v15-epif-diagram-row strong{display:block;color:#f9f9f3;font-size:13px;letter-spacing:.12em;line-height:1.3}
.v15-epif-diagram-row small{display:block;color:#c2d7da;font-size:12px;margin-top:5px;line-height:1.45}
.v15-epif-diagram-foot{margin-top:18px;line-height:1.5;font-size:9px;letter-spacing:.15em;color:#b4d6d2;font-weight:700}
/* Industry detail pages */
.v15-industry-hero h1{max-width:1050px;font:400 clamp(63px,6.3vw,100px)/.97 'Instrument Serif',Georgia,serif!important;letter-spacing:-.03em}
.v15-industry-content{background:#f7f7f1;color:#143447}
.v15-industry-content h2,.v15-industry-cta h2,.v15-industry-proof h2{font:400 clamp(53px,5vw,76px)/1.04 'Instrument Serif',Georgia,serif;margin:0 0 40px}
.v15-industry-content h2 em,.v15-industry-cta h2 em{color:#318684}
.v15-industry-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v15-industry-cards article{background:#e5eee9;padding:32px;min-height:245px;border:1px solid #c9d9d2}
.v15-industry-cards article>span{color:#3a8381;font:400 28px 'Instrument Serif',Georgia,serif}
.v15-industry-cards h3{color:#13364b;font:400 34px/1.1 'Instrument Serif',Georgia,serif;margin:22px 0 12px}
.v15-industry-cards p{font-size:14px;line-height:1.7;color:#435e69}
.v15-industry-proof{background:#0e2b40;color:#f7f7f1}.v15-industry-proof h2 em{color:#a0d8d0}.v15-industry-proof p:not(.v14-kicker){max-width:670px;color:#cededd}
.v15-industry-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
.v15-industry-links a{display:block;padding:22px 25px;border:1px solid #79ada66d;color:#fff;background:#21465a;font-weight:700;transition:background .2s}.v15-industry-links a:hover{background:#2a6678}
.v15-industry-cta{background:#e8eeea;color:#143447}.v15-industry-cta>div>p:not(.v14-kicker){max-width:700px;color:#48606a;margin:0 0 27px}
/* Other formerly unreadable page sections. */
.v14-editorial-main .v14-secondary-h2,.v14-about-detail .v14-two-column h2,.v14-editorial-main .v14-two-column:not(.v14-press-preview *) h2{color:#163447!important}
.v14-editorial-main .v14-two-column .v14-kicker{color:#327e7f}
.v14-editorial-main .v14-press-preview h2{color:#f7f6f1!important}
.v14-editorial-main .v14-press-preview h2 em{color:#a1dad3!important}
.v14-about-global,.v14-about-detail,.v14-client-directory{background:#f2f3ee!important;color:#173749!important}
.v14-about-global .v14-global-grid h3{color:#163749!important}
.v14-about-global .v14-global-grid p{color:#4c646f!important}
/* Interior case library visual and headings remain strong against their backgrounds. */
.v14-results-main .cs-library,.v14-results-main .cs-library .cs-head{background:#f6f6f0!important}
.v14-results-main .cs-library .cs-head{color:#193748!important}
.v14-results-main .cs-library .cs-head h2,.v14-results-main .cs-library .cs-head .display-heading{color:#193748!important}
.v14-results-main .cs-library .cs-head em{color:#367e7e!important}
/* link and focus accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #efc88a!important;outline-offset:3px}
@media(max-width:1050px){.v14-challenge-grid{grid-template-columns:1fr 1fr}.v14-industry-block>div>a{padding:13px 10px!important;font-size:12px}.v14-insight h3{min-height:0}}
@media(max-width:860px){.v14-challenge-grid{grid-template-columns:1fr}.v14-challenge-list{height:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important}.v14-challenge-btn{min-height:78px!important}.v14-challenge-answer{min-height:440px;height:auto}.v14-insight h3{min-height:0}.v15-industry-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.v14-challenge-list{grid-template-columns:1fr!important}.v14-challenge-btn{min-height:68px!important}.v14-challenge-answer{min-height:465px}.v14-insight img{height:230px!important}.v14-insight h3{min-height:0}.v14-industry-block>div>a{min-height:70px!important;font-size:12px}.v15-epif-hero-graphic{padding:24px!important;min-height:540px!important}.v15-epif-diagram-title{font-size:31px}.v15-industry-cards,.v15-industry-links{grid-template-columns:1fr}.v15-industry-hero h1{font-size:58px!important}}
@media(prefers-reduced-motion:reduce){.v14-client-track i,.v15-spark{animation:none!important}}
/* Two separate related actions on About: never run into one another. */
.v14-about-detail .v14-two-column a.v14-text-link{margin:15px 23px 4px 0;display:inline-flex;white-space:normal}
.v14-about-detail .v14-two-column a.v14-text-link + a.v14-text-link{margin-left:0}
/* Case-study archive has light background; fix legacy inverted white copy. */
.v14-results-main .cs-library .cs-topline,
.v14-results-main .cs-library .cs-topline span{color:#376678!important;border-color:#aac4c4!important;opacity:1!important}
.v14-results-main .cs-library .cs-heading-side p{color:#405c6a!important;opacity:1!important}
.v14-results-main .cs-library .cs-heading-side .cs-textlink{color:#1c7177!important;border-color:#2b797f!important}
.v14-results-main .cs-library .cs-heading>.eyebrow,
.v14-results-main .cs-library .cs-heading .eyebrow{color:#27827f!important}
.v14-results-main .cs-library .cs-toolbar-heading h3{color:#15364a!important}
.v14-results-main .cs-library .cs-toolbar-heading span{color:#446778!important}
.v14-results-main .cs-library .cs-card-content h3{color:#143247!important}
.v14-results-main .cs-library .cs-card-content p{color:#45606c!important}

/* V15.2 - four requested visible fixes; designed for all pages / viewports. */
/* Remove unique dot from AI nav so it matches every other item. */
.desktop-nav .nav-ai::before,.site-header .desktop-nav a.nav-ai::before{content:none!important;display:none!important;width:0!important;margin:0!important;box-shadow:none!important}
/* NEXT ENGAGEMENT must never concatenate with its headline. */
.cs-next-wrap .shell > div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;max-width:900px}
.cs-next-wrap .shell > div:first-child > span{display:block;flex:none;line-height:1.35;letter-spacing:.16em}
.cs-next-wrap .shell > div:first-child > a{display:block;line-height:1.16;overflow-wrap:break-word;margin:0;max-width:850px}
.cs-next-wrap .shell > a.cs-textlink{font-family:var(--sans);flex:none;white-space:nowrap;font-size:13px!important;margin-left:auto}
/* Pale case-study background must have an always visible CTA. Hover is a bonus, not a dependency. */
.v14-results-main .cs-library .cs-more-button{background:#15374b!important;color:#fffefa!important;border:1px solid #15374b!important;opacity:1!important;visibility:visible!important;box-shadow:0 8px 22px #0f2b3a1c;min-height:58px;min-width:305px;text-align:center;font-size:13px!important;font-weight:700;letter-spacing:.015em}
.v14-results-main .cs-library .cs-more-button span{color:#b5e6db!important;opacity:1!important}
.v14-results-main .cs-library .cs-more-button:hover,.v14-results-main .cs-library .cs-more-button:focus-visible{background:#215c6b!important;border-color:#215c6b!important;color:#fff!important;box-shadow:0 12px 28px #0f2b3a2b}
@media(max-width:730px){.cs-next-wrap .shell > a.cs-textlink{margin-left:0;margin-top:23px;white-space:normal}.cs-next-wrap .shell > div:first-child > a{font-size:clamp(24px,7vw,34px)!important}.v14-results-main .cs-library .cs-more-button{min-width:0;width:100%;padding:16px 18px!important}}

/* v15.3 readability + EPIF FAQ */
body{font-size:16px}
p,li,dd,td,figcaption{font-size:max(1rem,14px)}
small,.small,figcaption,.note,.cs-detail-archive-note,.epif4-chart-foot,.epif-results-foot{font-size:max(0.8125rem,13px);line-height:1.6}
.eyebrow,.byline,.status,.index,.date,label,.tm-note{font-size:max(0.75rem,12px)}
.epif-faq .epif-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;margin-top:38px}
.epif-faq-item h3{font-size:clamp(18px,1.5vw,21px);line-height:1.3;margin:0 0 10px}
.epif-faq-item p{margin:0;max-width:62ch;line-height:1.65}
@media (max-width:860px){.epif-faq .epif-faq-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
.footer-bottom .tm-note{display:block;width:100%;opacity:.72;margin-bottom:8px}
