:root{--ink:#1b443e;--muted:#6d7d75;--paper:#faf8f2;--line:#e5e7df;--orange:#ce7753;--green:#22574b;--sea:#d7e7e2;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 12px 45px #213e3120}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button,a{touch-action:manipulation}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d28354;outline-offset:3px}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}button svg,a svg{vertical-align:middle}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500}p{line-height:1.7;color:var(--muted)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:#fff;padding:14px}.skip:focus{top:10px}.topbar{height:84px;background:#fffdf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 24px;gap:20px;position:relative;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:26px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.brand-mark{height:44px;width:44px;border-radius:14px;background:var(--ink);color:#eec69b;display:grid;place-items:center;transform:rotate(-5deg)}.brand-mark svg{width:28px;height:28px}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:600;color:#8b9487;margin-top:3px}.trip-context{display:flex;align-items:center;gap:12px;font-size:12px;color:#66756b}.trip-context button{display:flex;gap:7px;align-items:center;font-weight:600}.trip-context svg{width:15px}.status-dot{display:inline-block;width:7px;height:7px;background:#77a981;border-radius:50%;flex-shrink:0}.context-divider{width:1px;height:20px;background:var(--line);margin:0 4px}.header-actions{display:flex;gap:15px;align-items:center}.quiet-button{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 0}.primary,.secondary{min-height:44px;border-radius:9px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:12px;text-decoration:none;transition:.2s}.primary{background:var(--green);color:#fff}.primary:hover{background:#153f35;transform:translateY(-1px)}.secondary{background:#fffdf8;border:1px solid #d8dfd3}.secondary:hover,.secondary.selected{background:#edf3e9;border-color:#91b39b}.small{min-height:40px;padding:9px 12px}.full{width:100%}.icon-button{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#e7ece4}.text-button{display:inline-flex;align-items:center;gap:5px;padding:7px 0;text-decoration:none;font-weight:600;font-size:11px}.text-button svg{width:14px}.workspace{height:calc(100dvh - 84px);display:grid;grid-template-columns:76px 330px minmax(0,1fr);position:relative;overflow:hidden}.nav-rail{background:#fffdf8;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:22px 0 15px;gap:14px;z-index:15}.rail-button{position:relative;width:60px;min-height:61px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#8a988d;transition:.2s}.rail-button span{font-size:9px;font-weight:600}.rail-button svg{width:22px;height:22px}.rail-button.active,.rail-button:hover{background:#eaf0e5;color:#275449}.rail-button.active:before{content:'';position:absolute;left:-8px;height:27px;width:3px;background:#48765c;border-radius:0 3px 3px 0}.rail-button b{position:absolute;top:5px;right:7px;font-size:8px;background:#cf7955;color:#fff;border:2px solid #fffdf8;border-radius:50%;width:16px;height:16px;display:grid;place-items:center}.rail-spacer{flex:1}.side-panel{background:var(--paper);border-right:1px solid #dce3d8;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d3c5 transparent;z-index:8;position:relative}.panel-intro{padding:30px 25px 21px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.9px;display:block}.orange{color:var(--orange)}.panel-intro h1{font-size:34px;line-height:1.18;letter-spacing:-1.15px;margin:15px 0}.panel-intro h1 em{font-weight:500;color:#6b8966}.panel-intro p{font-size:12px;line-height:1.75}.family-note{display:flex;align-items:center;gap:6px;font-size:10px;color:#728568;margin-top:15px}.family-note svg{width:15px;height:15px}.explore-tools{padding:0 20px}.search-box{height:43px;border:1px solid #dce3d7;background:#fffdf9;border-radius:9px;display:flex;align-items:center;gap:9px;padding:0 12px}.search-box svg{width:16px;color:#8b998d}.search-box input{width:100%;min-width:0;border:0;outline:0!important;background:none;color:var(--ink);font-size:10px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 22px}.chip{font-size:10px;padding:8px 11px;border:1px solid #e2e4db;border-radius:20px;display:flex;align-items:center;gap:4px;background:#fffdf8;min-height:32px;color:#788471}.chip svg{height:12px;width:12px}.chip.selected{color:#2a5949;border-color:#bbc9b3;background:#e7eddc}.list-caption{display:flex;justify-content:space-between;align-items:center;gap:3px;font-size:9px;margin-bottom:8px}.list-caption b{font-size:10px;font-weight:600}.list-caption span{color:#92a089;display:flex;align-items:center;gap:3px}.list-caption svg{width:11px;height:11px}.region-list{padding:0 12px 13px}.region-card{width:100%;text-align:left;display:flex;align-items:center;gap:11px;padding:10px;border-bottom:1px solid #e5e8df;border-radius:8px;transition:.2s}.region-card:hover,.region-card.active{background:#eef1e7}.region-card img{width:58px;height:61px;object-fit:cover;border-radius:8px;flex-shrink:0}.region-card>div{min-width:0;flex:1}.region-card small{text-transform:uppercase;font-size:8px;letter-spacing:1.15px;color:#8b947e}.region-card h3{font-size:12px;font-weight:600;margin:5px 0}.region-card p{font-size:9px;display:flex;align-items:center;gap:4px}.region-card p svg{width:11px;height:11px}.region-arrow svg{width:15px;color:#83977c}.panel-bottom{padding:14px 20px;font-size:9px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line);color:#849278}.panel-bottom svg{width:13px}.map-workspace{min-width:0;background:var(--sea);display:flex;flex-direction:column;position:relative;overflow:hidden}.map-top{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px 26px;pointer-events:none;background:linear-gradient(#d7e7e2e8,transparent)}.map-top>*{pointer-events:auto}.map-title .eyebrow{color:#839a8a;font-size:8px}.map-title h2{font-size:23px;margin-top:7px;letter-spacing:-.5px}.segmented{display:flex;background:#fffdf4e8;padding:4px;border-radius:10px;box-shadow:0 3px 15px #3a574b0a}.segmented button{display:flex;align-items:center;gap:6px;font-size:10px;padding:9px 11px;border-radius:7px;min-height:36px;color:#819382}.segmented button.active{background:var(--green);color:#fff}.segmented svg{width:14px;height:14px}.map-stage{position:relative;flex:1;min-height:250px;isolation:isolate;overflow:hidden}#map{height:100%;width:100%;min-height:250px}.atlas{width:100%;height:100%;touch-action:none;display:block;cursor:grab}.atlas:active{cursor:grabbing}.travel-region{transition:fill-opacity .2s}.travel-region:hover{fill-opacity:.7}.map-caption{position:absolute;top:95px;left:26px;display:flex;align-items:center;gap:7px;font-size:9px;color:#6d8a78;pointer-events:none}.leaf-dot{height:8px;width:8px;border-radius:50%;background:#83ae83;border:2px solid #f2f5df}.caption-dot{margin:0 2px}.map-controls{position:absolute;right:22px;top:107px;display:flex;flex-direction:column;background:#fffdf5ee;box-shadow:0 3px 10px #36553c14;border-radius:10px;padding:3px}.map-controls .icon-button{width:33px;height:33px;border-radius:6px}.map-controls svg{width:16px}.compass-rose{position:absolute;right:28px;bottom:40px;display:flex;align-items:center;flex-direction:column;gap:3px;opacity:.5}.compass-rose span{font-size:9px;letter-spacing:1px}.compass-rose svg{width:33px;height:33px;transform:rotate(-45deg);stroke-width:1}.map-footnote{position:absolute;right:20px;bottom:10px;font-size:8px;text-align:right;line-height:1.6;color:#739389}.departure-postcard{position:absolute;left:24px;bottom:19px;display:flex;gap:13px;align-items:center;background:#fffdf5ed;border:1px solid #fdf8e5;border-radius:13px;padding:15px 19px;box-shadow:0 5px 25px #38604b0d;transform:rotate(-1deg)}.postcard-stamp{display:grid;place-items:center;color:#b9855d;height:40px;width:40px;border:1px dashed #b3b49c;border-radius:50%}.postcard-stamp svg{transform:rotate(-20deg)}.departure-postcard small{font-size:7px;letter-spacing:1.3px;color:#9a9c87;display:block}.departure-postcard b{font-size:13px;margin-top:6px;display:block;font-weight:600}.departure-postcard b>span:first-child{padding:0 8px;font-weight:400;color:#c18964}.departure-postcard button{font-size:8px;color:#92a086;padding:5px 0 0}.departure-postcard button svg{width:11px;height:11px}.inspiration-shelf{padding:17px 25px 23px;background:#edf1e7d9;backdrop-filter:blur(12px);border-top:1px solid #e3eadd}.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px;gap:10px}.shelf-heading .eyebrow{font-size:7px;color:#91a080}.shelf-heading h3{font-family:var(--serif);font-weight:500;font-size:21px;margin-top:4px}.shelf-heading>span{font-size:9px;color:#8d9c87}.inspiration-cards{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.inspiration-card{height:149px;min-width:180px;flex:1;position:relative;border-radius:12px;overflow:hidden;padding:0;text-align:left;color:#fff;background:#496b52}.inspiration-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.inspiration-card:hover img{transform:scale(1.06)}.photo-shade{position:absolute;inset:0;background:linear-gradient(transparent 20%,#062919bb)}.photo-tag{position:absolute;top:11px;left:11px;display:flex;align-items:center;gap:4px;padding:5px 7px;background:#fffdf3ee;border-radius:5px;color:#51725c;font-size:7px}.photo-tag svg{width:10px;height:10px}.inspiration-text{position:absolute;bottom:14px;left:13px;right:23px}.inspiration-text small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;color:#d5e3ce}.inspiration-text b{font-family:var(--serif);font-size:18px;font-weight:500}.photo-open{position:absolute;bottom:12px;right:9px}.photo-open svg{width:16px}.detail-panel{position:absolute;right:15px;top:15px;bottom:15px;width:420px;background:#fffdf8;border-radius:18px;box-shadow:0 20px 70px #173c3f38;z-index:12;overflow:hidden;display:flex;flex-direction:column;animation:detail-in .25s ease-out}.detail-hero{height:245px;position:relative;flex-shrink:0;background:#497758;color:#fff}.detail-hero>img{width:100%;height:100%;object-fit:cover;animation:fade-in .5s}.hero-shade{position:absolute;inset:0;background:linear-gradient(#132b1e22,#14352200 25%,#163729aa 82%,#113422c9)}.hero-top{position:absolute;top:12px;left:14px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:5px}.glass-tag{background:#fff9e7e6;border-radius:5px;color:#527159;display:flex;align-items:center;gap:5px;padding:6px 8px;font-size:7px;letter-spacing:.7px}.glass-tag svg{height:11px;width:11px}.hero-top .icon-button{background:#173a3350;color:#fff;width:34px;height:34px;backdrop-filter:blur(8px)}.hero-caption{position:absolute;bottom:52px;left:24px;right:20px}.hero-caption small{font-size:9px;letter-spacing:.6px;opacity:.85}.hero-caption h2{font-size:29px;line-height:1.2;margin:6px 0}.hero-caption p{font-size:11px;color:#e2e9d8}.slideshow-controls{position:absolute;bottom:7px;left:15px;right:15px;display:flex;align-items:center;gap:4px}.slideshow-controls .icon-button{width:34px;height:34px;color:#fff}.slideshow-controls .icon-button:hover{background:#ffffff25}.slideshow-controls svg{width:16px}.photo-dots{display:flex;gap:3px;flex:1;align-items:center}.photo-dots button{width:25px;height:30px;padding:10px 3px;position:relative}.photo-dots button:after{content:'';display:block;height:4px;background:#fff7;border-radius:3px}.photo-dots button.active:after{background:#fff}.detail-tabs{display:flex;border-bottom:1px solid var(--line);flex-shrink:0;padding:0 18px}.detail-tabs button{flex:1;padding:17px 5px;font-size:11px;position:relative;color:#8a9486}.detail-tabs button.active{font-weight:700;color:var(--ink)}.detail-tabs button.active:after{position:absolute;content:'';bottom:0;left:16%;right:16%;height:2px;background:var(--green)}.detail-body{overflow:auto;flex:1;padding:22px 24px;scrollbar-width:thin}.detail-body>h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:14px 0 10px}.detail-body>h3 svg{width:18px}.detail-body>p{font-size:12px}.family-badge{display:flex;gap:5px;align-items:center;font-size:9px;color:#6f8c63}.family-badge svg{width:14px;height:14px}.family-badge span{margin-left:auto;font-size:8px;color:#9ba38d}.city-base{background:#eff3e9;border:1px solid #e4eadb;border-radius:10px;display:flex;gap:12px;padding:16px;margin:20px 0}.city-base>svg{width:20px;color:#799c6c}.city-base small{font-size:7px;letter-spacing:1px;color:#879879;display:block}.city-base b{font-size:16px;display:block;margin:5px 0}.city-base p{font-size:11px;line-height:1.6}.city-base span{font-size:8px;color:#829374;display:block;margin-top:9px}.place-list{margin-bottom:20px}.place-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 0;text-align:left;border-bottom:1px solid var(--line)}.place-item img{width:69px;height:64px;border-radius:8px;object-fit:cover}.place-item div{flex:1}.place-item b{font-size:11px;font-weight:650}.place-item p{font-size:10px;line-height:1.6;margin-top:4px}.place-item>svg{width:14px;color:#a0aa90}.season-note{display:flex;gap:12px;background:#faf1df;border:1px solid #f0e4c9;padding:14px;border-radius:9px;color:#a68546}.season-note svg{width:18px}.season-note b{font-size:11px}.season-note p{font-size:10px;color:#9b8c65;line-height:1.6;margin-top:4px}.travel-tip{margin:16px 0}.source-link{display:inline-flex;align-items:center;gap:6px;font-size:10px;margin:8px 0;color:#6d8868}.source-link svg{width:12px}.photo-attribution{font-size:8px;color:#8b9885;margin-top:18px;line-height:1.6;overflow-wrap:anywhere}.detail-footer{padding:16px 22px;background:#fffdf8;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.detail-footer b{display:block;font-size:13px}.detail-footer small{display:block;font-size:9px;color:#8b9884;margin-top:4px}.transport-card{border:1px solid #dde6da;border-radius:12px;padding:16px;margin:14px 0}.transport-top{display:flex;align-items:center;gap:10px}.transport-icon{width:36px;height:36px;background:#edf2e6;display:grid;place-items:center;border-radius:9px}.transport-top h4{font-size:13px}.transport-top span{font-size:10px;color:#7c9075}.tiny-tag{margin-left:auto!important;font-size:7px!important;white-space:nowrap;background:#f0f4e5;padding:5px;border-radius:5px}.transport-price{display:flex;justify-content:space-between;align-items:center;margin:15px 0 8px;gap:6px}.transport-price b{font-size:15px}.transport-price span{font-size:8px;color:#92a085}.transport-card p{font-size:10px}.transport-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.notice{background:#eef3e8;border-radius:9px;padding:14px;margin:15px 20px;color:#667e5a;font-size:11px;line-height:1.6}.detail-body .notice{margin:14px 0}.notice.warning{background:#fcf1da;color:#91712c}.notice.subtle{display:flex;align-items:flex-start;gap:10px;background:#f0f3eb;color:#7b8c70}.notice svg{width:17px}.notice p{font-size:10px;margin-top:5px}.notice a{font-weight:600}.empty-state{text-align:center;padding:34px 15px;color:#8b9e82}.empty-state>svg{width:29px;height:29px;margin-bottom:12px}.empty-state h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:4px 0 10px}.empty-state p{font-size:12px}.empty-state button{margin-top:14px}.small-empty{padding:25px 8px}.small-empty h3{font-size:18px}.compact{padding-bottom:15px}.compact h1{font-size:29px}.plan-name-row{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;gap:8px}.plan-name-row h2{font-family:var(--sans);font-weight:600;font-size:18px;overflow-wrap:anywhere}.journey-summary{display:flex;margin:0 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journey-summary>div{flex:1;border-right:1px solid var(--line);text-align:center}.journey-summary>div:last-child{border:0}.journey-summary b{font-family:var(--serif);font-size:23px;display:block}.journey-summary span{font-size:8px;color:#849579;display:block;margin-top:5px}.micro{font-size:9px;line-height:1.7;color:#8a977f}.padded{padding:10px 22px}.journey-timeline{padding:10px 21px 15px}.origin-stop,.itinerary-stop{position:relative;display:flex;gap:11px}.timeline-dot,.timeline-number{width:27px;height:27px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#e7eddc;color:#507947;position:relative;z-index:2}.timeline-dot svg{width:13px}.origin-stop small{font-size:7px;letter-spacing:1.3px;color:#95a188}.origin-stop h3{font-size:14px;margin-top:4px}.origin-stop p{font-size:10px;margin-top:4px}.leg-indicator{display:flex;align-items:center;gap:8px;font-size:8px;color:#8a9c7d;padding:16px 0 16px 36px;position:relative}.leg-indicator:before{content:'';position:absolute;left:13px;top:0;bottom:0;border-left:1px dashed #c2cfb6}.leg-indicator svg{width:13px;height:13px}.stop-content{flex:1;min-width:0;background:#fffdf7;border:1px solid #e2e7d9;padding:11px 12px;border-radius:10px}.stop-head{display:flex;justify-content:space-between;align-items:center}.stop-head .icon-button{width:24px;height:24px}.stop-head svg{width:13px}.stop-title{font-weight:650;font-size:12px;padding:0;text-align:left}.stop-content>small{font-size:8px;line-height:1.6;display:block;color:#91a084;margin-top:4px}.timeline-number{font-size:10px;background:var(--green);color:#fff}.stop-controls{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:9px}.stop-controls label{display:flex;align-items:center;gap:7px;font-size:9px;color:#849577}.stop-controls input{width:45px;border:1px solid #dbe4d3;border-radius:5px;padding:5px;background:#fff;color:var(--ink);font-size:11px}.stop-controls .icon-button{width:29px;height:29px;border:1px solid #e1e8da;border-radius:6px}.stop-controls svg{width:12px}.stop-controls .text-button{font-size:8px}.return-stop{display:flex;align-items:flex-start;gap:10px;padding:22px 5px 5px}.return-stop>svg{width:18px;color:#a2ac91}.return-stop b{font-size:11px}.return-stop p{font-size:9px}.return-stop a{display:inline-block;font-size:9px;margin-top:7px}.return-stop a svg{width:12px}.budget-card{margin:10px 20px;background:#eaf0e2;border:1px solid #dde7d2;border-radius:12px;padding:17px}.budget-card .eyebrow{font-size:7px;color:#8d9b7c}.budget-title{display:flex;justify-content:space-between;align-items:center;margin:9px 0 16px}.budget-title h3{font-family:var(--serif);font-weight:500;font-size:19px}.budget-title svg{width:18px;color:#91a27c}.budget-card>div:not(.budget-title){display:flex;justify-content:space-between;gap:8px;margin:10px 0;font-size:9px;line-height:1.5}.budget-card>div>span{color:#839272}.budget-card>div>b{font-size:10px;white-space:nowrap}.budget-card>p{font-size:8px;color:#839477;line-height:1.6}.quoted-subtotal{border-top:1px solid #d3dfc8;padding-top:12px}.panel-actions{padding:12px 20px 22px;display:flex;flex-direction:column;gap:9px}.panel-actions.horizontal{flex-direction:row}.panel-actions.horizontal>*{flex:1}.saved-plan-list{padding:0 20px}.saved-plan{background:#fffdf8;border:1px solid #e0e5d8;border-radius:12px;padding:16px;margin-bottom:13px}.saved-plan.active{border-color:#9eb69a;background:#f4f7ed}.saved-plan-top{display:flex;align-items:center;gap:10px}.plan-symbol{width:36px;height:40px;display:grid;place-items:center;border-radius:7px;background:#e8eedf;color:#6b8b61}.saved-plan-top>div{flex:1;min-width:0}.saved-plan-top h2{font-size:19px;overflow-wrap:anywhere}.saved-plan-top small{font-size:8px;color:#8c9c7f}.saved-plan-top .icon-button{width:29px;height:29px}.saved-plan-top .icon-button svg{width:14px}.saved-plan>p{font-size:10px;line-height:1.7;margin:13px 0}.plan-stats{display:flex;gap:11px;font-size:8px;color:#91a07e}.plan-saved-price{font-size:9px;display:flex;justify-content:space-between;border-top:1px solid #e3e9da;margin-top:12px;padding-top:12px;gap:7px}.plan-saved-price b{font-size:11px}.saved-plan-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.saved-plan-actions .icon-button{height:33px;width:33px}.saved-plan-actions .icon-button svg{width:14px}.hotel-preferences{display:flex;gap:9px;align-items:center;background:#f7efd9;border:1px solid #eee0b9;border-radius:9px;padding:12px;color:#9a8242}.hotel-preferences svg{width:22px}.hotel-preferences b{font-size:10px;display:block}.hotel-preferences small{font-size:8px;display:block;margin-top:4px}.price-actions{display:flex;gap:8px;margin:15px 0 9px}.price-actions .primary{flex:1}.snapshot-label{display:flex;align-items:center;gap:7px;font-size:10px;margin-top:24px}.quote-dates{display:flex;flex-direction:column;gap:5px;margin:10px 0 14px}.quote-dates b{font-size:12px}.quote-dates span{font-size:9px;color:#849478}.quote-dates small{font-size:8px;color:#9ca68e}.hotel-result{border:1px solid #e2e8da;background:#fffefa;border-radius:11px;padding:13px;margin-bottom:11px}.hotel-heading{display:flex;gap:9px;align-items:flex-start}.hotel-monogram{height:32px;width:30px;background:#ebefdf;display:grid;place-items:center;font-family:var(--serif);font-size:20px;border-radius:5px;color:#849775;flex-shrink:0}.hotel-heading h4{font-size:11px;line-height:1.5;font-weight:650}.hotel-heading small{display:block;font-size:8px;color:#98a38b;margin-top:3px}.hotel-rate{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.hotel-rate b{font-size:18px;font-weight:600}.hotel-rate span{display:block;font-size:8px;color:#8c9b7e;margin-top:3px}.hotel-rate .secondary{font-size:9px;min-height:33px}.member-saving{font-size:8px;color:#879976;margin-top:8px}.hotel-pick{display:flex;align-items:flex-start;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:8px;line-height:1.4}.hotel-pick>svg{width:12px;height:12px;color:#b29353}.hotel-pick>span{flex:1}.hotel-pick small{display:block;font-size:7px;color:#a1936a;margin-top:4px}.hotel-pick .icon-button{width:20px;height:20px}.hotel-pick .icon-button svg{width:11px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 22px;background:#19493f;color:#fff;border-radius:12px;box-shadow:var(--shadow);font-size:12px;z-index:80;max-width:calc(100% - 30px);opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}.sync-status{position:absolute;bottom:6px;left:93px;font-size:8px;z-index:16;color:#8c9b83;pointer-events:none}dialog{border:1px solid #e2e8dc;border-radius:20px;padding:0;background:#fffdf7;color:var(--ink);max-width:min(92vw,560px);width:560px;box-shadow:0 30px 130px #15392e44}dialog::backdrop{background:#193d3c88;backdrop-filter:blur(5px)}.dialog-content{padding:30px;max-height:85dvh;overflow:auto}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.dialog-heading h2{font-size:27px}.dialog-content p{font-size:12px}.dialog-content label.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:600;margin:17px 0}.field input,.field select,.field textarea{border:1px solid #d9e3d1;border-radius:8px;padding:12px;background:#fff;color:var(--ink);min-width:0;width:100%}.field textarea{min-height:70px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid label.field{margin:10px 0}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.dialog-content .notice{margin:15px 0}.form-error{color:#b0533c;font-size:11px;margin-top:10px}.credits-list{font-size:9px;line-height:1.7;padding-left:17px;color:#86937c;max-height:200px;overflow:auto}.credits-list li{margin-bottom:10px}.compare-table-wrap{overflow:auto;margin-top:20px}.compare-table{border-collapse:collapse;width:100%;font-size:10px;min-width:450px}.compare-table th,.compare-table td{border-bottom:1px solid var(--line);padding:12px 9px;text-align:left;vertical-align:top}.compare-table th{background:#eff3e8}.compare-table td:first-child{font-weight:600}.photo-dialog{width:min(1100px,95vw);max-width:95vw;background:#132e29;color:#fff;border:0}.photo-dialog .dialog-content{padding:0;max-height:95dvh;overflow:hidden;position:relative}.photo-dialog .dialog-heading{position:absolute;top:15px;left:20px;right:15px;z-index:2}.photo-dialog .dialog-heading .icon-button{background:#193c37a9;color:#fff}.full-photo{display:block;width:100%;height:70dvh;object-fit:contain;background:#142d28}.photo-dialog-caption{padding:18px 25px 50px;background:#17372e}.photo-dialog-caption h2{font-size:24px}.photo-dialog-caption p{font-size:10px;color:#bac9ae}.photo-dialog .slideshow-controls{bottom:10px;max-width:350px;left:50%;transform:translateX(-50%)}.loading-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--paper);text-align:center}.loading-screen h1{font-size:36px}.loading-screen p{font-size:13px}.loading-screen img{height:55px;width:55px}.storage-meter{height:5px;background:#e5ebde;border-radius:3px;margin:12px 0;overflow:hidden}.storage-meter span{display:block;height:100%;background:#89a778;min-width:2px}.build-note{font-size:9px;color:#92a085;margin:15px 0}.flight-offer{padding:15px;border:1px solid var(--line);border-radius:9px;margin-top:10px}.flight-offer h4{font-size:12px}.flight-offer p{font-size:10px}.flight-offer b{display:block;font-size:18px;margin:7px 0}@keyframes detail-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in{from{opacity:.7}to{opacity:1}}
@media(min-width:1600px){.workspace{grid-template-columns:82px 355px minmax(0,1fr)}.panel-intro{padding:35px 30px 24px}.panel-intro h1{font-size:37px}.region-card{padding:13px}.inspiration-card{height:170px}.detail-panel{width:450px}.detail-hero{height:280px}.inspiration-shelf{padding-bottom:27px}.map-title h2{font-size:27px}}
@media(max-width:1180px){.trip-context>span:not(.status-dot){display:none}.trip-context{gap:0}.workspace{grid-template-columns:65px 285px minmax(0,1fr)}.topbar{padding:0 20px}.panel-intro{padding:25px 20px 20px}.panel-intro h1{font-size:29px}.map-top{padding:22px 20px;align-items:flex-start}.map-title h2{font-size:20px}.map-switch{flex-direction:column}.map-switch button{font-size:8px;padding:6px 8px;min-height:29px}.map-caption{left:20px;top:88px;font-size:8px}.map-controls{top:122px;right:15px}.shelf-heading>span{display:none}.inspiration-shelf{padding:15px 18px 20px}.inspiration-card{height:137px;min-width:170px}.departure-postcard{padding:12px;left:17px;bottom:20px}.departure-postcard small{font-size:6px}.detail-panel{width:395px;right:12px;top:12px;bottom:12px}.detail-hero{height:220px}.glass-tag{font-size:6px}.list-caption span{display:none}}
@media(max-width:850px){.trip-context{display:none}.topbar{height:72px;padding:0 17px;gap:12px}.brand{font-size:23px}.brand-mark{width:38px;height:38px}.brand small{font-size:6px}.header-actions{gap:7px}.party-button{display:none}.workspace{height:calc(100dvh - 72px);grid-template-columns:61px 250px minmax(0,1fr)}.panel-intro h1{font-size:26px}.panel-intro p{font-size:11px}.family-note{font-size:8px}.explore-tools{padding:0 15px}.region-card{gap:8px;padding:9px 5px}.region-card img{width:47px;height:54px}.region-card h3{font-size:11px}.region-card p{font-size:8px}.chip{padding:7px 9px;font-size:9px}.map-title{display:none}.map-switch{flex-direction:row}.map-top{justify-content:center;padding:18px 10px}.map-caption{font-size:7px;left:10px;top:69px}.detail-panel{width:min(410px,calc(100vw - 84px));z-index:25}.departure-postcard small{display:none}.departure-postcard{padding:10px;gap:9px}.postcard-stamp{height:30px;width:30px}.postcard-stamp svg{width:16px}.departure-postcard b{font-size:11px;margin:0}.map-footnote{font-size:6px}.compass-rose{display:none}.inspiration-card{min-width:155px;height:120px}.inspiration-text b{font-size:16px}.inspiration-shelf{padding:13px}.shelf-heading h3{font-size:19px}.map-label .label-pill text{font-size:10px}}
@media(max-width:640px){body{font-size:13px}.topbar{height:67px;padding:0 14px}.brand{font-size:22px;gap:8px}.brand-mark{height:35px;width:35px;border-radius:11px}.brand-mark svg{width:23px;height:23px}.brand small{font-size:5.5px;letter-spacing:1.55px}.header-actions .primary{padding:8px 10px;font-size:10px;min-height:37px}.header-actions .primary svg{width:15px}.workspace{height:auto;min-height:calc(100dvh - 67px);display:flex;flex-direction:column;overflow:visible;padding-bottom:73px}.nav-rail{position:fixed;bottom:0;left:0;right:0;height:65px;flex-direction:row;justify-content:space-around;padding:4px 8px calc(4px + env(safe-area-inset-bottom));z-index:40;border-top:1px solid #dce4d4;border-right:0;background:#fffdf8f7;backdrop-filter:blur(12px);gap:0}.rail-button{min-height:50px;width:65px;border-radius:9px;gap:4px}.rail-button svg{height:21px;width:21px}.rail-button span{font-size:8px}.rail-button.active:before{display:none}.rail-spacer{display:none}.rail-button[data-action="info"]{display:none}.side-panel{order:2;overflow:visible;border:0}.map-workspace{order:1;height:510px;flex:none}.map-stage{min-height:300px;height:355px;flex:none}.map-top{padding:13px 13px;justify-content:space-between}.map-title{display:block}.map-title .eyebrow{font-size:6px;letter-spacing:1.3px}.map-title h2{font-size:18px;margin-top:5px}.map-switch{flex-direction:column;padding:3px}.map-switch button{font-size:7px;min-height:26px;padding:4px 6px}.map-switch svg{width:11px;height:11px}.map-caption{top:63px;left:13px;font-size:7px}.map-controls{right:10px;top:96px}.map-controls .icon-button{width:29px;height:31px}.departure-postcard{left:12px;bottom:16px;padding:10px;gap:9px;border-radius:10px}.departure-postcard b{font-size:10px}.departure-postcard small{display:none}.departure-postcard button{font-size:7px}.departure-postcard button svg{width:9px}.map-footnote{font-size:5.5px;right:10px;bottom:8px}.inspiration-shelf{height:155px;padding:10px 12px 12px}.shelf-heading{margin-bottom:9px}.shelf-heading h3{font-size:17px;margin-top:0}.shelf-heading .eyebrow{display:none}.shelf-heading>span{display:block;font-size:7px}.inspiration-card{height:110px;min-width:151px}.inspiration-text{bottom:11px;left:11px}.inspiration-text b{font-size:16px}.photo-tag{top:8px;left:8px;font-size:6px}.panel-intro{padding:25px 21px 18px}.panel-intro h1{font-size:32px}.panel-intro p{font-size:12px}.family-note{font-size:10px}.explore-tools{padding:0 20px}.search-box input{font-size:11px}.filter-chips{gap:7px;margin:12px 0 19px}.chip{font-size:10px;min-height:36px;padding:8px 12px}.list-caption b{font-size:11px}.list-caption span{display:flex}.region-list{padding:0 14px}.region-card{padding:12px 7px;gap:13px}.region-card img{width:68px;height:65px}.region-card h3{font-size:14px}.region-card p{font-size:10px}.region-card small{font-size:8px}.region-arrow svg{width:18px}.detail-panel{position:fixed;left:8px;right:8px;top:77px;bottom:76px;width:auto;z-index:35;border-radius:16px;max-width:none}.detail-hero{height:210px}.hero-caption{left:21px;bottom:51px}.hero-caption h2{font-size:27px}.hero-caption p{font-size:10px}.detail-body{padding:18px 21px}.detail-tabs button{font-size:11px;padding:15px 4px;min-height:44px}.detail-footer{padding:12px 17px}.detail-footer .primary{font-size:11px;padding:11px 15px}.slideshow-controls .icon-button{width:37px;height:37px}.hero-top .icon-button{height:36px;width:36px}.photo-dots button{width:28px;height:35px}.sync-status{position:fixed;left:auto;right:15px;bottom:67px;background:#fbfaf2ed;border-radius:4px;padding:3px 6px;font-size:7px;z-index:32}.workspace[data-view="journey"] .map-workspace,.workspace[data-view="plans"] .map-workspace{display:none}.workspace[data-view="journey"] .side-panel,.workspace[data-view="plans"] .side-panel{min-height:calc(100dvh - 140px)}.journey-summary span{font-size:9px}.stop-title{font-size:14px}.stop-content>small{font-size:9px}.stop-controls label{font-size:10px}.stop-controls input{width:55px;min-height:36px;font-size:12px}.stop-controls .icon-button{width:36px;height:36px}.stop-controls .text-button{font-size:10px}.leg-indicator{font-size:9px}.stop-content{padding:14px}.budget-card>div:not(.budget-title){font-size:11px}.budget-card>div>b{font-size:12px}.budget-card>p{font-size:10px}.panel-actions .primary,.panel-actions .secondary{min-height:47px}.saved-plan-top h2{font-size:23px}.saved-plan>p{font-size:12px}.plan-stats{font-size:10px}.plan-saved-price{font-size:10px}.plan-saved-price b{font-size:13px}.saved-plan-top small{font-size:10px}.saved-plan-actions .icon-button{width:40px;height:40px}.dialog-content{padding:23px}.dialog-heading h2{font-size:25px}.dialog-content label.field{font-size:11px}.photo-dialog{max-width:96vw;width:96vw}.full-photo{height:58dvh}.photo-dialog-caption{padding:15px 18px 55px}.photo-dialog-caption h2{font-size:22px}.form-grid{gap:0 11px}#toast{bottom:85px;font-size:11px;text-align:center}.hotel-result{padding:14px}.hotel-heading h4{font-size:12px}.hotel-heading small{font-size:9px}.hotel-rate .secondary{min-height:40px;font-size:10px}.hotel-rate span,.member-saving,.micro{font-size:9px}.notice{font-size:11px}.glass-tag{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.micro,.quote-dates span,.quote-dates small,.hotel-rate span,.member-saving{font-size:11px;color:#53675b;line-height:1.65}
.hotel-rate .secondary{font-size:11px;min-height:40px}.quote-dates b{font-size:13px}.hotel-heading small{font-size:10px;color:#53675b}
.side-panel{padding-bottom:32px}.sync-status{background:var(--paper);border-top:1px solid var(--line);padding:7px 12px;font-size:9px;color:#52665a;bottom:0;left:76px;width:330px;z-index:17}
.map-footnote{font-size:9px;color:#526d62}.refresh-hint{margin:9px 0 14px;font-size:11px;color:#53675b;line-height:1.6}
.rail-pass-note{background:#edf3e9;border:1px solid var(--line);border-radius:10px;padding:15px;margin:15px 0}.rail-pass-note p{font-size:12px;margin-top:7px}
.ai-dialog{width:min(680px,calc(100vw - 30px))}.ai-context{display:flex;align-items:center;gap:8px;background:#edf3e9;border-radius:9px;padding:12px;margin-bottom:14px;font-size:12px}.ai-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.ai-suggestions .chip{font-size:11px;min-height:40px}.ai-conversation{max-height:38dvh;overflow:auto;display:grid;gap:14px;margin-bottom:18px}.ai-message{padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.ai-message.user{background:#edf3e9;margin-left:28px}.ai-message b{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ai-message p{white-space:pre-wrap;color:#38564a;font-size:14px;margin-top:7px}.ai-thinking{padding:10px}.ai-submit{display:flex;align-items:center;gap:16px;justify-content:space-between}.ai-submit .micro{max-width:430px}.ai-dialog .field textarea{min-height:76px}.ai-dialog .dialog-heading{margin-bottom:15px}
@media(max-width:1100px) and (min-width:641px){.sync-status{left:60px;width:250px}}
@media(max-width:640px){#toast{top:12px;bottom:auto;width:calc(100% - 30px);font-size:12px;max-height:90px}.sync-status{bottom:65px;left:0;right:0;width:100%;font-size:9px;line-height:12px;padding:4px 12px;text-align:right}.detail-panel{bottom:90px}.map-footnote{font-size:8px}.micro,.quote-dates span,.quote-dates small,.hotel-rate span,.member-saving{font-size:11px}.ai-dialog .dialog-content{padding:20px}.ai-submit{align-items:flex-end;gap:10px}.ai-submit .micro{font-size:10px}.ai-message p{font-size:13px}.ai-conversation{max-height:32dvh}.ai-suggestions .chip{font-size:10px}.nav-rail{justify-content:space-around}.rail-button{min-width:0}}
@media print{.topbar,.nav-rail,.map-workspace,.detail-panel,.panel-actions,.sync-status,.icon-button{display:none!important}.workspace{display:block;height:auto;overflow:visible}.side-panel{overflow:visible;border:0}.budget-card,.saved-plan{break-inside:avoid}}
:root{--rail-width:64px;--places-width:252px;--planning-width:330px}
@media(min-width:641px){.workspace{grid-template-columns:var(--rail-width) var(--places-width) minmax(0,1fr)}.workspace[data-view="journey"],.workspace[data-view="plans"]{grid-template-columns:var(--rail-width) var(--planning-width) minmax(0,1fr)}.rail-button{width:54px}.rail-button span{font-size:9px}.sync-status{left:var(--rail-width);width:var(--places-width)}body:has(.workspace[data-view="journey"]) .sync-status,body:has(.workspace[data-view="plans"]) .sync-status{width:var(--planning-width)}.explore-intro{padding:22px 18px 17px}.explore-intro h1{font-size:27px;margin:9px 0 10px;letter-spacing:-.7px}.explore-intro p{font-size:11px}.explore-tools{padding:0 17px}.search-box input{font-size:10px}.filter-chips{gap:5px;margin:12px 0 17px}.chip{font-size:9px;padding:7px 9px}.region-list{padding:0 10px}.region-card{gap:9px;padding:9px 6px}.region-card img{width:43px;height:47px}.region-card h3{font-size:11px;margin:4px 0}.region-card p{font-size:9px}.region-card small{font-size:7px}.region-arrow svg{width:14px}.list-caption span{display:none}.map-title h2{font-size:24px}.map-caption{top:87px;font-size:11px}.map-top{padding:22px 24px}.inspiration-shelf{height:142px;flex:0 0 142px;padding:12px 20px 15px}.shelf-heading{margin-bottom:9px;align-items:center}.shelf-heading h3{font-size:18px;margin:0}.shelf-heading>span{font-size:10px;color:#52675b;display:block}.inspiration-card{height:82px;min-width:155px;border-radius:9px}.inspiration-text{bottom:10px;left:11px}.inspiration-text b{font-size:16px}.inspiration-text small{font-size:7px;margin-bottom:2px}.inspiration-card .photo-tag{display:none}}
.active-trip{display:flex;align-items:center;gap:9px;width:100%;background:#eaf0e3;border:1px solid #d9e2d0;border-radius:9px;padding:10px 11px;text-align:left;margin-top:15px}.active-trip>span{flex:1;min-width:0}.active-trip b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-trip small{display:block;color:#53675b;font-size:10px;margin-top:3px}.active-trip>svg{width:16px;height:18px}.autosave-note{display:block;font-size:10px;color:#586e60;margin-top:7px}.route-idea{min-width:300px;flex:1;height:82px;display:flex;align-items:center;gap:12px;text-align:left;background:#fffdf8;border:1px solid #dfe5d6;border-radius:10px;overflow:hidden;padding:0 12px 0 0;transition:background .2s}.route-idea:hover{background:#f5f8ec;border-color:#93ad91}.route-idea>img{width:82px;height:100%;object-fit:cover;flex-shrink:0}.route-idea-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.route-idea-copy>small{font-size:7px;letter-spacing:.55px;color:#62725f}.route-idea-copy>b{font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.2}.route-idea-copy>span{font-size:10px;color:#53675b}.route-idea>svg{width:14px;height:16px}.idea-dialog{width:620px;max-width:94vw}.idea-banner{height:160px;position:relative;border-radius:12px;overflow:hidden;margin:18px 0}.idea-banner>img{width:100%;height:100%;object-fit:cover}.idea-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0f322baa)}.idea-banner>span{position:absolute;bottom:14px;left:18px;right:18px;z-index:1;color:#fff;font-size:19px;font-family:var(--serif)}.idea-summary{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.idea-summary>b{font-size:15px}.idea-summary>span{font-size:11px;color:#53675b}.idea-stops{padding:14px 0;margin:14px 0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.idea-stops li{display:flex;align-items:center;gap:11px;padding:9px 0}.idea-stop-number{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e7eedf;font-size:11px}.idea-stops li>div{flex:1;min-width:0}.idea-stops b{font-size:12px}.idea-stops small{display:block;font-size:11px;color:#657568;margin-top:3px}.idea-dialog h3{font-size:14px;margin:18px 0 8px}.idea-dialog .idea-disclaimer{margin-top:17px;padding:12px;border-radius:8px;background:#eef2e7;font-size:11px}.idea-dialog .dialog-footer{position:sticky;bottom:-30px;background:#fffdf7;padding:16px 0 2px;margin-top:12px;border-top:1px solid var(--line)}
@media(min-width:1600px){:root{--places-width:272px;--planning-width:355px}.explore-intro h1{font-size:29px}}
@media(min-width:641px) and (max-width:1000px){:root{--rail-width:60px;--places-width:220px;--planning-width:285px}.explore-intro{padding:20px 15px 15px}.explore-intro h1{font-size:25px}.explore-tools{padding:0 14px}.region-card img{width:38px;height:43px}.region-card h3{font-size:11px}.region-card small{letter-spacing:.6px}.map-caption{left:16px;top:72px;max-width:calc(100% - 80px);font-size:10px}.map-title{display:none}.map-top{padding:18px 15px}.shelf-heading>span{font-size:9px}.route-idea{min-width:300px}.inspiration-shelf{padding:12px}.route-idea-copy>b{font-size:16px}}
@media(max-width:640px){.map-workspace{height:535px}.map-stage{height:420px}.inspiration-shelf{height:115px;padding:9px 12px 11px}.shelf-heading{margin-bottom:7px;align-items:center}.shelf-heading h3{font-size:16px}.shelf-heading>span{font-size:9px;max-width:170px;text-align:right;color:#53675b}.route-idea{min-width:280px;height:70px;gap:10px}.route-idea>img{width:70px}.route-idea-copy{gap:3px}.route-idea-copy>b{font-size:16px}.route-idea-copy>small{font-size:7px}.inspiration-card{height:70px;min-width:150px}.inspiration-card .photo-tag{display:none}.inspiration-text{bottom:9px}.inspiration-text b{font-size:15px}.map-caption{font-size:10px;top:75px;max-width:calc(100% - 85px);line-height:1.6}.map-controls{top:128px}.map-title h2{font-size:19px}.map-title .eyebrow{font-size:7px}.map-switch button{min-height:28px}.explore-intro{padding:23px 20px 16px}.explore-intro h1{font-size:27px;margin:8px 0 10px}.explore-intro p{font-size:12px}.active-trip{margin-top:12px}.autosave-note{font-size:10px}.idea-dialog .dialog-content{padding:22px}.idea-dialog .dialog-footer{bottom:-22px;gap:7px;padding:13px 0 0}.idea-dialog .dialog-footer button{font-size:11px;padding:10px 12px}.idea-banner{height:125px}.idea-dialog .dialog-heading h2{font-size:25px}.idea-stops .text-button{font-size:10px}}
