/* Existing logo typography and yellow CTA, fitted to the mobile header. */
.recruit-page .header-inner { padding:0 12px; gap:8px; }
.header .company-name { font-size:16px; white-space:nowrap; }
.header-actions { display:flex; align-items:center; gap:6px; }
.header-actions .btn { height:32px; padding:0 10px; font-size:12px; border-width:2px; white-space:nowrap; }
.swipe-container { height:calc(100dvh - var(--header-height)); }
.contact-section {
 height:calc(100dvh - var(--header-height));
 min-height:calc(100dvh - var(--header-height));
 max-height:none;
 align-items:stretch;
}
.contact-section .slide-content { max-width:400px; margin:0 auto; display:flex; flex-direction:column; }
.contact-section #application { flex:1; min-height:0; overflow-y:auto; padding:4px 6px 8px; display:flex; flex-direction:column; scrollbar-width:thin; }
.contact-fields { flex:none; align-content:start; }
.recruit-page.contact-visible .footer-sticky { visibility:hidden; pointer-events:none; }
.contact-section .section-label { margin-bottom:10px; }
.contact-section .slide-title { font-size:24px; margin-bottom:20px; }
.contact-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(14px,calc((100dvh - 620px)/5),32px) 12px; text-align:left; }
.contact-fields label { font-size:13px; font-weight:700; line-height:1.5; }
.contact-fields label span { color:#FFE200; font-size:11px; margin-left:4px; }
.contact-fields small { font-size:11px; margin:0 0 0 4px; font-weight:400; }
.contact-fields .field-full { grid-column:1/-1; }
.contact-fields input,.contact-fields select { height:42px; padding:7px 8px; }
.contact-fields textarea { height:90px; padding:8px; }
.contact-section .apply-button { margin:18px 0 10px; }
.contact-section #contact-status { margin:0; font-size:11px; }
@media(max-height:700px) {
 .contact-section .section-label { margin-bottom:5px; }
 .contact-section .slide-title { font-size:21px; margin-bottom:12px; }
 .contact-fields { gap:8px 10px; }
 .contact-fields input,.contact-fields select { height:35px; margin-top:3px; padding:4px 6px; }
 .contact-fields textarea { height:62px; margin-top:3px; padding:6px; }
 .contact-section .apply-button { height:40px; margin:12px 0 6px; }
}
@media(max-width:350px) {
 .recruit-page .header-inner { padding:0 8px;gap:6px; }
 .header .company-name { font-size:15px; }
 .header-actions .btn { padding:0 8px; }
 .contact-fields label { font-size:12px; }
 .contact-fields label span,.contact-fields small { margin-left:2px;font-size:10px; }
 .contact-section .slide-title { font-size:20px; }
}

/* Comfortable single-column fields, including short viewports. */
.contact-section .section-label,.contact-section .slide-title,.contact-section .apply-button,.contact-section #contact-status { flex:none; }
.contact-fields { gap:16px; }
.contact-fields input,.contact-fields select { height:44px; }
.contact-fields textarea { height:100px; }
