/* The door, release 1 (4 Nov 2026): the door page and the job kind pages, on the site's own tokens. */
.door-hero{background:linear-gradient(180deg,#EAF6FC,var(--night) 78%);padding-block:clamp(28px,4vw,48px) 24px}
.door-title{max-width:11em;font-size:clamp(40px,5vw,66px);margin-bottom:14px}
@media (min-width:1200px){.door-title{max-width:none}}
.door-title em{font-style:normal;color:var(--dawn)}
.door-lede{max-width:38em;margin-bottom:20px}
.door-lede b{color:var(--moon)}
.door-box{max-width:960px;background:var(--night);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--lift);padding:clamp(18px,3vw,30px)}
.door-label{display:block;font-weight:700;font-size:19px;margin-bottom:10px}
.door-text{display:block;width:100%;min-height:104px;padding:14px 16px;border:1.5px solid var(--line2);border-radius:var(--r-md);background:var(--night);color:var(--moon);font:400 17px/1.55 var(--sans);resize:vertical}
.door-text:focus-visible,.door-field input:focus-visible,.door-field textarea:focus-visible,.door-field select:focus-visible{outline:2px solid var(--dawn);outline-offset:2px}
.door-hint{color:var(--faint);font-size:14.5px;margin:10px 0 0}
.door-opts{display:flex;flex-wrap:wrap;gap:16px 26px;margin-top:16px;align-items:flex-start}
.door-optlab{display:block;font:500 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.door-segs,.door-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.door-seg,.door-chip,.door-slot{min-height:44px;padding:8px 14px;border:1.5px solid var(--line2);border-radius:var(--r-sm);background:var(--night);color:var(--moon);font:600 15px/1.3 var(--sans);cursor:pointer}
.door-seg[aria-pressed="true"],.door-chip[aria-pressed="true"],.door-slot[aria-pressed="true"]{background:var(--cool);border-color:var(--moon)}
.door-seg:hover,.door-chip:hover,.door-slot:hover{border-color:var(--dawn)}
.door-num{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 10px;border:1.5px solid var(--line2);border-radius:var(--r-sm);background:var(--night)}
.door-num>span{font-weight:700;color:var(--dawn2)}
.door-num input{width:100px;border:0;background:transparent;color:var(--moon);font:600 16px/1.4 var(--sans)}
.door-num input:focus-visible{outline:0}
.door-num:focus-within{outline:2px solid var(--dawn);outline-offset:2px}
.door-see{margin-top:14px}
/* the options refine a price already shown, so they sit under the button, set apart by a hairline */
.door-see+.door-opts{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.door-result{max-width:960px;margin-top:22px;background:#F2FAFE;border:1.5px solid var(--line2);border-radius:var(--r-lg);padding:clamp(18px,3vw,30px)}
.door-read{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:14px}
.door-readchip{font:500 11.5px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;background:#DCEFE3;border:1px solid #8CC4A6;color:var(--dawn2);border-radius:7px;padding:6px 9px}
.door-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;max-width:100%;font-size:14.5px;color:var(--mist)}
.door-pick select{flex:1 1 200px;min-width:0;max-width:100%;min-height:40px;padding:4px 8px;border:1.5px solid var(--line2);border-radius:var(--r-sm);background:var(--night);color:var(--moon);font:500 16px/1.3 var(--sans)}
.door-price{font:800 clamp(34px,5vw,54px)/1 var(--display);text-transform:none;margin:0;color:var(--moon)}
.door-near{font-weight:600;font-size:17px;margin:10px 0 0}
.door-near b{color:var(--dawn2)}
.door-psub{color:var(--mist);font-size:15.5px;margin:8px 0 0;max-width:44em}
.door-budline{margin-top:12px;background:var(--night);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;font-size:15.5px;max-width:44em}
.door-budline b{color:var(--dawn2)}
.door-start{display:flex;gap:10px;align-items:flex-start;margin-top:14px;color:var(--mist);font-size:15.5px}
.door-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--dawn);margin-top:7px}
.door-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.door-ghost{background:var(--night);color:var(--dawn2)}
.door-ghost:hover{color:var(--night)}
.door-after{color:var(--faint);font-size:14px;margin:14px 0 0;max-width:52em}
.door-after b{color:var(--mist)}
.door-flow{margin-top:16px;background:var(--night);border:1.5px solid var(--dawn);border-radius:var(--r-md);padding:16px 18px;max-width:680px}
.door-flow h3{font:700 17px/1.3 var(--sans);margin:0 0 10px}
.door-fields{display:flex;flex-wrap:wrap;gap:10px}
.door-field{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;min-width:0}
.door-field label{font-size:14px;color:var(--mist);font-weight:600}
.door-field input,.door-field textarea,.door-field select{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line2);border-radius:var(--r-sm);background:var(--night);color:var(--moon);font:400 16px/1.4 var(--sans)}
.door-field textarea{min-height:76px;resize:vertical}
.door-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.door-slots{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.door-msg{margin:10px 0 0;font-size:15px;color:var(--warn)}
.door-ok{margin-top:10px;background:#DCEFE3;border:1px solid #8CC4A6;border-radius:var(--r-sm);padding:12px 14px;font-size:15.5px}
.door-ts{margin-top:10px}
.door-ts[hidden]{display:none}
.door-noscript{margin-top:18px;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--night)}
.door-section{border-top:1px solid var(--line);padding-block:clamp(44px,6vw,80px)}
.door-h2{font:800 clamp(28px,3.4vw,40px)/1 var(--display);text-transform:uppercase;margin:0 0 8px;max-width:none}
.door-sub{color:var(--mist);max-width:44em;margin:0 0 20px}
.door-grid{display:grid;gap:12px}
.door-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.door-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.door-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.door-grid-bands{grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr))}
.door-cell,.door-band{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line2);border-radius:var(--r-md);padding:16px 18px;background:var(--night)}
.door-soft{background:#F2FAFE;border-color:var(--line)}
.door-cell>b{font-size:16.5px}
.door-cell>span{color:var(--mist);font-size:15px}
.door-cell ul{list-style:none;margin:4px 0 0;padding:0}
.door-cell li{position:relative;padding-left:16px;margin:6px 0;color:var(--mist);font-size:15.5px}
.door-cell li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--dawn)}
.door-cell li b{color:var(--moon)}
.door-cell>.door-n{font:800 26px/1 var(--display);color:var(--dawn)}
.door-bk{font:500 10.5px/1.3 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint)}
.door-bp{font-weight:800;font-size:19px;color:var(--dawn2)}
.door-bd{color:var(--mist);font-size:13.5px}
.door-proof{background:var(--night2);padding-block:24px}
.door-proof-in{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.door-proof p{margin:0;color:var(--mist)}
.door-proof b{color:var(--moon)}
.door-link{font-weight:700;color:var(--dawn2)}
.door-more{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.door-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border:1px solid var(--line2);border-radius:var(--r-lg);padding:clamp(18px,3vw,26px);background:var(--night)}
.door-card b{font-size:19px}
.door-card span{color:var(--mist)}
.door-card .btn{margin-top:6px}
.door-done{border-left:3px solid var(--dawn);background:#F2FAFE;border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 18px;margin:16px 0 0;color:var(--mist);max-width:62em}
.door-done b{color:var(--moon)}
.door-evi{border:1.5px solid var(--dawn);border-radius:var(--r-md);padding:16px 18px;background:var(--night);max-width:62em}
.door-evi p{margin:0;color:var(--mist)}
.door-evi b{color:var(--moon)}
.door-fine{font-size:13.5px;color:var(--faint)!important;margin-top:8px!important}
.door-open{margin:18px 0 0;background:#F2FAFE;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;color:var(--mist);max-width:62em}
.door-open b{color:var(--moon)}
.door-ratebox{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.door-rateout{color:var(--mist);font-size:15px;margin:10px 0 0}
.door-rateout b{color:var(--moon)}
.door-free{margin:16px 0 0;max-width:52em;font-size:15.5px;color:var(--mist)}
.door-free b{color:var(--dawn2)}
.door-fine2{margin:10px 0 0;font-size:14px;color:var(--faint)}
.door-opterr{margin:10px 0 0;font-size:14.5px;color:var(--warn);min-height:0}
.door-opterr:empty{margin:0}
.door-opterr:empty{display:none}
.door-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.door-acts .btn[aria-pressed="true"]{box-shadow:0 0 0 3px var(--cool)}
.door-hint b{color:var(--dawn2)}
.door-ok:focus{outline:none}.door-ok:focus-visible{outline:2px solid var(--dawn);outline-offset:2px}
/* the door as the home page's first screen (inside the hero's copy column) */
.hv-copy .door-box{margin-top:22px;max-width:none}
.hv-copy .door-text,.door-hero .door-text{height:112px}
/* phones: the first action stays on the first screen under the browser's own bars */
@media (max-width:640px){.door-wide{display:none}.hv-copy .door-box{margin-top:16px}.door-hero{padding-top:14px}.door-box{padding-top:14px}.hv-copy .kicker,.door-hero .kicker{display:none}.hv-stage{padding-top:18px}}
.hv-copy .door-result{max-width:none}
.hv-copy .facts-row{margin-top:18px}
.hv-alt{margin:14px 0 0;color:var(--mist);font-size:15.5px;max-width:44em}
.hv-alt a{color:var(--dawn2);font-weight:700}
@media (max-width:720px){.door-grid-2{grid-template-columns:1fr}}
@media (max-width:520px){.door-acts{flex-direction:column}.door-acts .btn{width:100%}.door-grid-bands{grid-template-columns:1fr}}
@media print{.door-box,.door-result .door-acts,.door-flow{display:none}}
