/* V101 ANREISE COMPASS – additive prototype */
.compass-hero{padding-bottom:58px}.compass-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.72fr);gap:56px;align-items:center}.compass-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.compass-hero-points span{border:1px solid rgba(213,178,107,.45);border-radius:999px;padding:7px 11px;color:#e6cf9e;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.035)}
.compass-shell{padding:52px 0 68px;background:linear-gradient(180deg,#f7f2e9 0,#fffaf2 52%,#f7f2e9 100%)}.compass-panel{max-width:1050px;margin:0 auto;background:#fffdf8;border:1px solid #ddcfb9;border-radius:22px;box-shadow:0 22px 70px rgba(17,31,46,.09);overflow:hidden}.compass-progress-wrap{padding:22px 28px 18px;background:#0a2138;color:#fff;border-bottom:1px solid rgba(181,138,57,.4)}.compass-progress-meta{display:flex;justify-content:space-between;gap:20px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#d5c29e;font-weight:800}.compass-progress{height:4px;background:rgba(255,255,255,.12);border-radius:999px;margin-top:13px;overflow:hidden}.compass-progress span{display:block;height:100%;width:14.285%;background:linear-gradient(90deg,#b58a39,#e4c47f);transition:width .25s ease}
.compass-step{display:none;padding:48px 54px 38px}.compass-step.is-active{display:block}.step-kicker{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:#9a742f}.compass-step h2{font-family:var(--serif);font-size:clamp(2.15rem,4vw,3.7rem);line-height:1.02;color:#10243b;margin:10px 0 13px}.step-intro{max-width:780px;line-height:1.7;color:#5d6873;margin:0 0 30px}.field-grid{display:grid;gap:18px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-fields{margin-top:22px}.field{display:flex;flex-direction:column;gap:8px;font-weight:800;color:#24384c;font-size:.8rem;letter-spacing:.04em}.field input,.field select{appearance:none;border:1px solid #d8c9b3;border-radius:12px;background:#fff;padding:15px 14px;font:inherit;font-weight:600;color:#17304a;outline:none}.field input:focus,.field select:focus{border-color:#b58a39;box-shadow:0 0 0 3px rgba(181,138,57,.1)}.step-note{margin-top:22px;padding:17px 18px;border-radius:12px;background:#f4efe6;color:#5f5a50;line-height:1.55;font-size:.88rem;border:1px solid #e1d5c2}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.choice-card,.toggle-card{position:relative;display:block;cursor:pointer}.choice-card input,.toggle-card input{position:absolute;opacity:0;pointer-events:none}.choice-card>span{display:block}.choice-card{border:1px solid #ddcfbb;border-radius:15px;background:#fff;padding:19px;min-height:116px;transition:.18s ease;box-shadow:0 8px 20px rgba(22,36,50,.035)}.choice-card:hover{border-color:#c5a66a;transform:translateY(-1px)}.choice-card:has(input:checked){border-color:#a87d2c;background:#fff8e9;box-shadow:0 0 0 2px rgba(181,138,57,.11)}.choice-main{font-family:var(--serif);font-size:1.35rem;color:#16314a;margin-bottom:6px}.choice-sub{font-size:.78rem;line-height:1.45;color:#6c747b}.party-grid,.showday-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.family-extra{margin-top:18px;max-width:360px}.toggle-card{border:1px solid #ddcfbb;border-radius:14px;padding:17px;background:#fff}.toggle-card span{display:flex;flex-direction:column;gap:5px}.toggle-card strong{color:#17304a}.toggle-card small{color:#68747d;line-height:1.4}.toggle-card:has(input:checked){border-color:#a87d2c;background:#fff8e9}.toggle-card:has(input:checked)::after{content:'✓';position:absolute;top:12px;right:13px;color:#8a631d;font-weight:900}.travel-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.slider-stack{display:grid;gap:18px;max-width:820px}.range-field{border:1px solid #dfd2c0;background:#fff;border-radius:15px;padding:18px 20px}.range-field>span{display:flex;justify-content:space-between;gap:20px;color:#17304a}.range-field em{font-style:normal;color:#8a631d}.range-field input{width:100%;accent-color:#a87d2c;margin:15px 0 8px}.range-field small{color:#737d84}.compass-nav{display:flex;justify-content:space-between;gap:12px;padding:20px 54px 32px;border-top:1px solid #eadfce;background:#fffaf2}.compass-back{border:0;background:transparent;color:#5f6870;font-weight:800;cursor:pointer;padding:12px 0}.compass-back:disabled{opacity:.35;cursor:default}.compass-next,.compass-restart{margin-left:auto}
.result-primary-card{background:linear-gradient(135deg,#071d32,#0d3151);color:#fff;border:1px solid rgba(181,138,57,.48);border-radius:18px;padding:28px;box-shadow:0 18px 46px rgba(7,27,45,.16)}.result-badge{display:inline-block;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:#e0bd73;font-weight:900;margin-bottom:9px}.result-primary-card h3{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0 0 10px}.result-primary-card .result-summary{font-size:1.03rem;line-height:1.62;color:#d9e4eb;max-width:780px}.result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.result-metric{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;background:rgba(255,255,255,.045)}.result-metric span{display:block;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#9eb0bd;margin-bottom:5px}.result-metric strong{font-size:.92rem}.result-reasons{margin:22px 0 0;padding-left:20px;color:#dce6ed;line-height:1.65}.result-alternatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.result-alt{border:1px solid #deceb8;border-radius:15px;padding:20px;background:#fff}.result-alt .alt-kicker{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#9a742f;font-weight:900}.result-alt h4{font-family:var(--serif);font-size:1.45rem;color:#183149;margin:7px 0 8px}.result-alt p{margin:0;color:#64717b;line-height:1.55}.result-explainer{margin-top:18px;border:1px solid #ded0bd;background:#f7f1e7;border-radius:15px;padding:22px}.result-explainer h4{font-family:var(--serif);font-size:1.45rem;color:#183149;margin:0 0 8px}.result-explainer p{margin:0;color:#5f6870;line-height:1.62}.result-warning{margin-top:18px}.compass-about{background:#f7f2e9}
@media(max-width:900px){.compass-hero-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.compass-step{padding:34px 22px 28px}.compass-progress-wrap{padding:20px 22px 17px}.compass-nav{padding:18px 22px 26px}.field-grid.two,.choice-grid,.party-grid,.showday-grid,.travel-style-grid,.result-alternatives{grid-template-columns:1fr}.choice-card{min-height:0}.result-metrics{grid-template-columns:1fr 1fr}.compass-hero-points{gap:6px}.compass-hero-points span{font-size:.64rem}.result-primary-card{padding:22px}.compass-progress-meta{font-size:.64rem}}
.result-saver{margin-top:16px;padding:14px 15px;border-left:3px solid #b58a39;background:#fff9ec;border-radius:8px;color:#694f20;line-height:1.55}
.origin-intel{margin-top:22px;border:1px solid #ddcfbb;border-radius:14px;padding:17px 18px;background:linear-gradient(135deg,#fffaf0,#f6efe2);color:#5e625f;line-height:1.55}.origin-intel strong{display:block;color:#17304a;margin-bottom:5px}.origin-intel p{margin:0}.origin-intel.is-resolved{border-color:#c6a669;background:#fff9e9}.origin-hubs{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.origin-hubs span{font-size:.72rem;border:1px solid #d8c49f;border-radius:999px;padding:6px 9px;background:#fff;color:#694f20}.route-intelligence{margin-bottom:18px;border:1px solid #d9c9b2;border-radius:17px;background:#fff;padding:22px}.route-intelligence-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.route-intelligence h3{font-family:var(--serif);font-size:1.65rem;color:#17304a;margin:0 0 5px}.route-intelligence p{margin:0;color:#63707a;line-height:1.55}.data-status{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;border:1px solid #dfc78f;border-radius:999px;padding:7px 9px;color:#8a631d;white-space:nowrap;background:#fff9e9}.gateway-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.gateway-box{border:1px solid #e5dac9;border-radius:12px;padding:14px;background:#fcfaf6}.gateway-box span{display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#9a742f;font-weight:900;margin-bottom:6px}.gateway-box strong{color:#17304a}.gateway-box ul{margin:8px 0 0;padding-left:18px;color:#66727b;line-height:1.5}.cost-stack{margin-top:15px;border-top:1px solid #eee2d1;padding-top:14px}.cost-stack strong{color:#17304a}.cost-formula{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.cost-formula span{font-size:.7rem;padding:6px 8px;border-radius:8px;background:#f5efe5;color:#695b48}.cost-formula span:not(:last-child)::after{content:' +';color:#b58a39;font-weight:900}.transfer-options{margin-top:15px;display:grid;gap:7px}.transfer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.09);padding-top:9px;color:#d8e3ea}.transfer-row:first-child{border-top:0;padding-top:0}.transfer-row em{font-style:normal;font-size:.72rem;color:#e2bf77}.traffic-pill{font-size:.62rem;border-radius:999px;padding:4px 7px;background:#57382f;color:#ffd9c9}.no-traffic-pill{font-size:.62rem;border-radius:999px;padding:4px 7px;background:#173f43;color:#cce9df}.party-total-note{margin-top:10px;font-size:.78rem;color:#69747c}
@media(max-width:680px){.route-intelligence-head{display:block}.data-status{display:inline-block;margin-top:10px}.gateway-columns{grid-template-columns:1fr}.transfer-row{grid-template-columns:1fr auto}.transfer-row .traffic-pill,.transfer-row .no-traffic-pill{grid-column:1/-1;justify-self:start}}
.travel-trip-handoff{max-width:1050px;margin:0 auto 16px;border:1px solid #d8c49a;background:#fff8e9;border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;gap:18px;align-items:center;color:#17304a}.travel-trip-handoff>div{display:grid;gap:3px}.travel-trip-handoff span{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#9a742f;font-weight:900}.travel-trip-handoff strong{font-size:.92rem}.travel-trip-handoff small{color:#6d7479}.travel-trip-handoff a{font-size:.78rem;font-weight:900;color:#8a631d;white-space:nowrap}@media(max-width:680px){.travel-trip-handoff{align-items:flex-start;flex-direction:column}.travel-trip-handoff a{white-space:normal}}
