.migration-banner { margin: 0; padding: 10px 20px; background: #dcefff; color: #071b35; text-align: center; font: 500 .9rem/1.7 "Yu Gothic", sans-serif; border-bottom: 1px solid #b4d5ef; }
.migration-banner strong { margin-right: .5em; }
.migration-banner a { color: #071b35; text-underline-offset: 3px; }
button:disabled { cursor: not-allowed; }
.trial-request-intro h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.35; text-wrap: balance; }
@media (min-width: 981px) { .price-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.manual-home-booking { margin: 1.5rem 0 1rem; }
.manual-home-booking small { display: block; margin-top: .6rem; line-height: 1.7; }
.manual-booking-steps { padding-left: 1.5rem; margin: 1.5rem 0; }
.manual-booking-steps li { padding-left: .4rem; margin-bottom: 1rem; }
.manual-booking-steps strong, .manual-booking-steps span { display: block; }
.manual-booking-steps span { margin-top: .3rem; line-height: 1.8; }
.manual-booking-action { margin: 1.5rem 0; }
.manual-booking-action .button, .manual-home-booking .button { max-width: 100%; white-space: normal; text-align: center; }
.student-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; margin: 24px 0; }
.student-product { display: flex; flex-direction: column; min-width: 0; padding: 24px; background: #fffaf0; border: 1px solid #d6b76e; border-radius: 12px; }
.student-product h3 { margin: 0 0 8px; font-size: 1.3rem; }
.student-product p { margin: 6px 0; }
.student-product .student-product-price { color: #12314b; font-size: 2rem; font-weight: 700; line-height: 1.5; }
.student-product-price small { font-size: .85rem; margin-left: 4px; }
.student-product .student-product-deadline { font-size: .86rem; line-height: 1.8; margin-bottom: 20px; }
.student-product .button { margin-top: auto; min-height: 48px; width: 100%; white-space: normal; text-align: center; box-sizing: border-box; }
.student-payment-notice { padding: 16px 20px; border-left: 4px solid #9b772b; background: #fff8e5; line-height: 1.9; }
.student-ticket-balance { padding: 24px; margin: 20px 0 32px; background: #fff; border: 1px solid #c6d5dc; border-radius: 12px; }
.student-ticket-balance h3 { margin-top: 0; }
.student-ticket-balance .button { max-width: 100%; white-space: normal; text-align: center; }
