:root{
  --navy:#0c2050;--navy-deep:#071a42;--royal:#174cbb;--blue:#1c60d1;--yellow:#ffc941;--yellow-soft:#fff0b6;--purple:#8161b5;--coral:#f06e5b;--teal:#217c83;--paper:#ffffff;--offwhite:#f6f8ff;--mist:#eef3fc;--ink:#14233f;--body:#526077;--muted:#75819a;--border:#dfe7f3;--shadow:0 25px 65px rgba(17,44,96,.09);--radius:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;max-width:100%;overflow-x:clip}
body{margin:0;max-width:100%;overflow-x:clip;background:#fff;color:var(--ink);font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon-defs{position:absolute;overflow:hidden;pointer-events:none}
::selection{background:#f9d976;color:#102f66}
:focus-visible{outline:3px solid #ffc941;outline-offset:4px}
.container{width:min(100% - 56px,1200px);margin:0 auto}
.section{padding:112px 0;position:relative}
section[id]{scroll-margin-top:105px}
p{margin:0 0 19px;color:var(--body)}
strong{font-weight:700}
h1,h2,h3,h4{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;line-height:1.15;letter-spacing:-.036em;margin:0;color:var(--navy)}
.eyebrow{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--royal);font-size:12px;letter-spacing:.145em;font-weight:900;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;margin-bottom:23px}
.section-heading{font-size:clamp(36px,4.15vw,55px);font-weight:900;letter-spacing:-.052em;margin:0 0 24px;max-width:740px}
.section-heading span{color:var(--royal)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:14px 23px;border-radius:14px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:14px;font-weight:900;line-height:1.25;letter-spacing:.005em;white-space:nowrap;transition:background .22s,color .22s,transform .22s,box-shadow .22s;border:1.5px solid transparent}
.btn:hover{transform:translateY(-3px)}
.btn .arrow{width:17px;height:17px;margin-left:3px;transition:transform .22s}
.btn:hover .arrow{transform:translateX(3px)}
.btn-primary{background:var(--royal);color:white;box-shadow:0 10px 25px rgba(23,76,187,.18)}
.btn-primary:hover{background:#0f3b99;box-shadow:0 15px 28px rgba(23,76,187,.24)}
.btn-outline{background:white;color:var(--navy);border-color:#cbd8ed}
.btn-outline:hover{border-color:var(--royal);color:var(--royal);box-shadow:0 10px 25px #122e5a0c}
.btn-dark{background:var(--navy);color:white;box-shadow:0 9px 24px #243a4a16}
.btn-dark:hover{background:#173e85}
.btn-white{background:#fff;color:var(--navy);box-shadow:0 14px 25px #06174422}
.btn-white:hover{background:var(--yellow)}
.btn-accent{background:var(--yellow);color:var(--navy);box-shadow:0 10px 25px #0001}
.btn-accent:hover{background:#ffe184}
.topline{height:33px;background:var(--navy-deep);color:#dbe7ff;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:.075em;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;padding:4px 20px;text-transform:uppercase}
.topline-sep{color:var(--yellow)}
.topline-dot{width:7px;height:7px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 4px #ffca4128}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--yellow);z-index:200;transform:scaleX(0);transform-origin:left center;pointer-events:none}
.site-header{background:#fffdfdf5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);height:88px;position:sticky;top:0;z-index:100;border-bottom:1px solid #e7ebf3;transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 24px #142e4f10}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}
.brand{display:flex;align-items:center;gap:10px;flex:none;min-width:194px}
.brand img{width:69px;height:61px;object-fit:contain;mix-blend-mode:multiply}
.brand-copy{display:flex;flex-direction:column;gap:0;line-height:1}
.brand-copy small{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--royal);font-size:9px;letter-spacing:.12em;font-weight:900}
.brand-copy strong{font-size:24px;color:var(--navy);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap;font-weight:1000}
.brand-period{color:#f6ae21}
.main-nav{display:flex;align-items:center;gap:19px}
.nav-link{font-size:12px;font-weight:700;white-space:nowrap;color:#33425f;position:relative;transition:color .2s}
.nav-link:hover,.nav-link.active{color:var(--royal)}
.nav-link::after{content:'';position:absolute;bottom:-11px;left:0;width:0;height:2px;background:var(--yellow);transition:width .25s}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-contact{display:inline-flex;align-items:center;gap:7px;color:#fff;background:var(--navy);padding:11px 14px;border-radius:11px;font-size:12px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;white-space:nowrap;transition:background .2s,transform .2s}
.nav-contact .icon{width:17px;height:17px}
.nav-contact:hover{background:var(--royal);transform:translateY(-2px)}
.menu-toggle{display:none;border:1px solid var(--border);background:#f6f8ff;border-radius:11px;width:46px;height:46px;align-items:center;justify-content:center;color:var(--navy)}
.menu-toggle .icon-close{display:none}
.menu-toggle.is-active .icon-open{display:none}
.menu-toggle.is-active .icon-close{display:block}
/* HERO */
.hero{background:radial-gradient(circle at 5% 10%,#edf4ff 0,transparent 38%),linear-gradient(112deg,#fff 3%,#f8fbff 59%,#fff 100%);padding-top:88px;padding-bottom:135px;overflow:hidden}
.hero-pattern{position:absolute;pointer-events:none;right:-100px;top:-80px;width:530px;height:530px;border:1px solid #d3e0f27e;border-radius:50%;box-shadow:0 0 0 85px #e8eff84a,0 0 0 200px #eaf1fa2a}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px;min-height:528px}
.hero-copy{position:relative;z-index:2}
.hero-eyebrow{background:#e9f1ff;border:1px solid #d4e2f9;padding:8px 14px 8px 8px;letter-spacing:.08em;border-radius:100px;color:#1b4eaa;margin-bottom:26px}
.eyebrow-icon{height:24px;width:24px;border-radius:50%;display:grid;place-items:center;background:var(--royal);color:white}
.eyebrow-icon .icon{height:14px;width:14px}
.hero h1{font-size:clamp(46px,4.8vw,67px);line-height:1.06;letter-spacing:-.06em;max-width:640px;margin-bottom:24px;font-weight:900}
.hero h1 .title-highlight{color:var(--royal);position:relative}
.hero h1 em{font-style:normal;position:relative;z-index:0;white-space:nowrap}
.hero h1 em::after{content:'';height:11px;position:absolute;left:0;bottom:5px;width:100%;background:var(--yellow);opacity:.7;z-index:-1;border-radius:8px;transform:rotate(-1.5deg)}
.hero-lede{font-size:17px;line-height:1.85;max-width:530px;color:#55617a;margin-bottom:28px}
.hero-lede strong{color:var(--navy)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}
.hero-proof{display:flex;align-items:center;gap:18px}
.proof-badge{display:flex;align-items:center;gap:10px}
.proof-badge>.icon{width:30px;height:30px;color:#e5aa18;stroke-width:1.8}
.proof-number{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--navy);font-size:36px;font-weight:900;line-height:1;letter-spacing:-.08em}
.proof-number span{color:var(--yellow);font-size:19px;vertical-align:top;line-height:1.5}
.proof-label{font-size:11px;font-weight:700;line-height:1.45;color:#45516b}
.proof-line{height:31px;width:1px;background:#d7dfed}
.hero-visual{height:530px;position:relative;border-radius:35px;background:radial-gradient(circle at 65% 35%,#2858a3,#0d2f76 48%,#0b204b 83%);isolation:isolate;box-shadow:0 30px 65px #153b861f}
.hero-art-dots{position:absolute;inset:0;border-radius:35px;opacity:.3;background-image:radial-gradient(#fff 1.2px,transparent 1.2px);background-size:26px 26px;mask-image:linear-gradient(145deg,transparent 15%,#000)}
.hero-arch{position:absolute;border:2px solid #ffffff1c;border-radius:50%;pointer-events:none}
.arch-one{width:490px;height:490px;top:-140px;right:-180px}
.arch-two{width:350px;height:350px;bottom:-130px;left:-160px}
.hero-main-card{position:absolute;z-index:2;top:76px;left:50%;transform:translateX(-50%) rotate(-5deg);width:72%;max-width:350px;height:385px;background:white;border-radius:21px;box-shadow:0 27px 45px #0003;border:7px solid #fff;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 17px 22px}
.art-top{width:100%;display:flex;align-items:center;gap:5px;border-bottom:1px solid #e9eef5;padding:2px 2px 11px}
.art-mini-dot{width:7px;height:7px;border-radius:50%;background:#fccb55}.art-mini-dot:nth-child(2){background:#df8b84}.art-mini-dot:nth-child(3){background:#92baed}
.art-caption{margin-left:auto;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:9px;color:#96a1b5;letter-spacing:.13em;font-weight:900}
.hero-main-logo{width:245px;height:190px;object-fit:contain;margin:3px auto 0}
.art-divider{height:2px;width:80%;background:linear-gradient(90deg,transparent,#e8edf5,transparent)}
.art-handwritten{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;color:var(--navy);font-size:21px;letter-spacing:-.04em}
.art-icons{display:flex;align-items:center;justify-content:center;gap:15px}
.art-icons span{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;background:#f3f6fd;color:#325bae;border-radius:9px;padding:5px 10px;font-size:15px;font-weight:900}
.art-icons span:nth-child(2){background:#fff4d3;color:#9a671b}.art-icons span:nth-child(3){background:#f6edff;color:#9460b2}
.floating-card{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;background:white;box-shadow:0 12px 35px #05193648;border-radius:16px;padding:13px 16px;min-width:224px;animation:floaty 5s ease-in-out infinite}
.floating-card small,.floating-card strong{display:block;white-space:nowrap}
.floating-card small{font-size:9px;color:#75819a;font-weight:900;letter-spacing:.08em;margin-bottom:2px}
.floating-card strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:13px;color:var(--navy);font-weight:900}
.float-a{top:48px;right:-30px;transform:rotate(4deg)}
.float-b{left:-46px;bottom:54px;transform:rotate(-3deg);animation-delay:1s}
.floater-icon{display:grid;place-items:center;min-width:40px;height:40px;border-radius:12px}
.floater-icon.yellow{background:#fff0c9;color:#a86b06}.floater-icon.purple{background:#efe6ff;color:#7b55a5}
.floating-sticker{position:absolute;bottom:18px;right:17px;z-index:3;color:var(--navy);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:13px;font-weight:900;background:var(--yellow);border:4px solid #fff;width:102px;height:102px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(13deg);box-shadow:0 8px 24px #0002}
.floating-sticker .icon{width:23px;height:23px;fill:transparent}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -9px}}
.hero-bottom-wave{position:absolute;bottom:-42px;left:-10%;width:120%;height:110px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}
/* QUICK JUMPS */
.service-jump{position:relative;z-index:3;margin-top:-57px;margin-bottom:30px}
.jump-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.jump-card{display:flex;align-items:center;gap:13px;background:white;border:1px solid #e5ebf5;border-radius:17px;min-height:96px;padding:18px 13px;box-shadow:0 13px 37px #132d6413;transition:transform .23s,box-shadow .23s,border-color .23s}
.jump-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #132d6421;border-color:#baccf1}
.jump-icon{height:51px;width:51px;border-radius:13px;display:grid;place-items:center;flex:none}
.jump-icon .icon{height:24px;width:24px}
.cobalt{color:#2b62c8;background:#eaf1ff}.amber{color:#986509;background:#fff3c6}.coral{color:#d85e4b;background:#ffe9e4}.lilac{color:#8158ba;background:#f2eafe}
.jump-card span:nth-child(2){font-size:12px;line-height:1.45;color:#627086}
.jump-card strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:13px;color:var(--navy);font-weight:900}
.jump-arrow{height:16px!important;width:16px!important;margin-left:auto;color:#8594ab}
/* ABOUT */
.about-section{padding-top:100px}
.about-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:115px;align-items:center}
.about-art{position:relative;height:480px;margin-left:20px}
.about-art-back{position:absolute;top:8px;left:19px;right:45px;bottom:12px;border-radius:36px;background:#fff0c5;transform:rotate(-7deg)}
.about-school-card{position:absolute;inset:14px 40px 14px 20px;border-radius:25px;border:2px solid #e0e7f3;background:linear-gradient(#fff,#f9fbff);box-shadow:var(--shadow);padding:32px;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.bookmarks{position:absolute;left:24px;top:25px;color:#ffcf4c;font-size:27px;letter-spacing:10px}
.about-art-header{display:flex;flex-direction:column;gap:0;margin-top:22px}
.about-art-sub{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;color:#2e57b1;font-size:11px;letter-spacing:.16em}
.about-art-name{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--navy);font-weight:1000;font-size:53px;line-height:1.08;letter-spacing:-.075em}
.about-art-bottom{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:.15em;color:#45629e}
.illustrated-books{height:220px;width:260px;position:relative}
.book-b{position:absolute;bottom:37px;width:55px;border-radius:5px 5px 3px 3px;border:3px solid #0e2d6c;box-shadow:inset -8px 0 #ffffff2b,5px 4px #d6e1f4}
.b1{left:23px;height:130px;background:#ffcc4d;transform:rotate(-13deg)}.b2{left:83px;height:180px;background:#69a4ec;transform:rotate(-5deg)}.b3{left:145px;height:144px;background:#f28b7e;transform:rotate(7deg)}.b4{left:206px;height:115px;background:#806bbd;transform:rotate(19deg)}
.book-base{position:absolute;left:0;bottom:28px;width:100%;height:11px;background:var(--navy);border-radius:9px}
.big-pencil{position:absolute;left:15px;bottom:30px;height:195px;width:18px;background:#f6cb4f;border:2px solid #c58e1e;border-radius:4px;transform:rotate(50deg);transform-origin:bottom center;box-shadow:inset -4px 0 #ffe69e}
.big-pencil::before{content:'';position:absolute;top:-20px;left:-2px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:22px solid #d99e65}
.about-seal{position:absolute;right:-5px;bottom:45px;width:128px;height:128px;background:var(--royal);border-radius:50%;border:7px solid white;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 15px 34px #0b2f7435;transform:rotate(10deg)}
.about-seal span{font-size:45px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;line-height:1}
.about-seal small{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:9px;line-height:1.4;text-align:center;letter-spacing:.09em;font-weight:900}
.section-copy p{font-size:16px;line-height:1.9}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:27px 0}
.feature-list>div{display:flex;gap:10px;align-items:start;font-size:13px;color:#354564;font-weight:700;line-height:1.55}
.feature-list .icon{color:#20a17d;width:19px;height:19px;margin-top:1px}
.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--royal);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;border-bottom:2px solid #aac2f4;padding-bottom:6px}
.text-link .icon{width:17px;height:17px;transition:transform .2s}.text-link:hover .icon{transform:translateX(5px)}
/* COURSES */
.courses-section{background:linear-gradient(160deg,#0c2050,#102d6a);color:white;overflow:hidden;padding-top:111px;padding-bottom:106px}
.courses-section:before{content:'';position:absolute;width:660px;height:660px;border-radius:50%;background:radial-gradient(circle,#244e9d44,transparent 65%);top:-235px;right:-200px;pointer-events:none}
.centered-title{text-align:center;margin:0 auto 45px;max-width:790px}
.centered-title .section-heading{margin-left:auto;margin-right:auto}
.centered-title p{font-size:16px;margin:0}
.courses-section .section-heading{color:white}
.courses-section .section-heading span{color:var(--yellow)}
.courses-section .centered-title p{color:#c2d3ef}
.eyebrow-light{color:#ffdc87}
.course-panel{position:relative;background:white;border-radius:25px;display:grid;grid-template-columns:1.15fr .85fr;min-height:535px;overflow:hidden;box-shadow:0 30px 45px #050c2840;margin-bottom:30px}
.course-panel:last-child{margin-bottom:0}
.course-content{padding:52px 51px;position:relative;z-index:2}
.course-kicker{display:inline-flex;align-items:center;gap:9px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;letter-spacing:.12em;font-size:11px;color:#496ba8;margin-bottom:18px}
.kicker-dot{height:9px;width:9px;background:#eb5146;border-radius:50%;box-shadow:0 0 0 4px #ffeded}
.purple-dot{background:#8a6ac2;box-shadow:0 0 0 4px #f0eafd}
.course-content h3{font-size:37px;font-weight:900;margin-bottom:18px}
.course-content h3 span{color:var(--royal)}
.course-content>p{font-size:14px;max-width:445px;line-height:1.8;margin-bottom:23px}
.course-callout{display:flex;align-items:center;gap:16px;background:#fff8e4;border-radius:15px;max-width:275px;padding:12px 20px;margin-bottom:24px;border:1px solid #fff0bb}
.course-callout strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:49px;font-weight:900;line-height:1;color:#d36b13;letter-spacing:-.075em}
.course-callout span{font-size:13px;color:#73502b;line-height:1.4;font-weight:800}
.check-grid{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:11px 17px}
.check-grid li{font-size:12px;font-weight:700;color:#394b69;display:flex;align-items:flex-start;gap:7px;line-height:1.5}
.check-grid .icon{width:15px;height:15px;stroke-width:3;color:#17977a;margin-top:1px}
.course-content .btn{min-height:48px;padding:12px 18px}
.course-visual{background:#eaf1ff;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:500px}
.course-bach{background:radial-gradient(circle at 20% 30%,#f4d979,#f9f3dd 40%,#cfdef8)}
.course-uni{background:radial-gradient(circle at 75% 30%,#f4daf7,#e9e4fc 40%,#d3e6fe)}
.course-visual:before{content:'';width:520px;height:520px;border:2px solid #ffffffac;border-radius:50%;position:absolute;top:-230px;left:15px}
.poster-shell{width:275px;height:365px;position:relative;z-index:1;background:white;border:9px solid white;border-radius:7px;overflow:hidden;box-shadow:0 24px 40px #0e32753d;transform:rotate(5deg);transition:transform .35s}
.course-panel:hover .poster-shell{transform:rotate(0deg) translateY(-4px)}
.poster-shell img{width:100%;height:100%;object-fit:cover;object-position:top center}
.poster-tag{position:absolute;z-index:2;top:58px;right:0;background:#e64d45;padding:11px 15px;color:white;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;font-size:11px;letter-spacing:.09em;transform:rotate(4deg);box-shadow:0 8px 17px #44252427}
.tag-purple{background:#7854b4}
.visual-note{position:absolute;bottom:57px;left:6px;z-index:2;background:white;border-radius:13px;display:flex;align-items:center;gap:8px;padding:11px 14px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--navy);font-size:12px;font-weight:900;box-shadow:0 12px 30px #20355633;transform:rotate(-6deg)}
.visual-note .icon{color:var(--royal)}
.purple-note .icon{color:var(--purple)}
.course-panel-reverse{grid-template-columns:.85fr 1.15fr}
.course-panel-reverse .course-content{grid-column:2;grid-row:1}
.course-panel-reverse .course-visual{grid-column:1;grid-row:1}
.course-panel-reverse .poster-shell{transform:rotate(-5deg)}
.course-panel-reverse:hover .poster-shell{transform:rotate(0deg) translateY(-4px)}
.uni-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 25px}
.uni-tags span{background:#f1edfc;border:1px solid #e8e0f8;color:#6e4f9e;padding:6px 11px;border-radius:7px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;font-size:11px}
/* REG */
.reg-section{background:var(--offwhite)}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}
.section-title-row .section-heading{margin-bottom:15px}
.section-title-row p{margin:0}
.scribble-star{font-size:105px;line-height:1;color:#ffcb4e;transform:rotate(-21deg);margin-right:45px}
.reg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.reg-card{background:white;border:1px solid #e5eaf3;border-radius:19px;padding:28px 23px;min-height:282px;box-shadow:0 11px 35px #193d7209;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.reg-card:hover{transform:translateY(-7px);border-color:#b9cbee;box-shadow:0 20px 40px #193d721c}
.card-icon{display:grid;place-items:center;width:61px;height:61px;border-radius:17px;margin-bottom:28px}
.card-icon .icon{width:30px;height:30px}
.card-icon.blue{color:#306cd2;background:#e8f0ff}.card-icon.gold{color:#ad7a12;background:#fff0c7}.card-icon.violet{color:#8356b5;background:#f1e9ff}.card-icon.peach{color:#dc6e56;background:#ffebe7}
.card-index{position:absolute;right:22px;top:39px;font-size:12px;font-weight:900;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:#c5ccdc}
.reg-card h3{font-size:20px;letter-spacing:-.035em;margin-bottom:10px}
.reg-card p{font-size:13px;line-height:1.75;margin-bottom:21px;flex:1}
.reg-caption{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:#71809b;font-size:10px;font-weight:900;letter-spacing:.1em}
.section-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e7efff;border:1px solid #d6e3f8;padding:22px 26px;border-radius:17px;margin-top:25px}
.section-cta>span{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--navy);font-size:17px;font-weight:900}
/* HOMEWORK */
.homework-section{background:white}
.homework-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:90px;align-items:center}
.homework-content>p{font-size:16px;line-height:1.9;margin-bottom:25px}
.homework-content .section-heading{font-size:clamp(37px,4vw,52px)}
.homework-quote{padding:22px 24px;border-left:5px solid var(--yellow);background:#fff9e9;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:17px;font-weight:900;color:#735324;border-radius:0 13px 13px 0;margin:25px 0}
.homework-levels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.homework-levels span{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:.03em;padding:7px 13px;border:1px solid #d6e5ff;background:#f4f7ff;color:#335da0;border-radius:100px}
.homework-steps{position:relative;padding:15px 22px 20px}
.homework-steps::before{content:'';position:absolute;inset:0;background:#ffedd1;border-radius:40px;transform:rotate(5deg)}
.homework-notebook{position:relative;background:#fff;border:1px solid #e0e7f0;border-radius:22px;box-shadow:var(--shadow);overflow:hidden;padding:32px 36px}
.homework-notebook:after{content:'';position:absolute;left:34px;top:0;bottom:0;width:2px;background:#f5d9d4;opacity:.8}
.note-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 23px 20px}
.note-header>span:first-child{display:flex;align-items:center;gap:7px;color:var(--royal);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;letter-spacing:.14em;font-size:11px}
.note-header .icon{width:17px;height:17px}
.note-doodle{font-size:27px;color:#f5c53e}
.steps-list{list-style:none;margin:0 0 0 10px;padding:0}
.steps-list li{display:flex;gap:17px;align-items:flex-start;padding:13px 0;border-bottom:1px dashed #d9e0eb;position:relative}
.steps-list li:last-child{border-bottom:0}
.step-circle{display:grid;place-items:center;height:38px;min-width:38px;background:#edf3ff;border:1px solid #dce6f6;border-radius:12px;color:var(--royal);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:11px;font-weight:900}
.steps-list strong{display:block;color:var(--navy);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:15px;font-weight:900;line-height:1.35}
.steps-list p{margin:3px 0 0;font-size:12px;line-height:1.6}
/* SUMMER */
.summer-section{padding-top:50px;padding-bottom:110px}
.summer-wrap{border-radius:34px;background:linear-gradient(120deg,#ffeaaa,#ffcf56);padding:73px 75px;display:grid;grid-template-columns:1fr 1fr;gap:62px;position:relative;overflow:hidden}
.summer-wrap:before{content:'';position:absolute;right:-55px;top:-85px;height:270px;width:270px;border-radius:50%;border:38px solid #ffffff26}
.summer-wrap:after{content:'✳';font-size:95px;color:#ffffff56;position:absolute;bottom:-45px;left:43%;transform:rotate(-22deg)}
.summer-eyebrow{color:#845610;gap:7px}
.summer-eyebrow .icon{height:19px;width:19px}
.summer-intro{position:relative;z-index:1}
.summer-intro .section-heading{font-size:clamp(36px,3.4vw,48px)}
.summer-intro .section-heading span{color:#b95926}
.summer-intro>p{font-size:15px;color:#604e35;line-height:1.85;margin-bottom:21px}
.summer-highlight{display:flex;align-items:start;gap:10px;margin:20px 0 26px;padding:14px 16px;border:1px solid #ffffff96;background:#fff8de8c;border-radius:13px;font-size:12px;color:#5d513d;line-height:1.6}
.summer-highlight .icon{color:#4c8e65;width:19px;height:19px}
.summer-activities{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}
.activities-label{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:12px;letter-spacing:.13em;color:#765018;font-weight:900;margin:0 0 16px}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.activity-grid span{display:flex;align-items:center;gap:11px;background:#fffcf2;border:1px solid #fff;border-radius:13px;padding:16px 12px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:12px;font-weight:900;color:#4b442f;box-shadow:0 8px 18px #955c1610}
.activity-grid b{font-size:23px;color:#bd641f;line-height:1;min-width:25px;text-align:center}
.summer-sticky{display:flex;align-items:center;gap:11px;align-self:flex-end;margin-top:17px;background:#fff3ce;border:1px solid #fff5d4;padding:10px 18px;border-radius:12px;color:#805e20;transform:rotate(-3deg);font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:12px;font-weight:900;line-height:1.4}
.summer-sticky .icon{color:#ad6e15}
/* DETAILS */
.details-section{background:var(--offwhite);padding-top:104px}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.price-card,.hours-card{padding:44px 49px;border-radius:26px;min-height:465px;position:relative;overflow:hidden}
.price-card{background:radial-gradient(circle at 90% 5%,#3867b9,#0e2c6b 55%,#0a2052);color:white;box-shadow:0 25px 40px #0d337f2b}
.price-card:after{content:'';position:absolute;right:-100px;bottom:-110px;width:390px;height:390px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 60px #ffffff09,0 0 0 120px #ffffff06;pointer-events:none}
.hours-card{background:white;border:1px solid #e2eaf4;box-shadow:0 10px 35px #193d720d}
.details-icon{height:49px;width:49px;background:#ffffff21;display:grid;place-items:center;border-radius:15px;color:var(--yellow);margin-bottom:26px}
.details-icon .icon{width:25px;height:25px}
.orange-icon{background:#fff4d3;color:#b5780b}
.detail-label{color:#c7d9fc;font-size:11px;letter-spacing:.15em;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;margin-bottom:10px}
.hours-card .detail-label{color:#647ead}
.price-card h3,.hours-card h3{font-size:28px;max-width:390px;margin:0 0 24px}
.price-card h3{color:#fff}.hours-card h3{margin-bottom:36px}
.price-lead{font-size:14px;color:#d7e3fd;margin-bottom:0}
.price-number{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:90px;line-height:1.1;letter-spacing:-.08em;font-weight:900;color:var(--yellow);display:flex;align-items:baseline;gap:5px;margin:5px 0 3px;position:relative;z-index:1}
.price-number>span{font-size:43px;letter-spacing:-.05em}
.price-number small{font-size:15px;color:#e5edff;letter-spacing:0;font-weight:800;margin-left:7px}
.price-footnote{font-size:13px;color:#e4edff;margin:0 0 25px}
.price-card .btn{position:relative;z-index:1;min-height:47px;padding:12px 18px}
.hour-row{display:flex;align-items:center;gap:19px;padding:19px 0;border-top:1px solid #e8ecf4}
.hour-row:nth-last-of-type(1){border-bottom:1px solid #e8ecf4}
.hour-symbol{height:51px;width:51px;border-radius:14px;background:#fff0c8;color:#ae7915;display:grid;place-items:center}
.hour-symbol .icon{width:25px;height:25px}
.hour-symbol.moon-symbol{background:#e9efff;color:#506ab1}
.hour-row span{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:#7e8ba3;font-size:11px;letter-spacing:.1em;font-weight:900;display:block;margin-bottom:2px}
.hour-row strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:18px;color:var(--navy);font-weight:900}
.hour-legend{display:flex;align-items:center;gap:9px;margin:23px 0 0;font-size:13px;font-weight:700;color:#477b6e}
.hour-legend .icon{width:18px;height:18px;color:#299f74}
/* LOCATION */
.location-section{background:#fff}
.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:68px}
.location-copy .section-heading{font-size:clamp(36px,3.7vw,50px)}
.location-copy>p{margin-bottom:23px}
.address-block{display:flex;align-items:flex-start;gap:15px;padding:22px;background:#f4f7ff;border:1px solid #e5edf9;border-radius:15px;margin-bottom:25px}
.address-icon{width:46px;height:46px;flex:none;border-radius:13px;background:#e1ebff;color:var(--royal);display:grid;place-items:center}
.address-block strong{display:block;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;color:var(--navy);font-weight:900;font-size:14px;margin-bottom:4px}
.address-block address{font-style:normal;color:#526079;line-height:1.75;font-size:13px}
.address-reference{display:block;font-size:12px;color:#6f7b93;margin-top:7px}
.location-buttons{display:flex;flex-wrap:wrap;gap:10px}
.location-buttons .btn{min-height:49px;padding:12px 16px;font-size:12px}
.map-frame{border-radius:24px;overflow:hidden;border:7px solid white;box-shadow:0 15px 55px #153c801d;background:#eaf0fb;min-height:435px;position:relative}
.map-frame iframe{width:100%;height:435px;border:0;display:block;filter:saturate(.84)}
.map-caption{position:absolute;left:15px;bottom:15px;display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #ebedf2;max-width:calc(100% - 30px);padding:10px 14px;border-radius:10px;color:#32425b;box-shadow:0 8px 19px #1a263127;font-size:12px;font-weight:700}
.map-caption .icon{width:17px;height:17px;color:var(--royal)}
/* CONTACT */
.contact-section{padding:32px 0 100px}
.contact-banner{position:relative;min-height:342px;border-radius:32px;overflow:hidden;background:linear-gradient(110deg,#0a224f,#1c4e9f);display:flex;align-items:center;padding:55px 70px}
.contact-orbit{position:absolute;pointer-events:none;border:1px solid #ffffff1f;border-radius:50%}
.orbit-left{left:-180px;top:-190px;width:540px;height:540px;box-shadow:0 0 0 65px #ffffff05,0 0 0 135px #ffffff04}
.orbit-right{width:390px;height:390px;right:-60px;top:-50px;box-shadow:0 0 0 45px #ffffff08}
.contact-content{z-index:1;position:relative;max-width:720px}
.contact-eyebrow{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;font-size:11px;letter-spacing:.15em;color:#ffd77a}
.contact-content h2{color:white;font-size:clamp(32px,3.6vw,48px);line-height:1.18;margin:13px 0 15px;max-width:680px}
.contact-content h2 em{color:var(--yellow);font-style:normal}
.contact-content p{color:#d1dffc;margin-bottom:24px}
.contact-art{position:absolute;right:85px;top:50%;transform:translateY(-50%) rotate(10deg);height:205px;width:205px;border-radius:50%;background:white;display:grid;place-items:center;box-shadow:0 19px 28px #0003}
.contact-art img{width:170px;height:170px;object-fit:contain;mix-blend-mode:multiply}
.contact-art-star{position:absolute;color:var(--yellow);font-size:45px}
.contact-art-star.one{top:-39px;right:-24px}.contact-art-star.two{bottom:-40px;left:-24px}
/* FOOTER */
.footer{background:var(--navy-deep);color:#c6d3eb;padding-top:68px}
.footer-main{display:grid;grid-template-columns:1.35fr .75fr .75fr 1fr;gap:47px;padding-bottom:58px}
.footer-brand-link{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.footer-brand-link img{background:white;border-radius:12px;padding:3px;object-fit:contain;width:67px;height:64px}
.footer-brand-link span{display:flex;flex-direction:column;line-height:1.1}
.footer-brand-link small{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:10px;letter-spacing:.13em;color:#b6cbee;font-weight:900}
.footer-brand-link strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:25px;color:#fff;letter-spacing:-.05em;font-weight:1000}
.footer-brand>p{font-size:13px;color:#9bb0d4;line-height:1.75;max-width:290px;margin:0}
.footer-links,.footer-contact{display:flex;flex-direction:column;gap:11px}
.footer-links>strong,.footer-contact>strong{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-weight:900;color:#fff;font-size:14px;margin-bottom:8px}
.footer-links a{font-size:13px;color:#b2c2dd;transition:color .2s}
.footer-links a:hover,.footer-number:hover{color:var(--yellow)}
.footer-contact p{font-size:13px;color:#b2c2dd;line-height:1.75;margin:4px 0 0}
.footer-number{display:inline-flex;align-items:center;gap:9px;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:18px;font-weight:900;color:white;white-space:nowrap;transition:color .2s}
.footer-bottom{border-top:1px solid #ffffff22;padding:22px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8fa3c5;font-size:12px}
/* FLOAT */
.whatsapp-float{position:fixed;right:24px;bottom:25px;z-index:90;background:#1eb56d;border:3px solid white;border-radius:100px;box-shadow:0 13px 35px #126b4280;display:flex;align-items:center;gap:8px;color:white;padding:11px 16px 11px 12px;transition:transform .25s,background .25s}
.whatsapp-float svg{height:25px;width:25px}
.whatsapp-float span{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:12px;font-weight:900}
.whatsapp-float:hover{background:#128953;transform:translateY(-4px)}
.back-to-top{position:fixed;right:30px;bottom:90px;z-index:80;width:41px;height:41px;border-radius:50%;background:white;color:var(--navy);border:1px solid #d9e1f0;box-shadow:0 8px 20px #0002;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(15px);transition:all .25s}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:#eef2fd}
/* Reveal animation: content is fully visible by default even if JS fails. */
@media (prefers-reduced-motion:no-preference){
  [data-reveal].is-visible{opacity:1;transform:translateY(0)}
}
/* BREAKPOINTS */
@media(max-width:1150px){
 .container{width:min(100% - 42px,1120px)}
 .main-nav{gap:12px}.nav-link{font-size:11px}.nav-contact{font-size:11px}
 .hero-grid{gap:32px}.hero h1{font-size:clamp(43px,4.8vw,61px)}
 .hero-visual{height:480px}.hero-main-card{height:345px;top:67px}.hero-main-logo{height:161px;width:220px}
 .float-a{right:-12px}.float-b{left:-13px}.floating-sticker{width:90px;height:90px;bottom:9px}
 .jump-card{padding:14px 10px;gap:9px}.jump-icon{height:45px;width:45px}.jump-card strong{font-size:12px}.jump-card span:nth-child(2){font-size:11px}
 .about-grid{gap:65px}.homework-grid{gap:40px}.summer-wrap{padding:65px 50px;gap:36px}
 .course-content{padding:45px 37px}
 .contact-art{right:50px}
}
@media(max-width:1050px){
 .main-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:21px max(20px,calc((100% - 720px)/2));background:#fff;box-shadow:0 17px 25px #101f441c;border-bottom:1px solid #e4e8f3;flex-direction:column;align-items:stretch;gap:0}
 .main-nav.is-open{display:flex}
 .nav-link{font-size:15px;padding:12px 9px;border-bottom:1px solid #edf0f5}
 .nav-link::after{display:none}
 .nav-contact{display:flex;justify-content:center;margin-top:15px;font-size:14px;padding:13px 17px}
 .menu-toggle{display:flex}
 .site-header{height:79px}
 .about-grid{gap:45px}
}
@media(max-width:900px){
 .section{padding:81px 0}.container{width:min(100% - 40px,740px)}
 .hero{padding-top:63px;padding-bottom:115px}
 .hero-grid{grid-template-columns:1fr;gap:48px}
 .hero h1{font-size:clamp(46px,7vw,63px)}
 .hero-lede{max-width:670px}.hero-visual{max-width:570px;width:100%;height:455px;margin:0 auto}
 .hero-main-card{height:345px;top:60px}.floating-card.float-a{right:0}.float-b{left:0}
 .service-jump{margin-top:-60px}.jump-grid{grid-template-columns:1fr 1fr;gap:11px}.jump-card{padding:14px 17px;min-height:87px}
 .about-grid{grid-template-columns:1fr;gap:52px}.about-art{max-width:500px;width:100%;margin:0 auto;order:2}.about-grid .section-copy{order:1}
 .course-panel,.course-panel-reverse{grid-template-columns:1fr 1fr}.course-content{padding:36px 26px}.course-content h3{font-size:30px}.check-grid{grid-template-columns:1fr}.course-callout{margin-bottom:17px}.course-visual{min-height:500px}.poster-shell{width:230px;height:340px}.poster-tag{font-size:9px}.visual-note{font-size:10px;left:5px}
 .reg-grid{grid-template-columns:1fr 1fr}.reg-card{min-height:255px}
 .homework-grid{grid-template-columns:1fr;gap:48px}
 .homework-content{max-width:680px}
 .summer-wrap{grid-template-columns:1fr;gap:36px}.summer-intro .section-heading{max-width:600px}.summer-activities{max-width:570px}
 .location-grid{grid-template-columns:1fr;gap:40px}.location-copy{max-width:650px}
 .contact-art{opacity:.16;right:5px}.contact-content{max-width:700px}.contact-banner{padding:55px}
 .footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:32px}.footer-contact{grid-column:1/-1}
}
@media(max-width:650px){
 html{scroll-padding-top:85px}.container{width:min(100% - 34px,520px)}.section{padding:74px 0}
 .topline{height:30px;font-size:9px;letter-spacing:.015em;gap:7px;padding:3px 8px}
 .topline .topline-sep:nth-of-type(2),.topline .topline-sep:nth-of-type(2)~*{display:none}
 .topline{font-size:9px}
 .site-header{height:73px}.brand{gap:6px;min-width:auto}.brand img{width:54px;height:53px}.brand-copy small{font-size:8px}.brand-copy strong{font-size:21px}
 .menu-toggle{width:44px;height:44px}
 .hero{padding-top:54px;padding-bottom:108px}
 .hero-grid{gap:40px}
 .hero-eyebrow{font-size:10px;letter-spacing:.045em;padding:6px 12px 6px 7px;margin-bottom:23px}
 .hero h1{font-size:clamp(40px,9.3vw,55px);max-width:540px;margin-bottom:19px}
 .hero-lede{font-size:15px;line-height:1.8;margin-bottom:22px}
 .hero-actions{gap:10px;margin-bottom:30px}.hero-actions .btn{min-height:50px;padding:13px 15px;font-size:12px}
 .hero-proof{gap:11px;justify-content:space-between}.proof-badge{gap:5px}.proof-number{font-size:30px}.proof-label{font-size:9px}.proof-badge>.icon{height:24px;width:24px}.proof-line{height:26px}
 .hero-visual{height:388px;border-radius:25px;width:calc(100% - 22px)}.hero-art-dots{border-radius:25px}
 .hero-main-card{height:300px;width:69%;top:50px;padding:7px 11px 15px;border-width:5px}.hero-main-logo{height:148px;width:188px}.art-caption{font-size:7px}.art-handwritten{font-size:17px}.art-icons span{font-size:11px;padding:4px 7px}.art-icons{gap:7px}
 .floating-card{min-width:0;padding:10px;border-radius:12px;gap:6px}.float-a{top:20px!important;right:-10px!important}.float-b{bottom:32px!important;left:-10px!important}.floating-card small{font-size:7px}.floating-card strong{font-size:10px}.floater-icon{min-width:31px;height:31px;border-radius:9px}.floater-icon .icon{height:18px;width:18px}.floating-sticker{height:70px;width:70px;bottom:2px;right:4px;border-width:3px;font-size:9px}.floating-sticker .icon{height:18px;width:18px}
 .service-jump{margin-top:-68px;margin-bottom:2px}.jump-grid{gap:9px}.jump-card{padding:12px 9px;min-height:86px;border-radius:12px;gap:7px}.jump-icon{height:37px;width:37px;border-radius:10px}.jump-icon .icon{height:20px;width:20px}.jump-card strong{font-size:10px}.jump-card span:nth-child(2){font-size:9px}.jump-arrow{display:none}
 .section-heading{font-size:clamp(34px,8.1vw,45px);margin-bottom:19px}.eyebrow{font-size:10px;margin-bottom:17px}
 .about-art{height:400px;width:calc(100% - 24px)}.about-school-card{inset:13px 20px 13px 8px;padding:20px}.about-art-back{right:30px}.about-art-name{font-size:45px}.about-seal{right:-14px;bottom:30px;width:99px;height:99px;border-width:5px}.about-seal span{font-size:33px}.about-seal small{font-size:7px}
 .illustrated-books{transform:scale(.8);transform-origin:center center}.about-art-bottom{font-size:9px}
 .feature-list{grid-template-columns:1fr;gap:11px}.section-copy p{font-size:14px}
 .courses-section{padding-bottom:75px}.centered-title{margin-bottom:31px}.centered-title p{font-size:14px}
 .course-panel,.course-panel-reverse{grid-template-columns:1fr;border-radius:21px}.course-panel-reverse .course-content,.course-panel-reverse .course-visual{grid-column:1;grid-row:auto}
 .course-panel .course-content{grid-row:1}.course-panel .course-visual{grid-row:2}
 .course-content{padding:35px 26px 32px}.course-content h3{font-size:32px}.course-content>p{font-size:13px}
 .check-grid{grid-template-columns:1fr;gap:11px}.check-grid li{font-size:12px}.course-visual{min-height:310px;height:320px}
 .poster-shell{width:180px;height:245px;border-width:7px}.poster-tag{top:27px;right:0}.visual-note{bottom:29px;left:18px}.course-visual:before{width:330px;height:330px;top:-130px}
 .course-panel-reverse{margin-top:20px}.course-panel-reverse .course-visual{grid-row:2}.course-panel-reverse .course-content{grid-row:1}
 .section-title-row{margin-bottom:27px}.scribble-star{font-size:55px;margin:0 0 0 7px}.section-title-row p{font-size:14px}
 .reg-grid{gap:10px}.reg-card{padding:22px 16px;min-height:263px;border-radius:15px}.card-icon{width:49px;height:49px;margin-bottom:23px}.card-icon .icon{width:25px;height:25px}.card-index{top:29px;right:12px;font-size:10px}.reg-card h3{font-size:17px}.reg-card p{font-size:12px}.reg-caption{font-size:9px}
 .section-cta{padding:18px;flex-direction:column;align-items:flex-start;gap:15px}.section-cta>span{font-size:15px}.section-cta .btn{width:100%;font-size:12px}
 .homework-grid{gap:35px}.homework-content .section-heading{font-size:clamp(34px,8vw,45px)}.homework-content>p{font-size:14px}.homework-quote{font-size:15px;padding:17px 18px}.homework-notebook{padding:25px 23px 25px 28px}.homework-notebook:after{left:22px}.homework-steps{padding:9px}.steps-list{margin-left:0}.steps-list li{gap:11px;padding:12px 0}.step-circle{height:34px;min-width:34px}.steps-list strong{font-size:14px}.steps-list p{font-size:11px}
 .summer-section{padding-top:20px}.summer-wrap{padding:38px 24px 42px;border-radius:22px;gap:28px}.summer-intro .section-heading{font-size:clamp(33px,7.7vw,43px)}.summer-intro>p{font-size:14px}.activity-grid{gap:8px}.activity-grid span{padding:13px 9px;gap:6px;font-size:11px}.activity-grid b{min-width:20px;font-size:20px}.summer-sticky{font-size:11px}
 .details-grid{grid-template-columns:1fr;gap:17px}.price-card,.hours-card{padding:33px 30px;min-height:auto}.price-card h3,.hours-card h3{font-size:26px}.price-number{font-size:78px}.price-number small{font-size:12px}.hour-row strong{font-size:16px}.hours-card h3{margin-bottom:24px}
 .location-grid{gap:28px}.location-copy>p{font-size:14px}.location-buttons .btn{font-size:11px;padding:11px 12px}.map-frame{min-height:300px;border-width:5px;border-radius:18px}.map-frame iframe{height:300px}.map-caption{font-size:10px;left:9px;bottom:10px}
 .contact-section{padding:0 0 72px}.contact-banner{padding:45px 25px;min-height:330px;border-radius:22px}.contact-content h2{font-size:clamp(32px,8vw,41px)}.contact-content p{font-size:13px}.contact-content .btn{font-size:12px;padding:13px}
 .contact-art{right:-50px;top:65%;height:170px;width:170px;opacity:.12}.contact-art img{width:150px;height:150px}
 .footer{padding-top:50px}.footer-main{grid-template-columns:1fr 1fr;gap:38px 22px;padding-bottom:40px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px;align-items:flex-start;font-size:11px}
 .whatsapp-float{right:14px;bottom:16px;padding:10px 13px}.whatsapp-float svg{height:24px;width:24px}.back-to-top{right:18px;bottom:77px;width:38px;height:38px}
}
@media(max-width:360px){
 .topline{font-size:8px}.hero h1{font-size:38px}.hero-actions .btn{width:100%}.hero-visual{height:336px}.hero-main-card{height:271px;top:37px}.hero-main-logo{height:130px}.float-a{top:8px!important}.floating-card strong{font-size:9px}.floating-card small{font-size:6px}.floating-sticker{height:61px;width:61px}.jump-grid{grid-template-columns:1fr}.jump-card{min-height:67px}.jump-card strong{font-size:12px}.jump-card span:nth-child(2){font-size:11px}.jump-arrow{display:block}.reg-grid{grid-template-columns:1fr}.reg-card{min-height:220px}.section-title-row .scribble-star{display:none}.course-content .btn,.summer-intro .btn{white-space:normal;text-align:center}.price-number{font-size:67px}.hours-card,.price-card{padding:27px 24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
