@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#153f4d;--ink:#183741;--muted:#6d7f82;--paper:#faf9f5;--teal:#237a79;--sand:#e9d9bf;--coral:#d77a57;--line:#dfe6e2;--white:#fff;--shadow:0 20px 65px #153f4d12;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--teal)}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c18b48;outline-offset:4px}button{border:0;background:none}img{max-width:100%;display:block;object-fit:cover}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1}h3{line-height:1.3}button{transition:background .18s,transform .18s,color .18s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;padding:10px;background:white}.skip-link:focus{top:10px}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:white;border-bottom:1px solid var(--line);gap:20px}.brand{text-align:left;display:grid;gap:0;min-width:230px;padding:0}.brand-main{font-family:'Manrope',Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:4px;line-height:1.15}.brand-sub{font-size:8px;letter-spacing:1.9px;font-weight:700;margin-top:4px}.main-nav{display:flex;align-items:center;height:100%;gap:32px}.nav-link{height:100%;font-size:14px;position:relative;white-space:nowrap;color:var(--muted)}.nav-link.active{color:var(--navy);font-weight:700}.nav-link.active:after{content:'';height:3px;width:22px;background:var(--coral);position:absolute;bottom:22px;left:50%;transform:translateX(-50%)}.count-badge{display:inline-grid;place-items:center;background:#edf3f1;border-radius:20px;font-size:10px;min-width:18px;height:18px;margin-left:5px}.header-actions{display:flex;gap:25px;align-items:center}.invitation-link{display:flex;align-items:center;gap:9px;font-size:12px}.avatar{background:#ebefe7;border-radius:100%;width:38px;height:38px;font-size:11px;font-weight:700}.demo-strip{font-size:9px;letter-spacing:1.3px;display:flex;align-items:center;gap:10px;padding:10px 4.5%;background:#edf2ef;color:#50706f}.demo-strip>span:nth-of-type(3){letter-spacing:.2px;font-size:11px}.demo-strip button{margin-left:auto;letter-spacing:.2px;font-size:11px}.demo-dot{height:5px;width:5px;border-radius:50%;background:#438a7f}.demo-separator{opacity:.45}main{min-height:65vh;max-width:1600px;margin:auto;padding:28px 4.5% 60px}.hero{border-radius:14px;position:relative;overflow:hidden;height:390px;background:#446b75;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092b36c9 0%,#0d354875 42%,#1a3a4810 80%);z-index:-1}.hero-copy{padding:45px 47px;color:white;max-width:660px}.eyebrow{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;font-weight:700}.hero .eyebrow{color:#e8e5d8;display:flex;gap:10px;align-items:center}.hero h1{font-size:59px;margin:18px 0 16px;letter-spacing:-1.8px}.hero p{font-size:14px;max-width:360px;color:#ffffffd9}.hero-actions{display:flex;gap:12px;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:12px 19px;font-size:13px;font-weight:600;border:1px solid transparent;white-space:nowrap}.button.primary{background:var(--navy);color:white}.button.cream{background:#f4ead8;color:var(--navy)}.button.glass{border:1px solid #ffffff65;color:white;background:#ffffff0b;backdrop-filter:blur(8px)}.button.secondary{border-color:var(--line);background:white}.button.small{padding:8px 12px;font-size:12px}.button.full{width:100%}.hero-caption{position:absolute;bottom:24px;right:24px;color:#fff;font-size:11px;display:flex;align-items:center;gap:7px;background:#153f4d48;padding:7px 12px;border:1px solid #ffffff38;border-radius:5px;backdrop-filter:blur(10px)}.welcome-bar{display:flex;gap:22px;align-items:center;padding:24px 25px;background:white;border:1px solid var(--line);border-radius:12px;margin:22px 0 32px;box-shadow:0 4px 18px #153f4d04}.sun-emblem{width:45px;height:45px;border-radius:50%;background:#f5ead9;color:#a7743f;display:grid;place-items:center;flex-shrink:0;font-size:27px}.welcome-copy{min-width:250px}.welcome-copy h3{font-size:15px;font-weight:600}.welcome-copy p{font-size:12px;color:var(--muted);margin-top:3px}.ask-inline{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f9faf7;padding:7px 8px 7px 16px}.ask-inline input{border:0;background:transparent;min-width:0;width:100%;font-size:12px;outline:none}.ask-inline .send-button{height:34px;width:34px;flex-shrink:0}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:32px 0 20px;gap:20px}.section-heading h2{font-size:31px;letter-spacing:-.65px}.section-heading p{font-size:12px;color:var(--muted);margin-top:6px}.text-link{font-size:12px;display:flex;gap:8px;align-items:center;font-weight:600;white-space:nowrap}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:8px 14px;border-radius:30px;font-size:11px;background:white}.chip svg{width:16px;height:16px}.chip.active{background:var(--navy);color:white;border-color:var(--navy)}.experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.experience-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.card-photo{position:relative;height:180px;overflow:hidden;width:100%;padding:0;display:block}.card-photo img{width:100%;height:100%;transition:transform .55s}.card-photo:hover img{transform:scale(1.045)}.card-tag{position:absolute;left:12px;top:12px;font-size:9px;letter-spacing:.5px;font-weight:700;border-radius:4px;padding:5px 8px;background:#fffffff0;color:#1c554e}.card-tag.local{color:#855b2d}.favorite{position:absolute;right:11px;top:11px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffffed;z-index:1}.favorite svg{width:15px;height:15px}.favorite.saved{color:#c5684e;background:#fff5ef}.favorite.saved svg{fill:#c5684e}.card-body{padding:16px}.card-kicker{font-size:9px;text-transform:uppercase;letter-spacing:1.25px;color:var(--muted)}.card-body h3{font-size:15px;font-weight:650;margin:7px 0 6px}.card-body p{font-size:11px;color:var(--muted);line-height:1.55;min-height:34px}.card-bottom{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px}.card-bottom .price{font-weight:650;font-size:12px}.circle-add{width:29px;height:29px;border:1px solid #d8e2df;border-radius:50%;display:grid;place-items:center;background:#f3f7f4}.circle-add svg{width:15px;height:15px}.sample-label{font-size:9px;color:#87938f;margin-left:3px}.empty-results{padding:35px;background:white;border:1px solid var(--line);border-radius:10px;grid-column:1/-1;text-align:center}.split-feature{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;margin:45px 0 20px;border-radius:12px;overflow:hidden;background:#eaf1ed;min-height:330px}.feature-photo{position:relative;min-height:300px}.feature-photo>img{width:100%;height:100%;position:absolute;inset:0}.feature-photo .photo-note{position:absolute;bottom:20px;left:22px;background:#ffffffea;padding:10px 15px;font-size:11px;border-radius:5px}.feature-copy{padding:38px 42px;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:38px;margin:12px 0 15px}.feature-copy p{font-size:12px;color:#59716e;max-width:370px}.feature-copy .button{align-self:flex-start;margin-top:20px}.mini-timeline{display:flex;gap:0;margin:22px 0 0}.mini-step{flex:1;font-size:10px;position:relative;padding-top:18px;color:#516b68}.mini-step:before{content:'';position:absolute;top:0;left:0;width:6px;height:6px;background:var(--teal);border-radius:50%;z-index:1}.mini-step:after{content:'';position:absolute;top:3px;left:0;width:100%;height:1px;background:#bdcebf}.mini-step:last-child:after{display:none}.mini-step b{display:block;font-size:10px;color:var(--ink)}.question-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.question-card{padding:18px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:white;border-radius:7px;font-size:12px}.question-card span{color:var(--teal)}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:28px 4.5% 35px;font-size:10px;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:18px}.footer-brand{font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:2px;color:var(--ink)}.powered{border-left:1px solid var(--line);padding-left:18px}.powered b{font-size:12px;color:var(--navy)}.companion-fab{position:fixed;bottom:22px;right:28px;display:flex;align-items:center;gap:12px;background:var(--navy);color:white;border:1px solid #ffffff40;border-radius:50px;padding:12px 20px 12px 13px;box-shadow:0 8px 30px #0e384c38;z-index:15;font-size:12px}.sparkle-mark{background:#ffffff14;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:24px;color:#eed4a9}.fab-dot{height:5px;width:5px;background:#9bc7ac;border-radius:50%;margin-left:8px}.chat-panel{position:fixed;right:20px;bottom:20px;width:410px;height:min(700px,calc(100dvh - 40px));z-index:40;background:white;border:1px solid #cfdbd5;border-radius:16px;box-shadow:0 20px 100px #0f394b40;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:19px 16px;background:var(--navy);color:white;display:flex;align-items:center;gap:12px}.companion-avatar{background:#f1e3c8;color:#315550;display:grid;place-items:center;border-radius:50%;height:38px;width:38px;flex-shrink:0;font-size:29px}.chat-header h2{font-family:inherit;font-size:14px;font-weight:600}.chat-header p{font-size:10px;color:#c0d1d3;margin-top:3px}.icon-button{width:31px;height:31px;border-radius:50%;display:inline-grid;place-items:center;padding:5px}.chat-header>.icon-button{margin-left:auto;color:white}.chat-messages{flex:1;overflow:auto;padding:20px 18px;scroll-behavior:smooth;background:linear-gradient(#f7f9f5,#fff)}.message{font-size:13px;line-height:1.65;margin-bottom:18px;max-width:95%}.message.user{margin-left:auto;background:var(--navy);color:white;padding:12px 15px;border-radius:13px 13px 2px 13px;max-width:86%;white-space:pre-wrap}.message.assistant{padding:0 2px}.message-name{display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:1px;font-size:8px;color:var(--teal);font-weight:700;margin-bottom:8px}.message-content{white-space:pre-line}.message-source{display:inline-block;font-size:10px;margin-top:8px}.message-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.message-options button{border:1px solid var(--line);background:white;border-radius:6px;padding:7px 9px;font-size:10px}.chat-exp{display:flex;gap:10px;align-items:center;padding:9px;background:white;border:1px solid var(--line);border-radius:7px;margin-top:10px;text-align:left;width:100%;font-size:11px}.chat-exp img{width:53px;height:48px;border-radius:5px}.chat-exp span{display:grid;gap:3px}.chat-exp small{color:var(--muted)}.chat-shortcuts{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 15px;font-size:10px}.chat-shortcuts button{padding:0;color:var(--teal)}.chat-form{display:flex;gap:10px;border:1px solid var(--line);border-radius:9px;margin:0 12px;padding:8px 8px 8px 12px;align-items:center}.chat-form textarea{resize:none;border:0;background:transparent;flex:1;outline:none;font-size:12px;min-height:22px;max-height:80px;padding:3px 0}.send-button{display:grid;place-items:center;border-radius:6px;background:var(--teal);color:white;width:35px;height:35px}.chat-note{font-size:9px;color:var(--muted);text-align:center;padding:7px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:14px 0 28px}.page-heading h1{font-size:45px;letter-spacing:-1px;margin-top:8px}.page-heading p{font-size:13px;color:var(--muted);margin-top:10px}.page-heading-actions{display:flex;gap:9px;align-items:center}.stay-summary{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:25px;font-size:12px}.stay-summary span{display:flex;gap:7px;align-items:center}.stay-summary .save-status{margin-left:auto;color:var(--teal);font-size:10px}.plan-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:28px;align-items:start}.plan-tabs{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.day-tab{border:1px solid var(--line);padding:11px 20px;text-align:left;background:white;min-width:120px;border-radius:8px;font-size:12px;white-space:nowrap}.day-tab.active{background:var(--navy);color:white;border-color:var(--navy)}.day-tab small{display:block;opacity:.65;font-size:9px;margin-top:2px}.day-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.day-heading h2{font-size:26px}.day-heading span{font-size:10px;color:var(--muted)}.plan-list{position:relative}.plan-item{position:relative;display:grid;grid-template-columns:49px 1fr;gap:12px;margin-bottom:0}.plan-time{font-size:11px;font-weight:600;padding-top:15px;text-align:center;color:#587578}.plan-item-main{border:1px solid var(--line);background:white;border-radius:9px;overflow:hidden;position:relative;display:flex;gap:15px;padding:12px}.plan-item-main>img{width:100px;height:95px;border-radius:6px;align-self:flex-start}.plan-item-info{flex:1;min-width:0}.plan-item-info .card-kicker{font-size:8px;display:flex;align-items:center;gap:5px}.hotel-pill{color:var(--teal);font-weight:700}.plan-item-info h3{font-size:14px;margin:5px 0}.plan-item-info p{font-size:10px;color:var(--muted)}.plan-item-actions{display:flex;gap:6px;align-items:center;margin-top:10px;flex-wrap:wrap}.plan-item-actions button{font-size:10px;padding:4px 7px;border-radius:4px;border:1px solid var(--line)}.plan-item-actions .book-small{background:#edf4ef;color:var(--teal);border-color:#d7e6db}.plan-item-actions .confirmed{background:#e1efdf;color:#37643c;border-color:#bfd2b9}.reorder-buttons{margin-left:auto;display:flex;gap:0}.reorder-buttons .icon{width:12px;height:12px}.reorder-buttons button{padding:4px}.travel-line{margin:0 0 0 85px;padding:11px 0 11px 12px;border-left:1px dashed #a9c1b8;font-size:9px;color:#718480;display:flex;align-items:center;gap:7px;min-height:38px}.travel-line svg{width:13px;height:13px}.add-stop{margin:18px 0 20px 61px;width:calc(100% - 61px);padding:13px;border:1px dashed #b8ccc1;border-radius:8px;font-size:12px;color:var(--teal);background:#f1f6ef}.map-column{position:sticky;top:20px}.map-shell{height:360px;position:relative;border:1px solid #d6dfd6;border-radius:12px;overflow:hidden;background:#c8e1e6}.route-map{height:100%;width:100%;background:linear-gradient(30deg,#bbdbe0 20%,#e6eadd 20%,#e6eadd 80%,#c0dde0 80%)}.map-heading{position:absolute;top:14px;left:14px;z-index:500;background:#fffffff0;border:1px solid #ffffff;border-radius:6px;padding:8px 12px;font-size:10px;box-shadow:0 4px 10px #123d4c12;pointer-events:none}.map-legend{display:flex;gap:15px;font-size:9px;justify-content:center;padding:12px;color:var(--muted)}.map-legend span{display:flex;gap:6px;align-items:center}.map-legend i{width:6px;height:6px;border-radius:50%;background:var(--teal)}.map-legend span:nth-child(2) i{background:var(--coral)}.map-marker{background:var(--teal);color:white;border:2px solid white;border-radius:100%;display:grid!important;place-items:center;font-size:10px;font-family:Arial,sans-serif;font-weight:bold;box-shadow:0 3px 7px #153f4d38}.map-marker.local{background:var(--coral)}.leaflet-control-attribution{font-size:7px!important}.leaflet-popup-content{font-family:'DM Sans',Arial,sans-serif;font-size:11px!important}.leaflet-popup-content button{margin-top:5px;color:#237a79;padding:0;font-size:11px}.budget-card{margin-top:8px;background:white;border:1px solid var(--line);border-radius:9px;padding:20px}.budget-card h3{font-size:13px;margin-bottom:16px}.budget-line{display:flex;justify-content:space-between;font-size:11px;margin:8px 0;color:var(--muted)}.budget-total{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:13px;font-weight:600;color:var(--ink)}.budget-note{font-size:9px;color:var(--muted);margin-top:12px}.plan-tip{margin-top:16px;display:flex;gap:11px;background:#ecf3ee;border-radius:9px;padding:16px}.plan-tip p{font-size:10px;line-height:1.65}.plan-tip strong{display:block;font-size:11px;margin-bottom:4px}.plan-tip svg{flex-shrink:0;color:var(--teal)}.resort-hero{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:12px;background:#eaf0e8;min-height:300px}.resort-hero img{height:100%;width:100%;max-height:360px}.resort-hero>div{padding:42px}.resort-hero h1{font-size:46px;margin:15px 0}.resort-hero p{font-size:13px;color:#667d73}.resort-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 35px}.fact-box{border:1px solid var(--line);padding:20px;background:white;border-radius:8px}.fact-box svg{color:var(--teal);margin-bottom:10px}.fact-box strong{font-size:14px;display:block}.fact-box small{font-size:10px;color:var(--muted)}dialog{border:0;padding:0;border-radius:16px;box-shadow:0 30px 100px #123d4c30;max-height:90dvh;width:min(650px,calc(100% - 30px));color:var(--ink);background:var(--paper);overflow:auto}dialog::backdrop{background:#08293470;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 30px 18px}.modal-header h2{font-size:32px;margin-top:7px}.modal-header p{font-size:12px;color:var(--muted);margin-top:8px}.modal-header>.icon-button{background:#e9efea;flex-shrink:0}.modal-body{padding:0 30px 28px}.modal-footer{padding:18px 30px;border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px}.modal-footer small{font-size:10px;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:17px 0}.field label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.field input,.field select{background:white;border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:var(--ink);width:100%;min-height:42px;font-size:12px}.field-title{display:block;font-size:12px;font-weight:600;margin:20px 0 10px}.option-group{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.option-button{border:1px solid var(--line);background:white;border-radius:8px;text-align:center;padding:14px 9px;position:relative;cursor:pointer;display:block}.option-button:has(input:checked){border-color:var(--teal);background:#edf4ed;box-shadow:inset 0 0 0 1px var(--teal)}.option-button input{position:absolute;opacity:0;width:1px;height:1px}.option-button:has(input:focus-visible){outline:3px solid #c18b48}.option-button strong{font-size:12px;display:block;margin:5px 0}.option-button small{font-size:10px;color:var(--muted);display:block}.interest-options{display:flex;flex-wrap:wrap;gap:7px}.interest-option{padding:8px 12px;display:block;background:white;border:1px solid var(--line);border-radius:30px;font-size:11px;cursor:pointer}.interest-option:has(input:checked){background:var(--navy);color:white;border-color:var(--navy)}.interest-option input{width:12px;height:12px;vertical-align:middle;accent-color:var(--teal);margin-right:5px}.detail-photo{height:230px;width:100%;position:relative}.detail-photo img{height:100%;width:100%}.detail-photo>.icon-button{position:absolute;top:15px;right:15px;background:white}.detail-body{padding:28px 30px}.detail-body h2{font-size:32px;margin:9px 0 14px}.detail-body>p{font-size:13px;color:var(--muted)}.detail-metrics{display:flex;gap:25px;padding:20px 0;margin:6px 0 18px;border-bottom:1px solid var(--line);font-size:11px}.detail-metrics span{display:flex;align-items:center;gap:7px}.detail-actions{display:flex;gap:10px}.detail-note{font-size:10px!important;margin-top:14px}.booking-note{border:1px solid #e5d7bd;background:#faf1df;border-radius:7px;padding:12px;font-size:11px;margin:15px 0}.confirmation{text-align:center;padding:35px}.confirmation-mark{width:60px;height:60px;border-radius:50%;background:#deecdb;color:#4c7653;display:grid;place-items:center;margin:5px auto 20px}.confirmation h2{font-size:32px}.confirmation p{font-size:13px;color:var(--muted);margin:15px 0 22px}.confirmation-reference{background:white;border:1px solid var(--line);padding:18px;margin-bottom:24px;text-align:left;border-radius:8px;font-size:12px}.confirmation-reference strong{display:block;margin-bottom:8px}.confirmation-reference span{display:block;color:var(--muted);font-size:11px;margin:4px 0}.email-top{padding:16px 25px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);background:#fff;display:flex;justify-content:space-between;align-items:center}.email-content{padding:30px;background:#fff}.email-brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:3px;font-size:25px;text-align:center}.email-content>img{height:180px;width:100%;margin:22px 0;border-radius:6px}.email-content h2{font-size:31px;margin:22px 0 15px}.email-content p{font-size:12px;line-height:1.75;margin:13px 0;color:#59706d}.email-itinerary{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:22px 0}.email-hop{display:flex;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px}.email-hop:last-child{border:0}.email-hop span{font-size:10px;color:var(--teal);width:45px}.email-hop small{display:block;font-size:9px;color:var(--muted)}.library-search{display:flex;gap:10px;background:white;border:1px solid var(--line);padding:11px 14px;border-radius:8px;margin:8px 0 18px}.library-search input{border:0;width:100%;outline:none;font-size:12px}.faq-group-title{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal);margin:22px 0 8px}.faq-item{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;text-align:left;width:100%}.faq-item span{color:var(--teal)}.library-list{max-height:47dvh;overflow:auto}.swap-list{display:grid;gap:10px;max-height:55dvh;overflow:auto}.swap-option{display:flex;align-items:center;gap:13px;background:white;border:1px solid var(--line);border-radius:8px;padding:10px;text-align:left}.swap-option img{width:70px;height:62px;border-radius:5px}.swap-option h3{font-size:13px;margin-bottom:5px}.swap-option p{font-size:10px;color:var(--muted)}.swap-option>.icon{margin-left:auto;flex-shrink:0}.about-flow{display:grid;gap:16px;margin:25px 0}.about-step{display:flex;gap:15px}.about-number{border-radius:50%;height:30px;width:30px;background:#e4eddf;display:grid;place-items:center;flex-shrink:0;font-size:11px}.about-step strong{font-size:13px}.about-step p{font-size:11px;color:var(--muted);margin-top:3px}.about-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.about-benefits>div{border:1px solid var(--line);border-radius:8px;background:white;padding:14px;font-size:10px}.about-benefits b{display:block;font-size:12px;margin:8px 0}.credits-list{font-size:11px}.credits-list p{margin:12px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);background:var(--ink);color:white;padding:13px 20px;max-width:calc(100% - 35px);border-radius:8px;z-index:100;box-shadow:var(--shadow);font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.intro-plan{border:1px solid var(--line);background:white;border-radius:9px;padding:22px;display:flex;gap:20px;align-items:center;margin-top:25px}.intro-plan h3{font-size:15px;margin-bottom:5px}.intro-plan p{font-size:11px;color:var(--muted)}.intro-plan .button{margin-left:auto}.saved-filter{margin-left:auto}.gallery-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:15px;margin:25px 0}.gallery-strip img{width:100%;height:190px;border-radius:10px}.itinerary-empty{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:10px}.itinerary-empty p{margin-bottom:15px}.mobile-only{display:none}
@media(min-width:1600px){.site-header,.demo-strip,.site-footer{padding-left:max(4.5%,calc((100% - 1456px)/2));padding-right:max(4.5%,calc((100% - 1456px)/2))}.hero{height:420px}.hero h1{font-size:65px}}
@media(max-width:1100px){.site-header{padding:0 3%;gap:15px}.main-nav{gap:18px}.brand{min-width:200px}.header-actions{gap:15px}.invitation-link span:last-child{display:none}main{padding:24px 3% 40px}.hero{height:360px}.hero-copy{padding:37px}.hero h1{font-size:53px}.experience-grid{gap:14px}.card-photo{height:150px}.card-body{padding:13px}.card-body h3{font-size:13px}.welcome-bar{padding:18px;gap:15px}.welcome-copy{min-width:220px}.plan-layout{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:18px}.plan-item-main{gap:10px}.plan-item-main>img{width:75px;height:85px}.plan-item-info h3{font-size:12px}.feature-copy{padding:30px}.feature-copy h2{font-size:32px}.question-row{grid-template-columns:repeat(2,1fr)}.site-footer>div{gap:12px}.site-footer>div:first-child>span:last-child{display:none}}
@media(max-width:760px){body{font-size:14px}.site-header{height:76px;padding:0 20px;flex-wrap:wrap}.brand{min-width:0}.brand-main{font-size:23px;letter-spacing:3px}.brand-sub{font-size:6px;letter-spacing:1.25px}.main-nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);height:60px;justify-content:space-around;z-index:30;gap:0}.nav-link{font-size:12px;padding:0 12px}.nav-link.active:after{bottom:8px;height:2px;width:16px}.header-actions{gap:15px}.invitation-link{padding:0}.avatar{width:32px;height:32px}.demo-strip{padding:9px 20px;font-size:8px;gap:7px;letter-spacing:.6px}.demo-strip>span:nth-of-type(3){font-size:9px;letter-spacing:0}.demo-strip button{display:none}main{padding:18px 18px 40px}.hero{height:440px;border-radius:10px}.hero-image{object-position:64% center}.hero:after{background:linear-gradient(90deg,#092b36b8,#0d354835),linear-gradient(0deg,#092b3680,transparent 40%)}.hero-copy{padding:29px 25px}.hero h1{font-size:47px;margin:24px 0 18px}.hero p{font-size:13px;max-width:270px}.hero-actions{flex-direction:column;align-items:flex-start;margin-top:25px;gap:10px}.hero .button{padding:11px 16px;font-size:12px}.hero-caption{bottom:15px;right:15px;font-size:9px}.welcome-bar{display:grid;grid-template-columns:38px 1fr;padding:18px;gap:12px;margin:18px 0 28px}.sun-emblem{width:38px;height:38px}.welcome-copy{min-width:0}.welcome-copy h3{font-size:13px}.welcome-copy p{font-size:10px}.ask-inline{grid-column:1/-1;margin-top:4px}.section-heading{margin:28px 0 17px;gap:10px;align-items:center}.section-heading h2{font-size:28px}.section-heading p{font-size:11px}.section-heading .text-link{font-size:10px}.filter-row{gap:6px}.chip{padding:7px 11px;font-size:10px}.saved-filter{margin-left:0}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-photo{height:140px}.card-tag{font-size:7px;left:8px;top:8px;padding:4px 6px}.favorite{height:25px;width:25px;right:8px;top:8px}.favorite svg{width:13px;height:13px}.card-body{padding:12px}.card-body h3{font-size:13px;min-height:34px}.card-kicker{font-size:8px}.card-body p{font-size:10px;min-height:46px}.card-bottom{margin-top:10px}.card-bottom .price{font-size:11px}.sample-label{font-size:8px}.circle-add{height:26px;width:26px;flex-shrink:0}.split-feature{grid-template-columns:1fr;margin:30px 0 20px}.feature-photo{min-height:220px}.feature-copy{padding:27px}.feature-copy h2{font-size:33px}.question-card{font-size:10px;padding:14px}.site-footer{padding:22px 20px 100px;flex-direction:column;gap:15px}.site-footer>div{flex-wrap:wrap;gap:14px}.companion-fab{bottom:75px;right:18px;padding:9px 13px 9px 9px;font-size:11px}.fab-dot{display:none}.chat-panel{right:0;bottom:0;width:100%;height:100dvh;border-radius:0;z-index:60}.chat-header{padding-top:22px}.chat-form textarea{font-size:16px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px;margin:10px 0 24px}.page-heading h1{font-size:38px}.page-heading-actions{width:100%;gap:7px}.page-heading-actions .button{font-size:11px;padding:10px 12px;flex:1}.stay-summary{gap:15px;flex-wrap:wrap;font-size:10px;padding:13px 0}.stay-summary .save-status{margin-left:0;width:100%}.plan-layout{display:flex;flex-direction:column}.plan-column,.map-column{width:100%}.map-column{position:static;order:0}.plan-column{order:1}.map-shell{height:230px}.map-legend{padding:8px}.map-column .budget-card{display:none}.map-column .plan-tip{display:none}.day-tab{padding:10px 15px;min-width:90px;flex:1}.plan-tabs{margin-top:5px}.plan-item{grid-template-columns:40px 1fr;gap:9px}.plan-time{font-size:10px}.plan-item-main{padding:10px;gap:10px}.plan-item-main>img{width:65px;height:76px}.plan-item-info h3{font-size:13px}.plan-item-info p{font-size:9px}.plan-item-actions{gap:4px}.plan-item-actions button{font-size:9px;padding:4px 6px}.travel-line{margin-left:71px}.add-stop{margin-left:49px;width:calc(100% - 49px)}.resort-hero{grid-template-columns:1fr}.resort-hero img{height:230px;order:-1}.resort-hero>div{padding:26px}.resort-hero h1{font-size:37px}.resort-facts{grid-template-columns:repeat(2,1fr);gap:10px}.fact-box{padding:16px}.gallery-strip{grid-template-columns:1fr 1fr;gap:10px}.gallery-strip img{height:140px}.gallery-strip img:first-child{grid-column:1/-1;height:200px}dialog{width:calc(100% - 22px);max-height:94dvh;border-radius:12px}.modal-header{padding:23px 22px 15px}.modal-header h2{font-size:28px}.modal-body{padding:0 22px 23px}.modal-footer{padding:15px 22px}.field-row{gap:10px}.option-group{gap:6px}.option-button{padding:12px 5px}.option-button strong{font-size:11px}.option-button small{font-size:9px}.detail-body{padding:23px}.detail-photo{height:200px}.detail-actions{flex-wrap:wrap}.detail-actions .button{flex:1}.detail-metrics{gap:13px;font-size:10px;flex-wrap:wrap}.about-benefits{grid-template-columns:1fr}.email-content{padding:23px}.intro-plan{flex-wrap:wrap}.intro-plan .button{margin-left:0;width:100%}.toast{bottom:85px;width:max-content;text-align:center}.mobile-only{display:block}.budget-mobile{margin-top:20px}.library-list{max-height:48dvh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.demo-strip,.site-footer,.companion-fab,.chat-panel,.page-heading-actions,.plan-tabs,.plan-item-actions,.add-stop,.map-column,dialog,.toast{display:none!important}main{padding:0;max-width:none}.plan-layout{display:block}.plan-column{width:100%}.plan-item{break-inside:avoid}.plan-item-main{border:1px solid #aaa}.travel-line{color:#333}.stay-summary{margin:15px 0}.plan-time{color:#222}.page-heading h1{font-size:30px}.plan-list{display:block}body{background:white}.all-days-print{display:block!important}}
.transfer-link{margin-left:auto;margin-right:4px;font-size:9px;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.travel-line{padding-right:8px}.card-bottom .price{font-size:11px}.map-heading{font-size:10px}

.route-map{background:#c7e0df!important}.map-place{font:10px/1.25 'DM Sans',Arial,sans-serif;text-align:center;color:#6b7d73;text-shadow:0 1px 2px #fff;pointer-events:none;letter-spacing:.6px}.map-place.water{color:#608b91;font-style:italic;font-size:10px;letter-spacing:1.5px;text-shadow:none}.map-place.city{font-weight:700;color:#5f7770;font-size:12px;letter-spacing:1.2px}.map-place.airport{font-size:9px;color:#8b9182}.map-marker.hotel-group{border-radius:20px;white-space:nowrap;font-size:10px;box-shadow:0 2px 9px #1b5c5850}.leaflet-control-attribution{font-size:8px!important;color:#557975!important;background:#fff9!important}.leaflet-popup-content button{color:#237a79;font-size:11px;text-decoration:underline;padding:5px 0}

@media(max-width:600px){.hero-caption{display:none}.map-place{font-size:8px}.map-place.city{font-size:10px}.map-place.water{font-size:8px}}
