/* One visual family: powder-blue light, navy depth and large pearl-white objects. */
.concentro-home {
  --paper: #fff; --ink: #132e4d; --muted: #58728e; --line: #dbe5ef;
  --accent: #346fb0; --accent-light: #edf4fb; --surface: #f5f7fa;
  --blue-glass: linear-gradient(155deg,#447fbf,#285b98);
  --poster-surface: linear-gradient(90deg,#05234766,transparent 70%),radial-gradient(ellipse at 100% 0%,#cdf2ff,#76b2ed 22%,transparent 61%),radial-gradient(ellipse at 5% -35%,#8fcfff,transparent 70%),linear-gradient(140deg,#3674c0,#071d40 81%);
  --object-shadow: 0 16px 30px #092a5224;
}

/* The opening uses a curved pool of blue light that dissolves into the page. */
.concentro-home .site-header { background: #03152ded; backdrop-filter: blur(16px); }
.concentro-home .site-header.is-scrolled { background: #ffffffed; }
.concentro-home .wordmark { flex-shrink: 0; gap: 0; }
.brand-logo { display: block; width: 172px; height: auto; color: #132e4d; }
.site-header:not(.is-scrolled) .brand-logo { color: #f4f8fd; }
.site-footer .brand-logo { width: 172px; }
.hero-stage { min-height: calc(100svh - 90px); padding: calc(var(--site-nav-height,88px) + 105px) 0 185px; }
.hero-art { background: radial-gradient(ellipse 43% 57% at 76% 50%,#a4c9fbf0 0%,#5392e6c7 35%,transparent 72%),#fff url('/assets/hero-aurora.svg') center / 100% 100% no-repeat; }
.hero-art::before { content: ''; position: absolute; z-index: 3; inset: 0; background: url('/assets/editorial-grain.svg'); opacity: .28; mix-blend-mode: soft-light; }
.hero-art::after { display: none; }
.hero-art .spatial-back { display: none; }
.spatial-haze-blue { width: 65%; left: -30%; top: 22%; background: radial-gradient(ellipse,#609edd55,transparent 70%); }
.spatial-haze-ice { width: 54%; height: 65%; top: -27%; right: -15%; background: radial-gradient(ellipse,#e3f8ff70,transparent 70%); }
.hero-preview { position: absolute; z-index: 2; top: 18%; right: max(32px,calc((100% - 1504px)/2)); width: min(49%,800px); margin: 0; mix-blend-mode: multiply; pointer-events: none; }
.hero-preview img { display: block; width: 100%; height: auto; }
.hero-copy { text-align: left; }
.hero-eyebrow { color: #f4f8fd; font-weight: 400; margin-bottom: 33px; }
.concentro-home .hero h1 { width: 66%; font-size: clamp(5rem,7.4vw,7.25rem); font-weight: 440; line-height: 1.1; }
.concentro-home .hero-description { max-width: min(30em,58%); color: #f4f8fd; margin-top: 35px; }
.concentro-home .hero-actions { justify-content: flex-start; gap: 16px; margin-top: 37px; }
.concentro-home :is(.hero,.closing) .hero-actions { max-width: 62%; }
.hero-foot { padding-right: 150px; }
.hero-route { color: #466585; }

/* Controls have a quiet top highlight, with no moving shine or inflated edge. */
.concentro-home .button { background: var(--blue-glass); border-color: #3269a4; color: #fff; box-shadow: 0 5px 14px #173f6b17; }
.concentro-home .button::before { opacity: .25; }
.concentro-home .button::after { display: none; }
.concentro-home .button:hover { background: #285d99; box-shadow: 0 7px 18px #173f6b23; transform: translateY(-1px); }
.concentro-home :is(.hero,.closing) .button { color: #17395e; border-color: #f6fbff; background: linear-gradient(160deg,#fff,#eef5fc); box-shadow: 0 8px 20px #061a3526; }
.concentro-home :is(.hero,.closing) .button:hover { background: #fff; }
.hero-course-link,.concentro-home .closing .button-outline { color: #fff; background: #12385e50; border: 1px solid #d2e5f17a; box-shadow: none; backdrop-filter: none; }
.hero-course-link:hover,.concentro-home .closing .button-outline:hover { color: #fff; background: #173e69aa; box-shadow: none; }
.concentro-home .text-link { background: #f7f9fc; color: #315f91; border-color: #dbe5ef; box-shadow: none; backdrop-filter: none; }
.concentro-home .text-link:hover { background: #edf3f9; border-color: #bacfe3; box-shadow: none; transform: translateY(-1px); }
.worksheet-visual figcaption a { color: #173a5f; background: #f8fbff; border: 1px solid #fff; box-shadow: none; backdrop-filter: none; }
.concentro-home .detail-toggle { background: #f0f5fa; color: #466d95; border-color: #d7e3ef; box-shadow: none; }
.concentro-home details[open] .detail-toggle { background: #346fb0; border-color: #346fb0; color: #fff; }
.concentro-home summary:hover,.concentro-home details[open] summary { color: #2f639e; }
.concentro-home .chat-launcher { background: #f9fbfff2; color: #315575; border-color: #d8e4ef; box-shadow: 0 5px 20px #153c6620; }
.concentro-home .chat-launcher:hover { background: #fff; box-shadow: 0 5px 20px #153c6620; }
.concentro-home .send-button { background: #346fb0; box-shadow: none; }
.concentro-home .icon-button { background: #eef3f9; box-shadow: none; }
.concentro-home dialog { --ink: #132e4d; --accent: #346fb0; --accent-light: #edf4fb; background: #fafcff; border-color: #dbe5ef; backdrop-filter: none; }

/* Teaching scenes breathe on white; their shaped artwork supplies the depth. */
.process-slide { grid-template-columns: 1fr 1.12fr; gap: 60px; padding: 30px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.process-art { width: 100%; max-width: 640px; aspect-ratio: 640 / 560; filter: none; justify-self: center; }
.process-label { color: #507399; }
.process-copy h3 { font-weight: 450; }
.process-controls { background: #f5f7fa; border-color: #e1e8f0; box-shadow: none; backdrop-filter: none; }
.process-controls button[aria-pressed="true"] { color: #fff; background: #346fb0; border-color: #346fb0; box-shadow: none; }
.concentro-home .program-grid,.concentro-home .course-facts { background: var(--surface); border: 0; border-radius: 24px; box-shadow: none; backdrop-filter: none; }
.program-grid::before,.course-facts::before { display: none; }
.program-grid dd,.fact-item > strong { color: #2b5f99; }
.product-window { background: #f7f9fc; border-color: #dbe5ef; box-shadow: var(--object-shadow); border-radius: 24px; }
.hero-product::before { background: radial-gradient(ellipse,#bbd7ed4d,transparent 66%); }

/* Shaped artwork sits directly on the page, with space around lighter subjects. */
.curriculum-poster { background: var(--poster-surface); }
.course-visual { border: 0; border-radius: 24px; background: var(--surface); box-shadow: none; }
.course-visual::before { display: none; }
.worksheet-visual { background: var(--poster-surface); }
.worksheet-visual .visual-label > span,.worksheet-visual figcaption { color: #dbeafb; }
.worksheet-visual .visual-label > strong { color: #fff; font-weight: 440; }
.worksheet-paper { border-color: #fff; box-shadow: 9px 20px 30px #04193240; }
.worksheet-paper:hover { border-color: #fff; box-shadow: 9px 24px 35px #04193240; }
.publishing-visual { background: transparent; }
.publishing-visual > img { width: 100%; margin-block: 10px 22px; }
.between-classes { background: var(--poster-surface); border: 0; border-radius: 24px; box-shadow: none; }
.between-classes p,.between-classes span { color: #e0ecfa; }
.concentro-home .outcome-grid > div { background: transparent; }

.concentro-home .closing { text-align: left; background: linear-gradient(90deg,#071d404d,transparent 70%),var(--poster-surface); padding-block: 140px 160px; }
.concentro-home .closing::before { inset: 0; background: url('/assets/editorial-grain.svg'); filter: none; opacity: .25; mix-blend-mode: soft-light; }
.concentro-home .closing::after { display: none; }
.concentro-home .closing > .page-width { z-index: 3; }
.concentro-home .closing h2 { max-width: 62%; font-size: clamp(2.8rem,4.75vw,4.7rem); font-weight: 440; }
.concentro-home .closing .page-width > p:not(.closing-credit) { max-width: min(36em,57%); color: #f4f8fd; }
.closing-credit { color: #ccdff3; }
.concentro-home .site-footer { background: #f7f9fc; box-shadow: none; }

@media (min-width: 901px) and (max-height: 850px) {
  .hero-stage { padding-top: calc(var(--site-nav-height,88px) + 56px); padding-bottom: 145px; }
  .concentro-home .hero h1 { font-size: clamp(4.6rem,7vw,6.4rem); }
}
@media (max-width: 1150px) {
  .site-header .brand-logo { width: 160px; }
  .hero-preview { right: 24px; width: 47%; top: 26%; }
  .concentro-home .hero h1 { width: 67%; font-size: clamp(4.7rem,8vw,6rem); }
  .process-slide { gap: 34px; }
  .concentro-home .closing::after { right: -24%; width: 82%; }
}
@media (max-width: 900px) {
  .hero-stage { padding-top: calc(var(--site-nav-height,80px) + 60px); padding-bottom: 135px; }
  .hero-preview { right: 20px; width: 44%; top: 32%; }
  .concentro-home .hero h1 { font-size: clamp(4rem,9vw,5.3rem); }
  .concentro-home .hero-description { max-width: 58%; font-size: 1.0625rem; }
  .process-slide { grid-template-columns: 1fr; padding: 0; gap: 32px; }
  .process-art { width: min(600px,100%); }
  .process-copy { max-width: 620px; }
}
@media (max-width: 640px) {
  .concentro-home .wordmark { gap: 0; }
  .site-header .brand-logo,.site-footer .brand-logo { width: 136px; }
  .hero-stage { padding-top: calc(var(--site-nav-height,76px) + 55px); padding-bottom: 55px; }
  .concentro-home .closing { background: linear-gradient(110deg,#071d4055,#071d4029),var(--poster-surface); }
  .hero-copy { text-align: center; }
  .hero-eyebrow { margin-bottom: 25px; }
  .concentro-home .hero h1 { width: 100%; font-size: clamp(3.4rem,16vw,5.7rem); }
  .concentro-home .hero-description { max-width: none; font-size: 1rem; margin-top: 27px; }
  .concentro-home :is(.hero,.closing) .hero-actions,.concentro-home .closing .page-width > p:not(.closing-credit) { max-width: none; }
  .concentro-home .hero-actions { justify-content: center; margin-top: 28px; }
  .hero-preview { position: relative; inset: auto; grid-row: 2; width: calc(100% - 24px); margin-top: 28px; }
  .hero-art { background: radial-gradient(ellipse 85% 35% at 50% 77%,#9fc9fbe0 0%,transparent 75%),#fff url('/assets/hero-aurora.svg') center / 100% 100% no-repeat; }
  .hero-art::after { top: 96%; }
  .hero-foot { padding-right: 115px; }
  .concentro-home .closing { text-align: center; padding-block: 85px; }
  .concentro-home .closing h2 { font-size: clamp(2rem,8vw,3.2rem); max-width: none; }
  .concentro-home .closing::after { width: 380px; height: 380px; top: auto; bottom: -42px; right: calc(50% - 190px); }
  .closing-credit { margin-top: 36px; }
  .concentro-home .course-facts { padding-inline: 25px; }
  .concentro-home .process-copy h3 { font-size: clamp(2.1rem,8.4vw,3rem); }
}
@media (prefers-reduced-transparency: reduce) {
  .concentro-home .site-header:not(.is-scrolled) { background: #224f80; }
  .concentro-home .site-header.is-scrolled { background: #fff; }
  .hero-course-link,.concentro-home .closing .button-outline { background: #153c68; }
}
@media (prefers-contrast: more) {
  .concentro-home { --muted: #365779; --line: #99b0c9; }
  .hero-eyebrow,.concentro-home .hero-description,.concentro-home .closing .page-width > p { color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  .concentro-home .button:hover,.concentro-home .text-link:hover { transform: none; }
}

/* Two quiet color accents on white, with a readable solid-color fallback. */
.concentro-home .color-heading { color: #17191c; }
.heading-accent-green {
  --heading-accent-ink: #428351;
  --heading-accent-gradient: linear-gradient(100deg,#549b61 0%,#579c83 50%,#549bad 100%);
}
.heading-accent-warm {
  --heading-accent-ink: #a46b15;
  --heading-accent-gradient: linear-gradient(100deg,#bd8816 0%,#c78320 50%,#cf7c2d 100%);
}
.heading-accent { color: var(--heading-accent-ink); }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .heading-accent {
    background-image: var(--heading-accent-gradient);
    background-clip: text;
    -webkit-background-clip: text;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
@media (prefers-contrast: more), (forced-colors: active) {
  .heading-accent {
    background-image: none;
    color: inherit;
    -webkit-text-fill-color: currentColor;
  }
}
@media print {
  .heading-accent {
    background-image: none;
    color: #17191c;
    -webkit-text-fill-color: currentColor;
  }
}
