:root{--surface-page: #fafcff;--surface-card: #ffffff;--surface-cream: #f5f9ff;--surface-ice: #e3f5fb;--surface-mint: #ebf7eb;--surface-navy: #1b3a6b;--grad-hero: linear-gradient(168deg, #1b3a6b 0%, #1e4f80 55%, #215e97 100%);--grad-dark: linear-gradient(150deg, #16315b 0%, #1b3a6b 60%, #1e4f80 100%);--grad-banner: linear-gradient(135deg, #ebf7eb 0%, #e3f5fb 100%);--grad-dark-v: linear-gradient( 180deg, #16315b 0px, #16315b 56px, #1b3a6b 52%, #1e4f80 100% );--ink: #1a2b3c;--ink-mid: #3a5068;--ink-decor: #7a9ab5;--ink-on-dark: #ffffff;--ink-on-dark-2: #e3f5fb;--ink-heading-band: #1b3a6b;--accent-sky: #1da1c8;--accent-lime: #5cb85c;--accent-gold: #f5a623;--badge-social: #f5a623;--chip-social: #fcefd4;--badge-health: #5cb85c;--chip-health: #ebf7eb;--badge-creative: #8268c9;--chip-creative: #efeaf9;--badge-fitness: #d2628c;--chip-fitness: #fbe9f0;--badge-learning: #1da1c8;--chip-learning: #e3f5fb;--font-display: "Playfair Display", Georgia, serif;--font-body: "Nunito", Arial, sans-serif;--fs-display: clamp(2.75rem, 1.85rem + 3.6vw, 4.625rem);--fs-h2: clamp(2.125rem, 1.55rem + 2vw, 3.25rem);--fs-h3: clamp(1.5rem, 1.36rem + .7vw, 1.875rem);--fs-h4: 1.375rem;--fs-card: 1.25rem;--fs-quote: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--fs-lead: clamp(1.1875rem, 1.12rem + .4vw, 1.3125rem);--fs-body: clamp(1.125rem, 1.1rem + .2vw, 1.1875rem);--fs-small: 1.0625rem;--fs-kicker: 1.0625rem;--fs-btn: 1.1875rem;--fs-stat: clamp(2.5rem, 1.9rem + 2.4vw, 4rem);--fs-time: 1.25rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--sp-9: 5rem;--sp-10: 6.5rem;--sp-11: 8.5rem;--sec-pad: clamp(4.5rem, 4rem + 4vw, 8rem);--sec-pad-curve: clamp(2.5rem, 2rem + 2vw, 4rem);--container: 75rem;--container-wide: 77.5rem;--container-form: 67.5rem;--gutter: clamp(1.5rem, 1rem + 2vw, 2.5rem);--r-md: 16px;--r-lg: 24px;--r-pill: 999px;--r-organic: 38% 62% 55% 45% / 45% 40% 60% 55%;--shadow-card: 0 6px 24px rgba(27, 58, 107, .08);--shadow-raise: 0 14px 40px rgba(27, 58, 107, .14);--shadow-nav: 0 2px 16px rgba(27, 58, 107, .1);--seam-deep: clamp(64px, 9vw, 128px);--seam-shallow: clamp(40px, 5vw, 72px);--ease-morning: cubic-bezier(.34, 0, .12, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;color:var(--ink);background:var(--surface-page);overflow-x:clip}[id]{scroll-margin-top:104px}img,picture,svg,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink-heading-band);font-weight:700;text-wrap:balance}h1{font-size:var(--fs-display);line-height:1.08;letter-spacing:-.01em}h2{font-size:var(--fs-h2);line-height:1.12;letter-spacing:-.005em}h3{font-size:var(--fs-h3);line-height:1.2;font-weight:600}h4{font-size:var(--fs-h4);line-height:1.25;font-weight:600}p{max-width:65ch}a{color:inherit}.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--ink-mid)}.small{font-size:var(--fs-small);line-height:1.5}.kicker{font-size:var(--fs-kicker);font-weight:800;text-transform:uppercase;letter-spacing:.12em;line-height:1.3}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--wide{max-width:calc(var(--container-wide) + 2 * var(--gutter))}.container--form{max-width:calc(var(--container-form) + 2 * var(--gutter))}section{position:relative}:focus-visible{outline:3px solid var(--surface-navy);outline-offset:2px}.on-dark :focus-visible,.on-dark:focus-visible{outline-color:var(--accent-gold)}.skip-link{position:fixed;top:-100px;left:var(--sp-4);z-index:200;background:var(--accent-gold);color:var(--surface-navy);font-weight:800;font-size:var(--fs-small);text-decoration:none;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-pill);box-shadow:var(--shadow-raise)}.skip-link:focus-visible{top:var(--sp-4);outline:3px solid var(--surface-navy);outline-offset:2px}.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}.num{font-variant-numeric:tabular-nums}.motion-ok .t-hover{transition:transform .45s var(--ease-morning),filter .45s var(--ease-morning),box-shadow .45s var(--ease-morning),background-color .3s var(--ease-morning),border-color .3s var(--ease-morning)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:.6em 1.6em;border:2px solid transparent;border-radius:var(--r-pill);font-family:var(--font-body);font-size:var(--fs-btn);font-weight:800;letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center}.btn--lg{min-height:56px;padding:.7em 2em}.btn--gold{background:var(--accent-gold);color:var(--surface-navy)}.btn--lime{background:var(--accent-lime);color:var(--surface-navy)}.btn--navy{background:var(--surface-navy);color:var(--ink-on-dark)}.btn--white{background:var(--surface-card);color:var(--surface-navy)}.btn--outline-white{background:transparent;border-color:#ffffffd9;color:var(--ink-on-dark)}.motion-ok .btn{transition:transform .45s var(--ease-morning),box-shadow .45s var(--ease-morning),filter .45s var(--ease-morning),background-color .3s var(--ease-morning),border-color .3s var(--ease-morning)}.motion-ok .btn:focus-visible{transform:translateY(-3px);filter:brightness(1.04)}.btn--gold:focus-visible{box-shadow:0 12px 26px #f5a62366}.btn--lime:focus-visible{box-shadow:0 12px 26px #5cb85c66}.btn--navy:focus-visible{box-shadow:0 0 0 4px #1da1c840,0 12px 26px #1b3a6b4d}.btn--white:focus-visible{box-shadow:0 12px 28px #1b3a6b40}.btn--outline-white:focus-visible{background:#ffffff24;border-color:#fff}@media(hover:hover)and (pointer:fine){.motion-ok .btn:hover{transform:translateY(-3px);filter:brightness(1.04)}.motion-ok .btn:active{transform:translateY(-1px);transition-duration:.15s}.btn--gold:hover{box-shadow:0 12px 26px #f5a62366}.btn--lime:hover{box-shadow:0 12px 26px #5cb85c66}.btn--navy:hover{box-shadow:0 0 0 4px #1da1c840,0 12px 26px #1b3a6b4d}.btn--white:hover{box-shadow:0 12px 28px #1b3a6b40}.btn--outline-white:hover{background:#ffffff24;border-color:#fff}}.tag{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--surface-ice);color:var(--surface-navy);font-size:var(--fs-kicker);font-weight:800;text-transform:uppercase;letter-spacing:.12em;line-height:1.3;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill)}.tag:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent-sky);flex:none}.tag--on-dark{background:#ffffff1f;color:var(--ink-on-dark)}.tag--on-dark:before{background:var(--accent-gold)}.tag--mint{background:var(--surface-mint)}.chip{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface-ice);flex:none}.chip svg{width:28px;height:28px;stroke:var(--surface-navy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-1px)}.chip--mint{background:var(--surface-mint)}.card{background:var(--surface-card);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:var(--sp-6)}.card-title{font-family:var(--font-body);font-size:var(--fs-card);font-weight:800;line-height:1.3;color:var(--ink)}.link{color:var(--surface-navy);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent-sky);text-decoration-thickness:2px;text-underline-offset:3px}.on-dark .link,.link--on-dark{color:var(--ink-on-dark);text-decoration-color:var(--accent-gold)}.stars{display:inline-flex;gap:3px;color:var(--accent-gold)}.stars svg{width:22px;height:22px;fill:currentColor}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field>label,.fieldset legend{font-size:var(--fs-small);font-weight:700;color:var(--ink)}.field .optional{font-weight:400;color:var(--ink-mid)}.input{width:100%;min-height:56px;padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:1.125rem;color:var(--ink);background:var(--surface-card);border:1.5px solid var(--ink-mid);border-radius:var(--r-md)}.input::placeholder{color:var(--ink-mid);opacity:1}textarea.input{min-height:128px;resize:vertical;line-height:1.5}.input:focus{outline:none;border-color:var(--accent-sky);box-shadow:0 0 0 4px #1da1c833}.input:focus-visible{outline:3px solid var(--surface-navy);outline-offset:2px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%231b3a6b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:48px}.input[aria-invalid=true]{border-color:#b3261e;border-width:2px}.fieldset{border:0}.fieldset legend{margin-bottom:var(--sp-2)}.pills{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pill{position:relative;display:inline-flex}.pill input{position:absolute;inset:0;opacity:0;cursor:pointer}.pill-face{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.45em 1.1em;border:1.5px solid var(--ink-mid);border-radius:var(--r-pill);font-size:var(--fs-small);font-weight:700;color:var(--ink);background:var(--surface-card);cursor:pointer;position:relative;overflow:hidden}.pill-face:before{content:"";position:absolute;inset:0;background:var(--surface-navy);border-radius:inherit;transform:scale(.6);opacity:0}.motion-ok .pill-face:before{transition:transform .3s var(--ease-morning),opacity .3s var(--ease-morning)}.pill input:checked+.pill-face{border-color:var(--surface-navy);color:var(--ink-on-dark)}.pill input:checked+.pill-face:before{transform:scale(1);opacity:1}.pill-face span{position:relative;z-index:1}.pill input:focus-visible+.pill-face{outline:3px solid var(--surface-navy);outline-offset:2px}.field-error{display:none;align-items:center;gap:var(--sp-2);background:var(--surface-mint);color:var(--ink);font-size:var(--fs-small);font-weight:700;line-height:1.4;padding:var(--sp-2) var(--sp-3);border-radius:10px}.field-error.is-on{display:flex}.field-error svg{width:18px;height:18px;flex:none;stroke:var(--surface-navy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.callbar{position:fixed;left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--sp-2) + env(safe-area-inset-bottom,0px));z-index:90;display:none;gap:var(--sp-2);padding:6px;background:#fafcffb8;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(27,58,107,.12);border-radius:999px;box-shadow:inset 0 1px #fff9,0 8px 28px #1b3a6b38;transform:translateY(130%)}.callbar.is-on{transform:translateY(0)}.motion-ok .callbar{transition:transform .5s var(--ease-morning)}.callbar .btn{flex:1;min-height:46px;font-size:.9375rem;padding:0 var(--sp-3)}.callbar .btn--navy{background:#1b3a6be0}.callbar .btn--gold{background:#f5a623eb}@media(max-width:679.98px){.callbar{display:flex}}.motion-ok .promise-card,.motion-ok .fund-card,.motion-ok .staff-card{transition:transform .45s var(--ease-morning),box-shadow .45s var(--ease-morning)}.motion-ok .testi-card{transition:transform .45s var(--ease-morning),background-color .45s var(--ease-morning),border-color .45s var(--ease-morning)}@media(hover:hover)and (pointer:fine){.promise-card:hover,.fund-card:hover,.staff-card:hover{box-shadow:var(--shadow-raise)}.motion-ok .promise-card:hover,.motion-ok .fund-card:hover,.motion-ok .staff-card:hover{transform:translateY(-4px)}.testi-card:hover{background:#ffffff1c;border-color:#ffffff42}.motion-ok .testi-card:hover{transform:translateY(-4px)}.pill input:not(:checked)+.pill-face:hover{border-color:var(--surface-navy);background:var(--surface-ice)}.sched-tab:not([aria-selected=true]):hover{color:var(--surface-navy);background:var(--surface-ice)}.link:hover{text-decoration-color:var(--surface-navy);text-underline-offset:5px}.on-dark .link:hover,.link--on-dark:hover{text-decoration-color:var(--ink-on-dark)}.nav-tel:hover,.contact-info a:hover{text-decoration:underline;text-decoration-color:var(--accent-sky);text-decoration-thickness:2px;text-underline-offset:4px}}.motion-ok .pill-face{transition:border-color .3s var(--ease-morning),background-color .3s var(--ease-morning),color .3s var(--ease-morning)}.motion-ok .sched-tab{transition:color .3s var(--ease-morning),background-color .3s var(--ease-morning)}.motion-ok .link{transition:text-decoration-color .3s var(--ease-morning),text-underline-offset .25s var(--ease-morning)}
