
/* Shared presentation for the homepage and public teacher invitation. */
.marketing-hero { background:#10212f; color:#fff; padding:clamp(3rem,6vw,5.5rem) 0; }
.marketing-hero__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.marketing-hero .site-eyebrow { color:#9cddf6; }
.marketing-hero h1 { margin:0; font-size:clamp(2.6rem,4.8vw,4.6rem); line-height:1.05; letter-spacing:-.045em; }
.marketing-hero h1 em { color:#a5e3fb; font-style:normal; }
.marketing-hero__lead { max-width:620px; margin:1.5rem 0 1.8rem; font-size:1.13rem; line-height:1.7; color:#deebf3; }
.marketing-secondary { display:inline-flex; align-items:center; gap:.5rem; min-height:48px; color:#fff; font-weight:700; text-underline-offset:5px; }
.marketing-secondary:hover { color:#a5e3fb; }
.marketing-account-note { margin:1rem 0 0; font-size:.88rem; color:var(--site-colour-muted); }
.marketing-hero .marketing-account-note { color:#c2d8e4; }
.marketing-hero__try { display:inline-block; margin-top:1.4rem; color:#c2d8e4; text-underline-offset:5px; }
.marketing-hero__try:hover { color:#fff; }
.marketing-preview { background:#fff; color:var(--site-colour-ink); border-radius:16px; padding:1.7rem; box-shadow:12px 16px 0 #1d465c; }
.marketing-preview__top { display:flex; align-items:center; gap:.7rem; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.marketing-preview__top img { width:36px; height:36px; }
.marketing-preview__title { margin:1.6rem 0; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:800; line-height:1.12; letter-spacing:-.035em; }
.marketing-preview__steps { list-style:none; margin:0; padding:0; }
.marketing-preview__steps li { display:flex; align-items:flex-start; gap:.9rem; padding:1rem 0; border-top:1px solid var(--site-colour-line); }
.marketing-preview__steps li > span { color:#0f6f9c; font-weight:800; font-size:.85rem; padding-top:3px; }
.marketing-preview__steps strong { font-size:1.08rem; }
.marketing-preview__steps p { color:var(--site-colour-muted); font-size:.88rem; margin:.2rem 0 0; }
.marketing-preview__foot { background:#eaf8ff; margin:1rem -1.7rem -1.7rem; padding:1rem 1.7rem; border-radius:0 0 16px 16px; font-size:.85rem; font-weight:700; }
.marketing-facts { background:#e8f4fa; border-bottom:1px solid var(--site-colour-line); }
.marketing-facts__inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.3rem; padding-block:1.7rem; }
.marketing-facts p { display:grid; gap:.15rem; margin:0; }
.marketing-facts strong { font-size:1.45rem; letter-spacing:-.025em; }
.marketing-facts span { font-size:.87rem; color:#435f70; }
.marketing-intro-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:4rem; }
.marketing-intro-grid h2, .marketing-banner h2, .marketing-faq-layout h2, .marketing-cta h2 { font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.1; letter-spacing:-.035em; margin:0 0 1.4rem; }
.marketing-intro-grid > div > p:not(.site-eyebrow), .marketing-banner p { color:var(--site-colour-muted); }
.marketing-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.marketing-benefit-grid article { border-top:3px solid #149bd7; padding-top:1rem; }
.marketing-label { font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#0f6f9c; }
.marketing-benefit-grid h3 { margin:.7rem 0; font-size:1.3rem; line-height:1.2; }
.marketing-benefit-grid p { margin:0; color:var(--site-colour-muted); }
.marketing-banner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4rem; align-items:start; }
.marketing-family, .marketing-scheme { border-left:1px solid #b8d0dc; padding-left:2.5rem; }
.marketing-family h3, .marketing-scheme h3 { font-size:1.6rem; line-height:1.2; margin:0 0 1rem; }
.marketing-family a { display:block; margin-top:1rem; }
.marketing-jump { background:#fff; border-bottom:1px solid var(--site-colour-line); }
.marketing-jump > div { display:flex; gap:2rem; flex-wrap:wrap; padding-block:.65rem; }
.marketing-jump a { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; font-weight:700; text-underline-offset:5px; }
.marketing-resource { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:4rem; padding:2.7rem 0; border-top:1px solid #c6d8e2; }
.marketing-resource h3 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.1; letter-spacing:-.03em; margin:.8rem 0; }
.marketing-resource p { margin:0; color:var(--site-colour-muted); max-width:420px; }
.marketing-resource .site-eyebrow { color:#0f6f9c; }
.marketing-resource ul { list-style:none; margin:0; padding:0; display:grid; gap:1.1rem; }
.marketing-resource li { display:grid; gap:.25rem; }
.marketing-resource li span { color:var(--site-colour-muted); }
.marketing-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#c6d8e2; border:1px solid #c6d8e2; }
.marketing-small-resource { background:#fff; padding:1.7rem; }
.marketing-small-resource h3 { font-size:1.28rem; margin:0 0 .8rem; line-height:1.25; }
.marketing-small-resource p { margin:0; color:var(--site-colour-muted); }
.marketing-coverage { color:var(--site-colour-muted); font-size:.9rem; margin:1.4rem 0 0; max-width:850px; }
.marketing-inline-cta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:1.7rem; background:#e8f4fa; border-radius:10px; }
.marketing-inline-cta p { margin:0; }
.marketing-inline-cta .marketing-secondary { color:#0f6f9c; }
.marketing-faq-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:4rem; }
.marketing-faq details { border-top:1px solid #c6d8e2; padding:1.2rem 0; }
.marketing-faq details:last-child { border-bottom:1px solid #c6d8e2; }
.marketing-faq summary { font-weight:800; cursor:pointer; padding:.4rem 0; }
.marketing-faq details p { color:var(--site-colour-muted); margin:.7rem 0 0; }
.marketing-cta { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:2rem; align-items:center; padding:clamp(1.5rem,4vw,3rem); background:#10212f; color:#fff; border-radius:16px; }
.marketing-cta .site-eyebrow { color:#a5e3fb; }
.marketing-cta h2 { font-size:clamp(2rem,3vw,2.8rem); margin-bottom:1rem; }
.marketing-cta p { color:#d7e8f1; }
.marketing-cta .marketing-login { font-size:.9rem; }
.marketing-login a { color:#fff; text-underline-offset:4px; }
@media(max-width:950px) {
 .marketing-hero__layout { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:2rem; }
 .marketing-hero h1 { font-size:clamp(2.5rem,5vw,3.5rem); }
 .marketing-intro-grid, .marketing-faq-layout { grid-template-columns:1fr; gap:2rem; }
 .marketing-resource, .marketing-banner { gap:2rem; }
 .marketing-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .marketing-cta { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .marketing-hero__layout, .marketing-resource, .marketing-banner { grid-template-columns:1fr; }
 .marketing-hero { padding-block:2.7rem; }
 .marketing-preview { margin:0 12px 12px 0; }
 .marketing-hero__lead { font-size:1.05rem; }
 .marketing-facts__inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .marketing-resource { gap:1.5rem; padding-block:2rem; }
 .marketing-family, .marketing-scheme { border-left:0; border-top:1px solid #b8d0dc; padding:2rem 0 0; }
 .marketing-jump > div { gap:.3rem 1.3rem; }
 .marketing-benefit-grid { gap:1.6rem; }
}
@media(max-width:440px) {
 .marketing-benefit-grid, .marketing-support-grid { grid-template-columns:1fr; }
 .marketing-hero h1 { font-size:2.65rem; }
 .marketing-preview { padding:1.25rem; }
 .marketing-preview__foot { margin:1rem -1.25rem -1.25rem; padding:1rem 1.25rem; }
 .marketing-facts strong { font-size:1.25rem; }
 .marketing-cta .site-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
