:root{--navy: #0b1b3d;--navy-2: #1a2f5c;--red: #e5383b;--yellow: #f5c343;--sky: #7cc2f2;--bg: #faf7f2;--card: #ffffff;--ink-soft: #545c6b;--ink-faint: #8a909c;--line: #e7e2d8;--input-line: #d9dce3;--tint-admission: #fdf3d6;--tint-parent: #e6f2fc;--tint-appointment: #fde6e3;--tint-enquiry: #eceff7;--radius-card: 32px;--radius-input: 16px;--shadow-card: 0 1px 2px rgba(11, 27, 61, .04), 0 18px 40px -18px rgba(11, 27, 61, .18);--shadow-lift: 0 2px 4px rgba(11, 27, 61, .05), 0 26px 50px -20px rgba(11, 27, 61, .26);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: clamp(16px, 4vw, 48px);--ease: cubic-bezier(.22, .61, .36, 1);--kb: 0px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{margin:0;font-family:var(--font);color:var(--navy);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.sr-only,.hp{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow-x:clip;padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(env(safe-area-inset-bottom) + var(--kb)) env(safe-area-inset-left)}.decor{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.decor__blob{position:absolute;border-radius:50%}.decor__blob--sun{top:-20vmax;right:-16vmax;width:54vmax;height:54vmax;background:radial-gradient(circle,#f5c34342,#f5c34300 65%)}.decor__blob--sky{bottom:-24vmax;left:-20vmax;width:60vmax;height:60vmax;background:radial-gradient(circle,#7cc2f238,#7cc2f200 65%)}.brand,.main,.footer{position:relative;z-index:1}.brand{display:flex;justify-content:center;padding:clamp(16px,3vh,36px) var(--gutter) 0}.brand__logo{width:clamp(104px,14vh,150px);height:auto}.page:not([data-screen=welcome]) .brand__logo{width:clamp(76px,9vh,100px)}.main{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(1080px,100%);margin-inline:auto;padding:clamp(14px,2.6vh,32px) var(--gutter)}.screen{width:100%;animation:rise .35s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.welcome{display:flex;flex-direction:column;align-items:center;gap:clamp(24px,4.4vh,48px)}.welcome__head{max-width:42rem;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}.eyebrow:before,.eyebrow:after{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;opacity:.5}.welcome__title{margin:0;font-size:clamp(2.4rem,5.8vw,4.1rem);font-weight:800;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.accent{color:var(--red)}.welcome__sub{margin:14px auto 0;max-width:32ch;font-size:clamp(1.08rem,2.2vw,1.3rem);line-height:1.5;color:var(--ink-soft);text-wrap:balance}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,24px);width:min(960px,100%)}.choice{--tint: var(--tint-admission);display:flex;align-items:center;gap:clamp(16px,2.2vw,24px);min-height:clamp(128px,17vh,176px);padding:clamp(20px,2.8vw,30px);border:1px solid var(--line);border-radius:28px;background:var(--card);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.choice--parent{--tint: var(--tint-parent)}.choice--appointment{--tint: var(--tint-appointment)}.choice--enquiry{--tint: var(--tint-enquiry)}.choice__icon{flex:0 0 auto;display:grid;place-items:center;width:clamp(60px,7vw,76px);height:clamp(60px,7vw,76px);border-radius:22px;background:var(--tint)}.choice__icon svg{width:50%;height:50%}.choice__text{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;min-width:0}.choice__title{font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:800;line-height:1.15;letter-spacing:-.03em}.choice__sub{font-size:clamp(.98rem,1.5vw,1.06rem);line-height:1.4;color:var(--ink-soft)}.choice__go{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.choice__go svg{width:20px;height:20px;transition:transform .25s var(--ease)}@media (hover: hover){.choice:hover{transform:translateY(-3px);border-color:#0b1b3d2e;box-shadow:var(--shadow-lift)}.choice:hover .choice__go{border-color:var(--navy);background:var(--navy);color:#fff}.choice:hover .choice__go svg{transform:translate(2px)}}.choice:active{transform:scale(.985)}.form-card{width:min(780px,100%);padding:clamp(20px,3.6vw,40px)}.form-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn-back{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px 0 14px;border:1px solid rgba(11,27,61,.16);border-radius:999px;background:#fff;font-size:.98rem;font-weight:600;cursor:pointer;transition:border-color .2s var(--ease)}.btn-back svg{width:18px;height:18px}@media (hover: hover){.btn-back:hover:not(:disabled){border-color:var(--navy)}}.category-chip{--tint: var(--tint-admission);display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--tint);font-size:.92rem;font-weight:700}.form-card--parent .category-chip{--tint: var(--tint-parent)}.form-card--appointment .category-chip{--tint: var(--tint-appointment)}.form-card--enquiry .category-chip{--tint: var(--tint-enquiry)}.category-chip__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff}.category-chip__icon svg{width:18px;height:18px}.form-card__head{margin:clamp(18px,3vh,28px) 0 clamp(18px,2.6vh,26px)}.form-card__title{margin:0;font-size:clamp(1.75rem,3.6vw,2.35rem);font-weight:800;line-height:1.1;letter-spacing:-.04em}.form-card__sub{margin:8px 0 0;font-size:1.08rem;line-height:1.5;color:var(--ink-soft)}.stepper{margin-top:12px}.stepper__label{margin:0 0 12px;font-size:1.02rem;color:var(--ink-soft)}.stepper__label strong{color:var(--navy)}.stepper__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.stepper__bar{display:block;height:6px;border-radius:6px;background:#ece8df;transition:background-color .3s var(--ease)}.stepper__track .is-done .stepper__bar{background:var(--navy)}.stepper__track .is-current .stepper__bar{background:var(--yellow)}.stepper__name{display:block;margin-top:8px;font-size:.82rem;font-weight:600;color:var(--ink-faint)}.stepper__track .is-current .stepper__name,.stepper__track .is-done .stepper__name{color:var(--navy)}.form__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.field__label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.98rem;font-weight:700}.field__optional{font-size:.82rem;font-weight:500;color:var(--ink-faint)}.field__control{position:relative}.field__icon{position:absolute;top:50%;left:18px;width:22px;height:22px;color:var(--ink-faint);transform:translateY(-50%);pointer-events:none;transition:color .2s var(--ease)}.field--textarea .field__icon{top:20px;transform:none}.field__icon svg{width:100%;height:100%}.field__input{display:block;width:100%;min-height:64px;padding:0 18px 0 54px;border:1.5px solid var(--input-line);border-radius:var(--radius-input);outline:0;background:#fdfcfa;font-size:1.125rem;font-weight:500;line-height:1.4;color:var(--navy);-webkit-appearance:none;appearance:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}textarea.field__input{min-height:116px;padding-top:18px;padding-bottom:16px;resize:none}.field__select{padding-right:52px;cursor:pointer}.field__select.is-empty{color:#a7acb6}.field__select option{color:var(--navy)}.field__chevron{position:absolute;top:50%;right:18px;width:22px;height:22px;color:var(--navy);transform:translateY(-50%);pointer-events:none}.field__chevron svg{width:100%;height:100%}.field__input::placeholder{color:#a7acb6;opacity:1}.field__input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px #7cc2f259}.field__control:focus-within .field__icon{color:var(--navy)}.field__input:disabled{opacity:.7}.field.has-error .field__input{border-color:var(--red);box-shadow:0 0 0 4px #e5383b1a}.field.has-error .field__icon{color:var(--red)}.field__error{display:flex;align-items:flex-start;gap:6px;margin:8px 2px 0;font-size:.92rem;font-weight:600;line-height:1.4;color:#c4282b}.field__error svg{flex:0 0 auto;width:17px;height:17px;margin-top:1px}.form__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:28px}.form__actions.has-back{grid-template-columns:auto minmax(0,1fr)}.form__actions .btn-secondary{width:auto;min-height:64px;padding:0 24px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:999px;font-weight:700;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .15s var(--ease)}.btn-primary{min-height:64px;padding:0 28px;border:0;background:var(--navy);color:#fff;font-size:1.12rem;letter-spacing:-.01em;box-shadow:0 12px 24px -12px #0b1b3d8c}.btn-primary svg{flex:0 0 auto;width:22px;height:22px;color:var(--yellow);transition:transform .2s var(--ease)}.btn-secondary{min-height:56px;padding:0 24px;border:1.5px solid var(--input-line);background:#fff;color:var(--navy);font-size:1.02rem}.btn-secondary svg{width:18px;height:18px}@media (hover: hover){.btn-primary:hover:not(:disabled){background:var(--navy-2)}.btn-primary:hover:not(:disabled) svg{transform:translate(3px)}.btn-secondary:hover:not(:disabled){border-color:var(--navy)}}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.985)}.btn-primary:disabled{cursor:progress;opacity:.88}.btn-secondary:disabled,.btn-link:disabled,.btn-back:disabled{opacity:.5}.btn-link{min-height:44px;padding:0 12px;border:0;background:none;font-size:.98rem;font-weight:600;color:var(--ink-soft);text-decoration:underline;text-decoration-color:#e5383b99;text-decoration-thickness:2px;text-underline-offset:5px;cursor:pointer}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(600px,100%);padding:clamp(32px,5vw,56px) clamp(24px,4.5vw,52px);text-align:center}.check{width:clamp(100px,13vh,124px);height:auto;margin-bottom:8px}.check__halo{fill:var(--tint-admission)}.check__disc{fill:var(--navy);transform-box:fill-box;transform-origin:center;animation:pop .45s var(--ease) both}.check__tick{fill:none;stroke:var(--yellow);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:64;stroke-dashoffset:64;animation:draw .45s var(--ease) .3s forwards}@keyframes pop{0%{transform:scale(.6);opacity:0}}@keyframes draw{to{stroke-dashoffset:0}}.result__badge{display:grid;place-items:center;width:96px;height:96px;margin-bottom:12px;border-radius:50%;background:var(--tint-appointment);color:var(--red);box-shadow:0 0 0 10px #fde6e380}.result__badge svg{width:46%;height:46%}.result__title{margin:0;font-size:clamp(1.85rem,4vw,2.5rem);font-weight:800;line-height:1.12;letter-spacing:-.04em;text-wrap:balance}.result__copy{max-width:34ch;margin:0;font-size:clamp(1.08rem,2.2vw,1.22rem);line-height:1.5;color:var(--ink-soft);text-wrap:balance}.result__meta{margin:4px 0 0;padding:8px 16px;border-radius:999px;background:#f4f1ea;font-size:.96rem;color:var(--ink-soft)}.result__meta strong{margin-left:4px;color:var(--navy);letter-spacing:.04em}.result__btn{width:auto;min-width:min(320px,100%);margin-top:14px}.result__btn svg{color:#fff}.result__note{margin:0;font-size:.92rem;color:var(--ink-faint)}.result__actions{display:flex;flex-direction:column;gap:12px;width:min(380px,100%);margin-top:12px}.countdown{width:min(220px,70%);height:5px;margin-top:10px;overflow:hidden;border-radius:5px;background:#ece8df}.countdown__bar{display:block;width:100%;height:100%;border-radius:inherit;background:var(--yellow);transform-origin:0 50%;animation:shrink var(--countdown, 10s) linear forwards}@keyframes shrink{to{transform:scaleX(0)}}.footer{display:flex;justify-content:center;padding:4px var(--gutter) 14px}.privacy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 8px;max-width:46rem;margin:0;font-size:.84rem;line-height:1.4;color:var(--ink-faint);text-align:center}.privacy__icon{flex:0 0 auto;width:16px;height:16px;color:var(--ink-soft)}.privacy__link{min-height:44px;padding:0 6px;border:0;background:none;font-weight:700;color:var(--navy);text-decoration:underline;text-decoration-color:#e5383b99;text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0b1b3d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .2s var(--ease) both}.dialog{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(24px,4vw,36px);border-radius:28px;background:#fff;box-shadow:0 30px 60px -20px #0b1b3d73;text-align:center;animation:rise .3s var(--ease) both}.dialog--wide{width:min(560px,100%)}.dialog__title{margin:0 0 10px;font-size:clamp(1.5rem,4vw,1.85rem);font-weight:800;letter-spacing:-.035em}.dialog__copy{margin:0 0 20px;font-size:1.04rem;line-height:1.55;color:var(--ink-soft)}.dialog__list{margin:4px 0 18px;padding-left:1.2em;font-size:1rem;line-height:1.55;text-align:left}.dialog__list li+li{margin-top:.45em}.dialog__list li::marker{color:var(--red)}.dialog__url{font-weight:700;color:var(--navy);overflow-wrap:anywhere}.dialog__actions{display:flex;flex-direction:column;gap:10px}.idle-clock{position:relative;width:88px;height:88px;margin:0 auto 14px}.idle-clock svg{width:100%;height:100%;rotate:-90deg;fill:none;stroke-width:6;stroke-linecap:round}.idle-clock__track{stroke:#ece8df}.idle-clock__left{stroke:var(--red);stroke-dasharray:201;transition:stroke-dashoffset .25s linear}.idle-clock span{position:absolute;inset:0;display:grid;place-items:center;font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums}@keyframes fade{0%{opacity:0}}@media (min-width: 720px){.form__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.form__grid>.field{grid-column:span 2}.form__grid>.field--half{grid-column:span 1}}@media (min-width: 900px) and (max-height: 860px){.form__grid{row-gap:16px}.field__input,.btn-primary,.form__actions .btn-secondary{min-height:58px}textarea.field__input{min-height:96px}.form__actions{margin-top:22px}}@media (min-height: 1000px) and (min-width: 640px){.page[data-screen=welcome] .brand__logo{width:176px}.welcome{gap:56px}.choice{flex-direction:column;align-items:flex-start;justify-content:space-between;position:relative;min-height:214px;gap:24px}.choice__go{position:absolute;top:28px;right:28px}}@media (max-width: 639px){.choice-grid{grid-template-columns:minmax(0,1fr)}.choice{min-height:108px}.choice__go{width:40px;height:40px}.stepper__name{font-size:.74rem}.form__actions.has-back .btn-secondary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.form__actions.has-back .btn-secondary{width:64px;padding:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.countdown__bar{animation:none!important}.spinner{animation:spin 1.6s linear infinite!important}}
