/* Semantology mobile and accessibility refinement, release candidate v8. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:7rem}
body{min-width:320px}
img,svg{max-width:100%}
.button,.nav a,.menu-button{touch-action:manipulation}
@media(max-width:720px){
  .nav{position:absolute;padding:0 1.15rem;height:88px}
  .nav .brand-lockup{width:168px;height:76px}
  .nav .brand-lockup img{top:-31px}
  .menu-button{min-width:48px;min-height:44px}
  .nav nav{top:88px;padding:1.25rem;gap:.15rem;box-shadow:0 24px 70px rgba(0,0,0,.55)}
  .nav nav a{width:100%;padding:.9rem 0;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav nav .nav-cta{margin-top:.7rem;text-align:center;border:1px solid rgba(255,255,255,.3)}
  .hero{min-height:100svh;padding:9.5rem 1.25rem 4.5rem;display:flex;flex-direction:column;justify-content:center}
  .hero h1,.page-hero h1{font-size:clamp(2.7rem,11.5vw,3.2rem);line-height:.96;letter-spacing:-.055em;margin-top:3rem;max-width:100%;overflow-wrap:normal}
  .hero-bottom{margin:3.5rem 0 0;gap:2rem}
  .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .hero-actions .button{width:100%;padding:.85rem .65rem}
  .semantic-field{width:29rem;height:29rem;right:-20rem;top:21%}
  .section-label{gap:1rem}
  .thesis,.offerings,.omni,.knowledge-preview,.field-experience,.careers,.contact,.knowledge-library,.transformation-statement,.role-directory{padding:5.5rem 1.25rem}
  .thesis h2,.offer-heading h2,.contact h2,.knowledge-heading h2,.careers h2{font-size:clamp(2.65rem,12vw,4.3rem);line-height:.98}
  .two-col{margin-top:2.5rem}
  .offer-heading,.knowledge-heading,.careers-body,.contact-body{margin-top:3rem;gap:2.5rem}
  .offer-group{margin-top:3.5rem}
  .offer-feature,.offer-list.expanded article{padding:1.65rem 0;gap:1rem}
  .offer-feature h3,.offer-list h3{font-size:1.65rem;line-height:1.1}
  .offer-feature h4,.offer-list h4{line-height:1.4}
  .offer-feature>a,.offer-list.expanded article>a{min-height:44px;display:flex;align-items:center}
  .omni-card{min-height:38rem;margin-top:3rem;padding:1.3rem}
  .omni-top{gap:1rem}.omni-top span:last-child{text-align:right}
  .omni-body{margin-top:5rem;gap:2.4rem}.omni-body h2{font-size:clamp(5rem,26vw,8rem)}
  .omni-sub{font-size:1.35rem;margin-top:1.1rem}
  .omni-bottom{left:1.3rem;right:1.3rem}
  .knowledge-heading .button{justify-self:start}
  .article-card{min-height:20rem;padding:1.5rem}
  .field-experience .field-grid article{min-height:17rem;padding:1.5rem;grid-template-rows:auto auto 1fr}
  .field-experience .field-grid h3{font-size:1.65rem}
  .role-list a{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .contact-body .button{width:100%}
  .hq-address{line-height:1.7}
  footer{padding:2.5rem 1.25rem}.footer-links{gap:1.25rem}
  .page-hero{min-height:auto;padding:11rem 1.25rem 5rem}
  .page-hero>p:last-child{font-size:1.05rem}
  .knowledge-tools{gap:2rem}.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.35rem;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{white-space:nowrap;min-height:44px}
  .article-page>article{padding:10rem 1.25rem 5rem}
  .article-page h1{font-size:clamp(3rem,14vw,5rem);line-height:.95}
  .article-meta{margin:3rem 0 1.5rem}.article-dek{font-size:1.08rem}
  .article-body{margin-top:5rem;padding-top:3rem}.article-body aside{border-bottom:1px solid var(--line);padding-bottom:2rem}.article-body section{margin-bottom:3rem}.article-body section p{font-size:1rem}
  .takeaway{padding-left:1.25rem}.takeaway p{font-size:1.3rem!important}
  .job-hero{padding:10rem 1.25rem 4.5rem}.job-hero .back-link{margin-bottom:2.5rem}.job-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.job-summary{font-size:1.05rem}
  .job-content{padding:4.5rem 1.25rem 6rem;gap:3rem}.job-main section{padding-bottom:2.75rem;margin-bottom:2.75rem}.application-panel{padding:1.5rem}
  .legal-page{padding:10rem 1.25rem 5rem}.legal-page h1{font-size:clamp(3rem,15vw,5rem);margin:2.5rem 0}
}
@media(max-width:390px){
  .hero-actions{grid-template-columns:1fr}
  .hero h1,.page-hero h1{font-size:clamp(2.55rem,11vw,2.95rem)}
  .nav .brand-lockup{width:150px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
