/* Preserve campaign art; shorten empty space and integrate the direct application path. */
.visual-page .poster-heading{padding-top:36px}
.visual-page .poster-subcopy{margin-top:10px}
.visual-page .poster-footnote{padding-bottom:24px}
.visual-page .training-section{min-height:0}
.visual-page .field-album{padding:72px 14px 44px}
.visual-page .album-word{top:8px}
.visual-page .training-image-button{aspect-ratio:1.9}
.training-image-button>img{object-position:center bottom;transform:scale(1.1);transform-origin:center bottom}
.visual-page .meeting-poster{width:78%;margin:-24px auto -30px}
.visual-page .why-section{padding-bottom:30px}
.why-answer{margin-top:18px}
.why-flow{margin-bottom:16px}
.visual-page .why-purpose{line-height:1.75}
.why-payment-note{margin-top:14px}
.visual-page .ending-poster{padding:30px 0 36px}
.ending-offer{min-width:0}
.ending-days b{font-size:112px}
.visual-page .final-action{margin-top:24px;text-align:left}
.visual-page .final-action h2{margin-bottom:12px}
.visual-page .final-action .final-reassurance{font-size:16px;line-height:1.7;margin:0 0 24px;color:#fff0e8}
#final-application-form{background:transparent;padding:0;border:0;box-shadow:none}
#final-application-form .field{grid-template-columns:1fr;gap:8px;margin-bottom:18px}
#final-application-form .field label{color:#fff;font-size:17px}
#final-application-form .field input{height:56px;background:#fffaf6}
#final-application-form .privacy-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;color:#fff;font-size:15px;margin-top:20px}
#final-application-form .privacy-check input{width:22px;height:22px}
#final-application-form .privacy-check label{min-height:44px}
#final-application-form .consent-detail{color:#fff0e8;margin:0 0 14px 34px;font-size:15px}
#final-application-form .consent-detail summary{min-height:44px;padding-block:9px;font-weight:600;text-decoration:none;cursor:pointer}
#final-application-form .consent-detail p{font-size:15px;line-height:1.8}
.visual-page #final-application-form>.primary{min-height:60px;font-size:18px;background:var(--pink);color:#fff;border:1px solid #ffffff80;box-shadow:none}
.visual-page #final-application-form>.primary:hover{background:#aa0039}
.visual-page #final-application-form>.primary img{filter:brightness(0) invert(1)}
.visual-page #final-application-form .privacy-note{color:#fff0e8;font-size:13px}
#final-application-form .privacy-note img{filter:brightness(0) invert(1)}
#final-application-form .form-message{font-size:16px}
.application-form button:disabled{cursor:wait;opacity:.72}
@media(max-width:760px){
 .visual-page .hero-layout{min-height:min(680px,calc(100svh - 80px))}
 .visual-page .hero-action{padding-top:88px}
 .visual-page .calendar-poster{width:88%;margin-top:8px}
 .proof-answer{margin-top:12px}
 .visual-page .journey-poster{width:94%}
 .choice-art{width:90%;margin:-55px auto -64px}
 .choice-reassurance{margin-bottom:20px}
 .context-cta{padding-bottom:30px}
 .context-cta>p{margin-bottom:12px}
 .program-pass{margin-top:0;margin-bottom:-20px}
 .visual-page .pass-eligibility{padding-bottom:18px}
 .pass-cta{padding-bottom:30px}
}
@media(min-width:761px){
 .visual-page .poster-heading{padding-top:48px}
 .visual-page .proof-section>.poster-heading,.visual-page .choice-section>.poster-heading,.visual-page .beginner-section>.poster-heading,.visual-page .conditions-layout>.poster-heading{padding-top:0}
 .visual-page .field-album{max-width:1120px;padding:120px 24px 52px 160px}
 .visual-page .album-word{top:0}
 .visual-page .training-photo{max-width:920px}
 .visual-page .training-image-button{aspect-ratio:1.9}
 .visual-page .why-section{min-height:0;padding:56px 40px;row-gap:20px;align-content:start;align-items:start;grid-template-rows:auto auto auto auto}
 .visual-page .why-section>.poster-heading{padding:0}
 .visual-page .meeting-poster{width:90%;margin:0;justify-self:center;max-width:520px}
 .visual-page .ending-poster{padding:50px 0}
 .ending-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:70px;align-items:center}
 .ending-offer{grid-column:1;grid-row:1}
 .ending-days b{font-size:170px}
 .visual-page .final-action{grid-column:2;grid-row:1;margin:0}
 .visual-page .final-action h2{font-size:30px}
 .visual-page .final-action .final-reassurance{font-size:17px}
}
@media(min-width:761px) and (max-width:1100px){
 .visual-page .field-album{padding-left:65px;padding-top:110px}
 .visual-page .why-section{padding:40px 28px;column-gap:16px}
 .ending-copy{column-gap:28px}
 .ending-days b{font-size:130px}
 .visual-page .final-action h2{font-size:25px}
}
