/* v16 readability floor: body text 14px, uppercase/tracked labels 12px.
   Generated from rules in earlier layers (font-size and font shorthand)
   that fell below those floors. Loaded last on every page. */
.desktop-nav a{font-size:14px}
.mobile-nav a span{font-size:14px}
.ai13-eyebrow,.ai13-kicker{font-size:12px}
.ai13-button{font-size:14px}
.ai13-text-link{font-size:14px}
.ai13-hero-micro{font-size:12px}
.ai13-art-badge{font-size:12px}
.ai13-art-badge strong{font-size:14px}
.ai13-hero-bottom{font-size:12px}
.ai13-card-num{font-size:12px}
.ai13-triad-grid a{font-size:14px}
.ai13-interlude span{font-size:12px}
.ai13-interlude p{font-size:14px}
.ai13-service-grid article>span{font-size:12px}
.ai13-service-grid small{font-size:12px}
.ai13-matrix-note{font-size:14px}
.ai13-use-tabs button>span{font-size:12px}
.ai13-panel-top{font-size:12px}
.ai13-panel-topic{font-size:12px}
.ai13-example-metrics small{font-size:12px}
.ai13-example-metrics p{font-size:14px}
.ai13-example-panel>a{font-size:14px}
.ai13-board-head{font-size:12px}
.ai13-control-row p{font-size:14px}
.ai13-control-row i{font-size:12px}
.ai13-home-art-tag{font-size:12px}
.ai13-hero-copy .ai13-eyebrow{font-size:14px}
.ai13-hero-micro{font-size:14px}
.ai13-hero-bottom{font-size:14px}
.ai13-panel-top{font-size:14px}
.ai13-journal-return{font-size:12px}
.cs-topline{font-size:12px}
.cs-toolbar-heading>span{font-size:14px}
.cs-find input{font-size:14px}
.cs-filter{font-size:14px}
.cs-art-number{font-size:12px}
.cs-category{font-size:12px}
.cs-card p{font-size:14px}
.cs-result span{font-size:14px}
.cs-link{font-size:14px}
.cs-source-note{font-size:14px}
.cs-detail-crumb{font-size:12px}
.cs-detail-kicker{font-size:12px}
.cs-detail-actions a{font-size:14px}
.cs-detail-sidebar small{font-size:12px}
.cs-detail-sidebar .cs-summary{font-size:14px}
.cs-next-wrap span{font-size:14px}
.cs-detail-archive-note{font-size:14px}
.cs-topline{font-size:14px}
.story-feature-tag{font-size:12px}
.epif-overline,.epif-stages-head{font-size:12px}
.epif-learn{font-size:14px}
.epif-visual-header{font-size:12px}
.epif-funnel-row span{font-size:14px}
.epif-funnel-row small{font-size:14px}
.epif-chart-note{font-size:14px}
.epif-decision-label{font-size:12px}
.epif-principle>span{font-size:12px}
.epif-principle p{font-size:14px}
.epif-decision-cta{font-size:12px}
.epif-stage span{font-size:12px}
.epif-stage small{font-size:14px}
.priority-kicker{font-size:12px}
.priority-inner>a>span{font-size:12px}
.priority-inner>a small{font-size:14px}
.epif-funnel-row strong{font-size:14px}
.story-feature-tag{font-size:14px}
.matrix-stat-grid strong span{font-size:14px}
.matrix-stat-grid>div>span{font-size:14px}
.matrix-regions>div>span{font-size:12px}
.matrix-regions p{font-size:14px}
.matrix-regions small{font-size:14px}
.epif-app-index{font-size:12px}
.epif-app-arrow{font-size:14px}
.epif4-hero .page-breadcrumb{font-size:12px}
.epif4-hero .page-type{font-size:12px}
.epif4-quiet-link{font-size:14px}
.epif4-graphic-kicker,.epif4-graphic-footer{font-size:12px}
.epif4-graphic-footer{font-size:14px}
.epif4-proofrail span{font-size:12px}
.epif4-deliverable small{font-size:12px}
.epif4-deliverable strong{font-size:14px}
.epif4-funnel-note strong{font-size:14px}
.epif4-funnel-note small{font-size:14px}
.epif4-funnel-chart-head{font-size:12px}
.epif4-hierarchy b{font-size:14px}
.epif4-hierarchy span{font-size:14px}
.epif4-chart-foot{font-size:14px}
.epif4-step b{font-size:14px}
.epif4-step small{font-size:14px}
.epif4-stage-display-top{font-size:12px}
.epif4-live-dot{font-size:14px}
.epif4-stage-key{font-size:12px}
.epif4-stage-evidence span{font-size:12px}
.epif4-stage-evidence p{font-size:14px}
.epif4-stage-actions button{font-size:14px}
.epif4-explorer-footer{font-size:14px}
.epif4-accountability-top{font-size:12px}
.epif4-value-row p{font-size:14px}
.epif4-value-row b{font-size:12px}
.epif4-start-steps>span{font-size:14px}
.epif4-hero .page-type{font-size:14px}
.epif4-proofrail span{font-size:14px}
.epif4-value-row b{font-size:14px}
.epif5-ai-kicker{font-size:12px}
.epif5-quiet-link,.epif5-dark-link{font-size:14px}
.epif5-machine-label{font-size:12px}
.epif5-ai-machine li small{font-size:14px}
.epif5-ai-machine li>b{font-size:12px}
.epif5-machine-end{font-size:12px}
.epif5-ai-foot>span{font-size:12px}
.epif5-ai-foot p{font-size:14px}
.epif5-investment-top{font-size:12px}
.epif5-industry-explore{font-size:14px}
.epif5-investment-illustration>span{font-size:12px}
.epif5-industry-stack>a span{font-size:12px}
.epif5-industry-stack>a p{font-size:14px}
.epif5-framework-mapping span{font-size:12px}
.epif5-framework-mapping p{font-size:14px}
.epif5-framework-ai-footer p strong{font-size:14px}
.epif5-framework-ai-footer p small{font-size:14px}
.epif5-framework-ai-footer>a{font-size:14px}
.epif5-crosslink>span{font-size:12px}
.epif5-breadcrumb,.epif5-page-crumb{font-size:12px}
.epif5-pretitle,.epif5-small-label{font-size:12px}
.epif5-page-actions>a:not(.btn){font-size:14px}
.epif5-ai-hero-graphic-top,.epif5-ai-hero-graphic-bottom{font-size:12px}
.epif5-ai-graphic-steps span{font-size:12px}
.epif5-ai-hero-rail>span{font-size:14px}
.epif5-ai-seven p{font-size:14px}
.epif5-ai-seven small{font-size:12px}
.epif5-ai-seven-footer>span{font-size:12px}
.epif5-ai-seven-footer>p{font-size:14px}
.epif5-ai-seven-footer>a{font-size:14px}
.epif5-ai-tab>span{font-size:12px}
.epif5-ai-result-top{font-size:12px}
.epif5-ai-result-label{font-size:12px}
.epif5-ai-result-parts>div>span{font-size:12px}
.epif5-ai-result-parts>div>p{font-size:14px}
.epif5-ai-control-list article>span{font-size:12px}
.epif5-ai-control-list article p{font-size:14px}
.epif5-value-head{font-size:12px}
.epif5-ai-value-chart small{font-size:14px}
.epif5-ai-value-chart>p{font-size:14px}
.epif5-followlink{font-size:14px}
.epif5-grid-tag,.epif5-grid-bottom{font-size:12px}
.epif5-industry-service-grid article span{font-size:12px}
.epif5-industry-service-grid article p{font-size:14px}
.epif5-ai-scan-grid b{font-size:12px}
.epif5-ai-scan-grid p{font-size:14px}
.epif5-ai-scan-bottom p{font-size:14px}
.epif-detail-cards article>span{font-size:12px}
.epif-detail-decisions b{font-size:14px}
.epif-detail-decisions p{font-size:14px}
.epif-results-grid article span{font-size:12px}
.epif-results-grid small{font-size:14px}
.epif-results-foot{font-size:14px}
.brand small{font-size:12px}
.eyebrow{font-size:12px}
.ticker{font-size:12px}
.feature .top{font-size:12px}
.feature-link{font-size:14px}
.byline{font-size:12px}
.entry p{font-size:14px}
.entry-foot .read{font-size:14px}
.entry-foot .date{font-size:14px}
.entry .status{font-size:14px}
.note{font-size:14px}
footer{font-size:14px}
.brand{font-size:14px}
.press-art-num span{font-size:12px}
.press-art-label{font-size:12px}
.brand-text span{font-size:12px}
.nav-cta{font-size:14px}
/* shared type */ .eyebrow{font-size:12px}
.hero .eyebrow{font-size:14px}
.inline-arrow{font-size:14px}
.hero-cred{font-size:12px}
.visual-coordinate{font-size:12px}
.signal-label{font-size:12px}
.hero-bottom{font-size:12px}
.proof-ribbon span{font-size:12px}
.cap-number{font-size:12px}
.card-bottom-link{font-size:14px}
.focus-tool-top{font-size:12px}
.challenge-icon{font-size:14px}
.answer-eyebrow{font-size:12px}
.focus-answer p{font-size:14px}
.focus-answer-link{font-size:14px}
.impact-top{font-size:12px}
.impact-giant span{font-size:14px}
.impact-feature-aside>span:first-child{font-size:12px}
.mini-top{font-size:12px}
.impact-mini strong span{font-size:14px}
.mini-footer{font-size:12px}
.impact-footnote{font-size:14px}
.approach-image-caption{font-size:12px}
.step>span{font-size:14px}
.step p{font-size:14px}
.insight-label{font-size:12px}
.insight-body>p:not(.insight-label){font-size:14px}
.insight-link{font-size:14px}
.about-tags span{font-size:12px}
.about-monogram span{font-size:14px}
.about-signoff>span{font-size:12px}
.contact-phone{font-size:14px}
.form-eyebrow{font-size:12px}
.form-field label{font-size:14px}
.form-field input,.form-field textarea,.form-field select{font-size:14px}
.form-note{font-size:14px}
.form-status{font-size:14px}
.footer-col h3{font-size:12px}
.footer-col a,.footer-contact address{font-size:14px}
.footer-bottom{font-size:12px}
.dialog-eyebrow{font-size:12px}
.brand-text span{font-size:14px}
.hero-cred{font-size:14px}
.hero-bottom>span{font-size:14px}
.scroll-down{font-size:14px}
.proof-ribbon span{font-size:14px}
.eyebrow{font-size:14px}
.focus-tool-top{font-size:14px}
.impact-feature-aside p{font-size:14px}
.impact-topic{font-size:14px}
.impact-mini p{font-size:14px}
.dialog-read-more{font-size:14px}
.client-count{font-size:12px}
.client-bottom>p{font-size:14px}
.client-expand,.news-more{font-size:14px}
.directory-heading span{font-size:12px}
.directory-name{font-size:14px}
.directory-glyph{font-size:14px}
.directory-source{font-size:14px}
.external-text-link,.journal-link{font-size:14px}
.journal-author strong{font-size:14px}
.journal-author span{font-size:14px}
.journal-filter{font-size:14px}
.story-linkedin{font-size:14px}
.story-meta{font-size:12px}
.story-content>p{font-size:14px}
.story-cta{font-size:14px}
.outline-pill{font-size:14px}
.social-disclaimer{font-size:14px}
.news-date>span{font-size:14px}
.news-date small{font-size:12px}
.news-source{font-size:12px}
.news-copy p{font-size:14px}
.news-actions a{font-size:14px}
.page-breadcrumb{font-size:12px}
.page-type{font-size:12px}
.page-source{font-size:14px}
.page-side .side-label{font-size:12px}
.page-side .btn{font-size:14px}
.subpage-step span{font-size:12px}
.epif5-ai-machine li > b{font-size:12px}
.about-tags > span{font-size:12px}
.v14-kicker{font-size:12px}
.v14-aside-number{font-size:12px}
.v14-aside-stages span{font-size:12px}
.v14-hero-bottom{font-size:12px}
.v14-proof-intro>p{font-size:14px}
.v14-metric small{font-size:14px}
.v14-source-note{font-size:14px}
.v14-answer-top{font-size:12px}
.v14-answer-process>div{font-size:12px}
.v14-answer-bottom small{font-size:12px}
.v14-answer-bottom a{font-size:14px}
.v14-stage small{font-size:14px}
.v14-flow-top{font-size:12px}
.v14-flow-node text{font-size:12px}
.v14-flow-detail>span{font-size:12px}
.v14-epif-actions>span{font-size:12px}
.v14-ai-overlay>span{font-size:12px}
.v14-ai-rails strong{font-size:14px}
.v14-ai-rails small{font-size:14px}
.v14-impact-art span{font-size:12px}
.v14-impact-text p{font-size:14px}
.v14-impact-text>span{font-size:14px}
.v14-impact-footer>span{font-size:12px}
.v14-service>span{font-size:12px}
.v14-service b{font-size:14px}
.v14-industry-block>span{font-size:12px}
.v14-industry-block>div>*{font-size:14px}
.v14-client-note{font-size:12px}
.v14-insight small{font-size:12px}
.v14-insight span{font-size:14px}
.v14-leadership span{font-size:14px}
.v14-leadership a{font-size:14px}
.v14-form label{font-size:12px}
.v14-editorial-links span{font-size:14px}
.v14-lead-card>div:nth-child(2)>span{font-size:12px}
.v14-lead-card a{font-size:14px}
.v14-small{font-size:14px}
.v14-global-grid span{font-size:12px}
.v14-case-insight>span{font-size:12px}
.v14-case-insight small{font-size:14px}
.v14-hero-bottom{font-size:14px}
.v14-metric span{font-size:14px}
.v14-metric b{font-size:14px}
.v14-answer-top{font-size:14px}
.v14-answer-process>div{font-size:14px}
.v14-client-note{font-size:14px}
.v14-client-browse{font-size:14px}
.v14-client-directory label{font-size:14px}
.v14-editorial-main .v14-editorial-links small{font-size:12px}
.v14-editorial-main .v14-editorial-links span{font-size:14px}
/* Remove visually unprofessional article URLs: unverified posts are not clickable. */ .v15-source-unverified{font-size:14px}
.v15-epif-diagram-top{font-size:12px}
.v15-epif-diagram-row small{font-size:14px}
.v15-epif-diagram-foot{font-size:12px}
.v14-industry-block>div>a{font-size:14px}
.cs-next-wrap .shell > a.cs-textlink{font-size:14px}
.epif-app-index{font-size:14px}
.v9-plate-label{font-size:12px}
.v9-plate-grid span{font-size:14px}
.v9-editorial-bottom{font-size:12px}
.v9-proof-tab{font-size:14px}
.v9-proof-kicker{font-size:12px}
.v9-proof-left>strong>span{font-size:14px}
.v9-proof-left>a{font-size:14px}
.v9-chart-head{font-size:12px}
.v9-data-row>span{font-size:12px}
.v9-proof-chart>p{font-size:14px}
.v9-editorial-bottom{font-size:14px}
.cs-art-number{font-size:14px}
.v9-interlude-kicker{font-size:12px}
.v9-interlude a{font-size:14px}
.brand span{font-size:12px}
.story-date{font-size:12px}
.status{font-size:12px}
.story-foot span{font-size:14px}
.story-foot a{font-size:14px}
.header-right{font-size:14px}

/* EPIF FAQ block */
.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;font-size:12px}

/* Fragment landing. Four stylesheets declared scroll-padding-top at 90px,
   92px and 105px; this settles it against the 92px sticky header. */
html{scroll-padding-top:105px}

/* Graphics motion (driven by v16.js; every start state is set by script,
   so with JS off or reduced motion on, nothing here applies). */
.epif4-hierarchy.js-bars i{transition:width .9s cubic-bezier(.22,.72,.26,1)}
@keyframes v16-orbit-pulse{
  0%,100%{opacity:.55;box-shadow:0 0 0 8px #a8e2d012}
  50%{opacity:1;box-shadow:0 0 0 15px #a8e2d022}
}
@media (prefers-reduced-motion:reduce){
  .epif4-hierarchy.js-bars i{transition:none}
  .epif5-ai-orbit i{animation:none!important}
}

/* Industry 'What we help solve' cards: click to reveal the approach. */
.v15-ind-card{display:flex;flex-direction:column}
.v15-ind-card>p{flex:0 0 auto}
.v15-ind-more{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;border-top:1px solid #c3d5cd;padding:14px 0 0;cursor:pointer;color:#2c6f6e;font:700 12px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;text-align:left}
.v15-ind-more:hover{color:#13364b}
.v15-ind-sign{position:relative;width:13px;height:13px;flex:0 0 13px}
.v15-ind-sign::before,.v15-ind-sign::after{content:'';position:absolute;background:currentColor;transition:transform .25s cubic-bezier(.22,.72,.26,1)}
.v15-ind-sign::before{inset:6px 0 auto;height:1.5px}
.v15-ind-sign::after{inset:0 6px;width:1.5px}
[aria-expanded='true'] .v15-ind-sign::after{transform:scaleY(0)}
.v15-ind-detail{overflow:hidden}
.v15-ind-detail>p{margin:14px 0 0}
.v15-ind-card.is-animating .v15-ind-detail{transition:height .4s cubic-bezier(.22,.72,.26,1)}
@media (prefers-reduced-motion:reduce){
  .v15-ind-sign::before,.v15-ind-sign::after{transition:none}
  .v15-ind-card.is-animating .v15-ind-detail{transition:none}
}

/* Medium archive: make the headline itself the link. */
.story-title-link{color:inherit;text-decoration:none}
.story h3:hover .story-title-link{text-decoration:underline;text-underline-offset:3px}
a.v15-source-unverified{text-decoration:underline;text-underline-offset:3px}

/* Leadership bios: collapsed to the height of the monogram, expand on click.
   The collapsed height is applied by script, so with JS off the full bio shows. */
.v14-lead-body{overflow:hidden}
.v14-lead-card.js-bio .v14-lead-body{transition:max-height .42s cubic-bezier(.22,.72,.26,1)}
.v14-lead-more{display:none;align-items:center;gap:12px;margin-top:18px;background:none;border:0;padding:0;cursor:pointer;color:#b8e6dc;font:700 12px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.v14-lead-card.js-bio .v14-lead-more{display:inline-flex}
/* inline-block so the link's padding and underline count toward the
   body height; as an inline box they would be clipped by overflow. */
.v14-lead-body a{display:inline-block}
/* no leading margin: the heading already supplies the gap, and the margin
   would otherwise consume part of the two visible lines. */
.v14-lead-body>p:first-child{margin-top:0}
.v14-lead-more:hover{color:#eaf6f2}

/* ---- Nav dropdowns (Services, Industries) -------------------------
   Both pointed at homepage sections, so clicking them dropped the reader
   thousands of pixels down index.html. The menu links to the real pages. */
.nav-drop{position:relative;display:flex;align-items:center}
.desktop-nav .nav-drop-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:36px 0;cursor:pointer;color:#c5d0d9;font:600 14px/1 'DM Sans',Arial,sans-serif;white-space:nowrap;transition:color .2s}
.desktop-nav .nav-drop-btn:hover,.nav-drop[data-open='true'] .nav-drop-btn{color:#fff}
.nav-drop-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.nav-drop[data-open='true'] .nav-drop-caret{transform:translateY(1px) rotate(225deg)}
.nav-drop-menu{position:absolute;top:100%;left:50%;transform:translate(-50%,-6px);min-width:272px;background:#0d2237;border:1px solid rgba(132,198,196,.26);box-shadow:0 26px 60px rgba(4,14,26,.55);padding:10px;z-index:120;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.nav-drop[data-open='true'] .nav-drop-menu{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.nav-drop-menu a{display:block;padding:11px 14px;color:#dfe9ea;font-size:14px;font-weight:600;line-height:1.3;white-space:normal}
.nav-drop-menu a small{display:block;margin-top:4px;color:#93b3b8;font-size:12px;font-weight:400;line-height:1.5}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:#15344b;color:#fff}
.nav-drop-menu a::after{content:none}
.nav-drop-all{margin-top:6px;border-top:1px solid rgba(132,198,196,.22);color:#8fd8cb!important;font-size:12px!important;letter-spacing:.06em;text-transform:uppercase}
@media (prefers-reduced-motion:reduce){
  .nav-drop-menu,.nav-drop-caret{transition:none}
}

/* Mobile: the same two items expand in place inside the slide-in panel. */
.mnav-group{display:flex;flex-direction:column}
.mobile-nav .mnav-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid #79929940;padding:18px 0;cursor:pointer;color:#eef4ef;font:400 39px/1.1 'Instrument Serif',Georgia,serif;text-align:left}
.mnav-btn .nav-drop-caret{width:11px;height:11px;border-width:2px;margin-left:auto;opacity:.75}
.mnav-btn[aria-expanded='true'] .nav-drop-caret{transform:translateY(3px) rotate(225deg)}
.mnav-num{font:700 11px 'DM Sans',Arial,sans-serif;color:#73c5bc;align-self:center;margin-left:14px}
.v14-services h2,.v14-services h3{font-family:var(--serif);font-weight:400;letter-spacing:-.036em}
.v14-services .v14-section-heading h2{font-size:clamp(51px,6vw,94px);line-height:1.01;margin:0}
.v14-subhero h1{line-height:1}
.page-hero h1{line-height:1}
.epif5-industry-page-hero h1{line-height:1}
.hero h1{line-height:1}
.epif-faq .epif4-section-row>p{color:#546870}
.epif-faq .epif4-section-row h2 em{color:#4c8184}
.epif-faq .eyebrow{color:#367d83}
.am-archive,.am-archive input,.am-archive select,.am-archive button,.am-archive textarea,.am-archive .hero p{font-family:'DM Sans',Arial,sans-serif}
.am-archive h1,.am-archive h2,.am-archive h3,.am-archive h4,.am-archive .hero h1,.am-archive .entry h3,.am-archive .feature h3,.am-archive .story h3,.am-archive .content h2,.am-archive .metric strong,.am-archive .hero-meta strong{font-family:'Instrument Serif',Georgia,'Times New Roman',serif}
html{font-variant-emoji:text}
.ai13-kicker{color:#32726c!important}
:is(.ai13-three,.ai13-governance) .ai13-kicker{color:#6dd0c5!important}
.v15-ind-card>span,.v15-ind-card span.v15-ind-k{color:#4a706f!important}
.cs-source-note{color:#567583!important}
.page-source{color:#62716d!important}
.side-label{color:#3a7368!important}
.cs-detail-archive-note{color:#637272!important}
.status{color:#647884!important}
.byline{color:#497e86!important}
.v14-source-note{color:#5f6e73!important}
.ai13-matrix-note{color:#5b6c71!important}
.cs-detail-sidebar small{color:#3c7171!important}
.eyebrow{color:#317076!important}
.v14-kicker{color:#2e7576!important}
:is(.epif-detail-results,.epif4-decision-explorer,.epif4-moves,.epif5-ai-controls,.epif5-ai-decisions,.epif5-ai-final,.epif5-framework-ai,.epif5-industry-last,.hero) .eyebrow,:is(.v14-about,.v14-clients,.v14-contact,.v14-epif,.v14-final-cta,.v14-hero,.v14-leadership-detail,.v14-press-preview,.v15-industry-proof,.v14-services,.v14-subhero) .v14-kicker{color:#6dd0c5!important}
.epif4-value-row b{color:#4c6d70!important}
.epif4-accountability-top span{color:#566b72!important}
.epif5-ai-lab-tabs .epif5-ai-tab span{color:#46676e!important}
.epif5-ai-scan-grid article span{color:#4e7a7d!important}
.epif4-value-row p{color:#556b72!important}
.v14-proof-grid .v14-metric small{color:#586f79!important}
.epif4-funnel-note div{color:#526b70!important}
.ai13-service-grid article span{color:#407a75!important}
.epif5-industry-service-grid article span{color:#527981!important}
.v14-case-insight span{color:#357675!important}
.v14-case-insight small{color:#317777!important}
.epif4-funnel-copy p{color:#546b76!important}
.epif5-ai-value-chart p{color:#61767e!important}
.v14-proof-intro p{color:#616d76!important}
.ai13-cases-head p{color:#5c6c73!important}
.v15-pageproof a{color:#17424a}
.v15-pageproof b span,.v14-aside-proof b span{color:inherit}
.v14-aside-proof b{white-space:nowrap}
.v15-pageproof{display:block;background:#eef2ee;border-bottom:1px solid #d5e0da}
.v15-pageproof>.v15-pageproof-k{max-width:1240px;margin:0 auto;padding:30px 40px 0;font-size:12px;font-weight:700;letter-spacing:.2em;color:#2d6a70}
.v15-pageproof a{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:12px 40px 32px;text-decoration:none;color:inherit}
.v15-pageproof strong{font:400 58px/1 var(--serif);letter-spacing:-.04em;color:#17424a}
.v15-pageproof span{font-size:16px;line-height:1.6;color:#4a6069;flex:1 1 220px}
.v15-pageproof b{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2d6a70;white-space:nowrap}
.v15-pageproof a:hover b{color:#17424a}
@media(max-width:900px){.v15-pageproof strong{font-size:44px}.v15-pageproof>.v15-pageproof-k{padding:24px 25px 0}.v15-pageproof b{white-space:normal}.v15-pageproof a{gap:14px;padding:10px 25px 26px}}
.v14-aside-proof{display:block;margin:26px 0 0;padding:22px 0 0;border-top:1px solid #ffffff26;text-decoration:none;color:inherit}
.v14-aside-proof strong{display:block;font:400 54px/1 var(--serif);letter-spacing:-.04em;color:#9fe0d2}
.v14-aside-proof span{display:block;margin:8px 0 0;font-size:13px;line-height:1.6;color:#c2d4d8;max-width:290px}
.v14-aside-proof b{display:inline-block;margin:12px 0 0;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#7fc8bd}
.v14-aside-proof:hover strong{color:#b7eadf}
.v14-aside-proof:hover b{color:#a8ddd2}
@media(max-width:900px){.v14-aside-proof strong{font-size:44px}.v14-aside-proof{margin-top:20px;padding-top:18px}}
@keyframes v16-drift{0%{transform:translate3d(0,0,0) scale(1.03)}50%{transform:translate3d(-12px,-9px,0) scale(1.055)}100%{transform:translate3d(0,0,0) scale(1.03)}}
@media(prefers-reduced-motion:no-preference){.v14-hero-art img,.v14-epif-backdrop img{animation:v16-drift 34s ease-in-out infinite;will-change:transform}}
.am-archive .page-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:34px;font-size:12px;letter-spacing:.12em;color:#b9c6c7}
.am-archive .page-breadcrumb a{text-decoration:underline;text-decoration-color:#5c9b97;text-underline-offset:5px;color:inherit}
.am-archive .page-breadcrumb span{opacity:.65}
.am-archive .hero{padding-top:175px}
@media(max-width:990px){.am-archive .hero{padding-top:155px}}
@media(max-width:720px){.am-archive .hero{padding-top:145px}}
.mnav-sub{display:flex;flex-direction:column;padding-left:18px;overflow:hidden}
.mnav-sub[hidden]{display:none}
.mnav-sub a{font-size:22px!important;padding:12px 0!important;color:#cfe2df!important}

/* Let each card size to its own content. Without this the grid row
   stretches every box to match the expanded one, so a closed card is
   left tall and empty and looks as though it never collapsed. */
.v15-industry-cards,.v14-global-grid{align-items:start}

/* Delivery models: the 'suited to' line inside each disclosure. */
.v14-fit{margin-top:15px;padding-top:13px;border-top:1px solid #c7d6ce}
.v14-fit span{display:block;font:700 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.14em;color:#2c6f6e;margin-bottom:6px}
@media (prefers-reduced-motion:reduce){.v14-lead-card.js-bio .v14-lead-body{transition:none}}

/* Journal header: let the return link wrap once the type floor widens it. */
@media (max-width:480px){
  header:has(> .ai13-journal-return){flex-wrap:wrap;row-gap:8px}
  .ai13-journal-return{margin-left:0;padding:6px 9px}
}

/* Homepage: the two hub pages were reachable only from the menus. */
.v16-hub-link{font-weight:700}
.v16-hub-foot{margin:26px 0 0;font-size:15px}
.v16-hub-foot .text-link{color:#dff4ef;border-bottom-color:#72e6d2}

/* Subpage heroes: one backdrop per page, as an <img> so it animates in
   Safari (a CSS-background SVG does not). The shared ::before keeps only
   its gradients and sits above the art so the heading stays readable. */
.page-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;opacity:.85;pointer-events:none;z-index:0}
.page-hero::before{background:radial-gradient(ellipse at 78% 20%,#337a7f3e,transparent 45%),linear-gradient(90deg,#0e2036f2 0%,#0e2036c4 38%,#0e203622 70%,#0e203600 100%);opacity:1;z-index:1}
.page-hero-inner{z-index:2}
@media (max-width:720px){.page-hero-art{object-position:85% center;opacity:.55}}
/* Know Your Agent: the chain stands in the right quarter of the art, so the
   art sits a little further right and the heading keeps to the left 62%. */
.v16-hero-narrow .page-hero-art{object-position:78% center;opacity:.92}
@media (max-width:720px){.v16-hero-narrow .page-hero-art{object-position:90% center;opacity:.45}}

/* Footer legal links and the plain hero used by privacy.html and terms.html. */
.footer-legal{display:inline-flex;gap:18px}
.footer-legal a{color:#9fb6bd;font-weight:700;letter-spacing:.12em;text-decoration:none}
.footer-legal a:hover{color:#72e6d2}
.v16-hero-plain{min-height:0}
.v16-hero-plain .page-hero-inner{padding-top:150px;padding-bottom:70px}
.v16-hero-plain h1{font-size:clamp(48px,5.6vw,84px)}
.v14-form small a{color:#8fe8d8;text-decoration:underline;text-underline-offset:3px}

/* Homepage client marquee: twice the pace (55s to 27.5s per pass). */
.v14-client-track{animation-duration:70s;will-change:auto;transform:translate3d(0,0,0);backface-visibility:hidden}
.v14-client-track span{transform:translateZ(0)}
.v14-client-track.v16-track-b{animation-duration:76s;animation-direction:reverse;border-top:1px solid #9cc7c23c;min-height:96px}
@keyframes v14scroll{to{transform:translate3d(-50%,0,0)}}
@media (min-width:760px){.v16-hero-narrow .page-hero-inner h1,.v16-hero-narrow .page-hero-inner .page-deck{max-width:66%}}
.v9-interlude{background-image:none}
.v9-interlude-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}

/* You are here: the page the reader is on is marked in the menus, so when
   the dropdown is opened again it is obvious which screen is showing. */
.nav-drop-menu a[aria-current=page]{font-weight:700;color:#fff;padding-left:14px;position:relative}
.nav-drop-menu a[aria-current=page]::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:2px;background:#72e6d2}
.nav-drop-menu a[aria-current=page] small{color:#cfe9e3}
.desktop-nav > a[aria-current=page],.desktop-nav .nav-drop-btn.is-current{color:#fff;font-weight:700}
.desktop-nav > a[aria-current=page]::after,.desktop-nav .nav-drop-btn.is-current::after{width:100%}
.mobile-nav a[aria-current=page],.mobile-nav .mnav-sub a[aria-current=page]{color:#fff!important;font-weight:700}
.mobile-nav .mnav-sub a[aria-current=page]::before{content:'\2192\00a0';color:#72e6d2}
.mobile-nav .mnav-btn.is-current{color:#fff}

/* EPIF applied: the worked example on each industry page. Four stage
   cards under a rail; a packet travels the rail on a 12s cycle and the
   stage it reaches lifts and its node emits. Everything is paused until
   the section is in view (.is-live, set by v16.js) and stays still under
   reduced motion, where all four cards read as equals. */
.v16-walk{background:#e8eeea;color:#143447}
.v16-walk-alt{background:#f7f7f1}
.v16-walk-head{margin-bottom:34px}
.v16-walk-head h2{font:400 clamp(44px,5vw,72px)/1.04 'Instrument Serif',Georgia,serif;margin:0 0 18px;color:#143447}
.v16-walk-head h2 em{font-style:italic;color:#318684}
.v16-walk-head > p{font-size:17px;line-height:1.6;color:#35505f;max-width:62ch;margin:0}
.v16-walk-rail{margin:0 0 4px}
.v16-walk-svg{display:block;width:100%;height:auto;overflow:visible}
.v16-walk-line{stroke:#a9c3bd;stroke-width:3;stroke-linecap:round}
.v16-walk .n-halo{fill:none;stroke:#2c8a86;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.v16-walk .n-ring{fill:#f7f7f1;stroke:#2c8a86;stroke-width:2.5}
.v16-walk .n-core{fill:#2c8a86}
.v16-walk-pkt{fill:#1f6f6b;opacity:0}
.v16-walk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch}
.v16-walk-step{background:#fff;border:1px solid #d3dfd9;border-top:3px solid #c2d4ce;padding:26px 24px 22px;box-shadow:0 0 0 rgba(20,52,71,0);transform:translateY(0)}
.v16-walk-num{display:block;font:700 12px/1 'DM Sans',Arial,sans-serif;letter-spacing:.16em;color:#2c6f6e}
.v16-walk-step h3{font:400 28px/1.1 'Instrument Serif',Georgia,serif;margin:12px 0 10px;color:#143447}
.v16-walk-step p{font-size:16px;line-height:1.55;margin:0 0 14px;color:#2a4455}
.v16-walk-out{display:block;font-size:13.5px;line-height:1.45;color:#2c6f6e;border-top:1px solid #e1e9e5;padding-top:12px}
.v16-walk-out b{font-weight:700;color:#1f6f6b}
.v16-walk-foot{margin:30px 0 0;font-size:15px}
@media (max-width:900px){.v16-walk-rail{display:none}.v16-walk-steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.v16-walk-steps{grid-template-columns:1fr}.v16-walk-step{padding:22px 20px 20px}}
@media (prefers-reduced-motion:no-preference){
  .v16-walk.is-live .v16-walk-pkt{animation:v16walkpkt 12s cubic-bezier(.45,.05,.3,1) infinite}
  .v16-walk.is-live .v16-walk-step{animation:v16walkcard 12s ease-in-out infinite;animation-delay:calc(var(--i)*3s)}
  .v16-walk.is-live .n-halo{animation:v16walkhalo 12s ease-out infinite;animation-delay:calc(var(--i)*3s)}
  .v16-walk.is-live .n-ring{animation:v16walkring 12s ease-in-out infinite;animation-delay:calc(var(--i)*3s)}
}
@keyframes v16walkpkt{0%{transform:translateX(0);opacity:0}3%{opacity:1}8%{transform:translateX(0)}25%{transform:translateX(300px)}33%{transform:translateX(300px)}50%{transform:translateX(600px)}58%{transform:translateX(600px)}75%{transform:translateX(900px)}83%{transform:translateX(900px);opacity:1}90%{opacity:0}100%{transform:translateX(900px);opacity:0}}
@keyframes v16walkcard{0%,22%{border-top-color:#2c8a86;box-shadow:0 18px 40px -22px rgba(20,52,71,.45);transform:translateY(-6px)}27%,100%{border-top-color:#c2d4ce;box-shadow:0 0 0 rgba(20,52,71,0);transform:translateY(0)}}
@keyframes v16walkhalo{0%{opacity:.85;transform:scale(1)}18%{opacity:0;transform:scale(2.3)}100%{opacity:0;transform:scale(2.3)}}
@keyframes v16walkring{0%,22%{fill:#d4efe8;stroke:#1f6f6b}27%,100%{fill:#f7f7f1;stroke:#2c8a86}}

/* Insights hub: the site's own perspectives. Four pieces, so a two-up grid
   reads as deliberate where three-up would leave a hole, and the wider
   card earns a taller image. */
@media (min-width:721px){.v16-site-perspectives .v14-editorial-links{grid-template-columns:repeat(2,1fr);gap:24px}}
.v16-site-perspectives .v14-editorial-links img{height:260px}
@media (max-width:720px){.v16-site-perspectives .v14-editorial-links img{height:200px}}

/* ONE header breakpoint, on every page.
   styles.css collapses the menu at 990px. ai-v13.css collapses it at 1250px
   with !important, but only 26 of the 52 pages load that file, so the
   homepage and the case studies kept the full bar while every other page
   dropped to the hamburger at the same width. Richard saw the bar vanish
   on every click away from home. Measured: the menu fits with room to
   spare down to about 1050px, so 1060 is the single line, and the panel
   styling for the 991 to 1060 band is carried here so the hamburger
   actually opens something on the pages that never loaded ai-v13.css. */
@media (min-width:1061px){
  .desktop-nav,.nav-cta{display:flex!important}
  .menu-toggle{display:none!important}
}
@media (max-width:1060px){
  .desktop-nav,.nav-cta{display:none!important}
  .menu-toggle{display:block!important}
}
@media (min-width:991px) and (max-width:1060px){
  .mobile-nav{display:flex;position:fixed;top:92px;left:0;right:0;bottom:0;flex-direction:column;gap:0;padding:25px 40px 50px;background:#0c2036;transform:translateX(100%);opacity:0;transition:transform .35s,opacity .35s;overflow:auto;pointer-events:none}
  .mobile-nav.open{transform:translateX(0);opacity:1;pointer-events:auto}
  .mobile-nav a{font:400 34px/1.1 'Instrument Serif',Georgia,serif;border-bottom:1px solid #79929940;color:#eef4ef;padding:14px 0;display:flex;justify-content:space-between}
  .mobile-nav a span{font:700 11px 'DM Sans',sans-serif;color:#73c5bc;align-self:center}
}

/* Common questions. One component for the AI, Services and KYA pages;
   the first two sit as a full band, the KYA one sits inside the article
   column. Heading convention matches the walkthrough (serif, teal em). */
.v16-faq{background:#f3f5f2;color:#143447;padding:clamp(64px,8vw,110px) 0}
.v16-faq-head{margin-bottom:38px}
.v16-faq-head .v14-kicker{margin-bottom:18px}
.v16-faq-head h2{font:400 clamp(40px,4.6vw,64px)/1.04 'Instrument Serif',Georgia,serif;margin:0 0 16px;color:#143447}
.v16-faq-head h2 em{font-style:italic;color:#318684}
.v16-faq-head > p{font-size:17px;line-height:1.6;color:#35505f;max-width:62ch;margin:0}
.v16-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid #c6d1cd}
.v16-faq-item{padding:26px 0 28px;border-bottom:1px solid #c6d1cd}
.v16-faq-item h3{font:600 18px/1.35 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;color:#143447;margin:0 0 10px}
.v16-faq-item p{font-size:15.5px;line-height:1.65;color:#35505f;margin:0}
.v16-faq-compact{background:transparent;padding:0;margin:54px 0 0}
.v16-faq-compact .v16-faq-head{margin-bottom:24px}
.v16-faq-compact .v16-faq-head h2{font-size:clamp(32px,3.6vw,44px)}
.v16-faq-compact .v16-faq-grid{grid-template-columns:1fr;gap:0}
.v16-faq-compact .v16-faq-item h3{font-size:17px}
.v16-faq-item:last-child:nth-child(odd){grid-column:1/-1}
.v16-faq-item:last-child:nth-child(odd) p{max-width:72ch}
@media (max-width:820px){.v16-faq-grid{grid-template-columns:1fr}}

/* Thank-you page: onward links under the primary button. */
.v16-thanks-links{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:26px}
.v16-thanks-links .text-link{font-size:15px}

/* Medium archive. The page's own stylesheet was written for a navy body;
   the site sheets make the body light, so its titles inherited near-black
   on navy cards (1.1:1) and its intro and footer went pale on cream. The
   cards stay navy; their text goes back to the light it was designed in,
   and the cream areas get dark text. */
.am-archive .story h3,.am-archive .story .story-title-link{color:#f4f3ee}
.am-archive .story .status{color:#9fdccb!important}
.am-archive .story-top>span{color:#b9cbd2}
.am-archive .story-foot span{color:#b9cbd2}
.am-archive .content-header p{color:#35505f}
.am-archive footer{background:#081b2d;color:#a9c3cc;border-top:0}
.am-archive footer a{color:#8fe8d8}
.am-archive .date,.am-archive span.date{color:#5b6f78}

/* Small labels that measured between 3:1 and 4:1; one step darker each. */
.ai13-use-tabs button span{color:#3d6f6d}
.epif5-ai-scan-grid article b{color:#3f7a7e}
.epif4-start .epif4-start-grid p:not(.eyebrow){color:#4b6572}
.epif4-step.active small{color:#4d6873}

/* Homepage challenge panel: the EPIF path animates. Segments draw in
   sequence (restarted on every challenge change by v16.js), each node
   lights as its segment lands, then a packet travels the path on a
   4.8s loop. Plain elements, so Safari animates it. */
.v14-answer-process>div{position:relative}
.v14-answer-process>div i{overflow:visible}
.v14-answer-process>div i::before{content:'';position:absolute;top:-2px;left:0;width:34px;height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(143,232,216,0),#dff4ef 60%,#ffffff);opacity:0;pointer-events:none}
.v14-answer-process.is-live>div i{transform-origin:left center;animation:v16pathdraw .9s cubic-bezier(.2,.7,.2,1) both}
.v14-answer-process.is-live>div i::after{animation:v16pathnode .9s ease both}
.v14-answer-process.is-live>div i::before{animation:v16pathpkt 4.8s linear 3.8s infinite}
.v14-answer-process>div:nth-child(1) i,.v14-answer-process>div:nth-child(1) i::after{animation-delay:0s}
.v14-answer-process>div:nth-child(2) i,.v14-answer-process>div:nth-child(2) i::after{animation-delay:.9s}
.v14-answer-process>div:nth-child(3) i,.v14-answer-process>div:nth-child(3) i::after{animation-delay:1.8s}
.v14-answer-process>div:nth-child(4) i,.v14-answer-process>div:nth-child(4) i::after{animation-delay:2.7s}
.v14-answer-process.is-live>div:nth-child(2) i::before{animation-delay:5s}
.v14-answer-process.is-live>div:nth-child(3) i::before{animation-delay:6.2s}
.v14-answer-process.is-live>div:nth-child(4) i::before{animation-delay:7.4s}
.v14-answer-process.is-live>div span{animation:v16pathlabel .6s ease both}
.v14-answer-process.is-live>div:nth-child(1) span{animation-delay:.5s}
.v14-answer-process.is-live>div:nth-child(2) span{animation-delay:1.4s}
.v14-answer-process.is-live>div:nth-child(3) span{animation-delay:2.3s}
.v14-answer-process.is-live>div:nth-child(4) span{animation-delay:3.2s}
@keyframes v16pathdraw{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes v16pathnode{0%,80%{transform:scale(.4);box-shadow:0 0 0 0 rgba(214,182,132,.7);opacity:0}88%{transform:scale(1.9);opacity:1;box-shadow:0 0 0 6px rgba(214,182,132,.35)}100%{transform:scale(1);opacity:1;box-shadow:0 0 0 14px rgba(214,182,132,0)}}
@keyframes v16pathpkt{0%{left:0;opacity:0}3%{opacity:1}22%{opacity:1}25%{left:calc(100% - 34px);opacity:0}100%{left:calc(100% - 34px);opacity:0}}
@keyframes v16pathlabel{0%{color:#94c8c4}40%{color:#ffffff}100%{color:#94c8c4}}
@media (prefers-reduced-motion:reduce){.v14-answer-process.is-live>div i,.v14-answer-process.is-live>div i::after,.v14-answer-process.is-live>div i::before,.v14-answer-process.is-live>div span{animation:none}}

/* Perspective pages: byline, the In-brief answer box, the closing step. */
.v16-byline{font-size:13px;letter-spacing:.04em;color:#5f7680;margin:0 0 18px}
.v16-byline a{color:#1f6f6b;text-decoration:none;border-bottom:1px solid #8fd3c9}
.v16-brief{background:#e8eeea;border-left:3px solid #2c8a86;padding:22px 26px;margin:26px 0 34px}
.v16-brief-k{font:700 12px/1.6 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#1f6f6b;margin:0 0 10px}
.v16-brief ul{margin:0;padding:0 0 0 18px}
.v16-brief li{font-size:15.5px;line-height:1.55;color:#143447;margin:0 0 8px}
.v16-brief li:last-child{margin-bottom:0}
.v16-close{background:#102a3d;color:#ecf2ec;padding:28px 30px;margin:40px 0 0}
.v16-close h2{color:#fff;margin-top:0}
.v16-close p{color:#d2e0e0}
.v16-close .text-link{color:#dff4ef;border-bottom-color:#72e6d2}

/* Related perspectives band: one component on every page that links to a
   perspective, sits before the page's closing section. */
.v16-related{background:#eef2ee;border-top:1px solid #c6d1cd;border-bottom:1px solid #c6d1cd;padding:40px 0}
.v16-related-k{font:700 12px/1.6 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#1f6f6b;margin:0 0 18px}
.v16-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v16-related-grid a{display:flex;flex-direction:column;gap:8px;padding:20px 22px;background:#fff;border:1px solid #d5dedb;text-decoration:none;color:#143447;transition:transform .25s,border-color .25s}
.v16-related-grid a:hover{transform:translateY(-3px);border-color:#2c8a86}
.v16-related-grid small{font:700 12px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#5f7680}
.v16-related-grid strong{font:400 22px/1.2 'Instrument Serif',Georgia,serif;letter-spacing:-.01em;color:#143447}
.v16-related-grid span{font:600 13px/1 'DM Sans',sans-serif;color:#1f6f6b;margin-top:auto;padding-top:8px}
@media (max-width:820px){.v16-related-grid{grid-template-columns:1fr}}

/* Insights hub: twelve perspectives, three up. */
@media (min-width:981px){.v16-site-perspectives .v14-editorial-links{grid-template-columns:repeat(3,1fr);gap:22px}.v16-site-perspectives .v14-editorial-links img{height:200px}}

/* Question accordions (EPIF, AI, Services, Know Your Agent). Closed: the
   question, the first two lines of the answer and a plus. Open: the whole
   answer, the plus turned to a minus. One open per group (v16.js), as the
   industry cards behave. Without JS every answer is simply shown in full. */
.v16-acc-group{align-items:start}
.v16-acc-col{min-width:0}
.v16-acc{padding:22px 0 24px;border-bottom:1px solid #c6d1cd;margin:0}
.v16-acc-q{margin:0!important;font:inherit}
.v16-acc-btn{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;cursor:pointer;color:inherit;font:600 18px/1.35 'DM Sans',sans-serif;letter-spacing:0;text-transform:none}
.epif-faq .v16-acc-btn{font-size:clamp(18px,1.5vw,21px);line-height:1.3}
.v16-acc-btn:focus-visible{outline:2px solid #72e6d2;outline-offset:6px}
.v16-acc-btn:hover .v16-acc-text{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.v16-acc-sign{position:relative;flex:0 0 16px;width:16px;height:16px;margin-top:5px;color:#143447}
.v16-acc-sign::before,.v16-acc-sign::after{content:'';position:absolute;background:currentColor;transition:transform .25s cubic-bezier(.22,.72,.26,1)}
.v16-acc-sign::before{left:0;right:0;top:6.75px;height:2.5px}
.v16-acc-sign::after{top:0;bottom:0;left:6.75px;width:2.5px}
.v16-acc-btn[aria-expanded='true'] .v16-acc-sign::after{transform:scaleY(0)}
.v16-acc-panel{overflow:hidden}
.v16-acc-panel p{margin:10px 0 0;line-height:1.65;max-width:62ch}
.js .v16-acc-panel:not(.is-open) p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.js .v16-acc-panel.is-animating p{display:block;-webkit-line-clamp:unset}
.js .v16-acc-panel{will-change:height}
@media (max-width:860px){.v16-acc{padding:18px 0 20px}}

/* AI deployment path (ai-deployment.html hero). Four lanes, one packet,
   a twelve-second cycle; see tools/make_deploy_path.py. */
.epif5-ai-hero-graphic{min-height:0;display:flex;flex-direction:column}
.epif5-ai-hero-graphic .epif5-ai-orbit,.epif5-ai-hero-graphic .epif5-ai-graphic-steps{display:none}
.v16-dp{position:relative;z-index:2;margin:26px 0 22px;display:flex;flex-direction:column;gap:14px}
.v16-dp::before{content:'';position:absolute;left:17px;top:22px;bottom:22px;width:1px;background:linear-gradient(#5f8fa2 0,#5f8fa2 100%);opacity:.55}
.v16-dp-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;align-items:start}
.v16-dp-num{position:relative;z-index:1}
.v16-dp-num b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0f2a3f;border:1px solid #6aa5a8;font:400 17px/1 'Instrument Serif',Georgia,serif;color:#accdca;letter-spacing:-.02em}
.v16-dp-body{background:#102b41e8;border:1px solid #9dcccd55;padding:12px 16px 10px}
.v16-dp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;margin-bottom:6px}
.v16-dp-title{font:700 12px/1.4 'DM Sans',sans-serif;letter-spacing:.14em;color:#dcebe9}
.v16-dp-cap{font:400 12.5px/1.45 'DM Sans',sans-serif;color:#9fbcc4;flex:1 1 260px;text-align:right}
.v16-dp-svg{display:block;width:100%;height:auto;overflow:visible}
@media (max-width:720px){.v16-dp-cap{text-align:left;flex-basis:100%}}

/* motion: every lane runs the same 12s clock, offset by its index */
.v16-dp .dp-pk,.v16-dp .dp-m,.v16-dp .dp-m-dot,.v16-dp .dp-bead,.v16-dp .dp-dia,.v16-dp .dp-bar,.v16-dp .dp-chk,.v16-dp .dp-ring,.v16-dp .dp-b,.v16-dp .dp-line,.v16-dp .dp-end,.v16-dp-num b{animation-duration:12s;animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:calc(var(--i) * 3s)}
.v16-dp .dp-pk{opacity:0;transform:translateX(0)}
.v16-dp .dp-pk1,.v16-dp .dp-pk2,.v16-dp .dp-pk3,.v16-dp .dp-pk4{animation-name:dp-pk}
.v16-dp .dp-pk2{animation-name:dp-pk2}
.v16-dp .dp-pk3{animation-name:dp-pk3}
.v16-dp .dp-pk4{animation-name:dp-pk4}
.v16-dp-num b{animation-name:dp-num}
.v16-dp .dp-m{transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}
.v16-dp .dp-m1{animation-name:dp-m1}.v16-dp .dp-m2{animation-name:dp-m2}.v16-dp .dp-m3{animation-name:dp-m3}
.v16-dp .dp-m-dot{opacity:0}
.v16-dp .dp-m1d{animation-name:dp-m1d}.v16-dp .dp-m2d{animation-name:dp-m2d}.v16-dp .dp-m3d{animation-name:dp-m3d}
.v16-dp .dp-bead{opacity:0;stroke-dashoffset:100;animation-name:dp-bead}
.v16-dp .dp-dia{transform-box:fill-box;transform-origin:center;animation-name:dp-dia}
.v16-dp .dp-bar{transform-box:fill-box;transform-origin:center;animation-name:dp-bar}
.v16-dp .dp-chk{stroke-dasharray:100;stroke-dashoffset:100;animation-name:dp-chk}
.v16-dp .dp-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation-name:dp-ring}
.v16-dp .dp-ring2{animation-name:dp-ring2}
.v16-dp .dp-ring3{animation-name:dp-ring3}
.v16-dp .dp-b{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(0)}
.v16-dp .dp-b0{animation-name:dp-b0}.v16-dp .dp-b1{animation-name:dp-b1}.v16-dp .dp-b2{animation-name:dp-b2}.v16-dp .dp-b3{animation-name:dp-b3}.v16-dp .dp-b4{animation-name:dp-b4}.v16-dp .dp-b5{animation-name:dp-b5}.v16-dp .dp-b6{animation-name:dp-b6}
.v16-dp .dp-line{stroke-dasharray:100;stroke-dashoffset:100;animation-name:dp-line}
.v16-dp .dp-end{opacity:0;animation-name:dp-end}

@keyframes dp-num{0%{color:#accdca;background:#0f2a3f;box-shadow:0 0 0 0 rgba(143,244,226,0)}3%{color:#0f2a3f;background:#8ff4e2;box-shadow:0 0 0 8px rgba(143,244,226,.18)}22%{color:#0f2a3f;background:#8ff4e2;box-shadow:0 0 0 14px rgba(143,244,226,0)}26%,100%{color:#accdca;background:#0f2a3f;box-shadow:0 0 0 0 rgba(143,244,226,0)}}
/* lane 1: packet crosses, meters fill behind it */
@keyframes dp-pk{0%{transform:translateX(0);opacity:0}1%{opacity:1}11%{opacity:1}12%{transform:translateX(426px);opacity:0}100%{transform:translateX(426px);opacity:0}}
@keyframes dp-m1{0%,2%{transform:scaleX(0)}13%{transform:scaleX(.62)}100%{transform:scaleX(.62)}}
@keyframes dp-m2{0%,4%{transform:scaleX(0)}15%{transform:scaleX(.46)}100%{transform:scaleX(.46)}}
@keyframes dp-m3{0%,6%{transform:scaleX(0)}17%{transform:scaleX(.81)}100%{transform:scaleX(.81)}}
@keyframes dp-m1d{0%,12%{opacity:0;transform:translateX(248px)}14%,100%{opacity:1;transform:translateX(248px)}}
@keyframes dp-m2d{0%,14%{opacity:0;transform:translateX(184px)}16%,100%{opacity:1;transform:translateX(184px)}}
@keyframes dp-m3d{0%,16%{opacity:0;transform:translateX(324px)}18%,100%{opacity:1;transform:translateX(324px)}}
/* lane 2: packet reaches the selector, pauses, one goes on and one branches */
@keyframes dp-pk2{0%{transform:translateX(0);opacity:0}1%{opacity:1}7%{transform:translateX(196px)}11%{transform:translateX(196px)}19%{transform:translateX(426px);opacity:1}20%{opacity:0}100%{transform:translateX(426px);opacity:0}}
@keyframes dp-dia{0%,7%{transform:rotate(0)}11%{transform:rotate(90deg)}100%{transform:rotate(90deg)}}
@keyframes dp-bead{0%,10%{opacity:0;stroke-dashoffset:100}11%{opacity:1}19%{opacity:1;stroke-dashoffset:0}20%,100%{opacity:0;stroke-dashoffset:0}}
/* lane 3: packet waits at the gate; review clears it; gate lifts; monitoring rings */
@keyframes dp-pk3{0%{transform:translateX(0);opacity:0}1%{opacity:1}6%{transform:translateX(188px)}13%{transform:translateX(188px)}21%{transform:translateX(426px);opacity:1}22%{opacity:0}100%{transform:translateX(426px);opacity:0}}
@keyframes dp-chk{0%,7%{stroke-dashoffset:100}11%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes dp-bar{0%,11%{transform:translateY(0)}13%{transform:translateY(-20px)}100%{transform:translateY(-20px)}}
@keyframes dp-ring{0%,17%{opacity:0;transform:scale(1)}18%{opacity:.9}24%{opacity:0;transform:scale(3.2)}100%{opacity:0;transform:scale(3.2)}}
@keyframes dp-ring2{0%,20%{opacity:0;transform:scale(1)}21%{opacity:.9}27%{opacity:0;transform:scale(3.2)}100%{opacity:0;transform:scale(3.2)}}
/* lane 4: packet lands, bars rise, the value line draws */
@keyframes dp-pk4{0%{transform:translateX(0);opacity:0}1%{opacity:1}5%{transform:translateX(66px);opacity:1}6%{transform:translateX(66px);opacity:0}100%{transform:translateX(66px);opacity:0}}
@keyframes dp-b0{0%,5%{transform:scaleY(0)}9%,100%{transform:scaleY(1)}}
@keyframes dp-b1{0%,7%{transform:scaleY(0)}11%,100%{transform:scaleY(1)}}
@keyframes dp-b2{0%,9%{transform:scaleY(0)}13%,100%{transform:scaleY(1)}}
@keyframes dp-b3{0%,11%{transform:scaleY(0)}15%,100%{transform:scaleY(1)}}
@keyframes dp-b4{0%,13%{transform:scaleY(0)}17%,100%{transform:scaleY(1)}}
@keyframes dp-b5{0%,15%{transform:scaleY(0)}19%,100%{transform:scaleY(1)}}
@keyframes dp-b6{0%,17%{transform:scaleY(0)}21%,100%{transform:scaleY(1)}}
@keyframes dp-line{0%,8%{stroke-dashoffset:100}22%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes dp-end{0%,21%{opacity:0}23%,100%{opacity:1}}
@keyframes dp-ring3{0%,22%{opacity:0;transform:scale(1)}23%{opacity:.9}29%{opacity:0;transform:scale(3)}100%{opacity:0;transform:scale(3)}}

@media (prefers-reduced-motion:reduce){
  .v16-dp *,.v16-dp-num b{animation:none!important}
  .v16-dp .dp-pk{display:none}
  .v16-dp .dp-m1{transform:scaleX(.62)}.v16-dp .dp-m2{transform:scaleX(.46)}.v16-dp .dp-m3{transform:scaleX(.81)}
  .v16-dp .dp-m-dot{opacity:1}.v16-dp .dp-m1d{transform:translateX(248px)}.v16-dp .dp-m2d{transform:translateX(184px)}.v16-dp .dp-m3d{transform:translateX(324px)}
  .v16-dp .dp-dia{transform:rotate(90deg)}.v16-dp .dp-bar{transform:translateY(-20px)}.v16-dp .dp-chk{stroke-dashoffset:0}
  .v16-dp .dp-b{transform:scaleY(1)}.v16-dp .dp-line{stroke-dashoffset:0}.v16-dp .dp-end{opacity:1}
}
