/* Streamline's learning-table visual direction. Shared font lives in site.css. */
.public-site{font-size:16px;line-height:1.75;background:#fbf7f0}
.public-site h1,.public-site h2,.public-site h3{font-weight:650;line-height:1.14;letter-spacing:-.045em;text-wrap:balance}
.public-site h1{font-size:clamp(42px,4.6vw,66px)}
.public-site h2{font-size:clamp(30px,3.2vw,46px)}
.public-site h3{letter-spacing:-.025em}
.public-site em{font-style:normal;font-weight:inherit;color:#9a4d37}
.public-site .wrap{max-width:1440px;padding-left:48px;padding-right:48px}
.public-site .eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:750;margin-bottom:22px}
.public-site .site-header{height:112px;border-bottom:1px solid #e3e4da}
.public-site .brand{width:205px}
.public-site .site-header nav{font-size:13px;gap:27px;font-weight:600}
.public-site .button{border-radius:8px;font-size:14px;padding:14px 22px;min-height:48px;font-weight:700}
.public-site .button.small{font-size:12px;padding:11px 17px;min-height:44px}
.public-site .text-link{font-size:13px;font-weight:700;letter-spacing:0}
.public-site .hero{grid-template-columns:.95fr 1.05fr;gap:54px;padding-top:64px;padding-bottom:72px;align-items:center}
.public-site .hero-copy{max-width:none}
.public-site .hero h1{font-size:clamp(42px,4.6vw,66px);line-height:1.13;margin-bottom:28px;letter-spacing:-.045em;word-spacing:.03em}
.public-site .hero-intro{font-size:18px;line-height:1.75;margin-bottom:22px;max-width:470px}
.public-site .hero-detail{font-size:13px;line-height:1.9;color:#58695e;margin-bottom:28px}
.public-site .hero-actions{gap:24px;flex-wrap:wrap}
.hero-visual{position:relative;padding-top:18px;min-width:0}
.hero-visual:before{content:"";position:absolute;inset:0 16px 45px -16px;border:1px solid #c6d1c3;border-radius:110px 20px 18px 20px;transform:rotate(-3deg);pointer-events:none}
.learning-image{margin:0;min-width:0;position:relative}
.learning-image picture{display:block;overflow:hidden;border-radius:12px;background:#e9e5d8}
.learning-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.learning-image figcaption{font-size:11px;letter-spacing:.1px;line-height:1.5;color:#5b6d60;margin-top:12px}
.hero-visual .learning-image picture{border-radius:96px 14px 14px 14px}
.hero-visual .learning-image figcaption{padding-left:4px}
.photo-kicker{position:absolute;right:20px;top:0;z-index:1;background:#214d3f;color:#fff;padding:7px 14px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:1px}
.visual-note{position:absolute;bottom:6px;right:18px;display:flex;align-items:center;gap:14px;max-width:275px;background:#fffdf8;box-shadow:0 8px 36px #183b3014;border:1px solid #d3d9cb;padding:15px 20px;border-radius:10px;font-size:11px;line-height:1.6}
.visual-note strong{font-size:38px;line-height:1;font-weight:650;letter-spacing:-2px}
.visual-note span{display:block}
.public-site .class-band{background:#e9eee4;border-color:#d6ddce}
.public-site .class-band>.wrap{padding-top:22px;padding-bottom:22px}
.public-site .class-band .wrap>div{font-size:17px;font-weight:650;gap:32px}
.public-site .class-band>.wrap>span{font-size:10px;letter-spacing:1px;max-width:220px}
.public-site .intro-section{padding-top:88px;padding-bottom:88px;gap:90px}
.public-site .intro-text{font-size:16px;line-height:1.85;padding-top:30px}
.public-site .subject-section{padding:80px 0;background:#214d3f}
.public-site .subject-layout{display:block}
.subject-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:34px}
.subject-heading h2{max-width:660px;margin:0;font-size:clamp(32px,3.5vw,48px)}
.subject-heading h2 em{color:#e4b499}
.subject-heading p{max-width:290px;color:#dce5d8;font-size:14px;margin-bottom:5px}
.subject-collection{border-top:1px solid #688274}
.subject-row{display:grid;grid-template-columns:48px 270px 1fr 35px;align-items:center;gap:40px;padding:28px 0;border-bottom:1px solid #688274}
.subject-index{font-size:13px;align-self:start;padding-top:14px;color:#e4b499}
.subject-row .learning-image img{transition:transform .4s ease}
.subject-row:hover .learning-image img{transform:scale(1.025)}
.subject-row .learning-image picture{border-radius:8px}
.subject-row .learning-image figcaption{color:#d2ddce;font-size:10px;margin-top:7px}
.subject-row h3{font-size:34px;margin:9px 0 12px;color:#fbf7f0}
.subject-row p{font-size:15px;color:#e4ebe0;margin:0;line-height:1.7}
.subject-row .subject-caption{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#e4b499;font-weight:650}
.subject-row .subject-arrow{font-size:29px;color:#e4b499}
.public-site .teachers-section{padding-top:88px;padding-bottom:88px}
.public-site .teacher-panel{padding:30px 0;gap:26px}
.public-site .teacher-monogram{font-size:40px;letter-spacing:-2px;font-weight:650;width:100px;height:130px;border-radius:50px 50px 10px 10px}
.public-site .small-star{font-size:23px}
.public-site .teacher-panel h3{font-size:25px;margin-bottom:12px}
.public-site .teacher-panel p{font-size:13px;line-height:1.85}
.public-site .teacher-panel .eyebrow{font-size:10px;margin-bottom:10px}
.public-site .rhythm-section{background:#edece2;padding:72px 0}
.public-site .rhythm-layout{gap:75px}
.public-site .rhythm-layout>div>p{font-size:15px}
.public-site .rhythm-details summary{font-size:15px;line-height:1.6}
.public-site .rhythm-details details p{font-size:14px;line-height:1.8}
.public-site .enquiry-section{padding-top:88px;padding-bottom:88px;gap:70px;align-items:start}
.public-site .enquiry-section h2{font-size:clamp(34px,3.5vw,48px)}
.public-site .enquiry-section>div>p:not(.eyebrow){font-size:16px}
.public-site .contact-number{font-size:24px;font-weight:600;letter-spacing:-.5px}
.public-site .field{font-size:13px}
.public-site .field input,.public-site .field select,.public-site .field textarea{font-size:14px;min-height:46px}
.public-site .check{font-size:12px}
.public-site .form-note{font-size:12px}
.public-site .enquiry-box{border-radius:12px;padding:30px}
.illustrated-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.public-site .illustrated-intro h1{font-size:clamp(38px,4vw,56px);margin-bottom:26px}
.illustrated-intro .learning-image picture{border-radius:70px 12px 12px 12px}
.public-site .large-copy{font-size:17px;line-height:1.85}
.public-site .page-intro{padding-top:65px;padding-bottom:65px}
.public-site .page-intro .hero-actions>span{font-size:12px}
.public-site .steps h2{font-size:28px}
.public-site .steps p{font-size:15px}
.public-site .quote-section p{font-size:clamp(30px,4.8vw,62px);font-weight:600;letter-spacing:-.045em}
.public-site .teacher-bios article{grid-template-columns:160px 1fr;gap:60px}
.public-site .teacher-bios .teacher-monogram{width:150px;height:180px;font-size:56px;letter-spacing:-3px}
.public-site .teacher-bios h2{font-size:36px}
.public-site .teacher-bios p{font-size:16px;max-width:820px}
.public-site .teacher-bios address{font-size:14px;margin:20px 0}
.public-site .footer-top p{font-size:29px;font-weight:600;letter-spacing:-1px}
.public-site .footer-top h2{font-size:11px;letter-spacing:1px;font-weight:700}
.public-site .footer-top>div>a,.public-site .footer-top>div>span{font-size:13px}
.public-site .footer-bottom{font-size:11px}
.public-site .compact-cta h2{font-size:clamp(28px,3vw,40px)}
.public-site .login-section h1{font-size:clamp(44px,5vw,64px)}
@media(min-width:900px) and (prefers-reduced-motion:no-preference){.hero-visual{animation:learning-arrives .65s ease both}@keyframes learning-arrives{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1100px){.public-site .wrap{padding-left:32px;padding-right:32px}.public-site .site-header nav{gap:19px;font-size:12px}.public-site .brand{width:180px}.public-site .hero{gap:34px}.public-site .hero h1{font-size:48px}.public-site .hero-intro{font-size:16px}.public-site .hero-actions{gap:18px}.public-site .hero-actions .button{font-size:12px;padding:13px 17px}.subject-row{grid-template-columns:35px 230px 1fr 28px;gap:28px}.subject-row h3{font-size:29px}.illustrated-intro{gap:40px}.visual-note{padding:12px 16px;font-size:10px;max-width:240px}.visual-note strong{font-size:32px}.public-site .teacher-pair{gap:30px}.public-site .teacher-panel{gap:20px}.public-site .teacher-panel h3{font-size:23px}}
@media(max-width:800px){.public-site .site-header{height:92px}.public-site .site-header nav{gap:10px;font-size:14px;top:86px}.public-site .hero{grid-template-columns:1fr;gap:36px;padding-top:35px;padding-bottom:48px}.public-site .hero h1{font-size:clamp(40px,7vw,58px);max-width:630px}.public-site .hero-intro{font-size:17px}.public-site .hero-detail{font-size:13px}.hero-visual{max-width:650px;width:100%;margin:auto;padding-top:14px}.hero-visual:before{inset:2px 12px 37px 0;transform:rotate(-2deg)}.visual-note{bottom:4px;right:12px}.photo-kicker{right:14px}.public-site .class-band .wrap>div{font-size:16px;gap:15px}.public-site .class-band>.wrap{gap:14px}.public-site .intro-section,.public-site .enquiry-section{padding-top:60px;padding-bottom:60px;gap:24px}.public-site .intro-section h2{font-size:36px}.public-site .intro-text{padding-top:0}.public-site .subject-section{padding:55px 0}.subject-heading{align-items:start;flex-direction:column;gap:22px}.subject-heading p{max-width:500px}.subject-row{grid-template-columns:28px 190px 1fr 25px;gap:20px}.subject-row h3{font-size:25px}.subject-row p{font-size:13px}.subject-row .subject-caption{font-size:9px}.public-site .teachers-section{padding-top:60px;padding-bottom:60px}.public-site .teacher-panel{gap:25px}.public-site .teacher-panel h3{font-size:25px}.public-site .rhythm-section{padding:55px 0}.public-site .rhythm-layout{padding-top:0;padding-bottom:0;gap:25px}.public-site .enquiry-section h2{font-size:38px}.public-site .illustrated-intro{grid-template-columns:1fr;gap:35px}.public-site .illustrated-intro h1{font-size:42px}.illustrated-intro .learning-image{max-width:650px;width:100%}.public-site .teacher-bios article{grid-template-columns:120px 1fr;gap:28px}.public-site .teacher-bios .teacher-monogram{width:120px;height:155px;font-size:44px}}
@media(max-width:520px){.public-site .wrap{padding-left:22px;padding-right:22px}.public-site .hero h1{font-size:clamp(34px,9.1vw,46px);letter-spacing:-.035em}.public-site .hero-intro{font-size:16px}.public-site .hero-intro br{display:none}.public-site .hero h1{margin-bottom:23px}.public-site .hero-detail{font-size:12px}.public-site .hero-actions{gap:20px}.public-site .hero-actions .text-link{font-size:12px}.hero-visual .learning-image picture{border-radius:58px 10px 10px 10px}.hero-visual .learning-image figcaption{font-size:10px;max-width:48%;padding-top:4px}.photo-kicker{font-size:8px;letter-spacing:.5px;right:8px;padding:6px 9px}.visual-note{padding:10px 12px;right:4px;bottom:-3px;gap:10px;max-width:180px;font-size:9px}.visual-note strong{font-size:29px}.public-site .class-band>.wrap>span{font-size:9px;max-width:none}.public-site .class-band .wrap>div{gap:8px;font-size:13px}.public-site .eyebrow{font-size:10px;letter-spacing:1px}.public-site .intro-section h2{font-size:32px}.public-site .subject-heading h2{font-size:33px}.subject-row{grid-template-columns:26px 1fr 25px;gap:14px;padding:24px 0}.subject-row .learning-image{grid-row:1;grid-column:1/-1}.subject-index{grid-column:1;grid-row:2;padding-top:11px}.subject-row>div{grid-column:2;grid-row:2}.subject-row>.subject-arrow{grid-column:3;grid-row:2}.subject-row h3{font-size:28px}.subject-row p{font-size:14px}.subject-row .subject-caption{font-size:9px;letter-spacing:1px}.public-site .section-heading h2{font-size:33px}.public-site .teacher-panel h3{font-size:23px}.public-site .teacher-monogram{width:86px;height:116px;font-size:34px}.public-site .teacher-panel p{font-size:12px}.public-site .teacher-panel .eyebrow{font-size:9px;letter-spacing:.7px}.public-site .teacher-panel{gap:18px}.public-site .rhythm-details summary{font-size:14px}.public-site .enquiry-box{padding:21px}.public-site .illustrated-intro h1{font-size:37px}.public-site .large-copy{font-size:16px}.public-site .teacher-bios article{grid-template-columns:1fr}.public-site .teacher-bios h2{font-size:30px}.public-site .teacher-bios .teacher-monogram{width:100px;height:125px;font-size:40px}.public-site .footer-top>div>a,.public-site .footer-top>div>span{font-size:12px}.public-site .footer-bottom{font-size:10px}.public-site .hero-visual:before{border-radius:65px 12px 12px 12px}}
@media(prefers-reduced-motion:reduce){.hero-visual{animation:none!important}.subject-row:hover .learning-image img{transform:none}.learning-image img{transition:none}}

/* Contact details have their own hierarchy, independent of display headings. */
.public-site .page-contact h1{font-size:clamp(38px,4.2vw,56px);line-height:1.15;letter-spacing:-.03em;margin-bottom:24px}
.public-site .page-contact .contact-intro{max-width:430px;line-height:1.8;margin-bottom:32px}
.contact-teachers{display:grid;gap:26px}
.contact-teachers article{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.public-site .contact-teachers h2{font-size:22px;line-height:1.35;letter-spacing:-.02em;font-weight:650;margin:0 0 8px;text-wrap:initial}
.public-site .contact-teachers p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 12px}
.public-site .contact-teachers .contact-number{font-size:20px;line-height:1.5;letter-spacing:0;font-weight:600;margin:0 0 10px;width:fit-content;min-height:30px}
.public-site .contact-teachers .text-link{font-size:13px;line-height:1.6;min-height:32px}
.public-site .contact-teachers address{font-size:14px;line-height:1.75;margin-top:14px}
@media(max-width:520px){.public-site .page-contact h1{font-size:38px}.public-site .page-contact .eyebrow{font-size:10px}.public-site .contact-teachers h2{font-size:21px}.public-site .page-contact{gap:36px}.public-site .page-contact input,.public-site .page-contact select,.public-site .page-contact textarea{font-size:16px}}
