/* Cobalt light, mint highlights and editorial depth. Progressive enhancement only. */
body :is(.home-hero, .case-hero, .about-intro, .hero:not(.edu-hero)) {
  background: radial-gradient(ellipse at 95% 10%, #b8dbff 0, transparent 48%), radial-gradient(ellipse at 70% 100%, #bcebdd 0, transparent 44%), linear-gradient(120deg, #f8fbff 25%, #e7efff 100%) !important;
}
body .home-hero.motion-hero {
  background: radial-gradient(ellipse at 100% 0, #a7cbff 0, transparent 47%), radial-gradient(ellipse at 60% 110%, #a8e2d2 0, transparent 44%), linear-gradient(120deg, #f9fbff 25%, #e4eeff) !important;
}
body :is(.home-hero,.hero:not(.edu-hero))::before { background: linear-gradient(105deg,rgba(248,251,255,.5),rgba(248,251,255,.14) 55%,transparent) !important; }
body :is(.section.band,.reference-method,.about-values) { background: radial-gradient(ellipse at 0 100%,#d5efe7 0,transparent 45%),linear-gradient(120deg,#eff5ff,#e8f0ff) !important; }
body :is(.cta-band,.final-cta) { border-color: #b5ceef; box-shadow: 0 24px 70px -35px rgba(28,66,140,.4); }
body .motion-hero__ambient::before {
  background-size: 72px 72px;
  opacity: .9;
  animation: cobslab-grid-drift 4s ease-out both;
}
body .motion-hero__ambient::after {
  width: clamp(380px, 68vw, 980px);
  background: radial-gradient(ellipse at 64% 40%, rgba(36,87,214,.22), rgba(72,185,134,.17) 32%, transparent 64%);
  animation: cobslab-orb-breathe 4s ease-out both;
}
body :is(.home-hero h1 span, .case-hero h1 span, .about-intro h1 span) {
  color: #2457d6 !important;
}
@supports (background-clip: text) {
  body :is(.home-hero h1 span, .case-hero h1 span, .about-intro h1 span) {
    background: linear-gradient(110deg, #173db7 5%, #276edc 48%, #147961 95%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
  }
}
body .home-hero__visual, body .reference-hero-media {
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 34px 90px -25px rgba(22,59,155,.42), 0 0 0 9px rgba(255,255,255,.25);
}
body .home-hero__visual figcaption {
  background: linear-gradient(135deg, #10274c, #154781) !important;
  color: #fff !important;
}
body .home-hero__visual figcaption :is(b, a) { color: #fff !important; }
body .home-hero__visual figcaption span { color: #b5efd9 !important; }
.motion-section-line { width: min(320px, 40vw); height: 3px; }
.motion-section-head::after { width: 80px; background: linear-gradient(90deg,#2457d6,#35b98a); }
body :is(.service-card,.program-card,.reference-method-card,.reference-topic-card,.detail-deliverable) {
  border-radius: 22px;
  border-color: #cedded;
  background: linear-gradient(145deg,#fff 58%,#edf5ff) !important;
  box-shadow: 0 16px 44px -24px rgba(28,66,131,.28);
}
body :is(.cta-box,.about-cta,.edu-cta) {
  background: radial-gradient(ellipse at 100% 0,rgba(66,194,164,.32),transparent 60%),linear-gradient(115deg,#0b2454,#2056b5) !important;
  box-shadow: 0 28px 75px -36px rgba(23,58,135,.55);
}
body :is(.cta-box,.about-cta,.edu-cta) h2 { color: #fff !important; }
body :is(.cta-box,.about-cta,.edu-cta) p { color: #dce9ff !important; }
body :is(.cta-box,.about-cta,.edu-cta) :is(.cta,.btn) { background: #fff !important; color: #19489f !important; }
body .site-scroll-progress { height: 4px; background: linear-gradient(90deg,#2457d6 30%,#2fab94); }
body .motion-button { transition: box-shadow .25s ease, transform .25s ease; }
html.motion-ready :is(.motion-enter,.motion-media):focus-within { opacity: 1; translate: none; clip-path: none; }
body .home-hero__signal { font-size: .8125rem; animation-iteration-count: 1; animation-duration: 4s; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.6rem; color: #526785; font-size: .875rem; }
.breadcrumb a { color: #2457d6; text-decoration: none; }
.breadcrumb [aria-current] { color: #526785; }
.detail-scope { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(28px,5vw,72px); align-items: start; }
.detail-scope h2 { margin-top: 0; }
.detail-scope p { font-size: 1rem; line-height: 1.85; color: #536782; }
.detail-deliverables { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 32px; }
.detail-deliverable { padding: 28px; }
.detail-page .detail-subtitle { margin-top: 3rem; font-size: 1.4rem; }
.detail-page .faq { display: grid; gap: 12px; margin: 28px 0 36px; }
.detail-page .faq details { border: 1px solid #cedded; border-radius: 16px; padding: 20px 24px; background: #fff; }
.detail-page .faq summary { cursor: pointer; color: #203b61; font-weight: 750; }
.detail-page .faq p { line-height: 1.85; color: #536782; }
.detail-page .topic-links { display: flex; flex-wrap: wrap; gap: 12px; }
.detail-page .topic-links a { padding: 14px 20px; border: 1px solid #cfdaec; border-radius: 12px; color: #2457d6; background: #fff; }
body .program-card .program-detail { display: inline-flex; align-items: center; gap: 16px; margin-top: 20px; padding: 10px 0; color: #2457d6; font-weight: 750; }
body .motion-hero-visual { position: relative; border: 1px solid #c1d6f3; box-shadow: 0 30px 70px -28px rgba(22,59,155,.38); animation: cobslab-visual-arrive .8s cubic-bezier(.2,.65,.25,1) both; }
body .story-step { opacity: .72; }
body .story-step.is-active { opacity: 1; }
@keyframes cobslab-visual-arrive { from { opacity: .4; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
::view-transition-old(root) { animation-duration: 300ms; }
::view-transition-new(root) { animation-duration: 340ms; }
html.motion-v3 .motion-hero__ambient::after { left: 50%; top: 36%; transform: translate(calc(-50% + var(--hero-offset-x, 0px)), calc(-50% + var(--hero-offset-y, 0px))); transition: transform 520ms cubic-bezier(.22,.72,.22,1); }
.detail-deliverable small { font-size: .875rem; color: #2457d6; font-weight: 800; }
.detail-deliverable h3 { font-size: 1.2rem; margin: 20px 0 12px; color: #17233b; }
.detail-deliverable p { margin: 0; line-height: 1.8; color: #536782; }
.detail-note { padding: 24px 28px; border-left: 3px solid #2c9b7c; background: #eaf6f2; color: #335c52; line-height: 1.8; }
.detail-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; list-style: none; padding: 0; margin-top: 30px; }
.detail-steps li { border-top: 2px solid #2457d6; padding: 22px 0; }
.detail-steps b { font-size: 1.15rem; color: #1e3961; }
.detail-steps p { line-height: 1.8; color: #536782; }
.detail-page .hero h1 { max-width: 1000px; word-break: keep-all; }
.detail-page .hero .lead { max-width: 780px; }
.detail-page .section h2 { font-size: clamp(1.9rem,3.5vw,3rem); word-break: keep-all; }
.course-track-panel:focus-visible { outline: 3px solid #245bda; outline-offset: 6px; }
@media (hover:hover) and (pointer:fine) {
  body .motion-lift:hover { transform: translateY(-7px); box-shadow: 0 24px 55px -22px rgba(25,73,157,.3); border-color: #7da9e3; }
  body .motion-button:hover { box-shadow: 0 12px 28px -12px rgba(30,70,151,.45); }
}
@media (max-width:760px) {
  .detail-scope,.detail-deliverables,.detail-steps { grid-template-columns: 1fr; }
  .detail-deliverables { gap: 12px; }
  .detail-deliverable { padding: 24px; }
  .detail-steps { gap: 0; }
  body .home-hero__visual,body .reference-hero-media { box-shadow: 0 24px 58px -24px rgba(22,59,155,.36); }
}
@media (prefers-reduced-motion:reduce) {
  .motion-v3 *, .motion-v3 *::before, .motion-v3 *::after { animation: none !important; scroll-behavior: auto !important; }
  body .motion-lift:hover { transform: none; }
}
