*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:'Inter',sans-serif;line-height:1.6;color:#333;background:#f9f9f9;overflow-x:hidden}.container{max-width:1100px;margin:0 auto;padding:0 20px}a{color:inherit}.navbar{background:#fff;padding:1rem 0;box-shadow:0 2px 10px rgba(0,0,0,.05);position:sticky;top:0;z-index:100}.nav-content{display:flex;justify-content:space-between;align-items:center}.logo{height:54px;width:54px;object-fit:contain}.nav-actions{display:flex;align-items:center;gap:28px}.nav-actions>a:not(.btn-primary){color:#444;text-decoration:none;font-size:.9rem;font-weight:600}.nav-actions>a:not(.btn-primary):hover{color:#0056b3}.btn-primary{background:#0056b3;color:#fff;padding:12px 25px;border-radius:50px;text-decoration:none;font-weight:600;transition:.3s}.btn-primary:hover{background:#004085}
.hero{background:linear-gradient(135deg,rgba(0,67,139,.9),rgba(0,140,215,.72)),url('assets/main-content.jpg');background-size:cover;background-position:center;color:#fff;padding:140px 0;text-align:center;display:flex;align-items:center;justify-content:center;min-height:64vh}.hero-content{max-width:850px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-label,.section-label{display:block;font-size:.75rem;font-weight:800;letter-spacing:1.8px;margin-bottom:14px}.hero-label{color:#d9efff}.hero h1{font-size:3.5rem;margin-bottom:20px;line-height:1.18;font-weight:800}.hero p{font-size:1.3rem;margin:0 auto 35px;opacity:.96;max-width:760px}.hero-buttons{display:flex;justify-content:center;gap:14px}.btn-light,.btn-outline{padding:13px 24px;border-radius:50px;text-decoration:none;font-weight:600;transition:.2s}.btn-light{background:#fff;color:#0056b3}.btn-outline{border:2px solid rgba(255,255,255,.8);color:#fff}.btn-light:hover,.btn-outline:hover{transform:translateY(-2px)}
.info-section,.steps-section,.faq-section{padding:85px 0;background:#fff}.features{padding:85px 0;background:#f4f7f9}.section-heading{text-align:center;max-width:740px;margin:0 auto 12px}.section-label{color:#0056b3}.section-heading h2,.faq-intro h2{font-size:2.45rem;line-height:1.2;margin-bottom:17px;color:#243746}.section-heading p,.faq-intro p{color:#66717a}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:40px 0 0}.card,.info-card{background:#fff;padding:36px;border-radius:15px;box-shadow:0 10px 20px rgba(0,0,0,.05);border-top:5px solid #0056b3}.info-card{border-top:0;border:1px solid #e5ebef;text-align:left}.icon-box{width:52px;height:52px;background:#eaf4fd;border-radius:12px;display:grid;place-items:center;font-size:1.55rem;margin-bottom:20px}.card h3,.info-card h3{margin-bottom:12px;color:#354550}.card p,.info-card p{color:#69747c;font-size:.94rem}.teacher{border-top-color:#0056b3}.student{border-top-color:#28a745}.parent{border-top-color:#ffc107}.card-number{display:block;color:#8c9aa4;font-size:.72rem;font-weight:800;margin-bottom:13px}.card ul{list-style:none;margin-top:20px;padding-top:17px;border-top:1px solid #edf0f2}.card li{font-size:.83rem;color:#586771;margin:7px 0}.card li::before{content:'✓';color:#28a745;font-weight:800;margin-right:8px}
.steps-section{background:#fff}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}.step{text-align:center;padding:15px 25px}.step>span{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 18px;border-radius:50%;background:#0056b3;color:#fff;font-weight:800}.step h3{margin-bottom:9px;color:#354550}.step p{color:#69747c;font-size:.9rem}.quote-section{padding:75px 0;background:#0056b3;color:#fff;text-align:center}.quote-section p{font-size:1.5rem;font-style:italic;max-width:800px;margin:0 auto}.quote-section span{display:block;margin-top:18px;font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:.78rem}
.faq-section{background:#f4f7f9}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.faq-intro .section-label{margin-bottom:10px}.faq-intro h2{font-size:2.2rem}.faq-list{background:#fff;border-radius:15px;padding:10px 30px;box-shadow:0 10px 25px rgba(0,0,0,.05)}details{border-bottom:1px solid #e7ebee;padding:20px 0}details:last-child{border-bottom:0}summary{cursor:pointer;font-weight:600;color:#354550;padding-right:25px}details p{color:#69747c;font-size:.9rem;padding:12px 25px 0 0}
.cta-section{background:#eef2f7;padding:85px 0}.form-wrapper{max-width:540px;background:#fff;padding:48px;border-radius:20px;text-align:center;box-shadow:0 15px 35px rgba(0,0,0,.1)}.form-wrapper h2{margin-bottom:10px;font-size:2rem}.form-wrapper>p{margin-bottom:26px;color:#777}.form-wrapper form{text-align:left}.form-wrapper label{display:block;font-size:.78rem;font-weight:600;margin:12px 0 6px;color:#4d5961}input,select{width:100%;padding:14px;margin-bottom:6px;border:1px solid #d7dde1;border-radius:8px;font-size:1rem;background:#fff}input:focus,select:focus{outline:3px solid rgba(0,86,179,.14);border-color:#0056b3}.btn-submit{width:100%;background:#0056b3;color:#fff;border:0;padding:15px;border-radius:8px;font-size:1.05rem;font-weight:800;cursor:pointer;margin-top:14px}.btn-submit:hover{background:#004085}.form-status{text-align:center;color:#218838;font-size:.82rem;font-weight:600;min-height:20px;margin-top:9px}
footer{padding:42px 20px;text-align:center;color:#888;font-size:.85rem;background:#fff}.footer-logo{width:44px;height:44px;object-fit:contain;margin:0 auto 12px}.footer-note{font-size:.7rem;margin-top:8px;opacity:.7}.fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.chat-widget{position:fixed;bottom:30px;right:30px;z-index:1000}.chat-trigger{background:#28a745;color:#fff;border:0;padding:15px 22px;border-radius:50px;font-weight:600;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.15)}.chat-trigger:hover{background:#218838}.chat-window{position:absolute;bottom:70px;right:0;width:320px;height:400px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(20px) scale(.95);pointer-events:none;transition:.3s}.chat-window.active{opacity:1;transform:none;pointer-events:auto}.chat-header{background:#0056b3;color:#fff;padding:15px;display:flex;justify-content:space-between;align-items:center}.chat-header h4{font-size:.95rem}.chat-header button{background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer}.chat-body{flex:1;padding:15px;overflow-y:auto;background:#f8f9fa;display:flex;flex-direction:column;gap:10px}.message{padding:10px 14px;border-radius:12px;font-size:.85rem;max-width:82%;line-height:1.4}.system-msg{background:#e9ecef;align-self:flex-start;border-bottom-left-radius:2px}.user-msg{background:#0056b3;color:#fff;align-self:flex-end;border-bottom-right-radius:2px}.chat-footer{padding:10px;background:#fff;border-top:1px solid #eee;display:flex;gap:8px}.chat-footer input{flex:1;padding:10px;margin:0;font-size:.85rem}.chat-footer button{background:#0056b3;color:#fff;border:0;padding:0 15px;border-radius:6px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.nav-actions>a:not(.btn-primary){display:none}.grid{grid-template-columns:repeat(2,1fr)}.faq-layout{grid-template-columns:1fr;gap:35px}.hero{padding:110px 0}.hero h1{font-size:2.8rem}}
@media(max-width:600px){.container{padding:0 18px}.hero{padding:90px 0;background-position:center}.hero h1{font-size:2.2rem}.hero p{font-size:1.05rem}.hero-buttons{flex-direction:column;align-items:stretch}.grid,.steps-grid{grid-template-columns:1fr}.section-heading h2,.faq-intro h2{font-size:1.9rem}.info-section,.features,.steps-section,.faq-section,.cta-section{padding:65px 0}.card,.info-card{padding:30px}.form-wrapper{padding:32px 24px}.quote-section p{font-size:1.2rem}.chat-widget{right:18px;bottom:18px}.chat-window{width:min(320px,calc(100vw - 36px));right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in-up,.reveal-on-scroll{animation:none;transition:none;opacity:1;transform:none}}

/* Consistent line icons for feature cards */
.icon-box{font-size:0;color:#0056b3}
.icon-box svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card li::before{content:"";display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2328a745' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 8 3 3 7-7'/%3E%3C/svg%3E") center/contain no-repeat}

/* JavaScript-powered scroll animation states */
.navbar{transition:box-shadow .25s ease,padding .25s ease}
.navbar.scrolled{box-shadow:0 5px 22px rgba(0,45,85,.13)}
.reveal-on-scroll{transition-delay:var(--reveal-delay,0ms)}
.reveal-on-scroll.reveal-left{transform:translateX(-32px)}
.reveal-on-scroll.reveal-scale{transform:translateY(20px) scale(.97)}
.reveal-on-scroll.visible{transform:translate(0) scale(1)}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll,.reveal-on-scroll.reveal-left,.reveal-on-scroll.reveal-scale{opacity:1;transform:none;transition:none}}

/* Scroll-to-top control */
.scroll-top{position:fixed;right:30px;bottom:96px;z-index:990;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:#0056b3;color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.scroll-top.visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover{background:#004085}.scroll-top svg,.chat-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Chat interaction states */
.chat-trigger{display:flex;align-items:center;gap:9px}.chat-trigger svg{width:18px;height:18px}.chat-header h4{display:flex;align-items:center;gap:8px}.chat-header h4 small{font-size:.58rem;font-weight:600;color:#d9f3e0}.chat-header h4 small::before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#66d482;vertical-align:1px}.chat-footer button:disabled,.chat-footer input:disabled{opacity:.6;cursor:not-allowed}.error-msg{align-self:flex-start;background:#fff0f0;color:#9d3030;border-bottom-left-radius:2px}.typing{display:flex;align-items:center;gap:4px;width:50px;height:34px}.typing span{width:5px;height:5px;border-radius:50%;background:#7d8992;animation:typingBounce 1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
@media(max-width:600px){.scroll-top{right:18px;bottom:88px}}
@media(prefers-reduced-motion:reduce){.scroll-top,.typing span{transition:none;animation:none}}
