:root{font-family:Manrope,Segoe UI,sans-serif;color:#281a10;background:radial-gradient(circle at top left,rgba(255,207,106,.3),transparent 28%),radial-gradient(circle at top right,rgba(79,124,86,.26),transparent 30%),linear-gradient(180deg,#1a2f22,#0f2117 52%,#122a1d);color-scheme:light;--display-font: "Cormorant Garamond", Georgia, serif;--body-font: "Manrope", "Segoe UI", sans-serif;--ink: #2b190d;--ink-soft: rgba(43, 25, 13, .74);--paper-top: #f8efd8;--paper-bottom: #ead6aa;--stone-top: #b8a27e;--stone-bottom: #9f8861;--card-top: rgba(255, 248, 232, .72);--card-bottom: rgba(236, 220, 181, .6);--gold-top: #f8d975;--gold-bottom: #c58a21;--forest: #1f5b41;--forest-soft: #416d53;--danger: #a43224;--success-bg: rgba(50, 116, 70, .14);--success-border: rgba(50, 116, 70, .28);--success-text: #1d5b2e}*,*:before,*:after{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0;font-family:var(--body-font);color:var(--ink)}body:before,body:after{content:"";position:fixed;inset:auto;width:22rem;height:22rem;border-radius:50%;pointer-events:none;filter:blur(16px);opacity:.62;z-index:0}body:before{top:-6rem;left:-7rem;background:radial-gradient(circle,rgba(242,191,86,.55) 0%,transparent 70%)}body:after{right:-8rem;bottom:-5rem;background:radial-gradient(circle,rgba(49,118,81,.45) 0%,transparent 70%)}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{width:100%}#root{min-height:100vh;position:relative;z-index:1}.page-shell{min-height:100vh;padding:clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:center}.form-panel{position:relative;width:min(100%,980px);border-radius:2rem;padding:clamp(1rem,2.4vw,1.6rem);background:linear-gradient(180deg,#f6ebcdfa,#e4cc9cf7);border:1px solid rgba(93,69,39,.26);box-shadow:0 32px 68px #060f0975,0 10px 25px #422f1733,inset 0 1px #ffffffad;overflow:hidden}.form-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top center,rgba(255,223,128,.34),transparent 26%),linear-gradient(180deg,#294e3757,#0000 28%);pointer-events:none}.hero-block,.form-surface{position:relative;z-index:1}.hero-block{display:grid;gap:1rem;margin-top:.25rem;margin-bottom:1.5rem}.hero-copy{max-width:46rem}.hero-kicker{margin:0 0 .35rem;font-size:.88rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#4a351ebd}.hero-copy h1{margin:0;font-family:var(--display-font);font-size:clamp(2.5rem,6vw,4.8rem);line-height:.92;text-transform:uppercase;letter-spacing:.02em;color:#3d2714;text-shadow:0 2px 0 rgba(255,248,236,.42)}.hero-subtitle{margin:.9rem 0 0;max-width:42rem;color:var(--ink-soft);font-size:1rem;line-height:1.7}.event-teaser{max-width:46rem;padding:1rem 1.1rem;border-radius:1.2rem;background:#fff8e775;border:1px solid rgba(93,69,39,.14);box-shadow:inset 0 1px #ffffff5c}.event-teaser__title{margin:0 0 .65rem;font-size:.9rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5d472e}.event-teaser__list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;color:var(--ink-soft);line-height:1.6}.event-teaser__list li::marker{color:#1f5b41}.form-surface{padding:clamp(1rem,2.4vw,1.6rem);border-radius:1.7rem;background:linear-gradient(180deg,#fffaf17a,#fff7e533);border:1px solid rgba(117,88,51,.15);box-shadow:inset 0 1px #ffffff59}.registration-form{display:grid;gap:1.25rem}.success-banner{margin-bottom:1rem;padding:.95rem 1rem;border-radius:1rem;background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);font-size:.96rem;font-weight:600}.error-banner{margin-bottom:1rem;padding:.95rem 1rem;border-radius:1rem;background:#a432241a;border:1px solid rgba(164,50,36,.2);color:#7e251a;font-size:.96rem;font-weight:600}.form-section{padding:clamp(1rem,2vw,1.25rem);border-radius:1.5rem;background:linear-gradient(180deg,var(--card-top),var(--card-bottom));border:1px solid rgba(97,71,41,.14);box-shadow:0 16px 30px #3b2a1214,inset 0 1px #ffffff73}.section-heading{margin-bottom:1rem}.section-heading--split{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-heading h2{margin:0;font-family:var(--display-font);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:#3d2816}.section-heading p{margin:.45rem 0 0;max-width:44rem;color:var(--ink-soft);line-height:1.65}.section-kicker{margin:0 0 .3rem!important;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#5d472e}.field-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}.field--full{grid-column:1 / -1}.field-label{display:inline-flex;align-items:center;gap:.18rem;margin-bottom:.45rem;font-size:.96rem;font-weight:700;color:#2e1d0d}.required-mark{color:#9d3e1b}.control{border:1px solid rgba(93,68,38,.38);border-radius:1.2rem;padding:.92rem 1rem;background:linear-gradient(180deg,#bca984eb,#9e8862f5);box-shadow:inset 0 1px #ffffff73,inset 0 -3px 10px #4d3c2247,0 10px 18px #58412224;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.control::placeholder{color:#fff7e6e6}.control:focus{outline:none;border-color:#e7bc62f5;background:linear-gradient(180deg,#eeddbbfa,#d6bf97fa);transform:translateY(-2px);box-shadow:0 0 0 5px #e8b65252,inset 0 1px #ffffffb8,inset 0 -3px 10px #4d3c222e,0 18px 28px #5841223d}.control:focus::placeholder{color:#5e44209e}.control:focus-visible{outline:none}.control[aria-invalid=true]{border-color:#a43224cc;box-shadow:0 0 0 4px #a432241f,inset 0 1px #ffffff73,inset 0 -3px 10px #4d3c2247,0 10px 18px #58412224}.control--textarea{resize:vertical;min-height:8.5rem}.field-error,.section-error{margin:.45rem 0 0;color:var(--danger);font-size:.88rem;font-weight:600}.field-hint{margin:.45rem 0 0;color:#2b190d9e;font-size:.88rem;line-height:1.5}.children-stack{display:grid;gap:1rem}.child-card{padding:1rem;border-radius:1.35rem;background:linear-gradient(180deg,#fdf7ebd1,#e9d8b4c2);border:1px solid rgba(115,85,48,.16);box-shadow:inset 0 1px #ffffff73,0 12px 24px #49351d14}.child-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.child-card__header h3{margin:.15rem 0 0;font-size:1.2rem;color:#342113}.child-card__eyebrow{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6b543b}.secondary-button,.ghost-button,.submit-button{border:none;border-radius:999px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.secondary-button:focus-visible,.ghost-button:focus-visible,.submit-button:focus-visible{outline:3px solid rgba(232,182,82,.4);outline-offset:3px}.secondary-button:hover,.ghost-button:hover,.submit-button:hover{transform:translateY(-1px)}.secondary-button{align-self:center;padding:.88rem 1.2rem;background:#1f5b411f;color:#194834;border:1px solid rgba(31,91,65,.2);box-shadow:0 10px 16px #1d3c2b14}.ghost-button{padding:.72rem 1rem;background:#a4322414;color:#87301f;border:1px solid rgba(164,50,36,.18)}.consent-card{padding:1rem;border-radius:1.2rem;background:#fff9ebb8;border:1px solid rgba(116,86,48,.15)}.checkbox-row{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start}.checkbox-row--spaced{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(116,86,48,.12)}.checkbox-control{width:1.2rem;height:1.2rem;margin-top:.22rem;accent-color:#1f5b41}.checkbox-control:focus-visible{outline:3px solid rgba(232,182,82,.45);outline-offset:4px}.checkbox-label{color:var(--ink);line-height:1.75;cursor:pointer}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem}.form-meta{margin:0;color:#2b190da8;font-size:.92rem}.submit-button{padding:1rem 1.6rem;min-width:min(100%,18rem);background:linear-gradient(180deg,var(--gold-top),var(--gold-bottom));color:#42270f;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 18px 24px #5136132e,inset 0 1px #fff5d5b3,inset 0 -4px 10px #5f3c083d}.submit-button:hover{filter:brightness(1.03)}.submit-button:disabled{cursor:wait;opacity:.75;transform:none;filter:saturate(.9)}@media(max-width:820px){.page-shell{align-items:flex-start}.section-heading--split,.form-actions{flex-direction:column;align-items:stretch}.submit-button,.secondary-button{width:100%}}@media(max-width:720px){.field-grid{grid-template-columns:1fr}}@media(max-width:540px){.page-shell{padding:.75rem}.form-panel{border-radius:1.5rem;padding:.85rem}.form-surface,.form-section,.child-card{border-radius:1.2rem}.child-card__header{flex-direction:column;align-items:stretch}.hero-copy h1{font-size:clamp(2.15rem,12vw,3.4rem)}}
