/* Shared finishing layer for the remaining public pages. */
main .btn{border-radius:4px}main input,main select,main textarea{border-radius:4px!important}main input,main select,main textarea{transition:border-color .18s,box-shadow .18s}main input:hover,main select:hover,main textarea:hover{border-color:#b7a585}main input:focus,main select:focus,main textarea:focus{border-color:#9a7741;box-shadow:0 0 0 3px #bb985712}
.schedule-page .wrap,.corporate-page .wrap,.info-page .wrap,[data-page="contact"] .wrap,[data-page="faq"] .wrap{width:min(1190px,calc(100% - 64px))}
.schedule-page .schedule-hero{padding:34px 0 65px;background:linear-gradient(90deg,#fff 0%,#fff 68%,#faf8f3 68%)}.schedule-page .schedule-hero h1{font-size:clamp(39px,4.6vw,62px);line-height:1.08;letter-spacing:-.06em}.schedule-page .schedule-hero-grid{gap:65px}.schedule-page .schedule-photo{padding:0 0 24px}.schedule-page .schedule-photo img{height:440px;border-radius:4px;object-position:center 25%}.schedule-page .schedule-photo:before{inset:25px -20px 0 25px;width:auto;height:auto;border-radius:4px}.schedule-page .schedule-photo figcaption{left:-18px;right:20px;bottom:0;padding:18px 22px;border:1px solid #e8ddc7;border-left:3px solid #bb9857;font-size:11px}.schedule-main{background:#fafaf8;padding-block:70px}.schedule-controls,.schedule-card,.schedule-empty,.schedule-no-results,.schedule-business-inner{border-radius:4px}.schedule-card{padding:30px;box-shadow:none}.schedule-card h3{font-size:24px;letter-spacing:-.04em}.schedule-program{font-size:10px}.schedule-calendar{background:#faf8f3;border-radius:4px}.schedule-calendar strong{font-size:33px}.schedule-facts{gap:19px;padding-top:24px}.schedule-facts dd{font-size:13px}.schedule-empty{padding:38px;gap:60px}.schedule-how{padding-block:75px}.schedule-business-inner{padding:40px}.schedule-section-heading h2,.schedule-how h2{font-size:clamp(30px,3.2vw,41px);line-height:1.2}.schedule-business h2{font-size:33px}
.corporate-page .page-hero:has(.vfa-hero-grid){padding-block:40px 65px;background:linear-gradient(90deg,#fff 0%,#fff 68%,#faf8f3 68%)}.corporate-page .vfa-hero-grid h1{font-size:clamp(36px,4vw,53px);line-height:1.1;letter-spacing:-.055em}.corporate-page .vfa-hero-grid{gap:65px}.corporate-page .vfa-hero-photo{padding:0 0 24px}.corporate-page .vfa-hero-photo img{height:500px;border-radius:4px}.corporate-page .vfa-hero-photo:before{inset:25px -20px 0 25px;width:auto;height:auto;border-radius:4px}.corporate-page .vfa-hero-photo figcaption{left:-18px;right:20px;bottom:0;padding:18px 22px;border:1px solid #e8ddc7;border-left:3px solid #bb9857}.corporate-intro,.corporate-programs{padding-block:80px}.corporate-programs{background:#fafaf8}.corporate-program-card{border-radius:4px;border-top-width:1px;padding:34px}.corporate-program-card h3{font-size:28px;line-height:1.25}.corporate-form-panel{border-radius:4px;padding:35px;box-shadow:none}.corporate-inquiry{padding-block:80px}.corporate-process h3{font-size:21px}.corporate-step{background:transparent;border:0;justify-content:flex-start;width:auto;height:auto;font-size:13px}
[data-page="contact"] .page-hero{padding:40px 0 60px;background:#fff}[data-page="contact"] .page-hero h1{font-size:clamp(38px,4.6vw,61px);line-height:1.1;letter-spacing:-.055em}[data-page="contact"] .page-hero .lead{font-size:14px;line-height:1.9}.premium-contact-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:85px;align-items:center}.premium-contact-card{background:#faf8f3;border:1px solid #e8ddc7;border-top:2px solid #bb9857;padding:32px;border-radius:4px}.premium-contact-card>span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#87652d}.premium-contact-card>a{display:block;font-size:32px;font-weight:800;color:#ba2634;margin:22px 0;letter-spacing:-.035em}.premium-contact-card address{font-style:normal;font-size:16px;font-weight:700;line-height:1.8;margin-bottom:20px}.premium-contact-card p{font-size:12px;line-height:1.85;color:#62636a;margin:0}.premium-contact-card .premium-email{font-size:12px;font-weight:600;letter-spacing:0;margin:0 0 23px;color:#62636a;overflow-wrap:anywhere}[data-page="contact"] .section{padding-block:75px;background:#fafaf8}[data-page="contact"] .panel{border-radius:4px;padding:32px}[data-page="contact"] .panel>h3{font-size:25px}[data-page="contact"] .form-field{font-size:11px}[data-page="contact"] .form-field input,[data-page="contact"] .form-field select,[data-page="contact"] .form-field textarea{font-size:13px}[data-page="contact"] .contact-item>a{font-size:19px}[data-page="contact"] .contact-item>a[href^="mailto"]{font-size:14px}[data-page="contact"] .form-note{line-height:1.85}[data-page="contact"] .form-feedback{padding:14px 17px;border-left:2px solid #bb9857;background:#faf8f3;font-size:12px}[data-page="contact"] .form-feedback[data-state="error"]{border-color:#ba2634;background:#fff6f5}
[data-page="faq"] .page-hero{padding:40px 0 55px}[data-page="faq"] .page-hero h1{font-size:clamp(38px,4.6vw,61px);line-height:1.1}[data-page="faq"] .faq-section{padding-block:75px;background:#fafaf8}[data-page="faq"] .faq-list details{background:#fff;padding-inline:24px;border:1px solid #e3e2de;margin-bottom:12px;border-radius:4px}[data-page="faq"] .faq-list summary{font-size:16px;padding-block:23px}[data-page="faq"] .faq-list details[open]{border-color:#cbb992}[data-page="faq"] .faq-answer{font-size:13px;line-height:1.95;padding-bottom:25px}.faq-answers{min-width:0}.faq-search{display:grid;gap:8px;margin-bottom:24px}.faq-search label{font-size:11px;font-weight:700}.faq-search input{width:100%;min-width:0;border:1px solid #ddd;background:#fff;font-size:13px;padding:14px}.faq-search-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#62636a}.faq-search-meta button{min-height:44px;min-width:90px;border:0;background:none;color:#ba2634;font:700 11px 'Noto Sans',sans-serif;padding:0;cursor:pointer}.faq-no-results{padding:22px;border-left:2px solid #bb9857;background:#fff;font-size:13px;line-height:1.85;color:#62636a}
.vfa-footer{border-top:2px solid #b99a60}.vfa-footer-links a{transition:color .18s}.vfa-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.premium-contact-grid{gap:35px;grid-template-columns:1.2fr 1fr}.premium-contact-card{padding:27px}.premium-contact-card>a{font-size:27px}.corporate-page .vfa-hero-grid,.schedule-page .schedule-hero-grid{gap:35px}.corporate-page .vfa-hero-grid h1{font-size:42px}.schedule-page .schedule-hero h1{font-size:45px}}
@media(max-width:820px){.schedule-page .wrap,.corporate-page .wrap,.info-page .wrap,[data-page="contact"] .wrap,[data-page="faq"] .wrap{width:calc(100% - 36px)}.premium-contact-grid{grid-template-columns:1fr;gap:30px}.premium-contact-card{max-width:none}.premium-contact-card>a{font-size:29px}.schedule-page .schedule-hero-grid{grid-template-columns:1fr}.schedule-page .schedule-hero,.corporate-page .page-hero:has(.vfa-hero-grid){background:#fff;padding-block:30px 45px}.schedule-page .schedule-hero h1{font-size:38px}.schedule-page .schedule-photo,.corporate-page .vfa-hero-photo{padding-right:12px}.schedule-page .schedule-photo:before,.corporate-page .vfa-hero-photo:before{right:0}.schedule-page .schedule-photo img{height:320px}.corporate-page .vfa-hero-photo img{height:370px}.schedule-page .schedule-photo figcaption,.corporate-page .vfa-hero-photo figcaption{left:15px;right:24px;padding:15px}.corporate-page .vfa-hero-grid h1{font-size:35px}.corporate-intro,.corporate-programs,.corporate-inquiry,.schedule-main,.schedule-how{padding-block:49px}.corporate-program-card{padding:26px}.corporate-program-card h3{font-size:24px}.corporate-form-panel{padding:26px}.schedule-card{padding:25px}.schedule-card h3{font-size:22px}.schedule-empty{padding:26px;gap:28px}.schedule-business-inner{padding:28px}.schedule-section-heading h2,.schedule-how h2{font-size:30px}.schedule-business h2{font-size:28px}[data-page="contact"] .page-hero h1,[data-page="faq"] .page-hero h1{font-size:38px}[data-page="contact"] .section,[data-page="faq"] .faq-section{padding-block:49px}[data-page="contact"] .panel{padding:26px}[data-page="faq"] .faq-list details{padding-inline:20px}[data-page="faq"] .faq-list summary{font-size:14px}.faq-search-meta{gap:15px}.faq-search input{font-size:14px}}
@media(prefers-reduced-motion:reduce){main input,main select,main textarea,.vfa-footer-links a{transition:none}}

@media(max-width:820px){main input,main select,main textarea,[data-page="contact"] .form-field input,[data-page="contact"] .form-field select,[data-page="contact"] .form-field textarea,.faq-search input{font-size:16px}}
