:root{--ink:#17201d;--muted:#59645f;--paper:#f7f4ec;--white:#fffefa;--green:#167b68;--green-dark:#0f574b;--green-pale:#dcece6;--orange:#f3a712;--soft:#edede8;--line:#d8dbd4;--shadow:0 24px 60px rgba(23,32,29,.12);--radius-lg:30px;--radius-md:20px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.dialog-open{overflow:hidden}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:12px 16px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #5b38c9;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Sora,sans-serif;letter-spacing:-.045em}.site-header{position:sticky;z-index:80;top:0;width:min(calc(100% - 32px),var(--max));min-height:76px;margin:0 auto;display:flex;align-items:center;gap:32px;border-bottom:1px solid rgba(23,32,29,.09);background:rgba(247,244,236,.92);backdrop-filter:blur(14px)}.brand{min-height:48px;display:inline-flex;align-items:center;gap:9px;text-decoration:none}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:2px solid var(--green);border-radius:10px 14px 10px 14px;color:var(--green);font-family:Sora,sans-serif;font-weight:700;transform:rotate(-4deg)}.brand strong{font-family:Sora,sans-serif;font-size:17px;letter-spacing:-.04em}.brand strong span{color:var(--green)}.desktop-nav{margin-left:auto;display:flex;gap:30px}.desktop-nav a,.site-footer nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:12px;font-weight:600}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;background:var(--orange);transition:right .25s ease}.desktop-nav a:hover:after{right:0}.outline-button,.menu-button{min-height:44px;padding:0 17px;border:1px solid var(--ink);border-radius:10px;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.menu-button{display:none;align-items:center;gap:8px}.mobile-nav{position:absolute;top:68px;left:0;right:0;padding:12px;display:grid;border:1px solid var(--line);border-radius:0 0 18px 18px;background:var(--white);box-shadow:var(--shadow)}.mobile-nav a,.mobile-nav button{min-height:50px;padding:0 12px;display:flex;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;text-decoration:none;font-weight:700}.mobile-nav button{color:var(--green)}main{width:min(calc(100% - 32px),var(--max));margin:0 auto}.hero{position:relative;min-height:770px;padding:58px 0 40px;display:grid;grid-template-columns:.92fr 1.1fr;grid-template-rows:1fr auto;align-items:center;column-gap:32px;overflow:hidden}.hero-copy{position:relative;z-index:3}.eyebrow{margin-bottom:12px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(58px,7.2vw,104px);line-height:.96}.hero h1 span{position:relative;color:var(--green)}.hero h1 span:after{content:"";position:absolute;left:2%;right:0;bottom:-11px;height:10px;border-top:4px solid var(--orange);border-radius:50%;transform:rotate(1deg)}.hero-description{max-width:510px;margin:30px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.hero-actions{margin-top:30px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.primary-button,.search-button{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:var(--orange);color:#332305;text-decoration:none;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(243,167,18,.22);transition:transform .22s ease,box-shadow .22s ease}.primary-button:hover,.search-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(243,167,18,.3)}.text-button{min-height:46px;padding:0 10px;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;font-size:11px;font-weight:800;cursor:pointer}.hero-art{position:relative;align-self:stretch;min-height:580px;display:flex;align-items:flex-end;justify-content:center}.hero-art:before{content:"";position:absolute;z-index:-1;left:9%;right:6%;bottom:18px;height:76%;border-radius:120px 120px 24px 24px;background:var(--green)}.hero-art>img{position:relative;z-index:2;width:min(510px,47vw);height:650px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 28px 24px rgba(20,38,32,.18));animation:student-float 6s ease-in-out infinite}.chalk-card{position:absolute;z-index:1;left:2%;bottom:30px;width:57%;height:48%;display:grid;place-items:center;border-radius:22px;background:var(--green-dark)}.chalk-card svg,.chalk-detail svg{width:90%;height:90%;color:rgba(255,255,255,.52);stroke-width:2}.sun-lines{position:absolute;z-index:3;top:92px;right:7%;width:90px;height:90px;background:repeating-conic-gradient(from -15deg,var(--orange) 0 4deg,transparent 4deg 31deg);mask:radial-gradient(circle,transparent 0 32%,#000 34%)}.hero-note{position:absolute;z-index:4;right:2%;bottom:58px;width:190px;padding:18px;border-radius:14px;background:var(--white);box-shadow:var(--shadow)}.hero-note strong,.hero-note span{display:block}.hero-note strong{font-family:Sora,sans-serif;font-size:12px}.hero-note span{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.55}.hero-mini{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,270px));gap:14px}.hero-mini article{min-height:108px;padding:10px;display:grid;grid-template-columns:86px 1fr;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,254,250,.7)}.hero-mini article>div:first-child{height:88px;overflow:hidden;border-radius:11px}.mini-teacher{background:var(--green-pale)}.mini-teacher img{width:100%;height:128%;object-fit:contain;object-position:top}.mini-class img{width:100%;height:100%;object-fit:cover}.hero-mini strong,.hero-mini span{display:block}.hero-mini strong{font-family:Sora,sans-serif;font-size:11px}.hero-mini span{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.5}.find-section,.benefits,.resources{padding:100px 0}.section-intro{margin-bottom:34px;display:grid;grid-template-columns:1.15fr .65fr;align-items:end;gap:64px}.section-intro h2{max-width:760px;margin:0;font-size:clamp(36px,5.2vw,66px);line-height:1.04}.section-intro>p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.finder{padding:18px;display:grid;grid-template-columns:1fr .8fr .8fr auto;align-items:end;gap:10px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 16px 40px rgba(23,32,29,.06)}.finder label{display:grid;gap:7px;color:var(--muted);font-size:9px;font-weight:700}.finder select{min-width:0;width:100%;min-height:48px;padding:0 12px;border:1px solid #c9cec7;border-radius:10px;background:#fff;color:var(--ink);font-size:11px}.search-button{min-width:165px;gap:8px}.result-meta{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px}.result-meta p{margin:0;color:var(--muted);font-size:10px}.result-meta button{min-height:44px;border:0;background:transparent;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.teacher-card{padding:22px;display:grid;grid-template-columns:auto 1fr;gap:15px;border:1px solid var(--line);border-radius:17px;background:var(--white);transition:transform .25s ease,border-color .25s ease}.teacher-card:hover{transform:translateY(-5px);border-color:#a7bdb5}.teacher-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--green-pale);color:var(--green-dark);font-family:Sora,sans-serif;font-weight:700}.teacher-card small{color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.teacher-card h3{margin:4px 0 7px;font-size:16px}.teacher-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.teacher-tags{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.teacher-tags span{padding:6px 8px;border-radius:7px;background:#f0f1ed;font-size:8px;font-weight:700}.teacher-card button{grid-column:1/-1;min-height:44px;border:1px solid var(--ink);border-radius:9px;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.teacher-card button:hover{background:var(--ink);color:#fff}.empty-state{padding:54px 20px;text-align:center;border:1px dashed #9da9a3;border-radius:20px}.empty-state>svg{width:42px;height:42px;color:var(--green)}.empty-state h3{margin:14px 0 8px}.empty-state p{color:var(--muted);font-size:11px}.empty-state button{min-height:44px;padding:0 16px;border:0;border-radius:9px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}.benefits{border-top:1px solid var(--line)}.benefit-grid{display:grid;grid-template-columns:1fr .9fr .9fr;grid-template-rows:240px 190px 160px;gap:12px}.benefit-card{padding:28px;border-radius:var(--radius-md);background:#e9eae6}.benefit-card>svg{width:36px;height:36px;color:var(--green)}.benefit-card h3{max-width:250px;margin:25px 0 10px;font-size:22px;line-height:1.08}.benefit-card p{max-width:290px;margin:0;color:var(--muted);font-size:10px;line-height:1.65}.card-absence{grid-row:1}.card-school{grid-row:1/3;background:var(--green-pale)}.card-target{grid-row:1}.learning-image{grid-column:1;grid-row:2/4;overflow:hidden;border-radius:var(--radius-md)}.learning-image img{width:100%;height:100%;object-fit:cover}.demo-stat{padding:25px;display:flex;flex-direction:column;justify-content:center;border-radius:var(--radius-md);color:#fff}.demo-stat strong{font-family:Sora,sans-serif;font-size:46px;line-height:1}.demo-stat span{margin-top:8px;font-size:10px}.stat-green{grid-column:2;grid-row:3;background:var(--green)}.stat-orange{grid-column:3;grid-row:2;background:var(--orange);color:#352708}.chalk-detail{grid-column:3;grid-row:3;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:var(--green-dark)}.resources{border-top:1px solid var(--line)}.resource-tabs{display:flex;gap:8px;margin-bottom:22px}.resource-tabs button{min-width:70px;min-height:44px;padding:0 15px;border:1px solid #bfc5be;border-radius:10px;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.resource-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.resource-card{min-height:250px;padding:25px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:var(--white);transition:transform .25s ease}.resource-card:hover{transform:translateY(-5px)}.resource-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--green-pale);color:var(--green);font-family:Sora,sans-serif;font-weight:700}.resource-card small{margin-top:26px;color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase}.resource-card h3{margin:8px 0 10px;font-size:19px}.resource-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}.resource-card button{min-height:44px;margin-top:auto;padding:0;text-align:left;border:0;background:transparent;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.about-panel{min-height:470px;margin:20px 0 100px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:var(--radius-lg);background:var(--green-dark);color:#fff}.about-panel>img{width:100%;height:100%;object-fit:cover}.about-panel>div{padding:60px;display:flex;flex-direction:column;justify-content:center}.about-panel .eyebrow{color:#f7c353}.about-panel h2{margin-bottom:20px;font-size:clamp(34px,4vw,52px);line-height:1.05}.about-panel p:not(.eyebrow){color:rgba(255,255,255,.78);font-size:12px;line-height:1.75}.about-panel .primary-button{align-self:flex-start;margin-top:15px}.site-footer{width:min(calc(100% - 32px),var(--max));min-height:130px;margin:0 auto;padding:28px 0;display:flex;align-items:center;gap:35px;border-top:1px solid var(--line)}.site-footer p{margin:0 auto 0 0;color:var(--muted);font-size:10px}.site-footer nav{display:flex;gap:25px}.booking-dialog{width:min(calc(100% - 28px),650px);padding:30px;border:0;border-radius:24px;background:var(--white);box-shadow:var(--shadow);color:var(--ink)}.booking-dialog::backdrop{background:rgba(23,32,29,.55);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:20px}.dialog-head h2{max-width:470px;margin:0;font-size:32px;line-height:1.05}.icon-button{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;background:#eeefeb;cursor:pointer}.booking-dialog form{margin-top:27px;display:grid;gap:8px}.booking-dialog label{font-size:10px;font-weight:700}.booking-dialog input,.booking-dialog textarea{width:100%;min-height:48px;padding:12px;border:1px solid #bfc5be;border-radius:10px;background:#fff;color:var(--ink)}.booking-dialog textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row label{display:grid;gap:8px}.booking-dialog form>p{color:var(--muted);font-size:9px}.booking-dialog .primary-button{width:100%}.toast{position:fixed;z-index:150;left:50%;bottom:22px;max-width:calc(100% - 24px);padding:13px 18px;border-radius:10px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;box-shadow:var(--shadow);transform:translateX(-50%)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes student-float{50%{transform:translateY(-9px)}}@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-button{display:flex;margin-left:auto}.hero{grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{grid-column:1/-1}.hero h1{font-size:70px}.hero-art{min-height:470px}.hero-art>img{height:500px}.hero-mini{grid-column:auto;grid-template-columns:1fr;align-self:center}.finder{grid-template-columns:1fr 1fr}.search-button{width:100%}.teacher-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.benefit-card,.learning-image,.demo-stat,.chalk-detail{grid-column:auto!important;grid-row:auto!important;min-height:220px}.learning-image{grid-row:span 2!important}.section-intro{gap:35px}.about-panel>div{padding:42px}}@media(max-width:680px){.site-header,main,.site-footer{width:calc(100% - 24px)}.site-header{min-height:66px}.menu-button{padding:0 12px}.hero{min-height:auto;padding:40px 0 28px;display:flex;flex-direction:column;align-items:stretch}.hero h1{font-size:clamp(48px,14vw,66px)}.hero-description{font-size:12px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .primary-button,.text-button{width:100%;justify-content:center}.hero-art{width:100%;min-height:480px}.hero-art:before{left:4%;right:4%}.hero-art>img{width:100%;height:510px}.chalk-card{left:4%}.hero-note{right:3%;bottom:25px}.sun-lines{top:65px}.hero-mini{width:100%;grid-template-columns:1fr 1fr;gap:8px}.hero-mini article{grid-template-columns:1fr;padding:8px}.hero-mini article>div:first-child{height:105px}.find-section,.benefits,.resources{padding:72px 0}.section-intro{grid-template-columns:1fr;gap:18px}.section-intro h2{font-size:38px}.finder{grid-template-columns:1fr;padding:14px}.teacher-grid,.resource-grid{grid-template-columns:1fr}.benefit-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}.benefit-grid>*{flex:0 0 82vw;min-height:290px!important;scroll-snap-align:start}.learning-image{min-height:420px!important}.resource-tabs{overflow-x:auto}.resource-tabs button{flex:0 0 auto}.about-panel{grid-template-columns:1fr}.about-panel>img{height:260px}.about-panel>div{padding:32px 22px}.site-footer{align-items:flex-start;flex-direction:column;gap:13px}.site-footer p{margin:0}.site-footer nav{flex-wrap:wrap}.booking-dialog{padding:24px 18px}.form-row{grid-template-columns:1fr}.dialog-head h2{font-size:27px}}@media(max-width:420px){.hero-mini{grid-template-columns:1fr}.hero-art{min-height:430px}.hero-art>img{height:460px}.hero-note{width:160px}.brand strong{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
