:root{color-scheme:dark;--bg:#10131c;--panel:#191e29;--line:#333946;--text:#f4f3e9;--muted:#abb2bd;--lime:#d0f7a2;--pink:#edb3d2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}button{color:var(--text)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1280px)/2));gap:16px}.brand{text-decoration:none;font-size:15px;letter-spacing:2px;font-weight:800;display:flex;align-items:center;gap:12px}.brand-icon{color:var(--lime);font-size:34px}.brand-place{font-weight:400;color:var(--muted);font-size:11px}.top-status{display:flex;align-items:center;gap:18px}.connection{font-size:11px;color:var(--muted)}.connection:before{content:"";display:inline-block;background:var(--lime);height:6px;width:6px;border-radius:50%;margin-right:6px}.demo{color:var(--lime);border:1px solid #667750;border-radius:5px;letter-spacing:1.4px;font-size:10px;padding:3px 8px;font-weight:700}main{max-width:1280px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1.25fr 1fr;min-height:270px;align-items:center;gap:40px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--lime);margin:0 0 12px}h1{font-size:clamp(32px,3.6vw,49px);font-weight:500;line-height:1.1;letter-spacing:-2px;margin:0 0 18px}h1 em{color:var(--pink);font-family:Georgia,serif;font-weight:400}.intro{color:var(--muted);font-size:13px;margin:0}.hero-art{height:206px;position:relative;overflow:hidden;border-radius:100px 100px 12px 12px;background:linear-gradient(150deg,#252638 10%,#513349 60%,#c58475);isolation:isolate}.sun{width:124px;height:124px;position:absolute;left:50%;top:27px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(#f6c3be,#d894a4);box-shadow:0 0 65px #f6bca344}.horizon{position:absolute;inset:116px 0 0;background:repeating-linear-gradient(0deg,#263e47aa 0 1px,transparent 1px 8px),linear-gradient(#243844ee,#15222d);transform:perspective(100px) rotateX(5deg)}.hero-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 63px,#ffffff08 63px 64px)}.art-coordinates,.art-label{position:absolute;bottom:15px;font-size:9px;letter-spacing:1.5px;z-index:2}.art-coordinates{left:20px}.art-label{right:20px;color:var(--lime)}.trip-frame{border:1px solid var(--line);border-radius:9px;padding:17px 23px;display:grid;grid-template-columns:repeat(4,1fr);background:#161b25;gap:18px}.trip-frame>span{color:var(--lime)}.trip-frame b{font-size:12px;color:var(--text);margin-left:8px}.trip-frame small{display:block;color:var(--muted);font-size:10px;margin:4px 0 0 23px}.estimate-banner{color:var(--muted);font-size:10px;margin:13px 0 25px}.estimate-banner strong{font-weight:500;color:#c9cdd4}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;align-items:start}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px;gap:23px}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 14px;color:var(--muted);font-size:10px;white-space:nowrap}.tab span{font-size:12px;margin-left:4px}.tab.active{color:var(--lime);border-color:var(--lime)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.section-heading .eyebrow{margin:0 0 6px;font-size:9px}h2{font-size:25px;font-weight:500;letter-spacing:-.7px;margin:0}.micro{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hotel-card{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);cursor:pointer;transition:border-color .2s}.hotel-card:has(input:checked){border-color:var(--lime);box-shadow:0 0 0 1px #d0f7a222}.hotel-art{height:78px;padding:14px 18px;position:relative;overflow:hidden}.hotel-art>span:first-child{font-size:9px;letter-spacing:1.4px;position:relative;z-index:1}.krystal{background:linear-gradient(125deg,#254a4a,#3e6b65)}.riu{background:linear-gradient(125deg,#413950,#66536d)}.hotel-art:after{content:"";position:absolute;width:200px;height:200px;border:1px solid #ffffff20;border-radius:50%;right:15px;top:20px;box-shadow:0 0 0 20px #ffffff05,0 0 0 40px #ffffff05}.hotel-letter{position:absolute;right:25px;top:-17px;font:100px Georgia,serif;color:#ffffff22}.hotel-body{padding:17px}.hotel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}h3{margin:0;font-size:16px;font-weight:600}.hotel-body p{font-size:11px;color:var(--muted);margin:5px 0 14px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tags span{background:#252c36;color:#cdd3d8;padding:4px 6px;border-radius:4px;font-size:9px}.hotel-body .cancel{color:var(--lime);font-size:10px;margin:14px 0}.hotel-price{display:flex;align-items:baseline;gap:7px}.hotel-price strong{font-size:25px;font-weight:500;letter-spacing:-1px}.hotel-price>span{font-size:10px;color:var(--muted)}input[type=radio],input[type=checkbox]{accent-color:var(--lime);width:18px;height:18px;flex-shrink:0;cursor:pointer}.price-note{color:var(--muted);font-size:9px;line-height:1.5;display:block;margin-top:7px}.fine{font-size:10px;color:var(--muted);margin:12px 0 20px}.flight-row{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.flight-row h3{font-size:13px}.flight-row p{font-size:10px;color:var(--muted);margin:5px 0}.segments{display:flex;border:0;padding:0;margin:0;gap:5px}.segments label{position:relative;cursor:pointer}.segments input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.segments span{display:block;border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:11px}.segments input:checked+span{color:var(--lime);border-color:var(--lime);background:#d0f7a20b}.segments input:focus-visible+span{outline:2px solid var(--pink)}.segments small{font-size:8px;margin-left:4px}.next-row{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted)}.next{border:0;background:var(--lime);color:#172013;font-size:11px;padding:13px 15px;border-radius:6px;font-weight:650;white-space:nowrap}.budget{position:sticky;top:20px;border:1px solid #4c5544;background:linear-gradient(155deg,#232b28,#191e29 65%);border-radius:12px;padding:22px}.budget-top{display:flex;justify-content:space-between;align-items:center}.budget-top .eyebrow{font-size:9px;margin:0}.budget-label{font-size:11px;color:var(--muted);margin:25px 0 2px}#total{font-size:43px;letter-spacing:-2px;font-weight:500;line-height:1.2}.meter{margin:20px 0 12px;height:5px;background:#3c433f;border-radius:10px;overflow:hidden}#meter-fill{display:block;height:100%;background:var(--lime);width:53.7%;transition:width .2s}#remaining{color:var(--lime);font-size:13px;margin:0}.cap-label{color:var(--muted);font-size:10px;margin:2px 0 12px}.budget-breakdown{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.budget-breakdown>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:12px;color:var(--muted)}.budget-breakdown b{font-weight:500;color:var(--text)}.selection-summary{font-size:10px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.budget-actions{display:flex;gap:8px;margin-top:20px}.budget-actions button{background:none;border:1px solid #697559;border-radius:5px;padding:10px;font-size:11px}.budget-actions button:first-child{flex:1;color:var(--lime)}.saved{font-size:9px;color:var(--muted);text-align:center;margin:10px 0 0}.section-intro{font-size:12px;color:var(--muted);margin:-6px 0 18px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.option{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:8px}.option:has(.activity:checked){border-color:var(--lime)}.option-main{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.option-main input{margin:2px 0 0}.option-title{flex:1;font-size:13px;font-weight:600}.option-desc{display:block;font-weight:400;color:var(--muted);font-size:10px;margin-top:4px}.option-price{font-size:13px;color:var(--lime);white-space:nowrap}.option-controls{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:10px;color:var(--muted)}select{padding:9px 8px;background:#10151e;border:1px solid #46505e;color:var(--text);border-radius:5px;min-width:0;max-width:100%}.option-controls select{width:100%;font-size:11px}.option-controls:has(input) select{width:auto;flex:1}.option-controls label{display:flex;align-items:center;gap:5px;white-space:nowrap}.option-controls input{width:15px;height:15px}select:disabled{opacity:.4}.tip-strip{padding:14px 16px;background:#252432;border-left:2px solid var(--pink);margin-top:20px;color:#d0c7d2;font-size:11px;border-radius:0 5px 5px 0}.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.extra{display:block;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:14px}.extra>span{display:block;font-size:12px;margin-bottom:8px}.extra select{width:100%;font-size:12px}.contingency{margin-top:18px;display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:center;font-size:12px}.contingency input{padding:10px;border:1px solid var(--line);border-radius:5px;background:#191e29;width:100%}.contingency small{grid-column:1/-1;color:var(--muted);font-size:10px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notes-grid h3{font-size:13px;color:var(--pink)}.notes-grid p{font-size:12px;color:var(--muted);margin:7px 0}.checklist{border:1px solid var(--line);border-radius:7px;padding:15px;margin:20px 0}.checklist legend{color:var(--lime);font-size:12px}.checklist label{display:flex;gap:10px;align-items:center;font-size:11px;margin:7px 0}details{color:var(--muted);font-size:11px}summary{cursor:pointer;color:var(--text);padding:12px 0}footer{padding:35px 0 25px;display:flex;justify-content:space-between;color:#969eaa;font-size:9px;letter-spacing:1px}.over-budget #remaining{color:#ffadac}.over-budget #meter-fill{background:#ffadac}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.noscript{position:fixed;bottom:0;background:#703333;padding:20px;width:100%;z-index:20}
@media(min-width:1500px){.hero{min-height:300px}.hero-art{height:225px}}
@media(max-width:1050px){.workspace{gap:18px;grid-template-columns:minmax(0,1fr) 260px}.tabs{gap:12px}.tab span{font-size:11px}.flight-row{align-items:flex-start;flex-direction:column}.next-row{align-items:flex-start;flex-direction:column}.hotel-body{padding:13px}.tags{min-height:48px}.hero{gap:24px}}
@media(max-width:760px){main{padding:0 18px 165px}.topbar{height:61px;padding:0 18px}.brand{font-size:12px;letter-spacing:1.5px;gap:7px}.brand-place{display:none}.brand-icon{font-size:29px}.top-status{gap:10px}.connection{font-size:9px}.hero{grid-template-columns:1fr;min-height:auto;padding:27px 0 22px;gap:0}.hero-art{display:none}h1{font-size:36px;letter-spacing:-1.4px}.eyebrow{font-size:9px}.intro{font-size:12px}.trip-frame{padding:13px;grid-template-columns:1fr 1fr;gap:12px 8px}.trip-frame b{font-size:10px;margin-left:3px}.trip-frame small{font-size:9px;margin-left:17px}.estimate-banner{font-size:9px;margin:11px 0 18px}.workspace{display:block}.tabs{gap:0;justify-content:space-between;margin-bottom:19px}.tab{font-size:9px;padding-bottom:12px}.tab span{display:block;font-size:10px;margin:3px 0 0}.section-heading{margin-bottom:14px}h2{font-size:23px}.micro{font-size:8px}.hotel-grid{gap:10px}.hotel-art{height:63px;padding:10px}.hotel-art>span:first-child{font-size:7px;letter-spacing:1px}.hotel-body{padding:12px}.hotel-title h3{font-size:13px}.hotel-title{gap:4px}.hotel-body p{font-size:10px;min-height:30px}.hotel-body .cancel{font-size:9px;min-height:27px;margin:10px 0}.hotel-price strong{font-size:22px}.hotel-price>span{font-size:9px}.price-note{font-size:8px}.tags{min-height:46px}.tags span{font-size:8px;padding:3px 4px}.fine{font-size:9px}.flight-row{flex-direction:row;align-items:center}.flight-row h3{font-size:12px}.flight-row p{font-size:9px;max-width:140px}.segments span{padding:9px 7px;font-size:10px}.segments small{display:block;font-size:7px;margin:0}.next-row{gap:12px}.next{width:100%}.budget{position:fixed;inset:auto 0 0;border-radius:14px 14px 0 0;border:1px solid #59664b;background:#1c2524fa;backdrop-filter:blur(16px);z-index:10;padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:center}.budget-top{grid-column:1/-1;margin-bottom:5px}.budget-top .eyebrow{font-size:8px}.budget-top .demo{font-size:8px;padding:1px 6px}.budget-label{font-size:9px;margin:0;grid-column:1;grid-row:2}#total{font-size:32px;letter-spacing:-1px;grid-column:1;grid-row:3}#remaining{font-size:12px;grid-column:2;grid-row:3;text-align:right}.cap-label{font-size:9px;margin:0;grid-column:2;grid-row:2;text-align:right}.budget>.price-note{grid-column:1/-1;font-size:8px;margin-top:5px}.meter{grid-column:1/-1;grid-row:4;height:3px;margin:5px 0}.budget-breakdown,.budget-actions,.budget .saved,.budget .selection-summary,.budget>.breakdown-note{display:none}.options-grid{gap:10px}.option{padding:12px}.option-main{gap:7px;flex-wrap:wrap}.option-title{font-size:12px}.option-price{margin-left:25px;font-size:12px}.option-controls{flex-wrap:wrap}.option-controls select{font-size:10px}.notes-grid{grid-template-columns:1fr;gap:13px}.extras-grid{gap:10px}.extra{padding:12px}.extra select{font-size:11px}.section-intro{font-size:11px}footer{font-size:8px;gap:12px;align-items:center}.desktop-only{display:none}}
@media(max-width:370px){main{padding-left:12px;padding-right:12px}.hotel-grid,.options-grid{grid-template-columns:1fr}.flight-row{flex-direction:column;align-items:flex-start}.tags{min-height:0}.hotel-body p{min-height:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.mobile-tools{display:none}@media(max-width:760px){.mobile-tools{display:flex;gap:10px;margin-top:20px}.mobile-tools button{border:1px solid var(--line);background:var(--panel);border-radius:5px;padding:11px 15px;font-size:11px}.mobile-tools button:first-child{color:var(--lime)}}
