.hero{background:linear-gradient(160deg,#0a0020,#1a0040 40%,#2e0060 70%,#1a0040);overflow:hidden;padding:64px 28px 56px;position:relative;text-align:center}.hero:before{background:radial-gradient(ellipse 80% 60% at 50% 0,#7c3aed59 0,#0000 70%);content:"";inset:0;pointer-events:none;position:absolute}.hero-badge{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:100px;color:#ffffffd9;display:inline-flex;font-size:12px;font-weight:600;gap:7px;letter-spacing:.06em;margin-bottom:20px;padding:6px 16px;text-transform:uppercase}.hero h1{color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(28px,5vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:14px}.hero-sub{color:#ffffffb3;font-size:clamp(15px,2.5vw,18px);margin:0 auto;max-width:520px}.calc-wrap{margin:0 auto;max-width:760px;padding:48px 28px 80px}.step-card{background:#fff;border:1.5px solid var(--border);border-radius:20px;margin-bottom:20px;padding:32px}.step-label{gap:12px;margin-bottom:20px}.step-label,.step-num{align-items:center;display:flex}.step-num{background:var(--accent);border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:800;height:32px;justify-content:center;width:32px}.step-num,.step-title{font-family:Plus Jakarta Sans,sans-serif}.step-title{color:var(--ink);font-size:17px;font-weight:700}.carrier-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.carrier-opt{background:#fff;border:2px solid var(--border);border-radius:14px;cursor:pointer;padding:16px;text-align:center;transition:all .18s}.carrier-opt.sel,.carrier-opt:hover{background:var(--accent-soft);border-color:var(--accent)}.carrier-name{color:var(--ink);font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;margin-bottom:4px}.carrier-rate{color:var(--ink-muted);font-size:13px}.dest-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.dest-opt{background:#fff;border:2px solid var(--border);border-radius:12px;color:var(--ink-soft);cursor:pointer;font-size:13.5px;font-weight:600;padding:12px 10px;text-align:center;transition:all .18s}.dest-opt:hover{border-color:var(--accent);color:var(--ink)}.dest-opt.sel{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.dest-opt .dflag{display:block;font-size:20px;margin-bottom:5px}.days-slider-wrap{padding:8px 0}.days-slider{-webkit-appearance:none;appearance:none;background:var(--paper);border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.days-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border-radius:50%;box-shadow:0 2px 8px #7c3aed59;cursor:pointer;height:24px;width:24px}.days-slider::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;cursor:pointer;height:24px;width:24px}.days-display{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.days-value{color:var(--accent);font-family:Plus Jakarta Sans,sans-serif;font-size:28px;font-weight:800}.days-label{color:var(--ink-muted);font-size:14px}.results{background:#fff;border:1.5px solid var(--border);border-radius:20px;display:none;margin-bottom:20px;overflow:hidden}.results.show{display:block}.results-head{align-items:center;background:linear-gradient(135deg,#1a0040,#4c1d95);display:flex;gap:16px;padding:24px 32px}.results-head-title{color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:800}.results-head-sub{color:#fff9;font-size:13px;margin-top:3px}.results-body{padding:28px 32px}.results-row{align-items:center;border-bottom:1px solid #0d0d140f;display:flex;gap:16px;justify-content:space-between;padding:20px 0}.results-row:last-child{border-bottom:none}.results-row-label{color:var(--ink-soft);font-size:14px;font-weight:600}.results-row-sublabel{color:var(--ink-muted);font-size:12px;margin-top:2px}.results-amount{font-family:Plus Jakarta Sans,sans-serif;font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1}.results-amount.carrier{color:#dc2626}.results-amount.travelren{color:var(--ink)}.savings-banner{align-items:center;background:linear-gradient(135deg,#7c3aed1a,#15803d14);border:2px solid #15803d33;border-radius:16px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:24px;padding:24px 28px}.savings-label{color:#15803d;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.savings-amount{color:#16a34a;font-family:Plus Jakarta Sans,sans-serif;font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1}.savings-sub{color:var(--ink-soft);font-size:13px;margin-top:6px}.savings-cta{align-items:center;background:var(--accent);border-radius:100px;color:#fff;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;gap:8px;padding:14px 28px;text-decoration:none;transition:all .2s;white-space:nowrap}.savings-cta:hover{opacity:.88;transform:translateY(-1px)}.results-note{border-top:1px solid var(--border);color:var(--ink-muted);font-size:11.5px;margin-top:16px;padding-top:16px;text-align:center}@media (max-width:768px){.savings-banner{flex-direction:column}.results-amount{font-size:28px}.savings-amount{font-size:40px}}@media (max-width:480px){.carrier-grid{grid-template-columns:1fr 1fr}}.calc-sources{background:#fff;border:1.5px solid var(--border);border-radius:16px;margin:28px auto 0;max-width:760px;overflow:hidden}.calc-sources>summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;gap:8px;list-style:none;padding:18px 24px}.calc-sources>summary::-webkit-details-marker{display:none}.calc-sources>summary:before{content:"\1F4DA";font-size:16px}.calc-sources>summary:after{color:var(--ink-muted);content:"\2304";font-size:18px;margin-left:auto;transition:transform .2s}.calc-sources[open]>summary:after{transform:rotate(180deg)}.calc-sources-body{color:var(--ink-soft);font-size:14px;line-height:1.6;padding:0 24px 22px}.calc-sources-body p{margin:0 0 12px}.calc-sources-body ul{margin:0 0 16px;padding-left:18px}.calc-sources-body li{margin-bottom:7px}.calc-sources-body a{color:var(--accent);font-weight:600}@media (max-width:480px){.calc-sources-body,.calc-sources>summary{padding-left:16px;padding-right:16px}}