: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);--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(2.75rem,5vw,3.5rem);font-weight:600;letter-spacing:-.025em;line-height:1.07}.title-1{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.title-2{font-size:1.5rem;font-weight:600}.title-3{font-size: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__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;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:120px 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:60px;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)}@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:80px 0}}@media (max-width:480px){.container{padding:0 16px}.card{padding:24px}.section__header{margin-bottom:40px}}