/*! Copyright (c) 2026 Dominic Tope. Classroom use permitted. See COPYRIGHT.txt and THIRD-PARTY-NOTICES.txt. */
:root{--brand:#1146a1;--brand-bright:#2563eb;--brand-dark:#0d3780;--ink:#0f172a;--text:#1f2937;--muted-copy:#64748b;--page:#f5f7fb;--white:#ffffff;--pale:#eff6ff;--pale-strong:#dbeafe;--line:#dbe3ef;--line-blue:#bfdbfe;--success:#047857;--success-pale:#ecfdf5;--focus:#f59e0b;--quiz-blue:#2563eb;--quiz-red:#dc2626;--quiz-green:#16a34a;--quiz-yellow:#facc15;--shadow:0 8px 24px rgba(15, 23, 42, 0.06);--shadow-large:0 18px 48px rgba(15, 23, 42, 0.1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;min-height:100vh;background:var(--page);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit}svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}a{color:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-shell{min-height:100vh;overflow:hidden}.container{width:min(1180px,92%);margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;z-index:999;transform:translateY(-160%);border-radius:10px;background:var(--ink);color:var(--white);padding:10px 14px;font-weight:800;text-decoration:none}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid #e5e7eb;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1.12rem;font-weight:800;letter-spacing:-.025em;line-height:1.1;text-decoration:none;white-space:nowrap}.brand-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--brand);color:var(--white)}.brand-mark svg{width:21px;height:21px;stroke-width:2.4}.brand-lockup strong{color:var(--brand-bright)}.header-nav{display:flex;align-items:center;gap:5px}.nav-link{min-height:42px;display:inline-flex;align-items:center;border-radius:10px;color:#374151;padding:9px 13px;font-size:.86rem;font-weight:750;text-decoration:none}.nav-link:hover{background:var(--pale);color:var(--brand-bright)}.nav-link.nav-cta{background:var(--brand-bright);color:var(--white);box-shadow:0 8px 18px rgba(37,99,235,.2)}.nav-link.nav-cta:hover{background:#1d4ed8;color:var(--white)}.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:11px 18px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;transition:transform 150ms ease,background 150ms ease,border-color 150ms ease,box-shadow 150ms ease}.btn:hover{transform:translateY(-1px)}.btn svg{width:18px;height:18px;flex:0 0 auto;stroke-width:2.3}.btn-primary{border:1px solid transparent;background:var(--brand-bright);color:var(--white);box-shadow:0 8px 18px rgba(37,99,235,.21)}.btn-primary:hover{background:#1d4ed8}.btn-large{min-height:52px;padding:14px 20px}.eyebrow{margin:0 0 8px;color:var(--brand-bright);font-size:.72rem;font-weight:900;letter-spacing:.135em}.hero-section{padding:38px 0 26px}.hero-panel{min-height:390px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,0.85fr);overflow:hidden;border:1px solid var(--pale-strong);border-radius:30px;background:linear-gradient(135deg,#fff 5%,#eff6ff 100%);box-shadow:0 12px 38px rgba(15,23,42,.07)}.hero-copy{align-self:center;padding:clamp(38px,5vw,58px)}.hero-copy h1{max-width:760px;margin:7px 0 17px;color:var(--ink);font-size:clamp(2.55rem, 5vw, 4.45rem);line-height:1.01;letter-spacing:-.055em}.hero-lead{max-width:650px;margin:0;color:#526176;font-size:clamp(1rem, 1.55vw, 1.15rem)}.hero-copy .btn{margin-top:25px}.hero-summary{position:relative;align-self:stretch;display:grid;align-content:center;grid-template-columns:110px minmax(0,1fr);gap:20px 22px;overflow:hidden;background:linear-gradient(145deg,var(--brand-dark),var(--brand-bright));color:var(--white);padding:clamp(34px,4vw,48px)}.hero-summary::after{position:absolute;right:-90px;bottom:-105px;width:250px;height:250px;border:44px solid rgba(255,255,255,.08);border-radius:50%;content:""}.hero-count{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.11);padding:14px}.hero-count strong{font-size:4.6rem;line-height:.9;letter-spacing:-.07em}.hero-count span{margin-top:7px;font-size:.68rem;font-weight:850;text-align:center;text-transform:uppercase}.hero-summary-copy{position:relative;z-index:1;align-self:center}.hero-summary-copy>span{display:block;margin-bottom:8px;color:#bfdbfe;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-summary-copy p{margin:0;font-size:1rem;font-weight:700;line-height:1.45}.hero-summary ul{position:relative;z-index:1;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.hero-summary li{border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1);padding:7px 10px;font-size:.71rem;font-weight:800}.tools-section{padding:60px 0 46px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:27px}.section-heading>div{max-width:690px}.section-heading h1,.section-heading h2{margin:0;color:var(--ink);font-size:clamp(2rem, 4vw, 3rem);line-height:1.08;letter-spacing:-.04em}.section-heading>p{max-width:410px;margin:0 0 4px;color:var(--muted-copy);font-size:.96rem}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-blue);border-radius:25px;background:var(--white);box-shadow:var(--shadow-large);transition:transform 180ms ease,box-shadow 180ms ease}.tool-card:hover{transform:translateY(-3px);box-shadow:0 23px 56px rgba(15,23,42,.13)}.tool-carousel,.tool-preview{position:relative;border-bottom:1px solid var(--pale-strong);background:linear-gradient(145deg,#f8fbff,#edf5ff)}.carousel-viewport{width:100%;overflow:hidden;touch-action:pan-y}.tool-carousel-track{width:100%;display:grid;opacity:1;transition:opacity .6s ease-in-out;will-change:opacity}.tool-carousel.is-fading .carousel-caption,.tool-carousel.is-fading .tool-carousel-track{opacity:0}.tool-carousel-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none}.tool-carousel-slide[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto}.preview-canvas{position:relative;min-height:286px;overflow:hidden;padding:38px 22px 22px}.subject-pill{position:absolute;top:15px;left:16px;z-index:12;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:6px 9px;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.subject-pill.science{background:#dcfce7;color:#166534}.subject-pill.language{background:#fef3c7;color:#92400e}.subject-pill.humanities{background:#f3e8ff;color:#7e22ce}.carousel-footer{min-height:83px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid rgba(191,219,254,.8);background:rgba(255,255,255,.88);padding:12px 15px}.carousel-caption{min-width:0;display:grid;gap:2px;opacity:1;transition:opacity .6s ease-in-out}.carousel-caption strong{color:var(--ink);font-size:.76rem}.carousel-caption span{color:var(--muted-copy);font-size:.66rem;line-height:1.32}.carousel-dots{display:flex;align-items:center;justify-content:center;gap:4px}.carousel-dots button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:0 0;padding:0;cursor:pointer}.carousel-dots button::after{width:7px;height:7px;border-radius:50%;background:#94a3b8;content:"";transition:width 160ms ease,border-radius 160ms ease,background 160ms ease}.carousel-dots button.is-active::after{width:16px;border-radius:999px;background:var(--brand-bright)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.carousel-caption,.carousel-dots button::after,.tool-card,.tool-carousel-track{transition:none}}.mini-loop-scene{position:relative;width:100%;height:215px}.mini-loop-card{position:absolute;display:grid;grid-template-rows:42% 58%;overflow:hidden;border:1px dashed #94a3b8;border-radius:15px;background:var(--white);box-shadow:0 18px 36px rgba(17,70,161,.16)}.mini-loop-card-back{top:5px;right:4%;width:78%;height:174px;opacity:.52;transform:rotate(5deg)}.mini-loop-card-front{top:29px;left:5%;z-index:2;width:83%;height:177px;transform:rotate(0)}.mini-loop-card>div{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:18px 15px}.mini-loop-card>div:first-child{border-bottom:1px solid var(--pale-strong);background:linear-gradient(135deg,var(--pale),#fff)}.mini-loop-card small{position:absolute;top:7px;left:10px;color:var(--brand-bright);font-size:.46rem;font-weight:900;letter-spacing:.08em}.mini-loop-card p,.mini-loop-card strong{margin:0;color:var(--ink);font-size:.73rem;font-weight:800;line-height:1.23;text-align:center}.mini-loop-card>div:first-child strong{font-size:.95rem;font-weight:800}.mini-loop-card p{max-width:100%}.mini-fraction{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;line-height:1.2;margin-inline:2px}.mini-fraction>span{padding:1px 3px}.mini-fraction>span:first-child{border-bottom:1px solid currentColor}.mini-loop-card>b{position:absolute;right:8px;bottom:7px;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:var(--brand);color:var(--white);font-size:.62rem}.mini-bingo-scene{position:relative;width:100%;height:220px}.mini-bingo-card{position:absolute;top:7px;left:7%;width:84%;border:1px solid var(--line-blue);border-radius:16px;background:var(--white);padding:11px;box-shadow:0 18px 38px rgba(17,70,161,.16);transform:rotate(0)}.mini-bingo-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.mini-bingo-heading strong{color:var(--ink);font-size:1rem;letter-spacing:.14em}.mini-bingo-heading span{color:var(--brand-bright);font-size:.5rem;font-weight:900}.mini-bingo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:2px solid #334155}.mini-bingo-grid>span{min-width:0;height:28px;display:grid;place-items:center;overflow:hidden;border-right:1px solid #64748b;border-bottom:1px solid #64748b;color:var(--ink);padding:2px;font-size:.44rem;font-weight:750;line-height:1.05;text-align:center;overflow-wrap:anywhere}.mini-bingo-grid>span:nth-child(4n){border-right:0}.mini-bingo-grid>span:nth-last-child(-n+4){border-bottom:0}.mini-bingo-grid .is-called{position:relative;background:var(--success-pale);color:var(--success);box-shadow:inset 0 0 0 2px #16a34a}.mini-bingo-grid .is-called::after{position:absolute;inset:3px;display:grid;place-items:center;border:2px solid #16a34a;border-radius:50%;background:rgba(240,253,244,.86);content:"✓";font-size:.72rem;font-weight:950}.mini-question-chip{position:absolute;right:0;bottom:3px;z-index:4;width:min(220px,78%);border-radius:13px;background:var(--brand);color:var(--white);padding:8px 11px;box-shadow:0 13px 26px rgba(17,70,161,.25)}.mini-question-chip small,.mini-question-chip strong{display:block}.mini-question-chip small{margin-bottom:2px;color:#bfdbfe;font-size:.44rem;font-weight:900;letter-spacing:.08em}.mini-question-chip strong{font-size:.62rem;line-height:1.25}.mini-quiz-stage{position:relative;width:100%;height:210px;display:grid;grid-template-rows:3fr 2fr;overflow:hidden;border:1px dashed #93a4ba;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#fff);margin:0 auto;padding:10px;box-shadow:0 14px 28px rgba(17,70,161,.1)}.mini-quiz-question{display:flex;align-items:center;justify-content:center;min-height:0;color:var(--ink);padding:12px 10px;font-size:.85rem;font-weight:800;line-height:1.35;text-align:center}.mini-quiz-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:0}.mini-quiz-option{position:relative;min-width:0;display:grid;place-items:center;overflow:hidden;border:1px solid;border-top-width:4px;border-radius:8px;padding:7px 3px;font-size:.64rem;font-weight:800;line-height:1.15;text-align:center}.mini-quiz-option-text{position:relative;z-index:1;overflow-wrap:anywhere}.mini-quiz-options .hero-blue{border-color:#bfdbfe;border-top-color:#2563eb;background:#eff6ff;color:#1e3a8a}.mini-quiz-options .hero-red{border-color:#fecdd3;border-top-color:#dc2626;background:#fff1f2;color:#7f1d1d}.mini-quiz-options .hero-green{border-color:#bbf7d0;border-top-color:#16a34a;background:#f0fdf4;color:#14532d}.mini-quiz-options .hero-yellow{border-color:#fde68a;border-top-color:#facc15;background:#fffbeb;color:#713f12}.mini-quiz-options .hero-correct.hero-blue{border-color:#2563eb;background:#2563eb;color:#000}.mini-quiz-options .hero-correct.hero-red{border-color:#dc2626;background:#dc2626;color:#000}.mini-quiz-options .hero-correct.hero-green{border-color:#16a34a;background:#16a34a;color:#000}.mini-quiz-options .hero-correct.hero-yellow{border-color:#facc15;background:#facc15;color:#000}.mini-answer-stamp{position:absolute;z-index:2;width:min(53px,calc(100% - 4px));aspect-ratio:1;left:50%;top:50%;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%) rotate(-7deg);filter:drop-shadow(0 0 1.5px rgba(15,23,42,.35))}.mini-answer-stamp svg{width:72%;height:72%;overflow:visible;fill:none;stroke:#fff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.tool-carousel-slide[aria-hidden=false] .mini-answer-stamp{animation:mini-stamp 520ms .6s cubic-bezier(.16,.82,.24,1) both}@keyframes mini-stamp{0%{opacity:0;transform:translate(-50%,calc(-50% - 14px)) rotate(-15deg) scale(1.6)}55%{opacity:1;transform:translate(-50%,-50%) rotate(-5deg) scale(.9)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(1)}}.calculator-preview-canvas{min-height:369px;display:flex;align-items:center;justify-content:center;padding:28px 22px}.calculator-illustration{display:block;flex:none;width:min(254px,100%);height:auto;aspect-ratio:684/812;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(17,70,161,.14))}.policy-content{max-width:860px;padding-top:60px;padding-bottom:72px}.policy-content h1{font-size:clamp(2rem,5vw,3rem);line-height:1.12;letter-spacing:-.04em;margin:10px 0 24px}.policy-content h2{font-size:1.35rem;margin:32px 0 10px}.policy-content p{line-height:1.65;color:#475569}.policy-content a{color:#1146a1;text-decoration:underline;text-underline-offset:3px}.policy-content .btn{text-decoration:none;color:#fff}.policy-lead{font-size:1.15rem}.policy-date{font-size:.85rem;margin-top:40px}@media(prefers-reduced-motion:reduce){.tool-carousel-slide[aria-hidden=false] .mini-answer-stamp{animation:none}}.tool-card-body{flex:1;display:flex;flex-direction:column;padding:25px}.tool-heading-row{display:flex;align-items:center;gap:10px}.tool-heading-row p{margin:0;color:var(--brand-bright);font-size:.59rem;font-weight:900;letter-spacing:.085em;line-height:1.3}.tool-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:var(--brand);color:var(--white)}.tool-icon svg{width:21px;height:21px;stroke-width:2.25}.tool-card h3{margin:17px 0 7px;color:var(--ink);font-size:1.46rem;line-height:1.15;letter-spacing:-.025em}.tool-card-description{margin:0;color:var(--muted-copy);font-size:.9rem}.feature-list{display:grid;gap:8px;padding:0;margin:20px 0 23px;color:#526176;font-size:.8rem;list-style:none}.feature-list li{display:flex;align-items:flex-start;gap:8px}.feature-list svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px;color:var(--success);stroke-width:2.7}.tool-button{width:100%;min-height:50px;margin-top:auto;padding-inline:12px;font-size:.82rem}.audience-section{padding:0 0 84px}.audience-panel{display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(28px,5vw,58px);border:1px solid var(--pale-strong);border-radius:27px;background:linear-gradient(135deg,#fff,#f1f6ff);padding:clamp(30px,5vw,50px);box-shadow:var(--shadow)}.audience-intro h2{margin:0 0 10px;color:var(--ink);font-size:clamp(1.75rem, 3vw, 2.55rem);line-height:1.08;letter-spacing:-.035em}.audience-intro>p:last-child{margin:0;color:var(--muted-copy)}.stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stage-card{min-width:0;border:1px solid var(--line);border-radius:19px;background:var(--white);padding:23px;box-shadow:var(--shadow)}.stage-label{display:inline-block;border-radius:999px;background:var(--pale);color:var(--brand);padding:6px 9px;font-size:.66rem;font-weight:900;letter-spacing:.08em}.stage-card h3{margin:15px 0 7px;color:var(--ink);font-size:1.08rem;line-height:1.22}.stage-card p{margin:0;color:var(--muted-copy);font-size:.88rem}.site-footer{border-top:1px solid #e5e7eb;background:var(--white)}.footer-inner{min-height:154px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-copy p{margin:8px 0 0;color:var(--muted-copy);font-size:.86rem}.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.footer-links a{border-radius:9px;color:#526176;padding:8px 9px;font-size:.79rem;font-weight:700;text-decoration:none}.footer-links a:hover{background:var(--pale);color:var(--brand-bright)}@media (max-width:1050px){.hero-panel{grid-template-columns:1fr}.hero-summary{grid-template-columns:110px minmax(0,1fr)}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-panel{grid-template-columns:1fr}}@media (max-width:780px){.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading>p{max-width:650px}.footer-inner{align-items:flex-start;flex-direction:column;padding-block:31px}.footer-links{justify-content:flex-start}}@media (max-width:700px){.hero-section{padding-top:22px}.hero-panel{border-radius:24px}.hero-copy{padding:39px 25px 32px}.hero-copy h1{font-size:clamp(2.35rem, 12vw, 3.4rem)}.hero-copy .btn{width:100%}.hero-summary{padding:29px 25px}.tool-grid{grid-template-columns:1fr}.tool-card{border-radius:23px}.stage-grid{grid-template-columns:1fr}.audience-panel{border-radius:23px}}@media (max-width:480px){.header-inner{min-height:70px}.brand-lockup{font-size:.98rem}.brand-mark{width:36px;height:36px}.header-nav .nav-link:not(.nav-cta){display:none}.nav-link.nav-cta{min-height:39px;padding:8px 10px;font-size:.77rem}.hero-summary{grid-template-columns:88px minmax(0,1fr);gap:16px}.hero-count strong{font-size:3.8rem}.hero-summary-copy p{font-size:.89rem}.tools-section{padding-top:49px}.preview-canvas{min-height:270px;padding-inline:16px}.carousel-footer{grid-template-columns:1fr;gap:8px}.carousel-dots{justify-content:flex-start}.tool-card-body{padding:23px}}@media (max-width:380px){.header-nav{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{scroll-behavior:auto!important;transition-duration:0s!important}}.site-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;padding-bottom:20px;font-size:.8rem;color:#475569}.site-legal nav{display:flex;flex-wrap:wrap;gap:20px}.site-legal a{color:#1146a1;text-decoration:underline;text-underline-offset:3px}.site-legal a:focus-visible{outline:3px solid #f59e0b;outline-offset:4px}@media print{.site-legal{display:none}}.mini-quiz-stage{height:auto;aspect-ratio:16/9}.site-page-tools .tools-section{padding-top:34px}.site-page-tools .tool-card{scroll-margin-top:96px}.site-page-tools .tool-grid{align-items:start}.tool-details{margin-bottom:16px}.tool-details-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;list-style:none;color:var(--ink)}.tool-details-toggle::-webkit-details-marker{display:none}body.teacher-site .tool-details-title{margin:0;font-size:1.46rem;line-height:1.2;letter-spacing:-.025em}.tool-details-chevron{width:18px;height:18px;flex:0 0 18px;transition:transform 180ms ease}.tool-details[open]>.tool-details-toggle .tool-details-chevron{transform:rotate(180deg)}.tool-details-toggle:hover{color:var(--brand)}.tool-details-toggle:focus-visible{outline:3px solid #f59e0b;outline-offset:5px;border-radius:6px}.tool-details-content{padding-top:14px}.tool-details-content .tool-heading-row{margin-bottom:14px}.tool-details-content .feature-list{margin-bottom:0}@media (max-width:780px){.site-page-tools .tools-section{padding-top:24px}}.preview-canvas math{font-family:math,"Cambria Math","STIX Two Math",serif;font-size:1em;font-weight:400;math-style:normal}.preview-canvas mfrac{math-depth:0}.mini-quiz-question>span{width:100%;min-width:0;text-align:center}