@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#101d2c;--blue:#255bd7;--sky:#dbe9ff;--aqua:#61dbc8;--coral:#ff785f;--cream:#f7f6f1;--white:#fff;--text:#172538;--muted:#677486;--line:#dfe5ea;--shadow:0 22px 60px rgba(16,29,44,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;overflow-x:clip;background:var(--cream);color:var(--text);font-family:"DM Sans","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,91,215,.35);outline-offset:3px}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;padding:12px 18px;border-radius:10px;font-weight:700}.skip-link:focus{top:12px}
.site-header,.hero,.section,.proof-strip,footer{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{position:sticky;top:14px;z-index:40;min-height:72px;margin-top:14px;padding:10px 12px 10px 18px;border:1px solid rgba(223,229,234,.9);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 35px rgba(16,29,44,.08);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-.025em}.brand-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--navy);color:var(--aqua);font-size:12px}.brand small{display:block;margin-top:2px;color:#788493;font:700 9px/1 "DM Sans",sans-serif;letter-spacing:.13em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:28px;color:#526174;font-size:13px;font-weight:700}.site-header nav a:not(.button):hover{color:var(--blue)}.menu-toggle{display:none}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;padding:13px 21px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 12px 25px rgba(37,91,215,.24)}.button-ghost{border:1px solid var(--line);background:rgba(255,255,255,.75);color:var(--navy)}.button-accent{background:var(--aqua);color:var(--navy);box-shadow:0 10px 24px rgba(97,219,200,.22)}
.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(48px,7vw,92px);align-items:center;padding:82px 0 90px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#657386;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(255,120,95,.12)}h1,h2,h3{font-family:"Manrope",sans-serif}.hero h1{margin:0;font-size:clamp(52px,6.3vw,80px);line-height:.98;letter-spacing:-.065em;font-weight:800}.hero h1 em{color:var(--blue);font-style:normal}.lead{max-width:650px;margin:27px 0;color:#5a687a;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-facts{display:flex;margin:34px 0 0;padding:0;list-style:none}.hero-facts li{padding:0 24px;border-left:1px solid var(--line)}.hero-facts li:first-child{padding-left:0;border-left:0}.hero-facts strong,.hero-facts span{display:block}.hero-facts strong{font-size:14px}.hero-facts span{margin-top:4px;color:#7b8795;font-size:10px}.hero-card{position:relative;min-height:475px;overflow:hidden;border-radius:34px;padding:34px;background:linear-gradient(145deg,#255bd7,#183f9e 58%,#10295e);color:#fff;box-shadow:var(--shadow),14px 14px 0 var(--aqua)}.orbit{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%}.orbit-one{width:330px;height:330px;right:-90px;top:70px}.orbit-two{width:210px;height:210px;left:-90px;bottom:-70px;background:rgba(97,219,200,.12)}.hero-card-top{position:relative;display:flex;justify-content:space-between;align-items:center;color:#d6e3ff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.hero-card-top b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--blue);font-size:12px}.hero-card blockquote{position:relative;margin:82px 0 64px;font:700 clamp(29px,3vw,38px)/1.18 "Manrope",sans-serif;letter-spacing:-.04em}.subject-list{position:relative;display:flex;gap:8px;flex-wrap:wrap}.subject-list span{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:600}.teacher-line{position:relative;display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.teacher-initials{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--aqua);color:var(--navy);font-size:11px;font-weight:800}.teacher-line p{margin:0}.teacher-line strong,.teacher-line small{display:block}.teacher-line strong{font-size:13px}.teacher-line small{margin-top:3px;color:#c5d5ed;font-size:10px}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:84px}.proof-strip p{margin:0;padding:4px 24px;border-left:1px solid var(--line)}.proof-strip p:first-child{padding-left:0;border-left:0}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{font:800 20px/1.2 "Manrope",sans-serif}.proof-strip span{margin-top:6px;color:#6f7d8e;font-size:11px}.section{padding:104px 0}.services{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:44px}.section-heading h2,.method h2,.about h2,.modal h2{max-width:720px;margin:0;font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-.05em}.section-heading>p{max-width:390px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;padding:30px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 12px 36px rgba(16,29,44,.04)}.service-card.featured{background:var(--sky);border-color:#c9dcff}.card-number{position:absolute;right:26px;top:26px;color:#9ba7b5;font:700 12px "Manrope",sans-serif}.tag{margin:0 0 25px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.service-card h3{margin:0;font-size:29px;letter-spacing:-.04em}.service-card>p:not(.tag){min-height:92px;color:#667486;font-size:14px;line-height:1.65}.service-card ul{min-height:100px;margin:22px 0;padding:18px 0 0;border-top:1px solid rgba(104,117,134,.18);list-style:none}.service-card li{position:relative;margin:10px 0;padding-left:20px;color:#445267;font-size:13px}.service-card li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}.service-card a{display:inline-flex;gap:8px;color:var(--navy);font-size:13px;font-weight:800}.service-card a span{color:var(--blue)}
.method{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding:105px max(24px,calc((100vw - 1180px)/2));background:var(--navy);color:#fff}.eyebrow.light{color:#a8b5c5}.method-intro>p:last-child{max-width:470px;color:#aab7c6;line-height:1.7}.method-steps{margin:0;padding:0;list-style:none}.method-steps li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13)}.method-steps li:first-child{padding-top:0}.method-steps li>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--aqua);color:var(--navy);font-weight:800}.method-steps h3{margin:0 0 7px;font-size:20px}.method-steps p{margin:0;color:#aab7c6;font-size:13px;line-height:1.55}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.about-note{border-radius:28px;padding:34px;background:var(--sky)}.about-note>span{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.about-note strong{display:block;margin:22px 0 13px;font:800 29px/1.12 "Manrope",sans-serif;letter-spacing:-.04em}.about-note p{margin:0;color:#54647a;line-height:1.7}.about-copy>p:not(.eyebrow){color:#5b697a;font-size:15px;line-height:1.75}
.booking{padding:104px max(24px,calc((100vw - 1180px)/2));background:#fff;border-block:1px solid var(--line)}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px}.calendar{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fbfcfd;box-shadow:0 18px 50px rgba(16,29,44,.07)}.toolbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}.toolbar strong{text-align:center;font-size:14px}.toolbar button{flex:0 0 40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);cursor:pointer}.toolbar button:disabled{opacity:.35}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.days button{min-width:0;min-height:116px;padding:16px 5px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.days button:last-child{border-right:0}.days span,.days small{display:block;color:#7b8795;font-size:9px;text-transform:uppercase}.days b{display:block;margin:7px 0;font:700 27px "Manrope",sans-serif}.days button.active{background:var(--blue);color:#fff}.days button.active span,.days button.active small{color:#dce6ff}.days button.blocked{background:#f0f2f3;color:#9aa2aa;text-decoration:line-through;cursor:not-allowed}.times{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px}.times small{color:#7a8797;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.times h3{margin:5px 0 0;font-size:21px;text-transform:capitalize}.times>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.times button{min-width:76px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);cursor:pointer}.times button.active{border-color:var(--blue);background:var(--sky);color:var(--blue);font-weight:800}.summary{min-width:0;border-radius:28px;padding:30px;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.summary-status{display:flex;align-items:center;gap:8px;color:var(--aqua);font-weight:800;text-transform:uppercase}.summary-status span{width:9px;height:9px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 5px rgba(97,219,200,.12)}.summary>p{margin:34px 0 8px;color:#97a7b9;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.summary>h3{min-height:64px;margin:0 0 20px;font-size:23px;line-height:1.35;text-transform:capitalize}.summary dl{margin:0;border-top:1px solid rgba(255,255,255,.13)}.summary dl div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:12px}.summary dd{margin:0;font-weight:800;text-align:right}.summary .button{width:100%;margin:17px 0}.summary>small{display:block;color:#97a7b9;text-align:center;line-height:1.45}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 0 50px;color:#697687;font-size:12px}footer p{text-align:center;line-height:1.6}footer p span{color:#929ba7}footer>a:last-child{font-weight:800;text-decoration:underline;text-underline-offset:4px}.mobile-booking{display:none}
.modal{position:fixed;inset:0;z-index:80;overflow:auto;padding:18px;background:rgba(8,19,31,.76);backdrop-filter:blur(8px)}.modal[hidden]{display:none}.modal>section{position:relative;width:min(680px,100%);margin:18px auto;border-radius:26px;background:var(--cream);padding:40px;box-shadow:0 28px 90px rgba(0,0,0,.28)}.close{position:absolute;right:16px;top:15px;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-size:25px;cursor:pointer}.chosen{margin-bottom:8px;color:var(--blue);font-size:18px;font-weight:800;text-transform:capitalize}.modal-price{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px;padding:15px;border-radius:14px;background:var(--sky);font-size:12px}.modal-price span{color:#5d6b7f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{color:#536175;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #cbd4dd;border-radius:12px;background:#fff;color:var(--text);outline:0;text-transform:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,91,215,.12)}.form-grid .full{grid-column:1/-1}.submit{width:100%;margin-top:8px}.error{color:#b63424;font-size:13px}#success{padding:26px;text-align:center}#success b{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:18px;background:var(--aqua);color:var(--navy);font-size:24px}#success h3{font-size:25px}
@media(max-width:900px){.site-header nav a:not(.button){display:none}.hero{grid-template-columns:1fr;gap:50px}.hero-card{min-height:420px}.proof-strip{grid-template-columns:repeat(2,1fr);gap:28px}.proof-strip p:nth-child(3){padding-left:0;border-left:0}.service-grid{grid-template-columns:1fr}.service-card>p:not(.tag),.service-card ul{min-height:0}.method,.about,.booking-grid{grid-template-columns:1fr}.method{gap:50px}.about{gap:35px}.section-heading{align-items:start;flex-direction:column;gap:18px}}
@media(max-width:600px){html{scroll-padding-top:82px}.site-header,.hero,.section,.proof-strip,footer{width:calc(100% - 24px)}.site-header{top:8px;min-height:62px;margin-top:8px;padding:8px 8px 8px 11px;border-radius:17px}.brand{font-size:12px}.brand-mark{flex-basis:38px;height:38px;border-radius:11px}.site-header .brand small{font-size:8px}.menu-toggle{display:flex;width:45px;height:45px;flex-direction:column;justify-content:center;gap:4px;border:0;border-radius:13px;background:var(--navy);padding:0 12px;color:#fff}.menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.site-header nav{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.site-header nav a:not(.button){display:block;padding:14px 12px;border-bottom:1px solid var(--line)}.site-header nav .button{margin-top:8px}.hero{min-height:0;padding:58px 0 68px;gap:40px}.hero h1{font-size:clamp(43px,12.4vw,57px)}.lead{margin:22px 0;font-size:16px}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px}.hero-facts li{padding:0 10px}.hero-facts strong{font-size:12px}.hero-facts span{font-size:9px;line-height:1.35}.hero-card{min-height:385px;border-radius:26px;padding:25px;box-shadow:8px 8px 0 var(--aqua)}.hero-card blockquote{margin:62px 0 48px;font-size:27px}.proof-strip{grid-template-columns:1fr 1fr;gap:0;padding-bottom:66px}.proof-strip p{padding:18px 12px;border-bottom:1px solid var(--line)}.proof-strip p:nth-child(3){padding-left:12px;border-left:1px solid var(--line)}.proof-strip strong{font-size:17px}.section{padding:72px 0}.section-heading h2,.method h2,.about h2,.modal h2{font-size:38px}.service-grid{gap:12px}.service-card{padding:25px;border-radius:22px}.method{padding:72px 12px;gap:42px}.method-steps li{grid-template-columns:46px 1fr;gap:13px}.method-steps li>span{width:42px;height:42px}.about-note{padding:26px;border-radius:22px}.booking{padding:72px 12px 100px}.calendar,.summary{border-radius:22px}.toolbar{min-height:62px;padding:0 10px}.toolbar strong{font-size:12px}.days{grid-template-columns:repeat(4,minmax(0,1fr))}.days button{min-height:84px;padding:10px 2px;border-bottom:1px solid var(--line)}.days button:nth-child(4){border-right:0}.days b{margin:4px 0;font-size:21px}.days span,.days small{font-size:8px}.times{align-items:stretch;flex-direction:column;padding:20px}.times h3{font-size:19px}.times>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.times button{width:100%;min-width:0}.summary{padding:25px}.summary>h3{min-height:0}.mobile-booking{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:35;display:flex;min-height:54px;align-items:center;justify-content:center;gap:10px;border-radius:16px;background:var(--blue);color:#fff;box-shadow:0 14px 35px rgba(37,91,215,.35);font-weight:800}.modal{padding:0}.modal>section{min-height:100%;margin:0;border-radius:0;padding:30px 18px max(28px,env(safe-area-inset-bottom))}.modal h2{padding-right:42px}.modal-price{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr;gap:13px}.form-grid .full{grid-column:auto}.form-grid input,.form-grid select,.form-grid textarea{min-height:48px}.close{position:fixed;z-index:2}.submit{min-height:54px}footer{align-items:start;flex-direction:column;padding-bottom:96px}footer p{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
