/* /apply/ guest application form (apply/page.mjs). Uses tokens.css + episode.css. */
.apply{max-width:46rem;padding-block:2rem 5rem}
.apply h1{max-width:none;margin:0 0 20px;font-size:clamp(40px,5vw,68px);line-height:1.02}
.apply .dek{max-width:none;font-size:21px}
.apply-form h2{font-size:26px;margin:48px 0 8px;padding-top:24px;border-top:1px dashed var(--rf-rule)}
.f{margin:0 0 24px;border:0;padding:0;min-width:0}
.f label,.f legend{display:block;font-weight:500;font-size:18px;line-height:1.35;margin:0 0 6px;padding:0}
.f .opt{font-weight:400;color:var(--rf-faded)}
.hint{margin:0 0 8px;color:var(--rf-faded);font-size:15px;line-height:1.4}
.f input[type=text],.f input[type=email],.f input[type=tel],.f select,.f textarea{display:block;width:100%;min-height:48px;padding:10px 12px;background:#fff;color:var(--rf-print);border:1px solid var(--rf-rule);border-radius:0;font:400 18px/1.4 var(--rf-display)}
.f textarea{min-height:180px;resize:vertical}
.f select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:46px;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2322385A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 8px}
.f select::-ms-expand{display:none}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:2px solid var(--rf-print);outline-offset:2px}
.choice{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;min-height:44px;padding:8px 0;cursor:pointer}
.choice input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--rf-ballpoint)}
.radios.inline .choice{display:inline-flex!important;margin-right:28px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.has-err input,.has-err select,.has-err textarea{border:2px solid var(--rf-carbon)}
.has-err{border-left:4px solid var(--rf-carbon);padding-left:14px}
fieldset.has-err{padding-left:14px}
.err{color:var(--rf-carbon);font-weight:500;margin:0 0 8px;font-size:16px}
.err-summary{border:3px solid var(--rf-carbon);padding:20px 24px;margin:0 0 32px}
.err-summary h2{font-size:22px;margin:0 0 8px}
.err-summary ul{margin:0;padding-left:20px}
.err-summary a{color:var(--rf-carbon)}
.notice,.preview-note{border:1px solid var(--rf-rule);background:var(--rf-mockup);padding:12px 16px;margin:0 0 24px;font-size:16px}
.count{color:var(--rf-faded);margin:6px 0 0}
.consent{margin-top:32px}
.btn-dark{background:var(--rf-ballpoint);color:var(--rf-thermal);border:0;font:800 18px/1 var(--rf-display);cursor:pointer;padding:0 28px;min-height:52px}
.btn-dark:focus-visible{outline:2px solid var(--rf-print);outline-offset:3px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Conditional boxes: shown by default (no :has support = always visible); hidden until relevant where :has works */
.apply-form:has(#state option[value=outside_us]:not(:checked)) .cond-country:not(.shown):not(:has(.has-err)),
.apply-form:has(#service option[value=other]:not(:checked)) .cond-service:not(.shown):not(:has(.has-err)){display:none}
.outside-note{margin:0 0 24px 16px;padding:12px 16px;border-left:2px solid var(--rf-ballpoint);background:var(--rf-mockup);font-size:16px}
.cond .f{margin-left:16px;padding-left:16px;border-left:2px solid var(--rf-hairline)}
.thanks{margin:24px 0 32px}
@media (max-width:959.98px){.apply .dek{font-size:18px}.apply{padding-block:1rem 3rem}.pair{grid-template-columns:1fr}.apply-form h2{font-size:24px}}
/* Info block (Michael, 21 Oct 11:25): one navy panel, lists stacked, tight bullets, headings never wrap on desktop */
.offer{background:var(--rf-ballpoint);color:var(--rf-thermal);padding:28px 32px 26px;margin:32px 0 36px}
.offer h2{font:500 14px/1.4 var(--rf-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--rf-on-navy-muted);margin:0 0 8px;white-space:nowrap}
.offer ul+h2{margin-top:20px}
.offer ul{margin:0;padding:0;list-style:none}
.offer li{position:relative;padding-left:20px;margin:0 0 4px;font-size:17px;line-height:1.45}
.offer li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;background:var(--rf-on-navy-muted)}
.offer .free{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--rf-navy-rule);font-weight:800;font-size:19px;line-height:1.3;color:var(--rf-thermal)}
@media (max-width:959.98px){.offer{padding:22px 20px 20px;margin:24px 0 28px}.offer h2{white-space:normal}.offer li{font-size:16px}}
