:root{--blue:#075080;--deep:#04334f;--ink:#122f43;--muted:#526777;--pale:#eef6fa;--line:#d5e3ec;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.13}h1{font-size:clamp(2.7rem,5.8vw,5rem);max-width:950px;margin-bottom:26px}h2{font-size:clamp(2rem,3.8vw,3.2rem);max-width:820px;margin-bottom:35px}h3{font-size:1.5rem;margin-bottom:16px}p{margin-bottom:23px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:5px}*:focus-visible{outline:3px solid #2385bd}.wrap{width:min(1160px,calc(100% - 72px));margin:auto}.skip{position:fixed;top:-100px;left:15px;z-index:20;background:white;padding:14px}.skip:focus{top:10px}header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:24px}.brand{display:flex;align-items:center;gap:9px;font-size:20px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:var(--blue);flex-shrink:0}.brand:hover{text-decoration:none}.brand svg{width:44px;height:60px}nav{display:flex;gap:29px;align-items:center}nav a{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;padding:12px 0}.nav-cta{background:var(--blue);color:white;padding:11px 24px;border-radius:30px}nav .active:not(.nav-cta){border-bottom:2px solid var(--blue)}.menu-toggle{display:none}.hero{padding:90px 0 86px}.hero .lede{font-size:21px;max-width:680px;line-height:1.6}.hero.inner{background:var(--pale);border-bottom:1px solid var(--line)}.hero.earth{color:white;background:linear-gradient(90deg,rgba(0,24,41,.92),rgba(0,37,60,.54)),url('/earth.jpg') center 54%/cover;min-height:630px;display:flex;align-items:center}.hero.earth h1{font-size:clamp(3.3rem,6.8vw,5.9rem);max-width:900px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin-bottom:20px;line-height:1.6}.earth .eyebrow,.blue .eyebrow{color:#b6dcef}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--blue);color:white;border:1px solid var(--blue);padding:15px 24px;border-radius:7px;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);text-decoration:none;transform:translateY(-2px)}.button.light{background:white;color:var(--blue);border-color:white}.button.light:hover{background:#e6f3fa}.earth .button:first-child{background:rgba(4,76,123,.7);color:white;border-color:#b6dcef}.text-link{padding:14px 10px;font-size:15px;font-weight:700}.credentials{font-size:14px;color:#d5e8f5;margin-top:42px;margin-bottom:0}.subject-line{font-size:15px;font-weight:600;margin:0}.section{padding:86px 0}.pale{background:var(--pale)}.blue{background:var(--blue);color:white}.routes{display:grid;grid-template-columns:1fr 1fr;gap:28px}.route{border:1px solid var(--line);border-radius:12px;padding:43px;background:var(--pale)}.route:nth-child(2){background:white}.route h3{font-size:2.3rem}.route p:not(.eyebrow){max-width:430px;color:var(--muted)}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.large{font-size:23px;line-height:1.6;letter-spacing:-.015em}.narrow{max-width:800px}.price-panel{padding:34px 38px;border-radius:12px;background:white;border:1px solid var(--line)}.price{font-size:3.5rem;line-height:1.2;font-weight:700;letter-spacing:-.045em;margin-bottom:12px;color:var(--blue)}.price span{font-size:18px;font-weight:400;letter-spacing:0}.inline-price{font-size:26px;font-weight:700;color:var(--blue)}.inline-price span{font-size:17px;font-weight:400}blockquote{margin:0;border-left:3px solid var(--blue);padding-left:36px;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:700;line-height:1.3;letter-spacing:-.025em}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.grid:has(> :nth-child(4)){grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{padding:32px;background:white;border:1px solid var(--line);border-radius:11px}.card p{color:var(--muted);margin-bottom:0}.card .price{color:var(--blue);margin-bottom:18px}.card .button{margin-top:25px}.number{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;font-size:13px;font-weight:700;color:var(--blue);background:#e2f0f8;border-radius:50%;margin-bottom:25px}.process .card{border-top:3px solid var(--blue)}.bio{display:grid;grid-template-columns:.8fr 1.4fr;gap:65px;align-items:center}.portrait{border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#dcebf4,#edf5fa);min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--blue);padding:30px}.portrait svg{width:70px;height:100px}.portrait p{font-size:30px;font-weight:700;margin:22px 0 7px}.portrait small{font-size:14px;color:var(--muted)}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin:30px 0}.credentials-grid h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;color:var(--blue)}.credentials-grid p{font-size:15px;line-height:1.6;margin-bottom:17px}.ticks{padding-left:20px}.ticks li{padding-left:6px;margin-bottom:12px}.faqs{max-width:900px}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-weight:600;padding:24px 0}summary::-webkit-details-marker{display:none}summary span{font-size:25px;color:var(--blue)}details[open] summary span{transform:rotate(45deg)}details p{max-width:780px;color:var(--muted);padding-right:30px}.credential-strip,.category-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px}.credential-strip span,.category-list span{padding:11px 18px;border:1px solid var(--line);background:var(--pale);border-radius:6px;font-size:14px;font-weight:600}.article-placeholder small{display:block;margin-top:28px;font-size:13px;line-height:1.6;color:var(--muted)}.enquiry-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:70px}form{max-width:760px}fieldset{padding:0;border:0;margin:0 0 30px}legend{font-weight:600;margin-bottom:15px}.type-options{display:flex;flex-wrap:wrap;gap:12px}.type-options label{padding:13px 15px;border:1px solid var(--line);border-radius:7px;font-size:14px;margin:0;cursor:pointer;background:var(--pale)}.type-options input{width:auto;margin-right:6px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:15px;font-weight:600;margin-bottom:22px}input:not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #aebfcb;border-radius:5px;background:white;padding:13px 14px;margin-top:9px;color:var(--ink);min-height:49px}textarea{resize:vertical}.form-note{font-size:14px;color:var(--muted)}aside{background:var(--pale);padding:32px;border-radius:10px;align-self:start}aside h3{font-size:27px}aside p{font-size:16px}.email{font-size:16px;font-weight:600;overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.confirmation{padding:25px;background:var(--pale);border:1px solid var(--line);border-radius:7px;margin-top:30px}.confirmation textarea{font-size:14px}.confirmation button{margin-top:18px}footer{background:var(--deep);color:#d5e7f1;padding:60px 0 24px}footer .brand{color:white}footer a{color:#d5e7f1}footer .eyebrow{color:#b6dcef}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:55px}.footer-top p{font-size:16px;margin-top:22px}.footer-top nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.footer-top nav a{font-size:14px;padding:5px 0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:30px;margin-top:38px;border-top:1px solid #315368;font-size:12px}.footer-bottom div{display:flex;flex-wrap:wrap;gap:18px}.image-credit{font-size:12px;color:#a1bdcd;margin:20px 0 0}@media(min-width:1400px){.hero.earth{min-height:700px}}@media(max-width:1000px){nav{gap:17px}.nav-wrap{min-height:86px}.brand{font-size:17px}.wrap{width:calc(100% - 48px)}.section{padding:65px 0}.split,.bio{gap:35px}.enquiry-layout{gap:30px}.route{padding:30px}.grid{grid-template-columns:repeat(2,1fr)}.portrait{min-height:380px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav-wrap{min-height:78px}.brand{font-size:17px}.brand svg{height:45px;width:34px}.menu-toggle{display:flex;gap:12px;align-items:center;padding:10px 13px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--blue);font-size:14px;min-height:44px}header nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:15px 20px 22px;align-items:stretch;gap:0}header nav.open{display:flex;flex-direction:column}header nav a{padding:14px 10px}header nav .nav-cta{margin-top:8px;text-align:center}.hero{padding:53px 0}.hero.earth{min-height:570px;background-position:58% center}.hero.earth h1{font-size:3.5rem}.hero .lede{font-size:18px}.hero .lede br{display:none}.credentials{font-size:12px;line-height:1.8;margin-top:30px}.actions{gap:12px}.hero .actions .button{width:100%}.section{padding:53px 0}h2{margin-bottom:27px}.eyebrow{font-size:12px;margin-bottom:16px}.routes,.split,.bio,.enquiry-layout,.grid,.grid.two,.grid:has(> :nth-child(4)){grid-template-columns:1fr;gap:22px}.route{padding:29px}.route h3{font-size:2rem}.large{font-size:20px}.price-panel{padding:28px}.card{padding:27px}.bio .portrait{min-height:280px}.credentials-grid{gap:10px 18px}.blue .actions .button{width:100%}blockquote{padding-left:25px;margin:10px 0}.field-grid{grid-template-columns:1fr;gap:0}.type-options{flex-direction:column}.type-options label{min-height:48px}aside{padding:28px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom div{gap:13px}.subject-line{font-size:14px;width:100%;margin-top:8px}.inline-price{width:100%}.inline-price span{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied STEM Coach brand mark, recoloured for each surface. */
.brand-mark{width:44px;height:60px;object-fit:contain;flex-shrink:0}
footer .brand-mark{filter:brightness(0) invert(1)}
.portrait-mark{width:70px;height:100px;object-fit:contain}
@media(max-width:760px){.brand-mark{width:34px;height:45px}}

/* Real classroom photographs and parent recommendations. */
figure.teaching-photo{margin:0;padding:0;display:block;overflow:hidden;min-height:0;background:var(--pale)}
.teaching-photo img{display:block;width:100%;height:510px;object-fit:cover;object-position:48% center}
.demonstration-photo{margin:0;max-width:620px}
.demonstration-photo img{display:block;width:100%;height:auto;border-radius:12px}
.demonstration-photo figcaption{font-size:14px;color:var(--muted);margin-top:16px}
.subject-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--blue);background:#e2f0f8;border-radius:50%;margin-bottom:25px}
.subject-icon svg{width:27px;height:27px}
figure.testimonial{margin:0;display:flex;flex-direction:column}
.quote-mark{font-size:58px;font-family:Georgia,serif;color:var(--blue);line-height:1;margin-bottom:10px}
.testimonial blockquote{border:0;padding:0;font-size:18px;font-weight:400;letter-spacing:0;line-height:1.7;margin:0 0 28px}
.testimonial figcaption{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}
.testimonial figcaption strong,.testimonial figcaption span,.testimonial figcaption small{display:block}
.testimonial figcaption strong{font-size:15px}
.testimonial figcaption span{font-size:14px;color:var(--muted)}
.testimonial figcaption small{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.teaching-photo img{height:420px;object-position:48% center}.bio .teaching-photo{min-height:0}}

.deliverables{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 42px;max-width:1000px}
.deliverables li{padding:25px 0;border-top:1px solid var(--line)}
.deliverables h3{font-size:20px;margin-bottom:12px}
.deliverables p{color:var(--muted);margin-bottom:0}
.schools-bio .teaching-photo img{height:390px}
@media(max-width:760px){.deliverables{grid-template-columns:1fr}.schools-bio .teaching-photo img{height:380px}}

/* Keep classroom images within their layout columns. */
.bio{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
.bio>*,.split>*,.routes>*{min-width:0}
figure.teaching-photo{width:100%;max-width:100%}
.teaching-photo img{max-width:100%}
.schools-bio{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px}
.schools-bio .teaching-photo img{height:340px}
@media(max-width:760px){.bio,.schools-bio{grid-template-columns:minmax(0,1fr);gap:24px}.schools-bio .teaching-photo{max-width:420px}.schools-bio .teaching-photo img{height:340px}}
