.navbar{position:sticky;top:0;z-index:100;background:var(--bg-raised);border-bottom:1px solid var(--hairline)}.navbar-inner{display:flex;align-items:center;height:56px}.navbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.navbar-logo{width:30px;height:30px;border-radius:8px;object-fit:cover;flex-shrink:0}.navbar-name{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.navbar-inner{height:68px}.navbar-name{font-size:1.1rem}.navbar-logo{width:34px;height:34px}}.hero{padding-block:clamp(40px,9vw,88px) clamp(44px,9vw,80px);background:var(--bg)}.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-eyebrow{max-width:90%}.hero-eyebrow:before{display:none}.hero-logo{width:clamp(64px,18vw,88px);height:clamp(64px,18vw,88px);border-radius:18px;object-fit:cover;margin-bottom:18px;border:1px solid var(--hairline);background:var(--bg-raised)}.hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.15rem,9vw,3.6rem);line-height:1.08;letter-spacing:-.01em;color:var(--text);margin:0 0 12px;justify-content:center}.hero-subhead{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,3.2vw,1.35rem);line-height:1.35;color:var(--purple-2);max-width:24ch;margin-bottom:16px}.hero-desc{color:var(--text-dim);font-size:clamp(.96rem,2.2vw,1.05rem);line-height:1.65;max-width:48ch;margin-bottom:26px}.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.hero-chips .chip:first-child{border-color:var(--purple-line);color:var(--purple);background:var(--purple-soft);font-weight:600}.scroll-reveal{margin:0}.scroll-reveal-text{font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.6;font-weight:500;color:var(--text-dim)}.word{display:inline-block}.about{border-top:1px solid var(--hairline)}.about .section-head{margin-bottom:24px}.programs{border-top:1px solid var(--hairline)}.programs-grid{display:grid;grid-template-columns:1fr;gap:14px}.program-card{padding:1.35rem;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--bg-raised);box-shadow:var(--shadow-card)}.program-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.program-card-head h3{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--text)}.program-card-head svg{flex-shrink:0}.accent-purple svg{color:var(--purple)}.accent-blue svg{color:var(--blue)}.accent-green svg{color:var(--green)}.accent-yellow svg{color:var(--yellow)}.program-card-items{display:flex;flex-wrap:wrap;gap:8px}.program-card-items li{font-size:.83rem;font-weight:500;color:var(--text-dim);background:var(--bg-raised-2);border:1px solid var(--hairline);border-radius:999px;padding:6px 12px}@media (min-width: 640px){.programs-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.programs-grid{grid-template-columns:repeat(4,1fr)}.program-card{padding:1.6rem 1.4rem}}.journey{border-top:1px solid var(--hairline)}.journey-track{position:relative;display:flex;flex-direction:column;gap:28px;padding-left:28px}.journey-line{position:absolute;top:6px;bottom:6px;left:9px;width:2px;background:linear-gradient(180deg,var(--green) 0%,var(--blue) 50%,var(--yellow) 100%);opacity:.6}.journey-stage{position:relative;display:flex;align-items:flex-start;gap:18px}.journey-dot{position:absolute;left:-28px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--bg-raised);border:2px solid currentColor;flex-shrink:0}.journey-dot:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:currentColor}.accent-dot-green{color:var(--green)}.accent-dot-blue{color:var(--blue)}.accent-dot-yellow{color:var(--yellow)}.accent-text-green{color:var(--green)}.accent-text-blue{color:var(--blue)}.accent-text-yellow{color:#a87a12}.journey-stage-card{flex:1;border:1px solid var(--hairline);background:var(--bg-raised);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card)}.journey-stage-label{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:10px}.journey-classes{display:flex;flex-wrap:wrap;gap:8px}.journey-class-chip{font-size:.9rem;font-weight:600;color:var(--text);padding:5px 12px;border-radius:8px;background:var(--bg-raised-2)}@media (min-width: 1024px){.journey-track{flex-direction:row;align-items:stretch;padding-left:0;gap:0}.journey-line{top:9px;bottom:auto;left:8%;right:8%;width:auto;height:2px;background:linear-gradient(90deg,var(--green) 0%,var(--blue) 50%,var(--yellow) 100%)}.journey-stage{flex:1;flex-direction:column;align-items:center;padding-inline:14px}.journey-dot{position:static;margin-bottom:20px}.journey-stage-card{width:100%;text-align:center}.journey-classes{justify-content:center}}.gallery{border-top:1px solid var(--hairline)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-item{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--hairline);background:var(--bg-raised);box-shadow:var(--shadow-card)}.gallery-item img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover}.gallery-item-tall{grid-column:1 / -1}.gallery-item-tall img{aspect-ratio:16 / 10}@media (min-width: 640px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto;gap:14px}.gallery-item-tall{grid-column:1 / 2;grid-row:1 / 3}.gallery-item-tall img{aspect-ratio:3 / 4}.gallery-grid .gallery-item:not(.gallery-item-tall) img{aspect-ratio:16 / 10}}.why{border-top:1px solid var(--hairline)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.why-item{padding:16px;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--bg-raised);box-shadow:var(--shadow-card)}.why-icon{color:var(--purple);margin-bottom:10px}.why-item h3{font-size:.92rem;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.3}.why-item p{font-size:.83rem;color:var(--text-dim);line-height:1.5}@media (min-width: 768px){.why-grid{grid-template-columns:repeat(4,1fr);gap:16px}.why-item{padding:20px}}.fees{border-top:1px solid var(--hairline)}.fees-card{border:1px solid var(--hairline-strong);background:linear-gradient(160deg,var(--bg-raised) 0%,var(--bg-raised-2) 100%);border-radius:var(--radius-lg);padding:clamp(28px,6vw,44px);text-align:center;max-width:560px;margin-inline:auto;box-shadow:var(--shadow-card)}.fees-title{font-size:clamp(1.4rem,4vw,1.9rem);margin-bottom:12px}.fees-text{color:var(--text-dim);font-size:.98rem;line-height:1.6;max-width:42ch;margin:0 auto}.contact{border-top:1px solid var(--hairline)}.contact-grid{display:flex;flex-direction:column;gap:28px}.contact-info{display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-card)}.contact-row{display:flex;align-items:flex-start;gap:12px}.contact-row svg{flex-shrink:0;margin-top:2px;color:var(--purple)}.contact-row p{font-size:.95rem;color:var(--text-dim);line-height:1.55;word-break:break-word}.contact-hours-days{display:block;color:var(--text);font-weight:600;font-size:.9rem}.contact-hours-time{display:block;color:var(--text-dim);font-size:.88rem;margin-bottom:8px}.contact-actions{display:grid;grid-template-columns:1fr;gap:10px}.contact-btn{width:100%;justify-content:flex-start;padding-inline:18px;overflow:hidden}.contact-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 640px){.contact-actions{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.contact-grid{flex-direction:row;align-items:flex-start}.contact-info{flex:1;max-width:380px}.contact-actions{flex:1}}.social{border-top:1px solid var(--hairline);padding-block-end:clamp(40px,8vw,72px)}.social-grid{display:grid;grid-template-columns:1fr;gap:10px}.social-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-card);transition:border-color .15s ease,background .15s ease}.social-card:hover{border-color:var(--purple-line);background:var(--bg-raised-2)}.social-card svg{color:var(--purple);flex-shrink:0}.social-card-label{display:block;font-weight:600;font-size:.95rem;color:var(--text)}.social-card-desc{display:block;font-size:.83rem;color:var(--text-faint);margin-top:2px}@media (min-width: 768px){.social-grid{grid-template-columns:repeat(3,1fr)}.social-card{flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px}}.footer{border-top:1px solid var(--hairline);padding-block:32px;background:var(--bg-raised)}.footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.footer-name{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text)}.footer-tagline{font-size:.8rem;color:var(--text-faint)}.footer-copy{font-size:.78rem;color:var(--text-faint);margin-top:8px}:root{--bg: #f7f9fc;--bg-raised: #ffffff;--bg-raised-2: #f0f4fa;--bg-raised-3: #e2e8f0;--hairline: #e2e8f0;--hairline-strong: #cbd5e1;--text: #172033;--text-dim: #475569;--text-faint: #64748b;--purple: #173b73;--purple-2: #2563a6;--purple-soft: rgba(23, 59, 115, .08);--purple-line: rgba(23, 59, 115, .28);--red: #2563a6;--blue: #2563a6;--yellow: #f4b942;--green: #2f9e6e;--font-display: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container-max: 1160px;--page-pad: 18px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--shadow-card: 0 1px 2px rgba(23, 59, 115, .05), 0 6px 16px rgba(23, 59, 115, .06);color-scheme:light}@media (min-width: 768px){:root{--page-pad: 32px}}@media (min-width: 1024px){:root{--page-pad: 48px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}html,body,#root{max-width:100%;overflow-x:hidden}img,picture,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--page-pad)}.section{padding-block:clamp(48px,9vw,96px)}.section-head{max-width:640px;margin-bottom:clamp(28px,6vw,48px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-2);margin-bottom:14px}.eyebrow:before{content:"";width:14px;height:1px;background:var(--purple-2);display:inline-block}.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.15;letter-spacing:-.01em;color:var(--text)}.section-desc{margin-top:14px;color:var(--text-dim);font-size:clamp(.95rem,2vw,1.05rem);line-height:1.65;max-width:56ch}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-size:.95rem;font-weight:600;line-height:1;transition:transform .15s ease,background .2s ease,border-color .2s ease;min-height:48px}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-2) 100%);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-outline{border:1px solid var(--hairline-strong);color:var(--text);background:var(--bg-raised)}.btn-outline:hover{border-color:var(--purple-line);background:var(--bg-raised-2)}.chip{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid var(--hairline-strong);background:var(--bg-raised);font-size:.83rem;font-weight:500;color:var(--text-dim);white-space:nowrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--bg-raised-3);border-radius:999px}*{-webkit-tap-highlight-color:transparent}
