/*
Theme Name: Science of Learning Academy
Theme URI: https://scienceoflearning.academy/
Description: A focused, accessible child theme for the Science of Learning Academy.
Author: Science of Learning Academy
Template: start
Version: 1.22.1
Text Domain: sola
*/

:root {
  --sola-ink: #142331;
  --sola-navy: #173b57;
  --sola-blue: #245d7d;
  --sola-sky: #dcebf0;
  --sola-cream: #f7f2e8;
  --sola-paper: #fffdf8;
  --sola-coral: #f36b16;
  --sola-coral-dark: #c94c08;
  --sola-gold: #e5ad4d;
  --sola-muted: #596875;
  --sola-border: rgba(20, 35, 49, .13);
  --sola-shadow: 0 22px 60px rgba(20, 35, 49, .12);
  --sola-radius: 1.5rem;
  --sola-wrap: min(1160px, calc(100% - 40px));
}

html { scroll-behavior: smooth; }
body.sola-site { margin: 0; overflow-x: hidden; color: var(--sola-ink); background: var(--sola-paper); font: 400 17px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.sola-site *, .sola-site *::before, .sola-site *::after { box-sizing: border-box; }
.sola-site img { display: block; max-width: 100%; height: auto; }
.sola-site a { color: inherit; }
.sola-wrap { width: var(--sola-wrap); margin-inline: auto; }
.sola-skip { position: fixed; top: .5rem; left: .5rem; z-index: 9999; padding: .75rem 1rem; color: #fff; background: var(--sola-ink); transform: translateY(-150%); }
.sola-skip:focus { transform: none; }

.sola-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(20,35,49,.94); color: #fff; backdrop-filter: blur(14px); }
.sola-header__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.sola-brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.sola-brand__logo { width: clamp(205px, 18vw, 245px); height: auto; }
.sola-nav { display: flex; align-items: center; gap: 1.5rem; }
.sola-nav a { font-size: .9rem; font-weight: 700; text-decoration: none; }
.sola-nav a:not(.sola-button):hover { color: var(--sola-gold); }
.sola-menu-toggle { display: none; padding: .5rem; border: 0; color: #fff; background: transparent; font-size: 1.5rem; }

.sola-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: .55rem; padding: .8rem 1.35rem; border: 2px solid transparent; border-radius: 999px; background: var(--sola-coral); color: #fff !important; font-size: .92rem; font-weight: 800; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; box-shadow: 0 10px 25px rgba(189,66,52,.2); transition: transform .2s, background .2s, box-shadow .2s; }
.sola-button:hover { background: var(--sola-coral-dark); transform: translateY(-2px); box-shadow: 0 15px 30px rgba(189,66,52,.28); }
.sola-button--light { border-color: rgba(255,255,255,.45); background: #fff; color: var(--sola-navy) !important; }
.sola-button--light:hover { background: var(--sola-cream); }
.sola-header .sola-button { min-height: 44px; padding: .65rem 1.1rem; line-height: 1; box-shadow: none; }

.sola-hero { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8rem) 0 5rem; color: #fff; background: linear-gradient(115deg, rgba(15,41,59,.97) 30%, rgba(23,59,87,.78)), url('/wp-content/uploads/2025/05/pexels-norma-mortenson-8456142.jpg') center/cover; }
.sola-hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -140px; bottom: -220px; border: 70px solid rgba(229,173,77,.25); border-radius: 50%; }
.sola-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(290px,.7fr); gap: clamp(2rem,6vw,6rem); align-items: center; }
.sola-eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.25rem; color: var(--sola-coral); font-size: .78rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.sola-hero .sola-eyebrow { color: var(--sola-coral); }
.sola-hero h1 { max-width: 850px; margin: 0; color: #fff; font: 700 clamp(3rem, 6.3vw, 5.7rem)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.sola-hero__lede { max-width: 760px; margin: 1.6rem 0 2rem; color: #dcebf0; font-size: clamp(1.08rem,2vw,1.3rem); }
.sola-hero__card { padding: 2rem; border: 1px solid rgba(255,255,255,.2); border-radius: var(--sola-radius); background: rgba(255,255,255,.1); backdrop-filter: blur(10px); box-shadow: var(--sola-shadow); }
.sola-hero__card h2 { margin: 0 0 1rem; color: #fff; font: 700 1.55rem/1.2 Georgia, serif; }
.sola-event { display: grid; grid-template-columns: 1.6rem 1fr; gap: .65rem; margin: 1rem 0; }
.sola-event span { color: var(--sola-gold); }
.sola-event p { margin: 0; color: #fff; font-size: .95rem; line-height: 1.45; }
.sola-event small { color: #bad0d9; }

.sola-trust { padding: 1.35rem 0; border-bottom: 1px solid var(--sola-border); background: var(--sola-cream); }
.sola-trust__list { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin: 0 auto; padding: 0; list-style: none; }
.sola-trust li { display: flex; justify-content: center; gap: .65rem; align-items: center; padding: .25rem 1.25rem; text-align: center; font-weight: 700; }
.sola-trust li + li { border-left: 1px solid var(--sola-border); }
.sola-trust li::before { content: "✓"; width: 1.6rem; height: 1.6rem; display: grid; flex: none; place-items: center; border-radius: 50%; color: #fff; background: var(--sola-blue); font-size: .8rem; }

.sola-section { padding: clamp(4.5rem,8vw,7.5rem) 0; }
.sola-section--blue { color: #fff; background: var(--sola-navy); }
.sola-section--cream { background: var(--sola-cream); }
.sola-section h2 { max-width: 780px; margin: 0 0 1.3rem; color: inherit; font: 700 clamp(2.3rem,4.7vw,4.2rem)/1.05 Georgia, serif; letter-spacing: -.035em; }
.sola-section__intro { max-width: 720px; margin: 0 0 3rem; color: var(--sola-muted); font-size: 1.12rem; }
.sola-section--blue .sola-section__intro { color: #c8d9e0; }
.sola-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2.5rem,7vw,7rem); align-items: center; }
.sola-photo { position: relative; }
.sola-photo img { width: 100%; max-height: 590px; object-fit: cover; border-radius: var(--sola-radius); box-shadow: var(--sola-shadow); }
.sola-photo::after { content: ""; position: absolute; inset: auto -1rem -1rem auto; width: 38%; aspect-ratio: 1; z-index: -1; border-radius: 50%; background: var(--sola-gold); opacity: .35; }
.sola-presenter-photo { isolation: isolate; padding: clamp(.55rem,1.4vw,.85rem); border: 1px solid rgba(255,255,255,.22); border-radius: calc(var(--sola-radius) + .35rem); background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(229,173,77,.08)); box-shadow: 0 28px 70px rgba(5,18,28,.34); }
.sola-presenter-photo::before { content: ""; position: absolute; z-index: 0; width: 42%; aspect-ratio: 1; top: -1.25rem; left: -1.25rem; border: 2px solid rgba(229,173,77,.5); border-radius: 50%; }
.sola-presenter-photo::after { z-index: 0; right: -1.2rem; bottom: -1.2rem; width: 34%; opacity: .48; }
.sola-presenter-photo img { position: relative; z-index: 1; aspect-ratio: 4 / 5; max-height: 620px; object-position: center 35%; border-radius: calc(var(--sola-radius) - .25rem); }
.sola-copy p { color: var(--sola-muted); }
.sola-copy .sola-button { margin-top: 1rem; }
.sola-logo-dark { width: min(360px, 88%); height: auto; margin: 0 0 2.2rem; }

.sola-mission { position: relative; overflow: hidden; padding: clamp(4.5rem,8vw,7rem) 0; color: #fff; background: var(--sola-navy); }
.sola-mission::after { content: ""; position: absolute; right: -8rem; bottom: -14rem; width: 32rem; aspect-ratio: 1; border: 5rem solid rgba(255,255,255,.045); border-radius: 50%; pointer-events: none; }
.sola-mission__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.sola-mission__statement h2 { max-width: 700px; margin: 0 0 1.4rem; color: #fff; font: 700 clamp(2.35rem,4.5vw,4rem)/1.06 Georgia,serif; letter-spacing: -.035em; }
.sola-mission__statement > p:last-child { max-width: 680px; margin: 0; color: #c8d9e0; font-size: 1.08rem; }
.sola-mission__commitments { display: grid; gap: .8rem; }
.sola-mission__commitments article { display: grid; grid-template-columns: 2.5rem 1fr; column-gap: 1rem; padding: 1.2rem 1.3rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.065); }
.sola-mission__commitments span { grid-row: 1 / 3; color: var(--sola-coral); font-size: .76rem; font-weight: 850; letter-spacing: .1em; }
.sola-mission__commitments h3 { margin: 0 0 .3rem; color: #fff; font: 700 1.1rem/1.25 Georgia,serif; }
.sola-mission__commitments p { margin: 0; color: #c8d9e0; font-size: .9rem; line-height: 1.55; }

.sola-challenges { background: var(--sola-paper); }
.sola-challenges__note { display: grid; grid-template-columns: minmax(190px,.45fr) minmax(0,1.55fr); gap: 1rem 1.5rem; max-width: 880px; margin: -1rem 0 2.5rem; padding: 1.15rem 1.3rem; border-left: 4px solid var(--sola-coral); border-radius: 0 1rem 1rem 0; color: var(--sola-ink); background: #fff4eb; }
.sola-challenges__note strong { font: 700 1rem/1.35 Georgia,serif; }
.sola-challenges__note span { color: var(--sola-muted); font-size: .9rem; line-height: 1.55; }
.sola-guide__intro .sola-challenges__note { margin: 1.5rem 0 0; }
.sola-challenges__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.sola-challenge-card { position: relative; min-height: 245px; overflow: hidden; padding: 1.55rem 1.55rem 4.7rem; border: 1px solid var(--sola-border); border-radius: 1.1rem; background: #fff; }
.sola-challenge-card__number { position: absolute; top: -.45rem; right: .6rem; color: rgba(23,59,87,.08); font: 800 6.5rem/1 Georgia,serif; letter-spacing: -.08em; pointer-events: none; }
.sola-challenge-card h3, .sola-challenge-card p, .sola-challenge-card a { position: relative; z-index: 1; }
.sola-challenge-card h3 { max-width: 85%; margin: 0 0 .75rem; color: var(--sola-ink); font: 700 1.3rem/1.25 Georgia,serif; }
.sola-challenge-card p { margin: 0; color: var(--sola-muted); font-size: .92rem; }
.sola-challenge-card a { position: absolute; right: 1.35rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem; border-radius: 999px; color: #fff; background: var(--sola-blue); font-size: .78rem; font-weight: 800; line-height: 1; text-decoration: none; transition: background .2s, transform .2s; }
.sola-challenge-card a:hover, .sola-challenge-card a:focus-visible { color: #fff; background: var(--sola-coral); transform: translateX(2px); }
.sola-challenges__all { margin: 2rem 0 0; text-align: center; }

.sola-principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.sola-principle { position: relative; min-height: 240px; overflow: hidden; padding: 1.5rem 1.5rem 4.75rem; border: 1px solid var(--sola-border); border-radius: 1.1rem; background: var(--sola-paper); transition: transform .2s, box-shadow .2s; }
.sola-principle:hover { transform: translateY(-5px); box-shadow: var(--sola-shadow); }
.sola-principle > :not(.sola-principle__figure) { position: relative; z-index: 1; }
.sola-principle__figure { position: absolute; z-index: 0; top: -38px; right: -38px; width: 170px; height: 170px; margin: 0; overflow: hidden; border-radius: 50%; opacity: .1; filter: grayscale(1) contrast(1.5); mix-blend-mode: multiply; pointer-events: none; -webkit-mask-image: radial-gradient(circle, #000 40%, transparent 74%); mask-image: radial-gradient(circle, #000 40%, transparent 74%); }
.sola-principle__figure img { width: 100%; height: 100%; object-fit: cover; }
.sola-principle .sola-principle__catch { min-height: 2.4em; margin: 0; color: var(--sola-coral); font: 800 .76rem/1.2 Inter,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.sola-principle h3 { min-height: 3.2rem; margin: 1rem 0 .7rem; color: var(--sola-ink); font: 700 1.25rem/1.25 Georgia,serif; }
.sola-principle p { margin: 0; color: var(--sola-muted); font-size: .92rem; }
.sola-principle__link { position: absolute !important; right: 1.35rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem; border-radius: 999px; color: #fff !important; background: var(--sola-blue); font-size: .78rem; font-weight: 800; line-height: 1; text-decoration: none; transition: background .2s, transform .2s; }
.sola-principle__link span { font-size: 1.2em; transition: transform .2s; }
.sola-principle__link:hover, .sola-principle__link:focus-visible { color: #fff !important; background: var(--sola-coral); transform: translateX(2px); }
.sola-principle__link:hover span, .sola-principle__link:focus-visible span { transform: translateX(2px); }

.sola-webinar { display: grid; grid-template-columns: .85fr 1.15fr; overflow: hidden; border-radius: var(--sola-radius); background: #fff; color: var(--sola-ink); box-shadow: var(--sola-shadow); }
.sola-webinar__image { min-height: 480px; margin: 0; overflow: hidden; background: var(--sola-sky); }
.sola-webinar__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.sola-webinar__content { padding: clamp(2rem,5vw,4.5rem); }
.sola-webinar h2 { font-size: clamp(2.2rem,4vw,3.6rem); }
.sola-webinar__pathway-link { color: var(--sola-blue) !important; font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: .25rem; }
.sola-webinar__pathway-link:hover { color: var(--sola-coral) !important; }
.sola-details { margin: 2rem 0; padding: 0; list-style: none; }
.sola-details li { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--sola-border); }
.sola-details strong { color: var(--sola-blue); }

.sola-quote { margin: 2rem 0 0; padding: 1.5rem 0 0 1.5rem; border-left: 4px solid var(--sola-gold); color: #dcebf0; font: 400 1.25rem/1.55 Georgia,serif; }
.sola-final { padding-block: clamp(4rem, 6vw, 5.5rem); text-align: center; background: radial-gradient(circle at 50% 120%, rgba(229,173,77,.2), transparent 48%); }
.sola-final h2, .sola-final .sola-section__intro { margin-inline: auto; }

/* Registration page */
.sola-registration { background: var(--sola-cream); }
.sola-registration__hero { padding: clamp(4rem, 8vw, 7rem) 0; color: #fff; background: linear-gradient(90deg, rgba(14,32,45,.97) 0%, rgba(14,32,45,.86) 43%, rgba(14,32,45,.34) 100%), url('assets/images/registration-hero.jpg') center/cover; }
.sola-registration__hero h1 { max-width: 800px; margin: 0 0 1rem; color: #fff; font: 700 clamp(3rem, 6vw, 5.3rem)/1 Georgia, serif; letter-spacing: -.045em; }
.sola-registration__hero > .sola-wrap > p:last-child { max-width: 680px; margin: 0; color: #dcebf0; font-size: 1.15rem; }
.sola-registration__body { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.sola-registration__grid { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); gap: clamp(2rem,6vw,6rem); align-items: start; }
.sola-registration__aside { position: sticky; top: 120px; padding: 2rem; border-radius: var(--sola-radius); background: var(--sola-navy); color: #fff; box-shadow: var(--sola-shadow); }
.sola-registration__aside h2 { margin: 0 0 1.3rem; color: #fff; font: 700 2rem/1.15 Georgia,serif; }
.sola-registration__aside ul { display: grid; gap: 1rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.sola-registration__aside li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .65rem; color: #dcebf0; }
.sola-registration__aside li::before { content: "✓"; color: var(--sola-gold); font-weight: 900; }
.sola-registration__event { display: grid; gap: .2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.18); }
.sola-registration__event span, .sola-registration__event time { color: #bcd0d9; font-size: .9rem; }
.sola-registration__event time + time { margin-top: .35rem; }
.sola-registration__form { padding: clamp(1.5rem,4vw,3.5rem); border: 1px solid var(--sola-border); border-radius: var(--sola-radius); background: #fff; box-shadow: var(--sola-shadow); }
.sola-registration__form > h2 { margin: 0; color: var(--sola-ink); font: 700 clamp(2rem,4vw,3rem)/1.1 Georgia,serif; }
.sola-registration__required { margin: .35rem 0 2rem; color: var(--sola-muted); font-size: .88rem; }
.sola-registration__form .entry-title { display: none; }
.sola-registration__form p { margin: 0 0 1.15rem; }
.sola-registration__form label, .sola-registration__form fieldset > legend { display: block; margin: 0 0 .4rem; color: var(--sola-ink); font-size: .92rem; font-weight: 750; }
.sola-registration__form fieldset { min-width: 0; margin: 0 0 1.35rem; padding: 0; border: 0; }
.sola-registration__form input[type="text"], .sola-registration__form input[type="email"], .sola-registration__form input[type="tel"], .sola-registration__form textarea, .sola-registration__form select { width: 100%; min-height: 50px; padding: .75rem .9rem; border: 1px solid #bdc8ce; border-radius: .55rem; background: #fff; color: var(--sola-ink); font: inherit; transition: border-color .2s, box-shadow .2s; }
.sola-registration__form textarea { min-height: 130px; resize: vertical; }
.sola-registration__form input:focus, .sola-registration__form textarea:focus, .sola-registration__form select:focus { border-color: var(--sola-blue); outline: 0; box-shadow: 0 0 0 4px rgba(36,93,125,.15); }
.sola-registration__form .wpcf7-list-item { display: block; margin: .55rem 0; }
.sola-registration__form input[type="radio"], .sola-registration__form input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin-right: .45rem; accent-color: var(--sola-coral); }
.sola-registration__form input[type="submit"] { min-height: 54px; padding: .8rem 1.6rem; border: 0; border-radius: 999px; background: var(--sola-coral); color: #fff; font: 800 .92rem/1 Inter,sans-serif; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; box-shadow: 0 10px 25px rgba(189,66,52,.2); }
.sola-registration__form input[type="submit"]:hover { background: var(--sola-coral-dark); }
.sola-registration__form .wpcf7-not-valid-tip { margin-top: .3rem; color: #a72f28; font-size: .85rem; }
.sola-registration__form .wpcf7-response-output { margin-inline: 0 !important; padding: .9rem 1rem !important; border-radius: .5rem; }

/* Detailed learning-principles guide */
.sola-guide { background: var(--sola-paper); }
.sola-guide__hero { position: relative; overflow: hidden; padding: clamp(5rem,10vw,9rem) 0; color: #fff; background: linear-gradient(120deg,#0e202d 0%,#173b57 68%,#245d7d 100%); }
.sola-guide__hero::after { content: ""; position: absolute; width: 520px; aspect-ratio: 1; right: -130px; bottom: -320px; border: 80px solid rgba(243,107,22,.28); border-radius: 50%; }
.sola-guide__hero .sola-wrap { position: relative; z-index: 1; }
.sola-guide__hero h1 { max-width: 900px; margin: 0 0 1.5rem; color: #fff; font: 700 clamp(3.4rem,7vw,6.5rem)/.96 Georgia,serif; letter-spacing: -.05em; }
.sola-guide__hero > .sola-wrap > p:last-child { max-width: 740px; margin: 0; color: #d5e4ea; font-size: clamp(1.05rem,2vw,1.28rem); }
.sola-guide__nav { position: sticky; top: 78px; z-index: 80; border-bottom: 1px solid var(--sola-border); background: rgba(255,253,248,.96); backdrop-filter: blur(12px); }
.sola-guide__nav .sola-wrap { display: flex; gap: .45rem; overflow-x: auto; padding-block: .8rem; scrollbar-width: thin; }
.sola-guide__nav a { flex: none; padding: .5rem .8rem; border-radius: 999px; color: var(--sola-blue); background: var(--sola-sky); font-size: .78rem; font-weight: 750; text-decoration: none; }
.sola-guide__nav a:hover { color: #fff; background: var(--sola-blue); }
.sola-challenge-guide .sola-guide__nav a { display: inline-flex; align-items: center; gap: 0; min-width: 2.35rem; justify-content: center; transition: color .2s, background .2s; }
.sola-challenge-guide .sola-guide__nav a b { font-weight: 850; }
.sola-challenge-guide .sola-guide__nav a span { max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap; transition: max-width .28s ease, margin-left .28s ease, opacity .18s ease; }
.sola-challenge-guide .sola-guide__nav a:hover span, .sola-challenge-guide .sola-guide__nav a:focus-visible span { max-width: 19rem; margin-left: .5rem; opacity: 1; }
.sola-challenge-guide .sola-guide__nav a:focus-visible { color: #fff; background: var(--sola-blue); outline: 2px solid var(--sola-coral); outline-offset: 2px; }
.sola-guide__intro { padding: clamp(4rem,8vw,7rem) 0; }
.sola-guide__intro-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(2rem,7vw,7rem); }
.sola-guide__intro h2, .sola-guide__research h2, .sola-guide__cta h2 { margin: 0 0 1rem; color: var(--sola-ink); font: 700 clamp(2.4rem,4.5vw,4rem)/1.05 Georgia,serif; letter-spacing: -.035em; }
.sola-guide__intro-grid > div > p { max-width: 760px; margin: 0; color: var(--sola-muted); font-size: 1.1rem; }
.sola-guide-principle { scroll-margin-top: 145px; padding: clamp(4rem,7vw,6.5rem) 0; border-top: 1px solid var(--sola-border); }
.sola-guide-principle:nth-child(even) { background: var(--sola-cream); }
.sola-guide-principle__grid { display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: clamp(2.5rem,8vw,8rem); align-items: start; }
.sola-guide-principle header { position: sticky; top: 155px; min-height: 275px; overflow: hidden; padding: 1.75rem; border: 1px solid var(--sola-border); border-radius: 1.25rem; background: rgba(255,255,255,.72); }
.sola-guide-principle header > :not(.sola-guide-principle__figure) { position: relative; z-index: 1; }
.sola-guide-principle__figure { position: absolute; z-index: 0; width: 235px; height: 235px; top: -42px; right: -42px; margin: 0; overflow: hidden; border-radius: 50%; opacity: .16; mix-blend-mode: multiply; filter: grayscale(1) sepia(.45) saturate(2.4) hue-rotate(155deg) contrast(1.25); pointer-events: none; -webkit-mask-image: radial-gradient(circle, #000 42%, transparent 74%); mask-image: radial-gradient(circle, #000 42%, transparent 74%); }
.sola-guide-principle__figure img { width: 100%; height: 100%; object-fit: cover; }
.sola-guide-principle__catch { margin: 0 0 .8rem; color: var(--sola-coral); font-size: .77rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sola-guide-principle h2 { margin: 0 0 1rem; color: var(--sola-ink); font: 700 clamp(2.3rem,4vw,3.6rem)/1.04 Georgia,serif; letter-spacing: -.035em; }
.sola-guide-principle__lead { margin: 0; color: var(--sola-muted); font-size: 1.05rem; }
.sola-guide-principle__body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.sola-guide-principle__body > div, .sola-guide-principle__body > aside { padding: 1.5rem; border: 1px solid var(--sola-border); border-radius: 1rem; background: rgba(255,255,255,.72); }
.sola-guide-principle__body h3 { margin: 0 0 .55rem; color: var(--sola-ink); font: 700 1.08rem/1.2 Georgia,serif; }
.sola-guide-principle__body p { margin: 0; color: var(--sola-muted); font-size: .93rem; }
.sola-guide-principle__try { border-color: rgba(243,107,22,.28) !important; background: #fff4eb !important; }
.sola-guide-principle__try h3 { color: var(--sola-coral); }
.sola-guide-principle__watch { border-color: rgba(36,93,125,.22) !important; background: #eef5f7 !important; }
.sola-guide-principle__watch h3 { color: var(--sola-blue); }
.sola-guide__research { padding: clamp(4.5rem,8vw,7rem) 0; color: #fff; background: var(--sola-navy); }
.sola-guide__research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem,8vw,8rem); align-items: center; }
.sola-guide__research h2 { color: #fff; }
.sola-guide__research p { max-width: 610px; color: #c8d9e0; }
.sola-guide__research ul { margin: 0; padding: 0; list-style: none; }
.sola-guide__research li { border-top: 1px solid rgba(255,255,255,.16); }
.sola-guide__research li:last-child { border-bottom: 1px solid rgba(255,255,255,.16); }
.sola-guide__research a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; color: #fff; text-decoration: none; }
.sola-guide__research a::after { content: "↗"; color: var(--sola-gold); }
.sola-guide__research a:hover { color: var(--sola-gold); }
.sola-guide__cta { padding: clamp(5rem,9vw,8rem) 0; text-align: center; background: var(--sola-cream); }
.sola-guide__cta h2, .sola-guide__cta > .sola-wrap > p { max-width: 800px; margin-inline: auto; }
.sola-guide__cta > .sola-wrap > p { color: var(--sola-muted); }
.sola-guide__cta .sola-button { margin-top: 1.2rem; }

/* Detailed teaching-challenges guide */
.sola-challenge-detail { scroll-margin-top: 145px; padding: clamp(4rem,7vw,6.5rem) 0; border-top: 1px solid var(--sola-border); }
.sola-challenge-detail:nth-child(even) { background: var(--sola-cream); }
.sola-challenge-detail__grid { display: grid; grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr); gap: clamp(2.5rem,8vw,8rem); align-items: start; }
.sola-challenge-detail header { position: sticky; top: 155px; min-height: 300px; overflow: hidden; padding: 1.75rem; border: 1px solid var(--sola-border); border-radius: 1.25rem; background: rgba(255,255,255,.78); }
.sola-challenge-detail header > span { position: absolute; top: -.75rem; right: .4rem; color: rgba(23,59,87,.08); font: 800 9rem/1 Georgia,serif; letter-spacing: -.09em; pointer-events: none; }
.sola-challenge-detail header > :not(span) { position: relative; z-index: 1; }
.sola-challenge-detail h2 { margin: 0 0 .9rem; color: var(--sola-ink); font: 700 clamp(1.7rem,2.2vw,2.25rem)/1.1 Georgia,serif; letter-spacing: -.02em; overflow-wrap: normal; word-break: normal; hyphens: none; }
.sola-challenge-detail header > p:last-child { margin: 0; color: var(--sola-muted); font-size: 1.02rem; }
.sola-challenge-detail__body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.sola-challenge-detail__body > div, .sola-challenge-detail__body > aside { padding: 1.5rem; border: 1px solid var(--sola-border); border-radius: 1rem; background: rgba(255,255,255,.78); }
.sola-challenge-detail__body h3 { margin: 0 0 .55rem; color: var(--sola-ink); font: 700 1.08rem/1.2 Georgia,serif; }
.sola-challenge-detail__body p { margin: 0; color: var(--sola-muted); font-size: .93rem; }
.sola-challenge-detail__body aside { border-color: rgba(243,107,22,.28); background: #fff4eb; }
.sola-challenge-detail__body aside h3 { color: var(--sola-coral); }
.sola-challenge-detail__links { border-color: rgba(36,93,125,.22) !important; background: #eef5f7 !important; }
.sola-challenge-detail__links p { display: flex; flex-wrap: wrap; gap: .45rem; }
.sola-challenge-detail__links a { display: inline-flex; padding: .38rem .65rem; border-radius: 999px; color: var(--sola-blue); background: #fff; font-size: .78rem; font-weight: 800; text-decoration: none; }
.sola-challenge-detail__links a:hover { color: var(--sola-coral); }

/* Seven-webinar professional learning pathway */
.sola-pathway { max-width: 100%; overflow-x: clip; background: var(--sola-paper); }
.sola-pathway .sola-wrap, .sola-pathway__hero-grid > *, .sola-pathway__opening-grid > *, .sola-pathway__section-head > *, .sola-pathway__community-grid > *, .sola-pathway__vision-grid > *, .sola-pathway-step > * { min-width: 0; max-width: 100%; }
.sola-pathway h1, .sola-pathway h2, .sola-pathway h3, .sola-pathway p, .sola-pathway li, .sola-pathway a { overflow-wrap: anywhere; word-break: normal; }
.sola-pathway__hero { position: relative; overflow: hidden; padding: clamp(5rem,10vw,9rem) 0; color: #fff; background: linear-gradient(125deg,#0e202d 0%,#173b57 68%,#245d7d 100%); }
.sola-pathway__hero::before { content: ""; position: absolute; width: 660px; aspect-ratio: 1; right: -260px; top: -360px; border: 95px solid rgba(229,173,77,.15); border-radius: 50%; }
.sola-pathway__hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; }
.sola-pathway__hero h1 { max-width: 830px; margin: 0; color: #fff; font: 700 clamp(3.3rem,7vw,6.5rem)/.94 Georgia,serif; letter-spacing: -.052em; }
.sola-pathway__lede { max-width: 720px; margin: 1.6rem 0 2rem; color: #d5e4ea; font-size: clamp(1.08rem,2vw,1.3rem); }
.sola-pathway__actions { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; }
.sola-pathway__text-link { color: #fff !important; font-weight: 800; text-decoration: none; }
.sola-pathway__text-link:hover { color: var(--sola-gold) !important; }
.sola-pathway__promise { position: relative; overflow: hidden; padding: clamp(1.8rem,4vw,2.7rem); border: 1px solid rgba(255,255,255,.2); border-radius: var(--sola-radius); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.sola-pathway__promise-number { position: absolute; right: -.25rem; top: -2.1rem; color: rgba(255,255,255,.07); font: 700 12rem/1 Georgia,serif; }
.sola-pathway__promise h2, .sola-pathway__promise p { position: relative; z-index: 1; }
.sola-pathway__promise h2 { margin: 0 0 1rem; color: #fff; font: 700 clamp(1.65rem,3vw,2.25rem)/1.14 Georgia,serif; }
.sola-pathway__promise p { margin: 0; color: #c8d9e0; font-size: .98rem; }
.sola-pathway__opening { padding: clamp(4.5rem,8vw,7rem) 0; }
.sola-pathway__opening-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(2rem,7vw,7rem); }
.sola-pathway__opening h2, .sola-pathway__section-head h2, .sola-pathway__community h2, .sola-pathway__vision h2, .sola-pathway__cta h2 { margin: 0 0 1.25rem; color: var(--sola-ink); font: 700 clamp(2.4rem,4.5vw,4.1rem)/1.05 Georgia,serif; letter-spacing: -.04em; }
.sola-pathway__opening-grid > div > p { max-width: 780px; color: var(--sola-muted); font-size: 1.08rem; }
.sola-pathway__nav { position: sticky; top: 78px; z-index: 80; border-block: 1px solid var(--sola-border); background: rgba(255,253,248,.96); backdrop-filter: blur(12px); }
.sola-pathway__nav .sola-wrap { display: flex; flex-wrap: wrap; gap: .55rem; overflow: visible; padding-block: .75rem; }
.sola-pathway__nav a { display: inline-flex; flex: 1 1 145px; min-width: 0; max-width: 230px; gap: .55rem; align-items: center; padding: .5rem .75rem .5rem .55rem; border-radius: 1rem; color: var(--sola-blue); background: var(--sola-sky); font-size: .76rem; font-weight: 750; line-height: 1.25; text-decoration: none; }
.sola-pathway__nav a span { min-width: 0; max-width: 100%; white-space: normal; }
.sola-pathway__nav b { display: grid; flex: 0 0 1.65rem; width: 1.65rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--sola-blue); font-size: .78rem; }
.sola-pathway__nav a:hover { color: #fff; background: var(--sola-blue); }
.sola-pathway__nav a:hover b { color: var(--sola-blue); background: #fff; }
.sola-pathway__journey { padding: clamp(4.5rem,8vw,7rem) 0; background: var(--sola-cream); }
.sola-pathway__section-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: 3.5rem; }
.sola-pathway__section-head > p { margin: 0 0 .5rem; color: var(--sola-muted); font-size: 1.05rem; }
.sola-pathway__steps { max-width: 980px; margin-inline: auto; }
.sola-pathway-step { display: grid; grid-template-columns: 92px 1fr; scroll-margin-top: 155px; }
.sola-pathway-step__rail { position: relative; display: flex; justify-content: center; }
.sola-pathway-step__rail::after { content: ""; position: absolute; top: 3rem; bottom: 0; width: 2px; background: rgba(36,93,125,.22); }
.sola-pathway-step:last-child .sola-pathway-step__rail::after { display: none; }
.sola-pathway-step__rail span { position: relative; z-index: 1; display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 2px solid var(--sola-blue); border-radius: 50%; color: var(--sola-blue); background: var(--sola-cream); font-size: .8rem; font-weight: 900; }
.sola-pathway-step__content { margin-bottom: 1.5rem; overflow: hidden; border: 1px solid var(--sola-border); border-radius: 1.25rem; background: rgba(255,255,255,.76); }
.sola-pathway-step--free .sola-pathway-step__content { border-top: 5px solid var(--sola-coral); background: #fff; box-shadow: var(--sola-shadow); }
.sola-pathway-step--free .sola-pathway-step__rail span { border-color: var(--sola-coral); color: #fff; background: var(--sola-coral); }
.sola-pathway-step__media { position: relative; width: 100%; aspect-ratio: 3 / 1.25; margin: 0; overflow: hidden; background: var(--sola-sky); }
.sola-pathway-step__media::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(transparent,rgba(14,32,45,.12)); pointer-events: none; }
.sola-pathway-step__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform .5s ease; }
.sola-pathway-step:hover .sola-pathway-step__media img { transform: scale(1.02); }
.sola-pathway-step__text { padding: clamp(1.5rem,4vw,2.5rem); }
.sola-pathway-step__label { margin: 0 0 .65rem !important; color: var(--sola-coral) !important; font-size: .75rem !important; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sola-pathway-step h3 { max-width: 32ch; margin: 0 0 .8rem; color: var(--sola-ink); font: 700 clamp(1.65rem,3vw,2.35rem)/1.1 Georgia,serif; white-space: normal; overflow-wrap: anywhere; }
.sola-pathway-step__text > p { max-width: 760px; color: var(--sola-muted); }
.sola-pathway-step ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.sola-pathway-step li { padding: .42rem .7rem; border-radius: 999px; color: var(--sola-blue); background: var(--sola-sky); font-size: .78rem; font-weight: 750; }
.sola-pathway-step .sola-button { margin-top: 1.5rem; }
.sola-pathway__community { padding: clamp(5rem,9vw,8rem) 0; color: #fff; background: var(--sola-navy); }
.sola-pathway__community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,8vw,8rem); align-items: center; }
.sola-pathway__community h2 { color: #fff; }
.sola-pathway__community p { color: #c8d9e0; }
.sola-pathway__audiences { display: grid; gap: .85rem; }
.sola-pathway__audiences article { display: grid; grid-template-columns: 3.3rem 1fr; gap: 1rem; padding: 1.15rem; border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; background: rgba(255,255,255,.06); }
.sola-pathway__audiences article > span { display: grid; width: 3.3rem; height: 3.3rem; place-items: center; border-radius: 50%; color: var(--sola-navy); background: var(--sola-gold); font: 700 1.2rem/1 Georgia,serif; }
.sola-pathway__audiences h3 { margin: 0 0 .2rem; color: #fff; font: 700 1.2rem/1.2 Georgia,serif; }
.sola-pathway__audiences p { margin: 0; font-size: .9rem; }
.sola-pathway__vision { padding: clamp(5rem,9vw,8rem) 0; }
.sola-pathway__vision-grid { display: grid; grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); gap: clamp(2.5rem,8vw,8rem); align-items: center; }
.sola-pathway__year { color: var(--sola-coral); font: 700 clamp(5rem,12vw,9.5rem)/.8 Georgia,serif; letter-spacing: -.08em; }
.sola-pathway__vision p { max-width: 750px; color: var(--sola-muted); }
.sola-pathway__cta { padding: clamp(5rem,9vw,8rem) 0; text-align: center; background: radial-gradient(circle at 50% 120%,rgba(229,173,77,.26),transparent 50%),var(--sola-cream); }
.sola-pathway__cta h2, .sola-pathway__cta > .sola-wrap > p { max-width: 820px; margin-inline: auto; }
.sola-pathway__cta > .sola-wrap > p { color: var(--sola-muted); }
.sola-pathway__cta .sola-button { margin-top: 1rem; }

/* Science of Learning for Educators book series */
.sola-books { padding: clamp(5rem,9vw,8rem) 0; border-top: 1px solid var(--sola-border); background: var(--sola-paper); }
.sola-books__header { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem,8vw,8rem); align-items: start; margin-bottom: clamp(3rem,6vw,5rem); }
.sola-books__header h2 { max-width: 680px; margin: 0; color: var(--sola-ink); font: 700 clamp(2.5rem,5vw,4.4rem)/1.03 Georgia,serif; letter-spacing: -.04em; }
.sola-books__header > div:last-child > p { max-width: 660px; margin-top: 0; color: var(--sola-muted); font-size: 1.05rem; }
.sola-books__note { padding: 1rem 1.1rem; border-left: 4px solid var(--sola-gold); border-radius: 0 .75rem .75rem 0; background: #fff8e9; font-size: .9rem !important; }
.sola-books__note strong { color: var(--sola-ink); }
.sola-books__published { display: grid; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; padding: clamp(2rem,5vw,4rem); border: 1px solid var(--sola-border); border-radius: var(--sola-radius); background: var(--sola-cream); box-shadow: var(--sola-shadow); }
.sola-books__covers { display: flex; justify-content: center; align-items: flex-end; min-height: 460px; padding: 1.5rem 1.5rem 0; }
.sola-books__covers figure { width: min(54%,240px); margin: 0; filter: drop-shadow(0 20px 22px rgba(20,35,49,.18)); }
.sola-books__covers figure:first-child { z-index: 2; transform: rotate(-4deg) translateX(10%); }
.sola-books__covers figure:last-child { z-index: 1; transform: rotate(4deg) translateX(-10%); }
.sola-books__covers img { width: 100%; border: 1px solid rgba(20,35,49,.1); border-radius: .35rem; background: #fff; }
.sola-books__status { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; padding: .38rem .65rem; border-radius: 999px; color: var(--sola-blue); background: var(--sola-sky); font-size: .72rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.sola-books__status--published { color: #176a3a; background: #dff3e6; }
.sola-books__volume { margin: 1.4rem 0 .25rem; color: var(--sola-coral); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sola-books__published-copy h3 { margin: 0 0 1rem; color: var(--sola-ink); font: 700 clamp(2.2rem,4vw,3.6rem)/1.05 Georgia,serif; letter-spacing: -.035em; }
.sola-books__published-copy > p:not(.sola-books__status):not(.sola-books__volume) { max-width: 620px; color: var(--sola-muted); }
.sola-books__editions { display: grid; gap: .65rem; margin: 1.5rem 0 2rem; }
.sola-books__editions > div { display: grid; grid-template-columns: 2.4rem 1fr; gap: .8rem; align-items: start; padding: .85rem 1rem; border: 1px solid var(--sola-border); border-radius: .85rem; background: rgba(255,255,255,.68); }
.sola-books__editions span { display: grid; width: 2.35rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--sola-blue); font: 700 1rem/1 Georgia,serif; }
.sola-books__editions > div:first-child span { background: #35a962; }
.sola-books__editions p { margin: 0; color: var(--sola-muted); font-size: .88rem; line-height: 1.5; }
.sola-books__editions strong { color: var(--sola-ink); }
.sola-books__forthcoming { padding-top: clamp(4rem,8vw,7rem); }
.sola-books__forthcoming-head { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: 2rem; }
.sola-books__forthcoming-head h3 { margin: 0; color: var(--sola-ink); font: 700 clamp(2rem,4vw,3.2rem)/1.08 Georgia,serif; letter-spacing: -.03em; }
.sola-books__forthcoming-head > p { max-width: 580px; margin: 0; color: var(--sola-muted); }
.sola-books__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.sola-book-card { position: relative; min-width: 0; min-height: 265px; overflow: hidden; padding: 1.35rem; border: 1px solid var(--sola-border); border-radius: 1rem; background: #fff; }
.sola-book-card::after { content: ""; position: absolute; right: -3.2rem; bottom: -4.5rem; width: 9rem; aspect-ratio: 1; border: 1.6rem solid rgba(36,93,125,.07); border-radius: 50%; }
.sola-book-card__top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: .75rem; align-items: center; }
.sola-book-card__number { display: grid; width: 2.7rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--sola-navy); font: 700 1.05rem/1 Georgia,serif; }
.sola-book-card > p { position: relative; z-index: 1; margin: 1.5rem 0 .35rem; color: var(--sola-coral); font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sola-book-card h4 { position: relative; z-index: 1; max-width: 24ch; margin: 0 0 1.3rem; color: var(--sola-ink); font: 700 1.3rem/1.18 Georgia,serif; overflow-wrap: anywhere; }
.sola-book-card footer { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; }
.sola-book-card footer span { padding: .3rem .5rem; border-radius: 999px; color: var(--sola-muted); background: var(--sola-cream); font-size: .7rem; font-weight: 750; }
.sola-books__references-link { display: inline-flex; align-items: center; gap: .55rem; margin-top: .25rem; color: var(--sola-blue); font-weight: 850; text-decoration: none; }
.sola-books__references-link span { color: var(--sola-coral); transition: transform .2s; }
.sola-books__references-link:hover { color: var(--sola-coral); }
.sola-books__references-link:hover span { transform: translateX(.25rem); }

/* Searchable reference library */
.sola-reference-page { background: var(--sola-paper); }
.sola-reference-hero { position: relative; overflow: hidden; padding: clamp(5rem,10vw,8.5rem) 0; color: #fff; background: linear-gradient(120deg,#0e202d 0%,#173b57 70%,#245d7d 100%); }
.sola-reference-hero::after { content: ""; position: absolute; right: -170px; bottom: -330px; width: 560px; aspect-ratio: 1; border: 85px solid rgba(229,173,77,.16); border-radius: 50%; }
.sola-reference-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.sola-reference-hero h1 { max-width: 850px; margin: 0 0 1.4rem; color: #fff; font: 700 clamp(3.2rem,6.8vw,6.2rem)/.96 Georgia,serif; letter-spacing: -.05em; }
.sola-reference-hero__lede { max-width: 730px; margin: 0; color: #d5e4ea; font-size: clamp(1.05rem,2vw,1.25rem); }
.sola-reference-hero__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.18); border-radius: 1.2rem; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.sola-reference-hero__facts div { min-width: 0; padding: 1.2rem .75rem; text-align: center; }
.sola-reference-hero__facts div + div { border-left: 1px solid rgba(255,255,255,.14); }
.sola-reference-hero__facts strong, .sola-reference-hero__facts span { display: block; }
.sola-reference-hero__facts strong { color: var(--sola-gold); font: 700 2.2rem/1 Georgia,serif; }
.sola-reference-hero__facts span { margin-top: .35rem; color: #d5e4ea; font-size: .72rem; font-weight: 750; }
.sola-reference-browser { padding: clamp(4.5rem,8vw,7rem) 0; }
.sola-reference-browser__header { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem,8vw,8rem); align-items: end; margin-bottom: clamp(2.5rem,5vw,4rem); }
.sola-reference-browser__header h2, .sola-reference-guide__header h2, .sola-reference-cta h2 { margin: 0; color: var(--sola-ink); font: 700 clamp(2.5rem,4.8vw,4.2rem)/1.04 Georgia,serif; letter-spacing: -.04em; }
.sola-reference-browser__header > p { max-width: 620px; margin: 0; color: var(--sola-muted); font-size: 1.05rem; }
.sola-reference-browser__unavailable { padding: 1.2rem; border-radius: 1rem; background: var(--sola-sky); }
.sola-reference-guide { padding: clamp(4.5rem,8vw,7rem) 0; background: var(--sola-cream); }
.sola-reference-guide__header { max-width: 780px; margin-bottom: 3rem; }
.sola-reference-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.sola-reference-guide__grid article { position: relative; min-height: 250px; overflow: hidden; padding: 1.6rem; border: 1px solid var(--sola-border); border-radius: 1rem; background: #fff; }
.sola-reference-guide__grid article > span { display: grid; width: 2.7rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--sola-blue); font-size: .78rem; font-weight: 850; }
.sola-reference-guide__grid h3, .sola-reference-guide__notes h3 { margin: 2rem 0 .6rem; color: var(--sola-ink); font: 700 1.35rem/1.2 Georgia,serif; }
.sola-reference-guide__grid p { margin: 0; color: var(--sola-muted); font-size: .92rem; }
.sola-reference-guide__notes { display: grid; grid-template-columns: .7fr 1.3fr; gap: 1rem; margin-top: 1rem; }
.sola-reference-guide__notes > div { padding: 1.6rem; border-radius: 1rem; color: #d5e4ea; background: var(--sola-navy); }
.sola-reference-guide__notes h3 { margin: 0 0 1rem; color: #fff; }
.sola-reference-guide__notes p { margin: 0; color: #d5e4ea; font-size: .9rem; }
.sola-reference-guide__notes dl { display: grid; gap: .55rem; margin: 0; }
.sola-reference-guide__notes dl div { display: grid; grid-template-columns: 2.3rem 1fr; gap: .75rem; align-items: center; }
.sola-reference-guide__notes dt { display: grid; width: 2.3rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--sola-navy); background: var(--sola-gold); font-size: .72rem; font-weight: 900; }
.sola-reference-guide__notes dd { margin: 0; font-size: .86rem; }
.sola-reference-cta { padding: clamp(5rem,9vw,8rem) 0; text-align: center; background: radial-gradient(circle at 50% 120%,rgba(229,173,77,.24),transparent 52%),var(--sola-paper); }
.sola-reference-cta h2 { max-width: 850px; margin-inline: auto; }
.sola-reference-cta .sola-button { margin-top: 1.7rem; }

.sola-footer { padding: 3rem 0; color: #c3d4dc; background: #0e202d; }
.sola-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
.sola-footer h2 { margin: 0 0 .7rem; color: #fff; font: 700 1.25rem/1.2 Georgia,serif; }
.sola-footer__brand { display: inline-block; }
.sola-footer__logo { width: min(290px, 100%); height: auto; margin-bottom: 1rem; }
.sola-footer p { margin: .4rem 0; font-size: .9rem; }
.sola-footer a:hover { color: var(--sola-gold); }

@media (max-width: 900px) {
  .sola-hero__grid, .sola-split, .sola-webinar { grid-template-columns: 1fr; }
  .sola-mission__grid { grid-template-columns: 1fr; }
  .sola-challenges__grid { grid-template-columns: repeat(2,1fr); }
  .sola-principles { grid-template-columns: repeat(2,1fr); }
  .sola-trust__list { grid-template-columns: 1fr; }
  .sola-trust li { justify-content: flex-start; max-width: 420px; width: 100%; margin-inline: auto; padding: .55rem 0; text-align: left; }
  .sola-trust li + li { border-top: 1px solid var(--sola-border); border-left: 0; }
  .sola-webinar__image { min-height: 340px; }
  .sola-footer__grid { grid-template-columns: 1fr 1fr; }
  .sola-registration__grid { grid-template-columns: 1fr; }
  .sola-registration__aside { position: static; }
  .sola-guide__intro-grid, .sola-guide-principle__grid, .sola-guide__research-grid { grid-template-columns: 1fr; }
  .sola-guide-principle header { position: static; }
  .sola-challenge-detail__grid { grid-template-columns: 1fr; }
  .sola-challenge-detail header { position: static; }
  .sola-pathway__hero-grid, .sola-pathway__opening-grid, .sola-pathway__section-head, .sola-pathway__community-grid, .sola-pathway__vision-grid { grid-template-columns: 1fr; }
  .sola-pathway__promise { max-width: 620px; }
  .sola-books__header, .sola-books__published, .sola-books__forthcoming-head { grid-template-columns: 1fr; }
  .sola-books__published-copy { max-width: 700px; }
  .sola-books__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sola-reference-hero__grid, .sola-reference-browser__header { grid-template-columns: 1fr; }
  .sola-reference-hero__facts { max-width: 620px; }
  .sola-reference-guide__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sola-reference-guide__grid article:last-child { grid-column: 1 / -1; }
  .sola-reference-guide__notes { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  :root { --sola-wrap: min(100% - 28px, 1160px); }
  .sola-header__inner { min-height: 68px; }
  .sola-brand__logo { width: min(178px, 55vw); }
  .sola-logo-dark { width: min(290px, 88%); margin-bottom: 1.75rem; }
  .sola-menu-toggle { display: block; }
  .sola-nav { position: absolute; inset: 100% 0 auto; display: none; align-items: stretch; padding: 1.2rem 1rem 1.5rem; background: var(--sola-ink); box-shadow: 0 18px 30px rgba(0,0,0,.22); }
  .sola-nav.is-open { display: grid; }
  .sola-nav .sola-button { width: 100%; }
  .sola-hero { padding-top: 4rem; }
  .sola-hero h1 { font-size: clamp(2.7rem,14vw,4rem); }
  .sola-principles, .sola-footer__grid { grid-template-columns: 1fr; }
  .sola-challenges__grid { grid-template-columns: 1fr; }
  .sola-principle { min-height: auto; }
  .sola-details li { grid-template-columns: 1fr; gap: .15rem; }
  .sola-registration__hero { background-image: linear-gradient(rgba(14,32,45,.9), rgba(14,32,45,.9)), url('assets/images/registration-hero.jpg'); background-position: 65% center; }
  .sola-guide__nav { top: 68px; }
  .sola-guide-principle { scroll-margin-top: 130px; }
  .sola-guide-principle__body { grid-template-columns: 1fr; }
  .sola-challenges__note { grid-template-columns: 1fr; }
  .sola-challenge-detail { scroll-margin-top: 130px; }
  .sola-challenge-detail__body { grid-template-columns: 1fr; }
  .sola-pathway__nav { top: 68px; }
  .sola-pathway__nav .sola-wrap { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: .35rem; }
  .sola-pathway__nav a { width: 100%; min-width: 0; padding: .4rem; justify-content: center; border-radius: .75rem; }
  .sola-pathway__nav a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .sola-pathway__nav b { flex-basis: 1.55rem; width: 1.55rem; font-size: .72rem; }
  .sola-pathway-step { grid-template-columns: 52px 1fr; scroll-margin-top: 135px; }
  .sola-pathway-step__rail span { width: 2.5rem; height: 2.5rem; }
  .sola-pathway-step__rail::after { top: 2.4rem; }
  .sola-pathway-step__media { aspect-ratio: 16 / 9; }
  .sola-books__covers { min-height: 330px; padding-inline: 0; }
  .sola-books__covers figure { width: min(58%,190px); }
  .sola-books__grid { grid-template-columns: 1fr; }
  .sola-reference-hero__facts { grid-template-columns: 1fr; }
  .sola-reference-hero__facts div { display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; align-items: center; text-align: left; }
  .sola-reference-hero__facts div + div { border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
  .sola-reference-hero__facts span { margin-top: 0; }
  .sola-reference-guide__grid { grid-template-columns: 1fr; }
  .sola-reference-guide__grid article:last-child { grid-column: auto; }
  .sola-guide-principle header { min-height: 240px; padding: 1.4rem; }
  .sola-guide-principle__figure { width: 190px; height: 190px; top: -32px; right: -32px; opacity: .11; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
