:root{--color-text:#1D1D1F;--color-text-secondary:#6E6E73;--color-text-tertiary:#86868B;--color-text-quaternary:#AEAEB2;--color-fill:#FFFFFF;--color-fill-secondary:#F5F5F7;--color-fill-tertiary:#FBFBFD;--color-separator:rgba(60,60,67,0.08);--color-separator-opaque:#E5E5EA;--color-accent:#5046E5;--color-accent-hover:#4338CA;--color-accent-subtle:rgba(80,70,229,0.06);--color-accent-badge:rgba(80,70,229,0.10);--color-success:#10B981;--color-success-light:rgba(16,185,129,0.08);--color-warning:#F59E0B;--color-warning-light:rgba(245,158,11,0.08);--color-error:#EF4444;--color-error-light:rgba(239,68,68,0.08);--color-neutral:#6B7280;--color-neutral-light:rgba(107,114,128,0.08);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-30:120px;--radius-xs:8px;--glass-bg:rgba(255,255,255,0.25);--glass-bg-elevated:rgba(255,255,255,0.45);--glass-bg-heavy:rgba(255,255,255,0.60);--glass-border:rgba(255,255,255,0.35);--glass-border-subtle:rgba(255,255,255,0.18);--glass-blur:blur(40px) saturate(180%);--glass-blur-heavy:blur(60px) saturate(200%);--glass-shadow:0 8px 32px rgba(0,0,0,0.06),0 0 0 0.5px rgba(255,255,255,0.3),inset 0 0.5px 0 rgba(255,255,255,0.4);--glass-shadow-hover:0 20px 60px rgba(80,70,229,0.1),0 0 0 0.5px rgba(255,255,255,0.4),inset 0 0.5px 0 rgba(255,255,255,0.6);--glass-transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-card:0 2px 8px rgba(0,0,0,0.04),0 0 0 1px rgba(0,0,0,0.03);--shadow-elevated:0 4px 16px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.02);--shadow-float:0 12px 40px rgba(0,0,0,0.08),0 0 0 1px rgba(0,0,0,0.02);--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-pill:980px;--ease-spring:cubic-bezier(0.25,0.1,0.25,1.0);--ease-bounce:cubic-bezier(0.175,0.885,0.32,1.275);--ease-out:cubic-bezier(0.16,1,0.3,1);--duration:0.4s;--duration-fast:0.2s;--duration-slow:0.6s;--max-width:1080px;--gutter:24px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.47059;color:var(--color-text);background:var(--color-fill);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.display{font-size:clamp(2rem,5vw,3.5rem);font-weight:600;letter-spacing:-.025em;line-height:1.07}.title-1{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.title-2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600}.title-3{font-size:clamp(1.05rem,2vw,1.2rem);font-weight:600}.headline{font-size:1.0625rem;font-weight:600}.body-text{font-size:1.0625rem;font-weight:400;line-height:1.65;color:var(--color-text-secondary)}.caption{font-size:.8125rem;color:var(--color-text-tertiary)}.overline{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:1}.container--narrow{max-width:720px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:52px;background:rgba(251,251,253,.72);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);border-bottom:.5px solid var(--color-separator);transition:background .3s ease,box-shadow .3s ease}.nav--scrolled{background:rgba(251,251,253,.92);box-shadow:0 .5px 0 rgba(0,0,0,.04)}.nav__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);height:100%;justify-content:space-between}.nav__inner,.nav__logo{display:flex;align-items:center}.nav__logo{gap:8px;text-decoration:none;color:var(--color-text);transition:opacity var(--duration-fast) ease}.nav__logo:hover{opacity:.7}.nav__logo svg{width:24px;height:24px;color:var(--color-accent);stroke-width:1.8}.nav__logo-text{font-weight:600;font-size:.9375rem}.nav__center{display:flex;align-items:center;gap:28px;list-style:none}.nav__center a{text-decoration:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:400;transition:color var(--duration-fast) ease}.nav__center a:hover{color:var(--color-text)}.nav__dropdown-wrap{position:relative}.nav__dropdown-trigger{display:inline-flex;align-items:center;cursor:pointer}.nav__dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(0);min-width:240px;padding:16px 8px 8px;background:rgba(255,255,255,.88);backdrop-filter:blur(60px) saturate(200%);-webkit-backdrop-filter:blur(60px) saturate(200%);border:1.5px solid rgba(255,255,255,.45);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.1),0 8px 24px rgba(0,0,0,.06),0 0 0 .5px rgba(255,255,255,.5),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -.5px 0 rgba(255,255,255,.15);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s;transform:translateX(-50%) translateY(6px);z-index:200}.nav__dropdown:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}.nav__dropdown-wrap:hover .nav__dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.nav__dropdown-wrap:hover .nav__dropdown-trigger svg:last-child{transform:rotate(180deg)}.nav__dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;text-decoration:none;color:var(--color-text);font-size:.8125rem;font-weight:500;transition:background .15s ease}.nav__dropdown-item:hover{background:rgba(255,255,255,.6);color:var(--color-text);box-shadow:0 2px 8px rgba(80,70,229,.06),inset 0 .5px 0 rgba(255,255,255,.8)}.nav__dropdown-icon{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 6px rgba(0,0,0,.04),inset 0 .5px 0 rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent);transition:all .2s ease}.nav__dropdown-item:hover .nav__dropdown-icon{background:rgba(80,70,229,.08);border-color:rgba(80,70,229,.12);box-shadow:0 4px 12px rgba(80,70,229,.1)}.nav__dropdown-icon svg{width:16px;height:16px}.nav__right{display:flex;align-items:center;gap:20px}.nav__login{text-decoration:none;color:var(--color-accent);font-size:.8125rem;font-weight:400;transition:color var(--duration-fast) ease}.nav__login:hover{color:var(--color-accent-hover)}.nav__cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;min-height:36px;border-radius:var(--radius-pill);background:var(--color-accent);color:#FFFFFF;font-size:.8125rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all var(--duration) var(--ease-spring);box-shadow:0 2px 8px rgba(80,70,229,.2)}.nav__cta:hover{background:var(--color-accent-hover);transform:scale(1.04);box-shadow:0 4px 16px rgba(80,70,229,.3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:var(--radius-pill);font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:all var(--duration) var(--ease-spring);position:relative}.btn svg{width:16px;height:16px}.btn--filled{background:var(--color-accent);color:#FFFFFF;box-shadow:0 4px 16px rgba(80,70,229,.25),inset 0 1px 0 rgba(255,255,255,.15)}.btn--filled:hover{background:var(--color-accent-hover);transform:scale(1.04) translateY(-1px);box-shadow:0 8px 28px rgba(80,70,229,.35),inset 0 1px 0 rgba(255,255,255,.2)}.btn--ghost{background:transparent;color:var(--color-accent);border:1.5px solid var(--color-accent)}.btn--ghost:hover{background:var(--color-accent-subtle)}.btn--ghost-white{border:1.5px solid rgba(80,70,229,.2);color:var(--color-text-secondary);background:transparent}.btn--ghost-white:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.btn--large{padding:14px 32px;font-size:1.0625rem}.card{background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:2px solid rgba(255,255,255,.18);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--glass-shadow);transition:var(--glass-transition);position:relative;overflow:hidden}.card:before{inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.08) 40%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.15));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:1;transition:var(--glass-transition);opacity:.7}.card:after,.card:before{content:"";position:absolute;pointer-events:none}.card:after{top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);z-index:2;opacity:.6}.card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--glass-shadow-hover);background:var(--glass-bg-heavy);border-color:rgba(255,255,255,.28)}.card__icon{width:56px;height:56px;background:rgba(80,70,229,.1);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:20px;position:relative;z-index:3;transition:all var(--duration) var(--ease-spring)}.card__icon svg{width:28px;height:28px;color:var(--color-accent);stroke-width:2;fill:none}.card:hover .card__icon{transform:scale(1.1);background:rgba(80,70,229,.15)}.card h3{margin-bottom:8px}.card h3,.card p{position:relative;z-index:3}.section{padding:88px 0;position:relative}.section--tinted{background:var(--color-fill-secondary);position:relative;overflow:hidden}.section--tinted:before{top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(80,70,229,.05) 0,transparent 70%)}.section--tinted:after,.section--tinted:before{content:"";position:absolute;z-index:0;pointer-events:none}.section--tinted:after{bottom:-30%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(147,51,234,.04) 0,transparent 70%)}.section__header{text-align:center;margin-bottom:48px;position:relative;z-index:1}.section__header .overline{display:block;margin-bottom:12px}.section__header .title-1{margin-bottom:16px}.section__header .body-text{max-width:720px;margin:0 auto}.check-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.check-list svg{width:16px;height:16px;min-width:16px;color:var(--color-accent);stroke-width:2.5;fill:none;margin-top:2px}.footer{padding:60px var(--gutter) 40px;border-top:1px solid var(--color-separator);background:var(--color-fill)}.footer__container{max-width:var(--max-width);margin:0 auto}.footer__content{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.footer__branding{display:flex;flex-direction:column;gap:16px}.footer__logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--color-text)}.footer__logo svg{width:24px;height:24px}.footer__info{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary)}.footer__org{font-size:.8125rem;color:var(--color-text-tertiary);margin-top:8px;line-height:1.6}.footer__org-parent{font-size:.75rem;color:var(--color-text-quaternary);margin-top:4px}.footer__links{display:flex;flex-direction:column;gap:12px}.footer__link{color:var(--color-text-secondary);text-decoration:none;font-size:.9375rem;transition:color var(--duration-fast) ease}.footer__link:hover{color:var(--color-accent)}.footer__bottom{padding-top:40px;border-top:1px solid var(--color-separator);display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--color-text-tertiary)}.booking-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .3s ease}.booking-modal.is-open{display:flex;opacity:1;animation:modal-fade-in .3s ease forwards}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.booking-modal__content{background:#FFFFFF;border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 32px 64px rgba(0,0,0,.15);padding:24px}.booking-modal__close{position:absolute;top:16px;right:16px;background:var(--color-fill-secondary);border:none;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10;transition:background var(--duration-fast) ease}.booking-modal__close:hover{background:var(--color-separator-opaque)}.booking-modal__close svg{width:18px;height:18px;color:var(--color-text-tertiary)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2,.grid-3{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center}.hero-section{padding:100px 0 60px}.hero-section,.hero-section--sub{margin-top:52px;position:relative;overflow:hidden}.hero-section--sub{padding:100px 24px 72px;text-align:center}.cta-section{padding:88px 0;text-align:center;position:relative;overflow:hidden}.cta-section--finale{background:linear-gradient(160deg,#1a1145,#2d1b69 30%,#1e1250 60%,#150d3a);color:#FFFFFF;border-top:none}.cta-section--finale:before{content:"";position:absolute;inset:-50%;background:radial-gradient(ellipse 700px 500px at 20% 30%,rgba(80,70,229,.35) 0,transparent 60%),radial-gradient(ellipse 500px 500px at 80% 60%,rgba(147,51,234,.25) 0,transparent 60%),radial-gradient(ellipse 400px 300px at 50% 80%,rgba(99,102,241,.2) 0,transparent 60%);animation:heroMeshDrift 20s ease-in-out infinite;pointer-events:none;z-index:0}.cta-section--finale .cta-finale__title{font-size:clamp(2rem,5vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin-bottom:20px;color:#FFFFFF;position:relative;z-index:1}.cta-section--finale .cta-finale__subtitle{font-size:1.1875rem;line-height:1.6;color:rgba(255,255,255,.65);margin-bottom:40px;max-width:560px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.cta-section--finale .btn--filled{background:#FFFFFF;color:var(--color-accent);font-weight:600;font-size:1.0625rem;padding:16px 36px;box-shadow:0 4px 20px rgba(255,255,255,.15),0 0 60px rgba(80,70,229,.15)}.cta-section--finale .btn--filled:hover{background:#F0EFFF;color:var(--color-accent-hover);transform:scale(1.05) translateY(-2px);box-shadow:0 8px 32px rgba(255,255,255,.25),0 0 80px rgba(80,70,229,.2)}.cta-section--finale .btn--ghost,.cta-section--finale .btn--ghost-white{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.8);background:transparent;font-size:1.0625rem;padding:16px 36px}.cta-section--finale .btn--ghost-white:hover,.cta-section--finale .btn--ghost:hover{border-color:rgba(255,255,255,.5);color:#FFFFFF;background:rgba(255,255,255,.08)}.flex-center-wrap{gap:16px}.flex-center-wrap,.flex-center-wrap-sm{display:flex;justify-content:center;flex-wrap:wrap}.flex-center-wrap-sm{gap:12px}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr);gap:24px}.hero-section{padding:80px 0 40px}.hero-section--sub{padding:80px 16px 56px}.cta-section{padding:64px 0}.flex-center-wrap,.flex-center-wrap-sm{flex-direction:column;align-items:center}.flex-center-wrap .btn,.flex-center-wrap-sm .btn{width:100%}}@media (max-width:480px){.grid-4{grid-template-columns:1fr}.hero-section{padding:60px 0 32px}.hero-section--sub{padding:60px 16px 40px}.cta-section{padding:48px 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes auroraMove{0%,to{transform:translate(0)}25%{transform:translate(50px,-80px)}50%{transform:translate(100px,-50px)}75%{transform:translate(50px,80px)}}@keyframes heroMeshDrift{0%,to{opacity:1}50%{opacity:.7}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.nav__center,.nav__login{display:none}.footer__content{grid-template-columns:1fr;gap:32px}.footer__bottom{flex-direction:column;gap:16px;text-align:center}.section{padding:64px 0}.btn--large{padding:14px 24px;width:100%}.btn--large,.section__header .body-text{font-size:1rem}}@media (max-width:480px){.container{padding:0 16px}.card{padding:24px}.section__header{margin-bottom:40px}.section{padding:48px 0}.btn--large{padding:14px 20px}}