.future-map{background:#f4f5f1;scroll-margin-top:24px}
.future-map [hidden]{display:none!important}
.future-heading{text-align:center;max-width:700px;margin:0 auto 40px}
.future-heading>p:first-child{font-size:.875rem;color:#657256;margin-bottom:14px;font-weight:500}
.future-heading>p:last-child{font-size:1rem;color:var(--muted);margin-top:20px;line-height:1.8}
.future-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);background:#112c39;color:#f5f7f6;box-shadow:0 22px 50px #0c263015;scroll-margin-top:24px;border-radius:6px;overflow:hidden}
.future-main{padding:40px;min-width:0}
.future-progress{display:flex;gap:24px;list-style:none;padding:0;margin:0 0 32px;font-size:.875rem;color:#a9bbc4}
.future-progress li{display:flex;gap:8px;align-items:center}
.future-progress li>span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #516872;border-radius:50%;font-size:.75rem}
.future-progress [aria-current="step"]{color:var(--gold)}
.future-progress [aria-current="step"]>span{border-color:var(--gold)}
.future-progress .is-complete>span{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.future-step{margin:0;padding:0;border:0;min-inline-size:0}
.future-step legend{font-size:1.75rem;font-weight:500;line-height:1.4;letter-spacing:-.4px;padding:0;width:100%;text-wrap:balance}
.future-hint{color:#bed0d6;font-size:1rem;line-height:1.7;margin-top:10px}
.future-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.future-option{position:relative;display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0;min-height:100px;padding:18px 16px;border:1px solid #526b75;border-radius:3px;background:#173440;cursor:pointer;transition:background .16s ease-out,border-color .16s ease-out}
.future-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.future-option>span{font-size:1rem;font-weight:500;line-height:1.55;min-width:0}
.future-option small{display:block;color:#b7cbd1;font-size:.8125rem;font-weight:400;line-height:1.6;margin-top:5px}
.future-option i{width:15px;height:15px;flex-shrink:0;border:1px solid #93a6ae;border-radius:50%;display:grid;place-items:center}
.future-option:has(input:checked){background:#273e44;border-color:var(--gold)}
.future-option:has(input:checked)>span{color:#f1d9af}
.future-option input:checked~i{border-color:var(--gold);background:var(--gold)}
.future-option input:checked~i:after{content:"";width:5px;height:5px;background:var(--ink);border-radius:50%}
.future-option:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.future-option:active{background:#29434f}
.future-options-time{grid-template-columns:minmax(0,1fr)}
.future-options-time .future-option{min-height:76px}
.future-options-time small{display:inline;margin-inline-start:12px}
.future-navigation{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:26px}
.future-next,.future-share{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--gold);color:var(--ink);border:0;min-height:54px;padding:14px 22px;font:500 1rem/1.6 Heebo,Arial,sans-serif;cursor:pointer;border-radius:2px}
.future-next{min-width:190px}
.future-next:disabled{background:#3b515a;color:#bdc9ce;cursor:not-allowed}
.future-next:focus-visible,.future-share:focus-visible,.future-back:focus-visible,.future-edit:focus-visible,.future-reset:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.future-back,.future-edit,.future-reset{border:0;background:none;color:#d5e0e4;font:400 .875rem/1.6 Heebo,Arial,sans-serif;cursor:pointer;min-height:44px;padding:8px 0}
.future-next:not(:disabled):active,.future-share:active{transform:translateY(1px)}
.future-preview{position:relative;min-width:0;background:#0b202c;padding:36px 32px;display:flex;flex-direction:column}
.future-preview-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem;color:#e4ecee}
.future-monogram{font:italic 2.3rem/1.2 Georgia,serif;color:var(--gold)}
.future-preview-caption{font-size:.875rem;color:#aebfc8;margin:14px 0 0;line-height:1.8}
.future-route{list-style:none;padding:0;margin:34px 0;display:flex;flex-direction:column;gap:32px}
.future-route li{position:relative;display:flex;gap:18px;min-width:0}
.future-route li:after{content:"";position:absolute;inset-inline-start:7px;top:22px;bottom:-32px;width:1px;background:#3c515d;transition:background .22s ease-out}
.future-route li:last-child:after{display:none}
.future-route li.is-filled:after{background:var(--gold)}
.future-node{position:relative;z-index:1;flex-shrink:0;width:15px;height:15px;border:1px solid #6f838e;background:#0b202c;border-radius:50%;margin-top:5px;transition:background .22s ease-out,border-color .22s ease-out}
.is-filled .future-node{background:var(--gold);border-color:var(--gold)}
.future-route li>div{min-width:0}
.future-route-label{display:block;font-size:.8125rem;color:#a9bbc5;line-height:1.7;margin-bottom:6px}
.future-route strong{display:block;font-size:1.0625rem;font-weight:400;line-height:1.6;color:#aebec6;transition:color .22s ease-out}
.future-route .is-filled strong{color:#f1d9af}
.future-map-status{font-size:.875rem;line-height:1.75;color:#d4e1e7;margin-top:auto}
.future-disclaimer{font-size:.75rem;color:#a8bbc5;line-height:1.8;margin-top:14px}
.future-result h3{font-size:2.125rem;font-weight:500;line-height:1.3;color:#f1d9af;letter-spacing:-.5px}
.future-result-lead{font-size:1.125rem;line-height:1.8;margin-top:12px}
.future-agenda-title{font-size:.875rem;color:#b8cbd3;margin-top:24px}
.future-agenda{margin:12px 0 28px;padding-inline-start:20px;color:#e0e9ec;font-size:1rem;line-height:1.85}
.future-agenda li{padding-inline-start:4px;margin-bottom:10px}
.future-agenda li::marker{color:var(--gold)}
.future-share{width:100%;font-size:.9375rem;gap:16px}
.future-send-note{font-size:.8125rem;color:#b8cbd3;line-height:1.8;margin-top:12px}
.future-result-controls{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}
.future-noscript{text-align:center;color:var(--muted)}
.future-noscript a{font-weight:500;text-decoration:underline}
@media(hover:hover){.future-option:hover{border-color:#b3a183}.future-next:not(:disabled):hover,.future-share:hover{background:#dac091}.future-back:hover,.future-edit:hover,.future-reset:hover{color:var(--gold)}}
@media(max-width:1100px){.future-main{padding:30px}.future-preview{padding:30px 24px}.future-progress{gap:18px}.future-option{padding:16px 12px;gap:8px}}
@media(max-width:900px){
 .future-heading{margin-bottom:28px}
 .future-heading h2{font-size:clamp(2rem,8vw,2.65rem)}
 .future-heading>p:first-child{margin-bottom:12px}
 .future-heading>p:last-child{margin-top:16px}
 .future-workspace{grid-template-columns:minmax(0,1fr)}
 .future-main{order:2;padding:26px 22px}
 .future-preview{order:1;padding:22px}
 .future-preview-top{font-size:.875rem}
 .future-monogram,.future-preview-caption{display:none}
 .future-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0}
 .future-route li{display:block;text-align:center}
 .future-node{display:block;margin:0 auto 10px;width:12px;height:12px}
 .future-route li:after{inset-inline-start:calc(50% + 10px);top:5px;bottom:auto;width:calc(100% - 10px);height:1px}
 .future-route-label{font-size:.75rem;line-height:1.5;margin-bottom:5px}
 .future-route strong{font-size:.875rem;line-height:1.6}
 .future-map-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .future-disclaimer{font-size:.75rem;line-height:1.7;margin-top:16px}
 .future-progress{gap:20px;margin-bottom:24px;justify-content:space-between;font-size:.8125rem}
 .future-progress li{gap:7px}
 .future-progress li>span{width:22px;height:22px}
 .future-step legend{font-size:1.5rem;line-height:1.45}
 .future-hint{font-size:1rem}
 .future-options{margin-top:20px;gap:10px}
 .future-option{min-height:106px;padding:14px 12px;gap:8px}
 .future-option>span{font-size:.9375rem;line-height:1.6}
 .future-option small{font-size:.8125rem}
 .future-option i{width:12px;height:12px}
 .future-options-time .future-option{min-height:76px}
 .future-options-time small{display:block;margin-inline-start:0}
 .future-navigation{gap:16px;margin-top:22px}
 .future-next{min-width:0;flex:1;padding:14px 18px}
 .future-back{padding:8px;flex-shrink:0}
 .future-result h3{font-size:1.875rem}
 .future-result-lead{font-size:1.0625rem}
 .future-share{font-size:.9375rem;padding:14px 16px;gap:10px}
 .future-share>span{flex-shrink:0}
 .future-result-controls{justify-content:space-between;gap:12px}
}
@media(max-width:360px){.future-main,.future-preview{padding:22px 16px}.future-progress{gap:10px}.future-option{padding:12px 10px}.future-option i{display:none}.future-option:has(input:checked){box-shadow:inset 0 0 0 1px var(--gold)}}
@media(prefers-reduced-motion:reduce){.future-map *{transition:none!important;animation:none!important}.future-next:active,.future-share:active{transform:none}}
