/* Navigation and offer presentation, extending the approved identity. */
.nav-expertises{position:static}
.expertise-trigger{display:flex;align-items:center;gap:8px;padding:7px 0;color:#c7d0e8;font:400 .875rem/1.6 var(--body);white-space:nowrap;cursor:pointer;list-style:none;transition:color .2s ease}
.expertise-trigger::-webkit-details-marker{display:none}
.expertise-trigger::marker{content:''}
.expertise-trigger svg{width:13px;height:13px;stroke-width:1.3;transition:transform .2s ease}
.expertise-trigger:hover,.expertise-trigger.active,.nav-expertises[open] .expertise-trigger{color:#fff}
.expertise-trigger.active{text-decoration:underline;text-decoration-color:#8295ff;text-underline-offset:9px;text-decoration-thickness:1px}
.nav-expertises[open] .expertise-trigger svg{transform:rotate(180deg)}
.expertise-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(860px,calc(100vw - 64px));padding:12px;border:1px solid #657ad366;border-radius:13px;background:linear-gradient(140deg,#101c35fa,#060e22fc);backdrop-filter:blur(24px);box-shadow:0 26px 75px #0007}
.nav-expertises:not([open]) .expertise-menu{display:none}
.expertise-menu-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.header nav .service-nav-item{position:relative;display:block;white-space:normal;min-height:154px;padding:19px 20px 21px;border:1px solid transparent;border-radius:7px;transition:background .25s ease,border-color .25s ease}
.header nav .service-nav-item:hover,.header nav .service-nav-item[aria-current=page]{background:#22376377;border-color:#697bd24f}
.header nav .service-nav-item::after,.header nav .expertise-menu-footer::after{display:none}
.service-nav-number{display:block;color:#9a9be8;font-size:.75rem;line-height:1.4;letter-spacing:.08em;margin-bottom:23px}
.service-nav-item strong{display:block;color:#eef2ff;font-size:1.1875rem;font-weight:500;line-height:1.3;margin-bottom:7px}
.service-nav-item small{display:block;color:#9eafd1;font-size:.875rem;line-height:1.5}
.service-nav-arrow{position:absolute;top:18px;right:20px;font-size:1.25rem;color:#929dd9;transition:transform .2s ease}
.service-nav-item:hover .service-nav-arrow{transform:translate(2px,-2px)}
.header nav .expertise-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px 7px;margin-top:8px;border-top:1px solid #657ba13b;color:#bac9e5;font-size:.875rem;line-height:1.5}
.header nav .expertise-menu-footer:hover{color:#fff}
.expertise-menu-footer>span{color:#929de9;font-size:1.125rem}
.header.has-open-menu{background:#0a142be8;border-color:#5e75ba80}
.offer-grid.offer-list{display:grid;grid-template-columns:1fr;gap:18px}
.offer-list .offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.85fr);gap:34px;align-items:center;padding:34px;min-height:0;background:linear-gradient(115deg,#0d1b33a6,#060d1f);border-color:#667faa50;border-radius:11px;transition:border-color .3s ease,box-shadow .3s ease,opacity .7s ease var(--reveal-delay,0ms),transform .7s ease var(--reveal-delay,0ms)}
.offer-list .offer:hover{border-color:#6884c780;box-shadow:0 12px 48px #0002}
.offer-summary{min-width:0}
.offer-list .offer-label{font-size:.75rem;line-height:1.5;letter-spacing:.13em;color:#9da8df;margin:0 0 17px}
.offer-list h3{font-size:1.875rem;line-height:1.15;letter-spacing:-.018em;margin:0 0 14px}
.offer-list p.offer-description{font-size:1rem;line-height:1.65;color:#aebeda;margin:0;max-width:330px}
.offer-list .offer>ul{grid-area:auto;display:flex;flex-direction:column;gap:12px;min-height:140px;padding:4px 0 4px 30px;margin:0;border:0;border-left:1px solid #687fa442;justify-content:center}
.offer-list .offer>ul li{font-size:.9375rem;line-height:1.55;gap:12px;color:#c0cde5}
.offer-list .offer>ul li::before{color:#9697e8}
.offer-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;min-height:140px;border-left:1px solid #687fa442;padding-left:28px}
.offer-list .price{font-size:1.9375rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 9px;color:#edf1ff}
.offer-list .price small{font-size:.8125rem;color:#afbedb;line-height:1.5;letter-spacing:0}
.offer-list .price .price-prefix{display:block;margin-bottom:5px;color:#acbcda;font-family:var(--body);font-weight:400}
.offer-list .price-note{font-size:.8125rem;line-height:1.6;color:#99afd0;margin:0;min-height:0}
.offer-list .offer-action .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;align-self:stretch;margin:22px 0 0;padding:11px 14px;min-height:45px;border:1px solid #6b7fbe69;border-radius:6px;background:#10204260;color:#e3eaff;font-size:.875rem;line-height:1.4;transition:background .25s ease,border-color .25s ease}
.offer-list .offer-action .text-link:hover{background:#1b356652;border-color:#9aa8eb}
.offer-list .offer-action .text-link:hover>span{transform:translateX(3px)}
.conference-strip{position:relative;background:linear-gradient(110deg,#20295885,#0a142a);box-shadow:inset 0 1px #829bdb08}
.conference-strip::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:2px;background:linear-gradient(#809dff,#aa6ad4);border-radius:2px}
.contact-section{isolation:isolate}
.contact-section::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/hero-ribbons-v2.webp') left top/1536px 1024px no-repeat;opacity:.15;mask-image:linear-gradient(90deg,#000,transparent 67%);pointer-events:none}
.contact-form{position:relative}
.contact-form button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.detail-copy a:not(.button),.faq-answer a,.article-body a:not(.button){color:#bcc9ff;text-decoration:underline;text-decoration-color:#7489c780;text-underline-offset:4px}
.detail-copy a:hover,.faq-answer a:hover,.article-body a:hover{color:#fff}
.related-services{margin-top:38px;padding-top:25px;border-top:1px solid #687fa447}
.related-services .eyebrow{font-size:.875rem;margin-bottom:12px}
.related-services>a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:13px 0;font-size:1rem;line-height:1.55;text-decoration:none!important}
.related-services>a>span{flex-shrink:0;color:#989be9}
.faq-section{border-top:1px solid #526d9738;background:linear-gradient(130deg,#0b173080,#040c1b)}
.faq-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,90px)}
.faq-layout h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;margin-bottom:22px}
.faq-layout>div>p:not(.eyebrow){font-size:1rem;color:#aebed9}
.faq-list{border-top:1px solid #6378a24d}
.faq-list details{border-bottom:1px solid #6378a24d}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:1.0625rem;line-height:1.55;font-weight:500;color:#e5ecfa;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::marker{content:''}
.faq-list summary>span{flex-shrink:0;font-size:1.5rem;line-height:1;width:24px;text-align:center;color:#a6a5f9;transition:transform .2s ease}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-answer{padding:0 32px 23px 0}
.faq-answer p{font-size:1rem;line-height:1.8;color:#b8c8df;margin:0}
.faq-answer p+p{margin-top:13px}
.resources-section{border-top:1px solid #526d9738;background:radial-gradient(ellipse at 0 30%,#1e30672d,transparent 62%)}
.resources-section .section-lead{margin-top:22px;max-width:680px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.resource-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:34px 36px;border:1px solid #627ba15e;border-radius:11px;background:linear-gradient(140deg,#10203b85,#081123);transition:border-color .25s ease,background .25s ease}
.resource-card:hover,.resource-card:focus-visible{border-color:#849cf0;background:#111f3b}
.resource-kicker{font-size:.875rem;color:#a5a8f0;line-height:1.5;margin-bottom:22px}
.resource-card h3{font-size:clamp(1.375rem,2vw,1.875rem);line-height:1.25;letter-spacing:-.015em;margin-bottom:18px;color:#edf2fd;max-width:460px}
.resource-card p{font-size:1rem;line-height:1.75;margin-bottom:26px;color:#afc0dc;max-width:470px}
.resource-link{display:flex;justify-content:space-between;width:100%;gap:24px;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid #7186b03d;font-size:.9375rem;color:#d7e0f4}
.resource-link>span{font-size:1.375rem;color:#a6a5f9}
.resource-page .page-hero h1{max-width:1000px;font-size:clamp(2.25rem,4.7vw,4.5rem);line-height:1.08}
.resource-page .page-hero{padding-bottom:35px}
.resource-page .breadcrumb{flex-wrap:wrap}
.article-meta{display:flex;flex-wrap:wrap;gap:12px 30px;padding-top:24px;font-size:.875rem;color:#a1b4d3}
.article-layout{display:grid;grid-template-columns:250px minmax(0,800px);justify-content:space-between;gap:clamp(40px,5vw,80px)}
.article-toc{align-self:start;position:sticky;top:135px;padding-right:24px;border-right:1px solid #607ba33b}
.article-toc>p{font-weight:500;color:#e4eaf8;font-size:1rem;margin-bottom:20px}
.article-toc nav{display:grid;gap:17px}
.article-toc a{font-size:.9375rem;line-height:1.65;color:#9fb3d3}
.article-toc a:hover,.article-toc a:focus-visible{color:#fff}
.article-body{min-width:0}
.article-body>section{scroll-margin-top:125px;margin-bottom:45px}
.article-body h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin-bottom:23px;letter-spacing:-.015em}
.article-body p{font-size:1.0625rem;line-height:1.85;color:#c0cde3;margin-bottom:22px}
.article-body .article-takeaway{padding:25px 29px;border-left:2px solid #8395ff;border-radius:0 8px 8px 0;background:#192d532e;color:#e0e8f8;font-size:1.125rem;line-height:1.7;margin-bottom:45px}
.table-scroll{overflow-x:auto;border:1px solid #687da14d;border-radius:8px;margin:27px 0}
.editorial-table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.7}
.editorial-table caption{padding:16px 20px;text-align:left;font-weight:500;color:#e4eaf7;background:#13264470}
.editorial-table th,.editorial-table td{padding:13px 20px;text-align:left;vertical-align:top;border-top:1px solid #64799c42;color:#bfcde3}
.editorial-table th{font-weight:500;color:#e2eafa}
.editorial-table thead{background:#182b442d}
.article-author{margin:42px 0 0;padding:28px;border:1px solid #657aa350;border-radius:8px}
.article-author strong{font-size:1.125rem;color:#e9effa}
.article-author p{font-size:1rem;margin:13px 0 15px}
.article-author a{font-size:.9375rem}
@media(max-width:960px){
  .faq-layout{grid-template-columns:1fr;gap:24px}.faq-layout h2{max-width:620px}
  .article-layout{grid-template-columns:1fr;gap:38px}.article-toc{position:static;border-right:0;border-bottom:1px solid #607ba33b;padding:0 0 26px}.article-toc nav{grid-template-columns:1fr 1fr;gap:12px 24px}
}
@media(max-width:760px){
  .resource-grid{grid-template-columns:1fr;gap:18px}.resource-card{padding:27px 25px}.resource-card h3{font-size:1.625rem}
  .faq-list summary{padding:20px 0;font-size:1rem;gap:15px}.faq-answer{padding-right:0}.faq-layout h2{font-size:2rem}
  .article-body p{font-size:1rem;line-height:1.8}.article-body .article-takeaway{font-size:1.0625rem;padding:22px}.article-body h2{font-size:1.625rem}
  .article-toc nav{grid-template-columns:1fr}.editorial-table th,.editorial-table td{padding:12px 14px;font-size:.875rem}.article-author{padding:23px}
}
@media(prefers-reduced-motion:reduce){.faq-list summary>span{transition:none}}
.service-hero-actions{display:flex;align-items:center;gap:29px;margin-top:29px;animation:service-enter .7s .12s ease both}
.service-hero-actions .button{min-height:50px;font-size:1rem;padding:13px 23px;gap:25px}
.service-detail-link{display:flex;align-items:center;gap:18px;color:#c0cde4;font-size:.9375rem;line-height:1.5;padding:12px 0}
.service-detail-link:hover{color:#fff}
.service-detail-link span{color:#969de6;font-size:1.125rem;transition:transform .2s ease}
.service-detail-link:hover span{transform:translateY(3px)}
.service-page .page-hero h1{animation:service-enter .65s ease both}
.service-page .page-hero .hero-description{animation:service-enter .7s .06s ease both}
.service-page .service-facts{margin-top:34px}
.service-page .detail-block{scroll-margin-top:125px}
.motion-paused .service-hero-actions,.motion-paused .page-hero h1,.motion-paused .page-hero .hero-description{animation:none!important;opacity:1!important;transform:none!important}
@keyframes service-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){
  .offer-list .offer{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr) minmax(0,.8fr);gap:23px;padding:28px}
  .offer-list h3{font-size:1.75rem}.offer-list .offer>ul{padding-left:23px}.offer-action{padding-left:23px}.offer-list .price{font-size:1.75rem}.offer-list .offer-action .text-link{font-size:.875rem;padding-inline:12px;gap:13px}
}
@media(min-width:761px) and (max-width:1100px){
  .expertise-grid{grid-template-columns:1fr;gap:18px}
  .expertise-card,.expertise-card:first-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:0 36px;padding:28px 30px;min-height:240px}
  .expertise-card .card-heading{grid-column:1;grid-row:1;margin-bottom:15px}
  .expertise-card .card-heading h3{font-size:1.5rem}
  .expertise-card>p{grid-column:1;grid-row:2;min-height:0;margin:0 0 24px;max-width:390px}
  .expertise-card .diagnostic-visual,.expertise-card .learning-visual,.expertise-card .agent-flow{grid-column:2;grid-row:1 / 3;align-self:center;min-width:0;height:125px;min-height:125px;margin:0 0 20px}
  .expertise-outcome{grid-column:1 / -1;grid-row:3}
  .expertise-card .circle-arrow{width:30px;height:30px;flex-shrink:0}
}
@media(max-width:960px){
  .offer-list .offer{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px 30px;padding:30px}
  .offer-list .offer-action{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 22px;min-height:0;border-left:0;border-top:1px solid #687fa442;padding:23px 0 0}
  .offer-list .price{margin:0}.offer-list .price-note{flex:1;min-width:170px}.offer-list .offer-action .text-link{align-self:center;margin:0 0 0 auto;min-width:210px;gap:18px}
  .offer-list .offer>ul{min-height:130px;padding-block:0}.offer-list p.offer-description{max-width:360px}
}
@media(min-width:761px) and (max-width:960px){
  .header{grid-template-columns:1fr auto}
  .reference-item{--logo-scale:.87;padding-inline:14px}
  .references-intro{align-items:start;gap:28px}
  .references-intro>p{max-width:310px}
}
@media(max-width:760px){
  #mobile-menu{height:100vh;height:100dvh;overscroll-behavior:contain;padding-bottom:28px}
  #mobile-menu .mobile-services{display:grid;margin:13px 0 17px 2px;padding-left:17px;border-left:1px solid #7186c960;gap:2px}
  #mobile-menu .mobile-services a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:43px;padding:9px 0;margin:0;border:0;font-family:var(--body);font-size:1.0625rem;line-height:1.5;color:#b4c3df}
  #mobile-menu .mobile-services a>span:last-child{font-size:1.125rem;color:#8d95dc}
  #mobile-menu .mobile-services a[aria-current=page]{color:#a4a5ff}
  #mobile-menu .mobile-services a:hover{color:#fff}
  .service-hero-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px}
  .service-hero-actions .button{font-size:1rem;padding-inline:21px;min-height:50px}
  .service-detail-link{font-size:.9375rem;min-height:44px;padding-block:10px}
  .service-page .service-facts{margin-top:25px}
  .contact-section::before{background-size:1050px 700px;opacity:.1;mask-image:linear-gradient(#000,transparent 75%)}
}
@media(max-width:680px){
  .offer-list .offer{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:27px 24px;border-radius:10px}
  .offer-list .offer-label{margin-bottom:14px;font-size:.75rem}.offer-list h3{font-size:1.75rem;margin-bottom:13px}.offer-list p.offer-description{font-size:1rem;line-height:1.65;max-width:none}
  .offer-list .offer>ul{border-left:0;border-top:1px solid #687fa442;padding:23px 0 0;margin:23px 0 0;min-height:0;gap:13px}.offer-list .offer>ul li{font-size:.9375rem;line-height:1.55}
  .offer-list .offer-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:0;margin-top:24px;padding-top:24px}
  .offer-list .price{font-size:1.9375rem}.offer-list .price-note{flex:none;min-width:0;font-size:.8125rem}
  .offer-list .offer-action .text-link{align-self:stretch;min-width:0;margin:12px 0 0;padding:13px 15px;min-height:48px;font-size:.9375rem}
  .conference-strip::before{top:25px;bottom:25px}
}
@media(prefers-reduced-motion:reduce){.service-hero-actions,.service-page .page-hero h1,.service-page .page-hero .hero-description{animation:none;opacity:1;transform:none}}

.resource-index-title{font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:32px}
