:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#15294b;background:#edf7ff;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 50% -10%,#d7f0ff 0,#edf7ff 55%,#f5f8ff 100%);min-width:320px}
button,input{font:inherit}
button,a{touch-action:manipulation}
[hidden]{display:none!important}
.shell{width:min(100% - 32px,680px);margin:32px auto 24px}
.promo{position:relative;overflow:hidden;border-radius:30px 30px 0 0;background:linear-gradient(120deg,#034790,#1476c5 62%,#8bcdf8);color:#fff;box-shadow:0 20px 55px rgba(22,89,154,.16)}
.promo:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#66dbf1;filter:blur(55px);opacity:.28;right:-90px;top:-110px}
.promo-copy{position:relative;z-index:1;padding:27px 30px 7px}
.brand{display:inline-flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.16em;font-weight:900}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#ffd84e;color:#123d86;font-size:13px;letter-spacing:-.12em}
.promo-copy p{max-width:490px;margin:19px 0 8px;font-size:clamp(21px,4.5vw,29px);font-weight:850;line-height:1.14;letter-spacing:-.035em;text-wrap:balance}
.hero-art{display:block;width:100%;height:auto;aspect-ratio:1680/940;object-fit:cover;object-position:50% 43%}
.panel{padding:29px 36px 36px;background:#fff;box-shadow:0 22px 55px rgba(22,89,154,.13);border-radius:0 0 30px 30px}
.program-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#e7f8ec;color:#147647;font-size:12px;font-weight:750;letter-spacing:.01em}
.program-badge span{font-size:16px;color:#24a567}
h1{margin:18px 0 13px;font-size:clamp(29px,6vw,42px);line-height:1.08;letter-spacing:-.055em;font-weight:850;color:#102c59;text-wrap:balance}
.deadline-copy{margin:0 0 13px;color:#1469b7;font-size:16px;font-weight:700;line-height:1.45}
.deadline-copy time{white-space:nowrap}
.intro{margin:0;color:#5b6d86;font-size:15px;line-height:1.55}
.limited{margin:18px 0 25px;font-size:14px;font-weight:800;color:#153b64}
fieldset{min-width:0;border:0;margin:0;padding:0}
legend,.contacts h2{display:block;width:100%;margin:0 0 14px;padding:0;color:#14315d;font-size:19px;font-weight:800;letter-spacing:-.025em}
.age-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.age-option{cursor:pointer;position:relative;display:block;min-width:0}
.age-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.age-option span{display:flex;min-height:54px;align-items:center;justify-content:center;padding:10px;text-align:center;border:1.5px solid #d9e4f1;border-radius:14px;background:#f8fbff;color:#1f3f69;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.age-option:hover span{border-color:#66a8e1;transform:translateY(-1px)}
.age-option input:checked+span{border-color:#2379cf;background:#e8f4ff;box-shadow:inset 0 0 0 1px #2379cf;color:#0e58aa}
.age-option input:focus-visible+span{outline:3px solid #f9bc39;outline-offset:2px}
.contacts{margin-top:28px}
.contacts input{display:block;width:100%;height:54px;margin:0 0 10px;padding:0 17px;border:1.5px solid #d9e4f1;border-radius:13px;background:#fff;color:#18345d;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}
.contacts input::placeholder{color:#92a2b5}
.contacts input:focus{border-color:#2379cf;box-shadow:0 0 0 3px #dbeeff}
.contacts input[aria-invalid="true"]{border-color:#d94f4f}
#submit-button,.site-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:57px;margin-top:18px;padding:12px 20px;border:0;border-radius:14px;background:linear-gradient(115deg,#ffcf40,#ffaf25);box-shadow:0 7px 0 #d2850e,0 13px 25px rgba(245,157,28,.22);color:#18385c;text-decoration:none;font-size:18px;font-weight:850;cursor:pointer;transition:transform .2s,box-shadow .2s}
#submit-button:hover:not(:disabled),.site-button:hover{transform:translateY(-2px);box-shadow:0 9px 0 #d2850e,0 16px 27px rgba(245,157,28,.23)}
#submit-button:disabled{cursor:wait;opacity:.72}
#submit-button:focus-visible,.site-button:focus-visible{outline:3px solid #176fca;outline-offset:4px}
.form-status{min-height:20px;margin:15px 0 0;color:#427194;font-size:13px;text-align:center}
.form-status[data-state="error"]{color:#ae3232;font-weight:700}
.consent{display:flex;align-items:flex-start;gap:11px;margin:10px 0 0;color:#73849b;font-size:11px;line-height:1.5;cursor:pointer}
.consent input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#2379cf}
.consent a{color:#2772bd;text-underline-offset:2px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.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}
.thank-you{text-align:center;padding-top:44px;padding-bottom:48px}
.success-icon{display:inline-flex}
.thank-you h1{max-width:520px;margin:19px auto;font-size:clamp(28px,5.5vw,39px)}
.thank-you p{max-width:490px;margin:0 auto 28px;color:#526985;line-height:1.6;font-size:16px}
.site-button{max-width:370px;margin:0 auto;gap:11px}
footer{padding:19px 0;color:#7188a3;text-align:center;font-size:12px}
@media(max-width:560px){.shell{width:min(100% - 20px,460px);margin:10px auto 16px}.promo{border-radius:22px 22px 0 0}.promo-copy{padding:20px 20px 4px}.promo-copy p{margin:14px 0 6px;font-size:22px}.hero-art{aspect-ratio:1.45;object-position:50% 44%}.panel{padding:24px 20px 28px;border-radius:0 0 22px 22px}.program-badge{font-size:11px}h1{font-size:31px;margin-top:15px}.deadline-copy{font-size:15px}.intro{font-size:14px}.limited{margin-bottom:22px}.contacts{margin-top:25px}.thank-you{padding:34px 22px 40px}.thank-you p{font-size:15px}}
@media(max-width:350px){.promo-copy p{font-size:20px}.panel{padding-left:16px;padding-right:16px}.age-grid{gap:8px}.age-option span{font-size:13px;padding:8px}}
