/* Apply page. Reuses tokens and components from styles.css + mentor-content.css:
   --ink #19191c, --muted #62616a, --purple #7c5cff, --violet-dark #5535c9, panel #ebe5f8 / #f7f4fc,
   borders #827d76 / #c9c3d3, 3–4px radii, .button/.button-dark, .field, .form-notice, .hiring-number. */
.apply-page [hidden]{display:none!important}
.apply-page .site-header{position:static}
.apply-back-link{font-size:14px}
.apply-page{background:#f7f5fb}
.apply-page .site-header{height:76px}
.apply-shell.mentor-section{display:block;background:#f7f5fb;padding:32px 24px 64px}
.apply-intro{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #e2dcef}
.apply-title{font-size:30px;line-height:1.15;letter-spacing:-.04em;font-weight:550}
.apply-intro>p{font-size:14px;color:var(--muted);margin-top:8px}
.apply-aside{font-size:13px;color:#625e6a;max-width:400px;margin-top:26px}
.apply-aside a,.apply-help a{text-decoration:underline;text-underline-offset:3px}
.apply-panel{max-width:760px;margin:0 auto;background:#fff;border:1px solid #ded7eb;border-radius:10px;padding:32px 40px}
.apply-help{font-size:12px;line-height:1.6;color:var(--muted);margin-top:24px}
.apply-page footer{padding-top:36px;padding-bottom:32px;border-top:1px solid #e2dcef}
.apply-page .footer-main p{font-size:16px}
.apply-page .footer-bottom{margin-top:28px}
.apply-progress{margin-bottom:28px;scroll-margin-top:24px}
.apply-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:650;letter-spacing:.11em;margin-bottom:12px}
.apply-progress-meta span:last-child{color:#625e6a}
.apply-bar{height:3px;background:#e2dcef}
.apply-bar span{display:block;height:100%;width:16.6%;background:var(--violet-dark);transition:width 320ms var(--ease-out)}
.apply-steps{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;font-size:11px;color:#8a8592}
.apply-steps li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apply-steps .is-done{color:#625e6a}
.apply-steps .is-current{color:var(--ink);font-weight:650}
.apply-step{border:0;padding:0;margin:0;min-width:0}
.apply-step legend{padding:0;display:flex;align-items:baseline;gap:18px;font-size:clamp(28px,2.6vw,38px);font-weight:550;letter-spacing:-.045em;line-height:1.1}
.apply-step legend .hiring-number{margin:0;font-size:inherit}
.step-title:focus{outline:none}
.step-sub{font-size:15px;color:#625e6a;margin:12px 0 28px!important}
.apply-panel .field input,.apply-panel .field textarea{background:#fff;border-color:#82778f;font-size:16px;min-height:50px}
.field-label{font-size:13px;font-weight:600;margin-bottom:10px}
.field-label span{font-size:11px;font-weight:400;color:#646169}
.choice-row{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;min-height:46px;padding:11px 18px;border:1px solid #82778f;border-radius:3px;font-size:14px;font-weight:550;background:#fffdfd;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.choice input:focus-visible+span{outline:3px solid var(--violet-dark);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.choice:hover span{border-color:var(--violet-dark)}.choice input:checked+span{border-color:var(--ink)}}
.choice-row[aria-invalid=true] .choice span{border-color:#b2352c}
.apply-tip{background:#f7f4fc;border-color:#c7b9dd}
.slot-grid{display:grid;grid-template-columns:54px repeat(4,minmax(0,1fr));gap:6px}
.slot-head{font-size:10px;font-weight:650;letter-spacing:.11em;text-align:center;padding-bottom:4px}
.slot-day{font-size:12px;font-weight:600;align-self:center}.slots-hint{font-size:12px;color:var(--muted);margin-top:10px!important}
.slot{position:relative;min-height:56px;border:1px solid #82778f;border-radius:3px;background:#fffdfd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background-color 160ms ease}
.slot input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.slot .tick{font-size:15px;font-weight:650;line-height:1;color:transparent}
.slot small{font-size:10px;color:#625e6a;line-height:1.2;text-align:center;padding:0 2px}
.slot:has(input:checked){background:var(--ink);border-color:var(--ink)}
.slot:has(input:checked) .tick{color:#fff}
.slot:has(input:checked) small{color:#dcd6ea}
.slot:has(input:focus-visible){outline:3px solid var(--violet-dark);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.slot:hover{border-color:var(--violet-dark)}}
.slot-grid[aria-invalid=true] .slot{border-color:#b2352c}
.apply-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid #e2dcef}
.apply-nav .reset-button{margin-left:0;font-size:13px}
.apply-nav .button{margin-left:auto;background:var(--violet-dark);color:#fff;min-width:164px}
.apply-done h2{font-size:clamp(39px,4.1vw,62px);line-height:1.08;letter-spacing:-.055em;font-weight:550}
.apply-done h2 span:not(#done-name){color:#6545c9}
.apply-done h2:focus{outline:none}
.apply-done .mentor-lead{margin-top:24px}
.apply-next-steps{grid-template-columns:repeat(2,1fr);margin:40px 0 24px}
.apply-next-steps li:first-child .hiring-number{color:var(--ink)}
.apply-next-steps .hiring-number{margin-bottom:18px}
.apply-done .button{margin-top:22px}
.apply-done .apply-aside{max-width:none}
@media(max-width:600px){
.apply-page .site-header{height:68px;padding:0 20px;gap:16px}
.apply-back-link{font-size:12px;gap:12px}
.apply-page .brand img{width:108px}
.apply-shell.mentor-section{padding:20px 16px 40px}
.apply-panel{padding:24px 20px;border-radius:8px}
.apply-title{font-size:25px}
.apply-intro{margin-bottom:22px;padding-bottom:20px}
.apply-progress{margin-bottom:24px}
.apply-progress-meta{font-size:9px;letter-spacing:.06em}
.apply-steps{display:none}
.apply-step legend{gap:10px;font-size:26px}
.step-sub{font-size:14px;margin-bottom:24px!important}
.apply-panel .form-row{grid-template-columns:1fr;gap:0}
.apply-panel .field{margin-bottom:20px}
.apply-panel .field label{font-size:14px}
.apply-panel .field label span{font-size:12px}
.apply-panel .field textarea{min-height:120px}
.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice span{width:100%;min-height:48px;justify-content:center;padding:12px 10px}
.slot-grid{grid-template-columns:38px repeat(4,minmax(0,1fr));gap:6px}
.slot-head{font-size:10px;letter-spacing:0}
.slot-day{font-size:12px}
.slot{min-height:60px}
.slot small{font-size:10px}
.apply-nav{margin-top:20px;padding-top:20px;gap:20px}
.apply-nav .button{flex:1;min-width:0;justify-content:space-between}
.apply-nav .reset-button{min-height:48px}
.apply-next-steps{grid-template-columns:1fr;gap:22px}
.apply-help{margin-top:20px}
.apply-page footer{padding:28px 20px}
.apply-page .footer-main{gap:20px}
.apply-page .footer-main>p{display:none}
}
@media(max-width:360px){.apply-shell.mentor-section{padding:16px 12px 32px}.apply-panel{padding:22px 16px}.slot-grid{grid-template-columns:32px repeat(4,minmax(0,1fr));gap:4px}}

.slots-timezone-note{margin:0 0 12px!important}
