:root{color-scheme:dark;--bg:#080706;--panel:#151310;--line:#393127;--gold:#ffd36a;--text:#fff9eb;--muted:#c1b6a3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}a{color:var(--gold)}button,input,select{font:inherit}button{cursor:pointer}header{max-width:1200px;margin:auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}.brand img{width:40px;height:40px;border-radius:50%}.badge,.eyebrow{font-size:.875rem;letter-spacing:.1em;color:var(--gold);font-weight:750}.badge{border:1px solid var(--line);padding:6px 12px;border-radius:30px}main{max-width:1152px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:38px 0 24px}.intro h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;letter-spacing:-.05em;margin:12px 0 18px}.intro p{max-width:560px;color:var(--muted)}.intro .eyebrow{color:var(--gold)}aside{display:flex;align-items:center;gap:12px;max-width:330px}aside img{width:140px;border-radius:24px}aside p{font-weight:700;font-size:1.1rem}.notice{padding:14px 18px;background:#251e10;border-left:3px solid var(--gold);margin-bottom:24px;color:#f3ddb0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-top h2{margin:0;font-size:1.25rem}h2 span{color:var(--gold);margin-right:10px;font-size:1rem}.trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:650}small,.hint{color:var(--muted);font-size:.875rem}.hint{margin:12px 0 20px}.package-heading{margin-top:30px}.package-heading p{margin:0;color:var(--muted);font-size:.875rem}input,select{width:100%;min-width:0;min-height:46px;padding:9px 11px;background:#0c0b09;color:var(--text);border:1px solid #5d5345;border-radius:8px}input:disabled{opacity:.45}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}fieldset{min-width:0;margin:0}legend{color:var(--gold);font-size:1.1rem;font-weight:800;padding:0 8px}.fields{display:grid;gap:18px}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cost-row{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #29241d}.cost-row small{font-weight:400}.checks{margin-top:18px;display:grid;gap:14px}.text-button{background:transparent;border:0;color:var(--gold);padding:10px;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.primary{background:var(--gold);color:#191205;border:0;border-radius:10px;padding:14px 24px;font-weight:800}.actions{display:flex;gap:20px;align-items:center;margin-top:24px}#sample-note{background:#332912;color:#ffe3a1;padding:10px 14px;border-radius:8px}#results{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}#results h2{font-size:2rem;margin:0}#trip-summary{color:var(--muted)}.verdict{display:flex;gap:16px;align-items:center;background:#28200f;border:1px solid #8b682c;padding:20px;border-radius:16px;margin:20px 0}.verdict img{width:64px;height:64px;border-radius:50%}.verdict p{margin:0}.total{font-size:2.3rem;font-weight:800;color:var(--gold);margin:8px 0}.result h3{margin:0;overflow-wrap:anywhere}.result p{margin:8px 0}.result ul{padding-left:20px;color:var(--muted)}.result li{margin:8px 0}.status{color:var(--gold);font-size:.875rem}.breakdown{margin:18px 0}.breakdown div{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0}.breakdown dt,.breakdown dd{margin:0;font-size:.875rem}.breakdown dd{text-align:right}footer{padding:32px 0;margin-top:32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:.875rem;color:var(--muted)}.skip{position:absolute;top:-100px;padding:10px;background:black}.skip:focus{top:0}[hidden]{display:none!important}@media(max-width:760px){.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-grid{grid-template-columns:1fr}.intro{align-items:flex-start}.intro aside{display:none}.section-top{align-items:flex-start;flex-wrap:wrap}.badge{font-size:.75rem}.panel{padding:18px}}@media(max-width:440px){header{padding:16px;flex-wrap:wrap}main{padding:0 16px}.trip-grid,.price-row{grid-template-columns:1fr}.cost-row{grid-template-columns:1fr}.intro h1{font-size:2.6rem}.actions,footer{flex-wrap:wrap}}
/* A short, family-friendly questionnaire above the optional quote checker. */
main{max-width:1000px}.intro{justify-content:flex-start;padding:24px 0;gap:20px}.intro .guide{width:110px;height:110px;object-fit:cover;border-radius:24px;flex-shrink:0}.intro h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:6px 0;letter-spacing:-.035em}.intro p{margin:6px 0}.question h2{font-size:1.6rem;margin:8px 0 20px}.question>label{max-width:560px;margin:14px 0}.question .trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices label,.later{display:flex;flex-direction:row;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;font-size:1rem;cursor:pointer}.choices label:has(:checked),.hotel-card:has(:checked){border-color:var(--gold);background:#2a2213}.choices input,.hotel-card input,.later input{width:22px;min-height:22px;height:22px;flex-shrink:0;accent-color:var(--gold)}details{margin:24px 0}summary{cursor:pointer;color:var(--gold);padding:12px 0;font-weight:650}.hotel-card{padding:20px;border:1px solid var(--line);border-radius:14px}.hotel-card label{flex-direction:row;align-items:center;font-size:1.05rem;gap:12px;cursor:pointer}.hotel-card p{color:var(--muted)}.hotel-card a{font-size:.9rem}#trip-plan{margin-top:24px}#trip-plan h2{font-size:1.8rem}#trip-plan li{margin:10px 0}#progress{margin-top:0}#price-tools>summary{font-size:1rem}.question [name=custom]{width:100%}@media(max-width:500px){.choices,.question .trip-grid{grid-template-columns:1fr}.intro{gap:12px}.intro .guide{width:70px;height:70px;border-radius:16px}.intro h1{font-size:1.8rem}.intro .eyebrow{font-size:.75rem}.intro p{font-size:.9rem}.badge{display:none}}
.choice-group{border:0;padding:0;margin:20px 0}.choice-group legend{color:var(--text);padding:0;margin-bottom:12px;font-size:1rem;font-weight:600}.choice-group small{display:block;margin-top:4px;font-weight:400}.choice-group .choices label{min-height:68px}.choices label:focus-within{outline:2px solid var(--gold);outline-offset:3px}.hotel-card ul{padding-left:20px;font-size:.9rem;color:var(--muted)}.hotel-card li{margin:10px 0}.empty-options{grid-column:1/-1;border:1px dashed var(--line);border-radius:14px;padding:20px}.empty-options h3{margin-top:0}
.premium-check{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.premium-check form>label{margin:16px 0}.premium-check .primary{margin-top:16px}.fit-verdict{border:1px solid var(--line);border-left-width:5px;padding:16px;border-radius:12px;margin:20px 0}.fit-verdict.good{border-color:#78cba4;background:#10251c}.fit-verdict.check{border-color:var(--gold);background:#29220e}.fit-verdict.poor{border-color:#f49b92;background:#2c1715}.fit-verdict h3{margin-top:0}.fit-verdict ul{padding-left:20px}.fit-verdict li{margin:10px 0}
.bundle-estimator{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.estimate-total{padding:20px;margin-top:20px;border:1px solid #8b682c;background:#211b0e;border-radius:16px}.estimate-total h3{font-size:1.6rem;color:var(--gold);margin:10px 0}.estimate-total>p:first-child{font-size:.8rem;letter-spacing:.06em;color:var(--gold)}.estimate-total p{font-size:.9rem}.estimate-total dl div{flex-wrap:wrap}
