.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px}
.hero-copy{max-width:820px;min-width:0}
.hero h1{font-size:clamp(44px,5.2vw,72px);line-height:1.15}
.hero-description{max-width:680px}
.home-hero h1{font-size:clamp(40px,4.6vw,64px)}
.home-hero .hero-description{font-size:20px;line-height:1.65}
.home-services{padding-top:24px}
.platform-portfolio{border-block:1px solid var(--line)}
.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.platform-group{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.platform-group h3{font-size:24px;line-height:1.35;margin-bottom:12px}
.platform-group>p{font-size:16px;line-height:1.7;margin-bottom:24px}
.platform-products{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:auto 0 0}
.platform-products li{min-width:0;max-width:100%}
.platform-products a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #c7ddeb;border-radius:6px;background:#fff;color:var(--accent);font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.platform-products a:hover{background:var(--panel-light);border-color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.platform-note{font-size:14px;line-height:1.7;margin:24px 0 0;color:var(--muted)}
.product-guide>p:not(.eyebrow){max-width:900px;margin-top:20px;font-size:18px;line-height:1.7}
.product-guide-group{margin-top:40px}
.product-guide-nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding-block:16px;border-bottom:1px solid var(--line)}
.product-guide-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:16px;font-weight:600}
.product-guide-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.product-breadcrumbs{padding-top:28px}
.product-guide{padding-top:0}
.product-guide>h1{font-size:clamp(36px,4.2vw,56px);line-height:1.2;max-width:1100px;margin-bottom:24px}
.product-guide-group>h2{font-size:28px}
.product-entry{scroll-margin-top:24px;display:flex;flex-direction:column}
.product-entry h3{font-size:24px;line-height:1.35;margin-bottom:20px}
.product-entry li{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:12px}
.product-resource-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:auto}
.resource-hub-group{scroll-margin-top:24px}
.editorial-card[id],.catalog-group,.product-guide-group>h2{scroll-margin-top:24px}
.resource-hub-group+.resource-hub-group{margin-top:48px}
.resource-hub-group>p{font-size:18px;line-height:1.7;max-width:900px;margin:16px 0 24px}
.resource-hub-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resource-hub-links>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:20px 24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--accent);font-size:16px;font-weight:600;line-height:1.5}
.resource-hub-links>a>span{flex-shrink:0}
.resource-hub-links>a:hover{background:var(--panel-light);border-color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.product-resource-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.product-tags>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;color:var(--accent);font-size:14px;font-weight:600;line-height:1.5}
.product-tags>a:hover{border-color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.hero-planning{margin:0;min-width:0;border-radius:12px;overflow:hidden;background:#f3f6f8;box-shadow:0 12px 32px #1023420a}
.hero-planning img{display:block;width:100%;height:460px;object-fit:cover}
.capability-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:10px;background:#eef5fc;color:#0078d4;margin-bottom:20px}
.capability-icon svg{display:block;width:28px;height:28px;fill:currentColor}
.icon-label{display:flex;align-items:center;gap:16px;margin-bottom:20px;min-width:0}
.icon-label>.capability-icon{margin:0}
.icon-label>p{margin:0;min-width:0}
.ai-focus-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sector-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
html{scroll-padding-top:var(--header-scroll-offset,112px)}
.site-header{position:sticky;top:0}
.home-service{padding:28px}
.home-service:hover{box-shadow:var(--shadow16)}
@media screen{
  :is(.service-card,.platform-group,.ai-focus-card,.catalog-card,.engagement-card,.source-entry,.use-case,.provider-card,.react-finder-result,.article-aside,.resource-hub-links>a,.capability-links>a,.home-resources>a):is(:hover,:focus-within){outline:2px solid var(--accent);outline-offset:0}
}
.home-service .card-link{min-height:64px;line-height:1.5}
.home-service .card-link>span{flex-shrink:0}
.home-service .card-link:hover{text-decoration:underline;text-underline-offset:4px}
.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}
.provider-card{padding:24px;border:1px solid var(--colorBrandStroke2);border-radius:8px;background:var(--panel-light);margin-bottom:24px}
.provider-card h2{font-size:24px!important}
.provider-card .button{white-space:normal}
.service-selector{padding-top:32px}
.service-switch{display:flex;gap:8px;flex-wrap:wrap}
.service-switch button{padding:12px 18px;min-height:44px;font-size:14px;font-weight:600;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:4px}
.service-switch button[aria-pressed="true"]{background:var(--colorBrandBackground);border-color:var(--colorBrandBackground);color:#fff}
.service-switch button:hover:not([aria-pressed="true"]){background:var(--panel-light)}
.service-selector>p{font-size:14px;margin:16px 0 0}
.engagement-finder{padding:32px;border:1px solid var(--colorBrandStroke2);border-radius:8px;background:var(--panel-light);margin-bottom:40px}
.engagement-finder h2{font-size:28px;margin-bottom:16px}
.finder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}
.finder-fields>div{min-width:0}
.finder-fields label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.finder-fields select{width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 12px;background:#fff;color:var(--text);border:1px solid #8a8886;border-radius:4px;font:inherit}
.finder-result{margin-top:24px;padding:24px;border:1px solid var(--colorBrandStroke2);border-radius:6px;background:#fff}
.finder-result h3{font-size:24px;margin-bottom:16px}
.engagement-card.is-recommended{border-color:var(--colorBrandBackground);box-shadow:0 0 0 1px var(--colorBrandBackground)}
.product-entry.is-highlighted{border-color:var(--colorBrandBackground);box-shadow:0 0 0 1px var(--colorBrandBackground)}
.editorial-card.is-highlighted{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.article-meta time{display:block;color:var(--muted)}
.service-blueprint{margin-top:40px;padding:32px;border:1px solid #dfe4eb;border-radius:12px;background:#fafbfd}
.blueprint-heading h2{font-size:24px;line-height:1.4;margin-bottom:12px}
.blueprint-heading>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:820px;margin-bottom:24px}
.blueprint-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.blueprint-flow li{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #dfe4eb;border-radius:8px;padding:20px}
.blueprint-number{display:grid;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;color:#44546a;background:#f0f3f7;border-radius:50%;margin-bottom:16px}
.blueprint-flow h3{font-size:18px;line-height:1.4;margin-bottom:12px}
.blueprint-flow p{font-size:14px;line-height:1.7;margin-bottom:20px}
.blueprint-context{font-size:12px;line-height:1.6;color:#536373;border-top:1px solid #e8ebf0;padding-top:12px;margin-top:auto;width:100%}
.blueprint-note{font-size:13px;line-height:1.7;margin:24px 0 0;color:#616975}
.service-blueprint+.outcome-strip{margin-top:32px}
.use-case-requirements{border-block:1px solid var(--line);margin:0 0 24px}
.use-case-requirements summary{padding:14px 0;font-size:14px;font-weight:600;cursor:pointer;color:var(--accent)}
.use-case-requirements p{padding:0 0 16px;margin:0}
.source-entry h2{font-size:24px;margin-bottom:16px}
.nav-entry{display:flex;align-items:center}
.nav-fallback{padding-block:12px;color:var(--text)}
.nav-trigger,.site-header .nav-direct:not(.button){display:flex;align-items:center;min-height:44px;padding:10px 12px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;font-weight:500}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"],.site-header .nav-direct:not(.button):hover{background:#eff4fa;color:var(--accent)}
.nav-trigger[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.nav-panel{position:absolute;top:100%;left:0;right:0;z-index:30;padding:28px;background:#fff;border:1px solid #dfe4eb;border-radius:0 0 10px 10px;box-shadow:var(--shadow16);max-height:calc(100vh - 110px);overflow:auto}
.nav-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e8ebf0}
.nav-panel-heading h2{font-size:20px;margin:0}
.nav-panel-heading>a{font-size:14px;font-weight:600;color:var(--accent);padding-block:8px}
.nav-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.nav-column h3{font-size:17px;line-height:1.5;margin:0 0 12px}
.nav-column h3 a{color:var(--accent)}
.nav-column ul{list-style:none;margin:0;padding:0}
.nav-column li a{display:block;min-height:44px;padding:10px 12px;border-radius:4px;font-size:14px;line-height:1.7;color:var(--text)}
.nav-column li a:hover{background:#f2f6fb;color:var(--accent)}
.nav-column a[aria-current]{background:#eff6fc;color:var(--accent);font-weight:600}
@media(max-width:1000px){.hero{gap:32px}.provider-grid{grid-template-columns:1fr}.blueprint-flow{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.hero-planning img{height:400px}}
@media(max-width:760px){.hero{display:block}.hero-planning{margin-top:32px}.hero-planning img{height:300px}}
@media(max-width:900px){
  .resource-hub-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.navigation-open{overflow:hidden}
  .js #primary-nav{position:absolute;top:100%;left:0;right:0;width:auto;padding:12px 16px;background:#fff;border:1px solid #dfe4eb;border-radius:0 0 8px 8px;box-shadow:var(--shadow16);max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow:auto;overscroll-behavior:contain}
  .nav-entry{display:block;width:100%}
  .nav-trigger,.site-header .nav-direct:not(.button){width:100%;min-height:48px;padding:14px 12px;border-top:1px solid #e6e6e6;border-radius:0;font-size:16px;text-align:left}
  .nav-panel{position:static;max-height:none;overflow:visible;padding:16px 12px 24px;border:0;border-radius:0;box-shadow:none}
  .nav-panel-heading{justify-content:flex-start;margin-bottom:16px;padding-bottom:12px}
  .nav-panel-heading h2{display:none}
  .nav-columns{grid-template-columns:1fr;gap:24px}
  .nav-column ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
}
@media(max-width:600px){
  .resource-hub-links{grid-template-columns:1fr}
  .platform-grid{grid-template-columns:1fr}
  .platform-group{padding:24px}
  .home-hero .hero-description{font-size:18px}
  .hero{gap:32px}.hero h1{font-size:40px}
  .home-service{padding:24px}
  .service-switch{display:grid;grid-template-columns:1fr 1fr}.service-switch button{text-align:left;padding:12px}
  .engagement-finder{padding:24px}.finder-fields{grid-template-columns:1fr;gap:16px}
  .finder-result{padding:20px}.provider-card{padding:20px}
  .service-blueprint{padding:24px;margin-top:28px}.blueprint-flow{grid-template-columns:1fr}
  .nav-column ul{grid-template-columns:1fr}
  .ai-focus-cards,.sector-hub-grid{grid-template-columns:1fr}
}
@media screen{
  .site-header nav{font-size:16px}
  .brand-sub{font-size:11px}
  .button,.secondary-button{font-size:16px;line-height:24px;min-height:48px}
  .text-link,.card-link,.source-entry a,.practice-nav,.faq-list a,
  .contact-aside>a,.article-aside a,
  .nav-panel-heading>a,.nav-column li a,
  .catalog-status,.catalog-group .section-heading>p,.use-case-links a,
  .blueprint-flow p,.artifact-list span,.outcome-strip span,.measure,.service-next aside>p{
    font-size:16px;line-height:1.65;
  }
  .eyebrow,.card-kicker,.hero .eyebrow,.icon-label>.eyebrow,.icon-label>.card-kicker{font-size:18px;line-height:1.5}
  .hero-footnote,
  .product-tags>span,.product-tags>a,.section-note,.engagement-card dt,.approach-grid article>span,
  .capability-links>a>span,.blueprint-number,.blueprint-context,.blueprint-note,
  .footer-bottom,.footer-bottom p,.breadcrumbs{
    font-size:14px;line-height:1.65;
  }
  .article-meta{font-size:14px!important}
  .article-body p,.article-body li{font-size:16px;line-height:1.8}
  .brief-sheet p,.brief-sheet li{font-size:16px;line-height:1.7}
  .brief-sheet .brief-kicker,.brief-sheet .brief-disclosure{font-size:14px}
  .brief-sheet .brief-platforms,.not-found .error-disclosure{font-size:14px!important}
  .footer-directory nav a{font-size:16px;line-height:1.5;min-height:44px;padding-block:10px}
  .nav-panel-heading>a,.nav-column h3 a,.use-case-links a,.breadcrumbs a{
    display:inline-flex;align-items:center;min-height:44px;
  }
  .nav-fallback{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
  .breadcrumbs a{min-width:44px}
  .nav-column li a{min-height:48px}
  .nav-column h3{font-size:18px}
  .use-case-requirements summary{font-size:16px;min-height:48px}
}
@media screen and (max-width:900px){
  .nav-trigger,.site-header .nav-direct:not(.button){font-size:18px;min-height:52px}
}
.personal-profile{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;padding-block:56px}
.profile-portrait{margin:0;background:var(--panel-light);border:1px solid var(--line);border-radius:24px 24px 72px 24px;overflow:hidden}
.profile-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.profile-portrait figcaption{padding:20px 28px;font-size:20px;font-weight:600}
.profile-portrait figcaption span{display:block;font-size:16px;font-weight:400;color:var(--muted)}
.profile-story{min-width:0}
.profile-story h2{margin-bottom:20px}
.profile-story>p:not(.eyebrow){font-size:18px;line-height:1.75}
.profile-interests{padding:20px 24px;margin-block:24px;border-left:3px solid var(--accent);background:var(--panel-light);border-radius:0 16px 16px 0}
.profile-interests h3{font-size:18px;margin-bottom:8px}
.profile-interests ul{padding-left:20px;margin:0;color:var(--muted)}
.profile-interests li+li{margin-top:6px}
.profile-story .button{white-space:normal}
.contact-person{display:inline-flex;align-items:center;gap:12px;margin-top:20px;min-height:48px;color:var(--accent);font-weight:600}
.contact-person img{border-radius:50%;object-fit:cover}
.contact-person:hover{text-decoration:underline;text-underline-offset:4px}
.contact-layout>div{min-width:0}
@media screen and (max-width:900px){
  .site-header{width:100%;max-width:none;margin:0;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));min-height:76px}
  .site-header>.brand{min-width:0}
  .site-header>.brand>span:last-child{white-space:nowrap}
  .js #primary-nav{max-height:calc(100dvh - var(--header-height,76px))}
  /* Embedded form focus and validation must never sit beneath a sticky header. */
  body:has([data-react-contact]) .site-header{position:relative}
  .personal-profile{gap:32px}
  .services-hero{padding-block:8px 16px}
  .services-hero .breadcrumbs{margin-bottom:8px}
  .services-hero .eyebrow{display:none}
  .services-hero h1{font-size:34px;line-height:1.15;margin-bottom:10px;max-width:560px}
  .services-hero>p:last-child{font-size:16px;line-height:1.5}
}
@media screen and (max-width:600px){
  .personal-profile{grid-template-columns:1fr;padding-block:28px 40px;gap:28px}
  .profile-portrait{max-width:400px;width:100%;margin-inline:auto}
  .profile-portrait img{max-height:340px;object-position:center 35%}
  .profile-portrait figcaption{padding:16px 24px}
  .profile-story>p:not(.eyebrow){font-size:16px;line-height:1.7}
  .profile-story h2{font-size:30px}
  .about-hero,.contact-hero{padding-block:12px 24px}
  .about-hero h1,.contact-hero h1{font-size:34px}
  .contact-hero>p:not(.eyebrow){font-size:16px;margin-bottom:0}
}
