/* Readability and interaction refinements for the approved light/dark layout. */
.astra-site{font-size:16px;line-height:1.7}
.astra-site .eyebrow,.astra-site .section-label{font-size:12px;line-height:1.6;letter-spacing:.085em}
.astra-site .small,.astra-site .demo-note{font-size:13px;line-height:1.7}
.astra-site .section-intro>p:not(.eyebrow),.astra-site .service-list p,
.astra-site .process-list p,.astra-site .industry-stories p:not(.eyebrow),
.astra-site .values-grid p:not(.eyebrow),.astra-site .regional-note>p:not(.eyebrow),
.astra-site .employment-models p,.astra-site .legal-copy p,.astra-site .legal-content p,
.astra-site .prose>p,.astra-site .faq-list details>p{font-size:16px;line-height:1.8}
.astra-site .button,.astra-site .text-link,.astra-site .line-link{font-size:14px}
.astra-site .button{min-height:48px}
.astra-site .breadcrumbs{font-size:13px;line-height:1.6;flex-wrap:wrap;align-items:center}
.astra-site .breadcrumbs>a{display:inline-flex;align-items:center;min-height:44px}
.astra-site .service-list h3,.astra-site .scope-list h3,.astra-site .b2b-task-grid h3{overflow-wrap:anywhere;hyphens:auto}
.astra-site .section-title-row>p,.astra-site .b2b-section>p,.astra-site .b2b-discovery>p,
.astra-site .industry-stories>article>div>p:not(.eyebrow),.astra-site .legal-content>p,
.astra-site .legal-copy>p,.astra-site .legal-copy>ul,.astra-site .prose>p{max-width:78ch}
.astra-site .editorial-photo figcaption{font-size:12px;line-height:1.5}
.astra-site .index,.astra-site .portal-total,.astra-site .job-detail>.eyebrow{color:#d40027}
.astra-site .index{font-size:13px}
.astra-site .mix-collaboration .index{color:#ff657f}
.astra-site .b2b-contact .button:focus-visible,.astra-site .mix-hero .button:focus-visible,
.astra-site .site-footer a:focus-visible,.astra-site .site-footer button:focus-visible,
.astra-site .demo-header a:focus-visible,.astra-site .demo-header button:focus-visible,
.astra-site .demo-header summary:focus-visible{outline:3px solid #fff;outline-offset:5px}
.astra-site .portal-apply-sticky .button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.portal-detail .apply-panel>[data-portal-apply-visible]{margin:26px 0 15px}
.portal-detail .apply-panel>[data-portal-apply-visible]>.button{width:100%}

/* Two audiences stay distinct; the enquiry is directly available inside the mobile menu. */
.astra-site .desktop-nav{font-size:14px;gap:18px}
.astra-site .desktop-nav>a,.astra-site .desktop-nav summary{min-height:48px;display:flex;align-items:center}
.astra-site .nav-dropdown strong{font-size:14px}
.astra-site .nav-dropdown small{font-size:13px}
.astra-site .header-inquiry{background:var(--red);color:#fff;padding:12px 16px;min-height:46px;font-size:14px;gap:10px}
.astra-site .header-inquiry>span{color:#fff}
.astra-site .header-inquiry:hover{background:#c90026;text-decoration:none}
.astra-site .header-jobs{font-size:14px;min-height:46px;padding:11px 14px;gap:12px}
.astra-site .header-actions{gap:12px}
.astra-site .header-inner{gap:22px}
.mobile-nav-actions{display:grid;gap:14px;padding:26px 0 max(30px,env(safe-area-inset-bottom));max-width:600px}
.astra-site .mobile-nav-actions .button{font-size:16px;min-height:52px;width:100%}
.astra-site .mobile-nav-actions .mobile-jobs{color:white;background:transparent;border:1px solid #ffffff70}
.astra-site .mobile-phone{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:60px;font-size:21px;margin-top:5px}
.mobile-phone>span{font-size:14px;color:#c0c9cc}
body.menu-open{overflow:hidden}

/* Footer links remain discreet, with room for fingers and keyboard focus. */
.astra-site .footer-grid p,.astra-site .footer-grid strong,.astra-site .footer-grid .small,
.astra-site .footer-grid>nav>a,.astra-site .footer-grid>div>a:not(.brand),.astra-site .footer-bottom{font-size:13px}
.astra-site .footer-grid>nav>a,.astra-site .footer-grid>div>strong>a,
.astra-site .footer-grid>div>a:not(.brand),.astra-site .footer-bottom nav>a,
.astra-site .footer-bottom .footer-privacy{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.astra-site .footer-bottom nav{gap:4px 24px;align-items:center}
.astra-site .footer-grid>div>strong:not(:first-child){margin-top:14px}
.astra-site .footer-grid>div>strong+p{margin-top:0}

/* The homepage gives each topic one chapter instead of repeating the company page. */
.mix-home .audience-band a{padding-block:30px}
.mix-home .audience-band a>span:first-child{font-size:12px}
.mix-home .audience-band p{font-size:16px;line-height:1.65}
.mix-home .home-jobs{padding-block:60px}
.mix-home main>.split-section:not(.home-jobs){padding-block:60px}
.mix-home .service-list>a{padding-block:22px}
.mix-home .work-worlds{padding-block:55px}
.mix-home .world-link{font-size:25px;padding-block:17px;min-height:60px}
.mix-home .regional-note{padding-block:48px}
.mix-home .regional-note>p:not(.eyebrow){max-width:68ch}
.mix-home .mix-hero-location{font-size:13px}
.mix-home .mix-hero-location strong{font-size:13px}
.mix-home .mix-hero-visual figcaption{font-size:12px;line-height:1.5}

@media(min-width:1101px) and (max-width:1260px){
  .astra-site .desktop-nav{font-size:13px;gap:12px!important}
  .astra-site .header-inner{gap:14px!important;padding-inline:30px}
  .astra-site .header-inquiry{font-size:13px;padding-inline:12px;gap:7px}
  .astra-site .header-jobs{font-size:13px;padding-inline:11px!important;gap:9px}
  .astra-site .header-actions{gap:9px!important}
  .astra-site .brand>span{font-size:18px}
  .astra-site .brand>span>span{font-size:15px}
}
@media(max-width:1100px){
  .astra-site .desktop-nav{display:none}
  .astra-site .menu-toggle{display:block;flex:0 0 44px}
  .astra-site .header-inner{height:82px}
  .astra-site .header-inquiry{display:inline-flex}
  .astra-site .mobile-nav{position:fixed;top:var(--fine-menu-top,82px);bottom:0;left:0;right:0;width:100%;max-width:none;height:calc(100dvh - var(--fine-menu-top,82px));max-height:calc(100dvh - var(--fine-menu-top,82px));padding:10px 38px max(25px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:none;border-bottom:0;scroll-padding-block:16px}
  .astra-site .mobile-nav>a,.astra-site .mobile-nav summary{font-size:23px;min-height:58px;padding-block:13px}
  .astra-site .mobile-nav .nav-dropdown a{padding:14px 12px;min-height:48px}
  .astra-site .mobile-nav .nav-dropdown strong{font-size:16px}
  .astra-site .mobile-nav .nav-dropdown small{font-size:13px}
  .mix-home .home-jobs{grid-template-columns:minmax(0,1fr);gap:30px}
  .mix-home .home-jobs .section-intro{max-width:650px}
  .mix-home .home-jobs .section-intro h2 br{display:none}
  .mix-home .home-jobs .section-intro h2{margin-top:12px}
  .mix-home .home-jobs .section-intro>p:not(.eyebrow){margin-top:16px}
  .mix-home .home-jobs .section-intro>.text-link{margin-top:14px}
  .astra-site .b2b-section-intro,.astra-site .b2b-two-col{grid-template-columns:minmax(0,1fr);gap:25px}
  .astra-site .b2b-section-intro>p{max-width:70ch}
  .astra-site .employment-models{grid-template-columns:repeat(2,minmax(0,1fr))}
  .astra-site .employment-models>.section-intro{grid-column:1/-1}
}
@media(min-width:701px) and (max-width:900px){
  .astra-site .split-section{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:55px}
  .astra-site .split-section>.section-intro{max-width:650px}
  .astra-site .split-section>.section-intro h2 br{display:none}
  .astra-site .values-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .astra-site .values-grid h2{font-size:32px;margin:15px 0}
  .astra-site .values-grid p:not(.eyebrow){max-width:70ch}
  .astra-site .page-hero.with-image{grid-template-columns:1.2fr .8fr;gap:26px}
  .astra-site .page-hero.with-image h1{font-size:44px}
  .astra-site .page-hero.with-image .actions{align-items:flex-start;flex-direction:column;gap:14px}
  .astra-site .b2b-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .astra-site .b2b-contact-inner{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:700px){
  .astra-site .header-inner{height:76px;padding-inline:20px;gap:12px}
  .astra-site .header-inquiry{display:none}
  .astra-site .header-actions{gap:6px}
  .astra-site .header-jobs{font-size:13px;padding:10px;gap:8px}
  .astra-site .header-jobs>span{font-size:18px}
  .astra-site .mobile-nav{padding-inline:23px;top:var(--fine-menu-top,76px);height:calc(100dvh - var(--fine-menu-top,76px));max-height:calc(100dvh - var(--fine-menu-top,76px))}
  .astra-site .mobile-nav>a,.astra-site .mobile-nav summary{font-size:21px}
  .astra-site .eyebrow{font-size:12px}
  .astra-site .page-hero .breadcrumbs{font-size:12px;margin-bottom:20px}
  .astra-site .section-intro h2{font-size:34px}
  .astra-site .button{gap:20px;padding-inline:19px}
  .astra-site .text-link,.astra-site .line-link{gap:18px}
  .astra-site .employment-models{grid-template-columns:minmax(0,1fr)}
  .astra-site .footer-grid{gap:24px}
  .astra-site .footer-bottom nav{gap:4px 20px}
  .astra-site .footer-bottom{gap:12px}
  .mix-home .audience-band a,.mix-home .audience-band a+a{padding-block:24px}
  .mix-home .audience-band h2{font-size:26px}
  .mix-home .audience-band p{font-size:15px;max-width:32ch}
  .mix-home .home-jobs,.mix-home main>.split-section:not(.home-jobs){padding-block:44px}
  .mix-home .home-jobs .section-intro h2{font-size:34px}
  .mix-home .service-list>a{padding-block:20px}
  .mix-home .service-list h3{font-size:22px}
  .mix-home .service-list p{font-size:15px;margin-top:6px}
  .mix-home .work-worlds{padding-block:44px}
  .mix-home .worlds-photos{grid-template-columns:1fr 1fr;gap:14px}
  .mix-home .worlds-photos .editorial-photo:first-child,.mix-home .worlds-photos .editorial-photo:last-child{height:190px;margin:0}
  .mix-home .world-link{font-size:22px;padding-block:15px;min-height:54px}
  .mix-home .regional-note{padding-block:38px}
  .mix-home .regional-note h2{font-size:32px}
  .mix-home .mix-hero-location{font-size:13px}
  .mix-home .mix-hero-visual figcaption{font-size:11px}
}
@media(max-width:360px){
  .astra-site .header-inner{padding-inline:14px;gap:8px}
  .astra-site .header-actions{gap:3px}
  .astra-site .header-jobs{font-size:12px;padding-inline:9px;gap:7px}
  .astra-site .brand{gap:7px}
  .astra-site .header-inner .brand>img{width:22px;height:38px}
  .astra-site .header-inner .brand>span{font-size:17px}
  .astra-site .header-inner .brand>span>span{font-size:14px}
  .astra-site .mobile-nav{padding-inline:20px}
  .mix-home .worlds-photos .editorial-photo:first-child,.mix-home .worlds-photos .editorial-photo:last-child{height:170px}
}
