.student-banner{text-align:center;color:#30291f;font-family:var(--serif);background:#f5f0e4;padding:30px 24px 28px;font-weight:400;position:relative}.student-banner:before{content:"";pointer-events:none;border:1px solid #c4ae7b;position:absolute;inset:10px}.student-banner .student-banner-purpose{color:#786035;font-family:var(--sans);letter-spacing:.16em;margin:0 0 18px;font-size:11px;font-weight:500;line-height:1.8}.student-banner-audience{letter-spacing:.1em;font-size:clamp(12px,1.1vw,15px);line-height:1.8;display:block}.student-banner-title{letter-spacing:.1em;margin-top:6px;font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.5;display:block}.student-banner .student-banner-message{color:#685b45;letter-spacing:.05em;margin:14px 0 0;font-size:clamp(12px,1vw,14px);line-height:1.8}.student-banner-message span{display:inline-block}.student-notice,.student-booking{color:#26221b;background:#f9f6ef;padding:80px max(24px,50vw - 460px);scroll-margin-top:90px}.student-notice{text-align:center;background:#eee5d2}.student-eyebrow{letter-spacing:.22em;color:#87662e;margin:0 0 20px;font-size:11px;font-weight:500}.student-notice h2,.student-booking h2{font-family:var(--serif);letter-spacing:.06em;margin:0 0 25px;font-size:clamp(28px,4vw,46px);font-weight:400;line-height:1.65}.student-notice h2 span{display:block}.student-notice p,.student-booking p{line-height:1.9}.student-seating{color:#674b1e;font-family:var(--serif);letter-spacing:.04em;background:#fffaf0;border:1px solid #b2985f;padding:18px 20px;font-size:18px;font-weight:500;line-height:1.8!important}.student-seating strong{font-weight:inherit}.student-notice .student-seating{max-width:650px;margin:28px auto}.student-primary{text-align:center;min-height:60px;font:inherit;letter-spacing:.06em;cursor:pointer;background:#8a682b;border:0;border-radius:3px;justify-content:center;align-items:center;width:100%;margin:24px 0 0;padding:20px 26px;font-weight:500;text-decoration:none;display:flex;color:#fff!important}.student-notice .student-primary{max-width:460px;margin:28px auto 0}.student-primary:disabled{opacity:.5;cursor:wait}.student-secondary{font:inherit;cursor:pointer;color:#514631;background:0 0;border:1px solid #9d927f;margin:16px auto;padding:14px 24px;display:block}.student-terms{border-bottom:1px solid #d7ccb7;margin-bottom:30px;padding-bottom:22px}.student-terms p{margin:8px 0}.student-status{margin:24px 0;font-weight:700}.student-form fieldset{border:0;min-width:0;margin:0;padding:0}.student-form legend{margin-bottom:14px;font-size:20px;font-weight:700}.student-fields{grid-template-columns:1fr 1fr;gap:25px 22px;margin:30px 0;display:grid}.student-fields label{font-weight:700;line-height:1.6;display:block}.student-fields label>span{color:#8a682b;margin-left:10px;font-size:11px}.student-fields input,.student-fields select{color:#26221b;width:100%;min-width:0;min-height:52px;font:inherit;background:#fff;border:1px solid #b9ad95;border-radius:3px;margin:8px 0;padding:12px;font-size:16px;display:block}.student-fields small{font-size:12px;font-weight:400}.student-checks{gap:20px;display:grid}.student-checks label{align-items:flex-start;gap:12px;line-height:1.7;display:flex}.student-checks input{accent-color:#8a682b;flex-shrink:0;width:21px;height:21px;margin-top:4px}.student-checks a,.student-result a{color:inherit;text-decoration:underline}.student-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.student-error{color:#9e2b1d;background:#fff0ed;padding:16px}.student-confirm dl div{border-bottom:1px solid #ddd2bd;padding:15px 0}.student-confirm dt{color:#76654a;font-size:12px}.student-confirm dd{overflow-wrap:anywhere;margin:6px 0 0}.student-result{background:#fff;border:1px solid #d7ccb7;padding:30px}.student-result h3{font-size:26px;line-height:1.5}.student-receipt{overflow-wrap:anywhere;font-size:15px}.student-mobile-break{display:none}@media (max-width:600px){.student-notice,.student-booking{padding:52px 22px}.student-fields{grid-template-columns:1fr}.student-mobile-break{display:block}.student-seating{font-size:17px}.student-primary{padding:18px 12px;font-size:15px}.student-result{padding:22px}.student-banner{padding:25px 24px 23px}.student-banner:before{inset:8px}.student-banner .student-banner-purpose{letter-spacing:.12em;margin-bottom:14px;font-size:10px}}#student-form-state{scroll-margin-top:100px}.student-guardian-field{grid-column:1/-1}.student-notice h2 .student-audience-label,.student-booking h2 .student-audience-label{display:inline-block}
