:root{--red:#d72e31;--pink:#ffdbe1;--pale:#ffeef1;--ink:#600507;--muted:#815556;--line:#ffdbe1;--radius:16px;--space:32px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:15px/1.7 "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}h1,h2,h3{font-family:"Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;font-weight:400;line-height:1.12}h1{font-size:clamp(60px,10vw,100px);margin:16px 0}h2{font-size:clamp(32px,5vw,52px);margin:12px 0 22px}h3{font-size:28px;margin:12px 0}p{margin:12px 0 22px;color:var(--muted)}img{display:block;max-width:100%;object-fit:cover}a{color:inherit}button,summary{cursor:pointer}button{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.eyebrow,.meta,.badge{text-transform:uppercase;letter-spacing:.14em;font-size:10px}.eyebrow{color:var(--red);font-weight:bold}.meta{color:var(--muted)}.lede{font-size:17px;max-width:700px}.button{border:1px solid var(--red);border-radius:var(--radius);background:var(--red);color:white;padding:14px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.button.secondary{background:transparent;color:var(--red)}.button:disabled{opacity:.4;cursor:not-allowed}.button:hover:not(:disabled){filter:brightness(.9)}.actions{display:flex;flex-wrap:wrap;gap:12px}.stack{display:grid;gap:24px;justify-items:start}.badge{display:inline-block;border:1px solid var(--line);padding:6px 12px;border-radius:30px;background:var(--pale);color:var(--ink)}.note{border-left:3px solid var(--red);background:var(--pale);padding:24px}.note p{margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:24px;margin:32px 0}.metric{border-top:1px solid var(--red);padding-top:16px}.metric b{display:block;font:28px "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}.metric span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.stay{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.stay>img{height:100%;min-height:360px;width:100%}.stay-body{padding:36px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px}.gallery img{width:100%;height:100px;border-radius:8px}details{border-top:1px solid var(--line)}summary{padding:18px 0;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';float:right;color:var(--red)}details[open]>summary:after{content:'−'}.experience-card{border:1px solid var(--line);background:white;overflow:hidden}.experience-card>img{width:100%;height:240px}.experience-card>div{padding:28px}.experience-card h2{font-size:30px}.experience-card .lede{font-size:15px}.day{border-bottom:1px solid var(--line)}.day summary{display:flex;align-items:center;gap:24px}.day summary:after{margin-left:auto}.day strong{font:24px "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}.day small{display:block;color:var(--muted);font-size:12px;margin-top:8px}.day>p{padding-left:78px}.price-card,.flight{border:1px solid var(--line);padding:32px;background:white}.amount{font:52px "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;color:var(--red);margin:20px 0}.price-card li{padding:5px 0}.hero{position:relative;min-height:510px;display:flex;align-items:center;color:white;padding:60px 8%;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#300304b8,#30030422);z-index:-1}.hero .eyebrow,.hero p{color:var(--pink)}.section{padding:52px 6%}.pale{background:var(--pale)}.centered{text-align:center}.centered .lede{margin-inline:auto}.centered .metrics{text-align:left}.route{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0;margin:36px 0 0}.route li{border-top:1px solid var(--red);padding-top:18px}.route-number{font-size:11px;color:var(--red)}.route h3{font-size:25px}.route p{font-size:13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.practical:last-child{border-bottom:1px solid var(--line)}.practical summary{font:23px "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;padding:22px 0}footer{background:var(--pale);padding:44px}footer h3{max-width:480px}@media(max-width:600px){.stay,.columns{grid-template-columns:1fr}.stay>img{min-height:0;height:240px}.stay-body{padding:24px}.route{grid-template-columns:1fr 1fr}.hero{min-height:440px}.day>p{padding-left:0}.day summary{gap:14px}.section{padding:36px 6%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.lightbox{width:min(1180px,94vw);max-width:94vw;max-height:94dvh;border:0;border-radius:16px;padding:60px 65px 24px;background:var(--ink);color:white;overflow:auto}.lightbox::backdrop{background:rgba(96,5,7,.88);backdrop-filter:blur(5px)}.lightbox-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.lightbox-carousel::-webkit-scrollbar{display:none}.lightbox-slide{margin:0;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}.lightbox-photo{display:block;width:100%;height:min(60dvh,700px);object-fit:contain;pointer-events:none}.lightbox-caption{margin:16px 0;font-size:14px;line-height:1.5;text-align:center}.lightbox button{border:1px solid #ffffff60;background:var(--ink);color:white;width:44px;height:44px;display:grid;place-items:center;font-size:24px}.lightbox button:hover{background:var(--red)}.lightbox-close{position:absolute;right:16px;top:12px}.lightbox-prev,.lightbox-next{padding:0;line-height:1;border-radius:50%;position:absolute;top:43%;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-hint{font-size:11px;margin:14px 0 0;text-align:center;color:var(--pink)}.lightbox-thumbs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.lightbox-thumbs button{display:block;width:76px;height:56px;padding:3px;border:2px solid transparent;border-radius:10px;background:transparent;overflow:hidden}.lightbox-thumbs button[aria-current="true"]{border-color:var(--pink)}.lightbox-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px;pointer-events:none}.lightbox :focus-visible{outline:3px solid var(--pink);outline-offset:3px}@media(max-width:600px){.lightbox{padding:60px 12px 86px;width:96vw;max-width:96vw}.lightbox-photo{height:50dvh}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none}.lightbox-prev{left:calc(50% - 55px)}.lightbox-next{right:calc(50% - 55px)}.lightbox-thumbs{gap:6px}.lightbox-thumbs button{width:60px;height:46px}.lightbox-hint{font-size:10px}}@media(prefers-reduced-motion:reduce){.lightbox-carousel{scroll-behavior:auto}.gallery img{transition:none}}


/* Proposal composition and interactive shared blocks. */
a.button{display:inline-block;text-decoration:none}.proposal-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 5%;background:white;border-bottom:1px solid var(--line)}.proposal-header .logo img{width:93px;height:auto}.proposal-header nav{display:flex;gap:23px;overflow:auto;white-space:nowrap}.proposal-header nav a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.skip-link{position:fixed;top:-100px;left:12px;z-index:2000;background:white;padding:12px}.skip-link:focus{top:12px}html{scroll-behavior:smooth}section[id],div[id]{scroll-margin-top:100px}.stay-collection{display:grid;gap:32px;margin-top:32px}.photo-trigger{border:0;padding:0;background:transparent;display:block;cursor:zoom-in;overflow:hidden}.stay>.photo-trigger{width:100%;min-height:390px;border-radius:0}.stay>.photo-trigger img{width:100%;height:100%;object-fit:cover}.gallery .photo-trigger{border-radius:var(--radius)}.gallery .photo-trigger img{height:100px;width:100%}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.experience-grid .experience-card h2{font-size:25px}.investment-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.flight-summary{border:1px solid var(--line);padding:32px;background:white;margin:32px 0}.flight-summary>.columns{margin:24px 0}.flight p:first-child{color:var(--red);font-size:11px;text-transform:uppercase}.flight p:nth-child(2){font-size:30px;color:var(--red);line-height:1.3}.rich-content{overflow:auto}.rich-content table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;margin:20px 0}.rich-content caption{text-align:left;color:var(--muted);font-size:12px;margin-bottom:12px}.rich-content th,.rich-content td{padding:10px;border-bottom:1px solid var(--line)}.rich-content tbody th{font-weight:normal}.journey-map{height:480px;width:100%;border-radius:var(--radius);background:var(--pale);position:relative;z-index:0}.map-fallback{padding:24px}.map-caption{font-size:11px;white-space:pre-line}.leaflet-tooltip.route-label{background:white;border:1px solid var(--line);color:var(--ink);font-family:inherit}.lightbox{z-index:2000}.lightbox::backdrop{background:#300304dd}.price-card .meta{letter-spacing:.06em}.itinerary-section>.day{max-width:950px}.route-section .journey-map{margin-top:32px}.section{padding-inline:max(6%,calc((100% - 1200px)/2))}.hero{min-height:670px}.hero>img{object-position:center 48%}footer{padding-inline:max(6%,calc((100% - 1200px)/2))}@media(max-width:750px){.proposal-header{display:block}.proposal-header nav{margin-top:14px;gap:16px}.experience-grid,.investment-grid{grid-template-columns:1fr}.stay>.photo-trigger{min-height:0;height:260px}.hero{min-height:560px}.journey-map{height:420px}}@media(max-width:600px){.flight-summary{padding:24px}.proposal-header{padding:14px 6%}}
.route-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.route-layout>div{min-width:0}.route-layout .route{grid-template-columns:1fr 1fr}.route-layout .journey-map{margin-top:0}@media(max-width:750px){.route-layout{grid-template-columns:1fr;gap:24px}}

/* Property photo carousels: hover controls on desktop, dots and native swipe on touch. */
.stay-media{position:relative;min-width:0;min-height:390px;margin:0}.property-carousel{position:absolute;inset:0;display:grid;grid-auto-flow:column;grid-auto-columns:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.property-carousel::-webkit-scrollbar{display:none}.hotel-photo{position:relative;display:block;min-width:0;width:100%;height:100%;border:0;border-radius:0;padding:0;background:var(--pale);scroll-snap-align:center;scroll-snap-stop:always;cursor:zoom-in}.hotel-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.property-controls{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:center;align-items:center;gap:8px;pointer-events:none}.property-controls>*{pointer-events:auto}.property-controls blossom-prev,.property-controls blossom-next{display:none}.property-controls blossom-prev button,.property-controls blossom-next button{display:grid;place-items:center;padding:0;line-height:1;width:44px;height:44px;border:1px solid #ffffff60;border-radius:50%;background:rgba(96,5,7,.9);color:#ffffff;font-size:24px}.property-controls button:disabled{opacity:.4;cursor:default}.property-dots{gap:0;background:transparent;border:0;padding:0;color:#ffffff;--blossom-dot-size:6px;--blossom-dot-opacity:.35;--blossom-dot-active-opacity:1}.property-dots button{width:30px;height:40px}.property-controls :focus-visible{outline:3px solid var(--pink);outline-offset:3px}.stay-source{font-size:11px}.stay-availability{font-size:13px}@media(min-width:751px) and (hover:hover) and (pointer:fine){.property-controls{justify-content:space-between;opacity:0;transition:opacity .15s}.property-controls>*{pointer-events:none}.property-controls blossom-prev,.property-controls blossom-next{display:block}.stay-media:hover .property-controls,.stay-media:focus-within .property-controls{opacity:1}.stay-media:hover .property-controls>*,.stay-media:focus-within .property-controls>*{pointer-events:auto}}@media(max-width:750px){.stay-media{min-height:280px}}@media(prefers-reduced-motion:reduce){.property-carousel{scroll-behavior:auto}.property-controls{transition:none}}

.carousel-chevron{display:block;width:20px;height:20px;pointer-events:none}
