/* Extend COBSLAB's established light / cobalt palette. */
html { scroll-padding-top: 110px; }
body { word-break: keep-all; overflow-wrap: anywhere; }
:where(button, input, select, textarea, a):focus-visible { outline: 3px solid #2454db; outline-offset: 4px; }
:where(.btn-primary,.btn-secondary,.cta,.ghost,.nav-cta,.answer-item summary) { min-height: 48px; }
.card p,.service-card p,.career-role-card p,.career-list li,.career-info-card span,.process-step p { font-size: 1rem; line-height: 1.8; }
.home-hero { min-height: auto !important; padding: clamp(115px,11vw,158px) clamp(20px,4vw,64px) 64px !important; background: #f4f7ff !important; }
.home-hero::before,.home-hero::after { display: none !important; }
.home-hero__inner { max-width: 1280px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: clamp(28px,4vw,64px); align-items: center; }
.home-hero__copy { min-width: 0; max-width: none; }
body .home-hero h1 { font-size: clamp(2.25rem,4.1vw,3.75rem) !important; line-height: 1.24 !important; letter-spacing: -.045em !important; margin: 1.3rem 0 !important; }
.home-hero h1 span { margin-top: .15em !important; }
.home-hero__copy > p { font-size: 1.0625rem; line-height: 1.85; max-width: 40rem; }
.home-hero .home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.home-hero .home-actions a { padding: 15px 21px; font-size: 1rem; }
.home-hero .hero-contact-note { font-size: .875rem; line-height: 1.6; margin: 14px 0 0; color: #52617b !important; }
.home-hero .hero-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 28px; }
.home-hero .hero-metric { padding: 16px 0 0; background: transparent !important; border: 0 !important; border-top: 1px solid #d2dbea !important; border-radius: 0; box-shadow: none !important; }
.hero-metric b { font-size: 1rem; }
.home-hero .hero-metric span { font-size: .875rem; line-height: 1.65; margin-top: 6px; }
.home-hero__visual { margin: 0; min-width: 0; background: #fff; border: 1px solid #dce4f4; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 65px -32px rgba(28,65,138,.38); }
.home-hero__visual > img { display: block; width: 100%; height: auto; aspect-ratio: 1.14; object-fit: cover; object-position: 43% center; }
.home-hero__visual figcaption { padding: clamp(20px,2.6vw,32px); display: grid; gap: 12px; }
.home-hero__visual figcaption span { font-size: .875rem; font-weight: 600; color: #52617b; }
.home-hero__visual figcaption b { font-size: clamp(1.45rem,2vw,1.85rem); line-height: 1.4; color: #162845; }
.home-hero__visual figcaption a { font-size: .9375rem; color: #204ad1; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.logo-marquee:focus-within .logo-marquee__track,.logo-marquee:hover .logo-marquee__track { animation-play-state: paused; }
.contact-page .hero { padding-top: 64px; padding-bottom: 32px; }
.contact-page .hero h1 { font-size: clamp(2rem,4.6vw,3.6rem); line-height: 1.3; }
.contact-page .hero + .section { padding-top: 16px; }
.contact-page .form { gap: 20px; max-width: none; padding: clamp(20px,3vw,36px); border: 1px solid #d5deed; border-radius: 20px; background: #fff; box-shadow: 0 16px 48px -36px #1d3c81; }
.form-field { display: grid; gap: 8px; min-width: 0; align-content: start; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-field label { font-size: .9375rem; font-weight: 700; color: #24334c; }
.form-field :where(input,select,textarea) { margin: 0; min-width: 0; font-size: 1rem; border-color: #bac8dc !important; }
.form-field input::placeholder,.form-field textarea::placeholder { color: #6a7790 !important; }
.form-field textarea { min-height: 180px; resize: vertical; }
.form-field .field-note { margin: 0; font-size: .875rem; color: #52617b; line-height: 1.65; }
.contact-page .side-card { background: #edf3ff; border: 1px solid #d5e1f7; padding: 24px; }
.contact-page .side-card a { color: #204ad1 !important; overflow-wrap: anywhere; }
.contact-page .side-card h2 { font-size: 1.25rem !important; margin: 0 0 14px; }
.contact-page .side-card p { font-size: 1rem; }
.contact-page .captcha-wrap { margin: 0; }
.contact-page .form-status { color: #185b42; }
.contact-page .form-status.error { color: #a12424; }
.careers-page .career-role-grid { grid-template-columns: minmax(0,1fr); }
.careers-page .career-role-card { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; min-height: 0; }
.careers-page .career-role-card > :where(.role-tag,h3,p,.role-actions) { grid-column: 1 / -1; }
.careers-page .career-role-card > p { max-width: 52rem; }
.careers-page .careers-hero { padding-bottom: 64px; }
.lxp-preview [data-nosnippet],.demo-workspace { min-width: 0; }
@media (max-width: 1000px) {
  .home-hero__inner { grid-template-columns: minmax(0,1fr); max-width: 760px; }
  .home-hero__visual { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
  .home-hero__visual > img { aspect-ratio: 1.3; height: 100%; }
  .home-hero__visual figcaption { align-content: center; }
}
@media (max-width: 760px) {
  .top .nav { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 14px; padding: 12px 16px; }
  .top .nav > .brand { align-self: center; }
  .top .nav > .cta { grid-column: 2; grid-row: 1; max-width: 170px; overflow-wrap: anywhere; white-space: normal; font-size: .875rem; padding: 10px 12px; }
  .top .nav > .links { grid-row: 2; grid-column: 1 / -1; width: 100%; overflow-x: auto; padding: 5px 0; font-size: .875rem; gap: 20px; }
  .top .links .nav-item > a { min-height: 36px; }
  .home-hero { padding-top: 112px !important; padding-bottom: 40px !important; }
  .home-hero .home-actions { display: grid !important; grid-template-columns: 1fr; }
  .home-hero .home-actions a { width: 100%; }
  .home-hero__visual figcaption b { font-size: 1.25rem; }
  .home-hero__visual figcaption span { font-size: .875rem; }
  .contact-page .hero { padding-top: 40px; }
  .contact-page .contact-grid { grid-template-columns: 1fr; }
  .careers-page .career-role-card,.form-row { grid-template-columns: minmax(0,1fr); }
  .careers-page .career-role-card { gap: 20px; }
  .edu-hero .lead { font-size: 1rem !important; }
}
@media (max-width: 420px) {
  .home-hero__visual { grid-template-columns: 1fr; }
  .home-hero__visual > img { aspect-ratio: 1.6; }
  .home-hero__visual figcaption { padding: 20px; }
  .home-hero__visual figcaption b br { display: none; }
  .home-hero .hero-metrics { column-gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .logo-marquee__track,.logo-track { animation: none !important; }
  .logo-marquee__group[aria-hidden="true"] { display: none; }
  .logo-marquee__track,.logo-marquee__group { flex-wrap: wrap; width: auto !important; justify-content: center; }
  .reveal,.motion-enter { opacity: 1 !important; transform: none !important; transition: none !important; }
}
