@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--navy:#09254e;--navy2:#10365a;--cream:#f5f7f1;--sand:#e6ede3;--ink:#0b2945;--green:#246f43;--teal:#87b6b5;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,a{touch-action:manipulation}button{font:inherit}a{color:inherit}.skip-link{position:absolute;top:-60px;left:12px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}*:focus-visible{outline:3px solid var(--green);outline-offset:4px}em{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h1,h2,h3,p{margin-top:0}.site-header{height:76px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,30px);border-bottom:1px solid #dcd4c4}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:37px;height:37px}.brand-mark svg{width:100%;height:100%;fill:none;stroke:var(--navy);stroke-width:1.5}.brand-mark svg path{fill:var(--green);stroke:var(--navy);stroke-width:1}.brand-mark svg circle:last-child{fill:var(--navy)}.brand-name{display:grid;line-height:.84;letter-spacing:.08em}.brand-name strong{font-size:21px;letter-spacing:.05em}.brand-name strong span{color:var(--green)}.brand-name small{font-size:8px;letter-spacing:.46em;margin-top:6px;font-weight:700}.site-header nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:700;border-bottom:1px solid var(--navy);padding-bottom:7px}.site-header nav span{font-size:15px;margin-left:10px}.hero{position:relative;min-height:550px;overflow:hidden;background:var(--navy);color:#fff;display:grid;grid-template-columns:57% 43%;padding:0 max(5vw,30px)}.hero:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;opacity:.25;background-image:radial-gradient(#9fbdc4 0.55px,transparent .55px);background-size:7px 7px;pointer-events:none}.hero-copy{position:relative;z-index:2;padding:91px 0 110px;max-width:660px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;line-height:1.5}.hero .eyebrow{color:#b6dda9;display:flex;align-items:center;gap:13px}.eyebrow-line{width:28px;border-top:1px solid currentColor}.hero h1{font-size:clamp(57px,7.3vw,112px);line-height:.94;letter-spacing:-.06em;max-width:700px;margin:30px 0 29px;font-weight:700}.hero h1 em{color:#b8dfa8;white-space:nowrap}.hero-intro{max-width:440px;color:#d2dfe1;font-size:17px;line-height:1.6;margin-bottom:28px}.hero-action{background:var(--green);color:var(--navy);display:inline-flex;gap:35px;align-items:center;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700;padding:18px 21px;transition:transform .2s,background .2s}.hero-action:hover{transform:translateY(-3px);background:#3d915e}.hero-action span{font-size:20px;line-height:0}.hero-art{position:relative;min-height:480px;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:8% -35% -40% -8%;border-radius:50%;background:radial-gradient(circle at 45% 35%,#338eaa 0,#21677f 35%,#0b354b 64%,transparent 68%);box-shadow:inset 20px 20px 70px #79c4c2}.hero-art:after{content:"";position:absolute;inset:16% -28% -30% 0;border-radius:50%;background:repeating-radial-gradient(ellipse at 44% 30%,transparent 0,transparent 38px,#a6d9cf22 39px,#a6d9cf22 40px);transform:rotate(-20deg)}.hero-sun{position:absolute;width:175px;height:175px;top:18%;left:38%;border-radius:50%;background:#cae1b7;box-shadow:0 0 70px #9ccb9699;z-index:1}.hero-orbit{position:absolute;border:1px solid #c9d8d564;border-radius:50%;transform:rotate(-25deg);z-index:2}.orbit-one{width:128%;height:55%;top:29%;left:-19%}.orbit-two{width:110%;height:77%;top:18%;left:-6%;transform:rotate(23deg)}.hero-orbit:after{content:"";display:block;background:var(--green);width:9px;height:9px;border:3px solid var(--navy);border-radius:50%;position:absolute;top:16%;left:20%}.hero-horizon{position:absolute;left:-8%;right:-35%;bottom:-2%;height:34%;background:linear-gradient(170deg,transparent 10%,#102b42 12%,#072337 68%);clip-path:polygon(0 40%,10% 43%,20% 39%,31% 50%,42% 43%,53% 48%,62% 38%,72% 49%,84% 35%,100% 46%,100% 100%,0 100%);z-index:2}.hero-coordinates{position:absolute;right:0;top:29px;font-size:10px;letter-spacing:.22em;color:#c8d9db;z-index:3}.hero-stamp{position:absolute;right:2%;top:40%;z-index:3;border:1px solid #f5ece3;width:125px;height:125px;border-radius:50%;transform:rotate(13deg);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.17;letter-spacing:.12em;font-size:11px;font-weight:700;background:#113e5288}.hero-stamp span{color:var(--green);font-size:17px}.hero-bottom{position:absolute;left:max(5vw,30px);right:max(5vw,30px);bottom:23px;z-index:4;display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:.19em;font-weight:700;color:#c6d6d9}.hero-bottom span span{font-size:18px;vertical-align:middle;margin-left:8px}.explore{padding:90px max(5vw,30px) 80px;max-width:1700px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:34px}.section-heading .eyebrow{color:#1e653c;margin-bottom:20px}.section-heading h2{font-size:clamp(38px,4.3vw,67px);letter-spacing:-.055em;line-height:1.02;margin:0}.section-heading h2 em{color:#267a49}.section-heading>p{max-width:310px;font-size:14px;line-height:1.6;color:#586a71;margin:0 0 5px}.experience{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(330px,.92fr);background:white;min-height:650px;box-shadow:0 20px 60px #18364913}.map-wrap{background:#80afb1;display:flex;flex-direction:column;min-width:0}.map-topline,.map-bottomline{height:50px;background:var(--navy2);color:#d9e8e5;display:flex;align-items:center;justify-content:space-between;padding:0 25px;font-size:10px;letter-spacing:.17em;font-weight:700;gap:10px}.map-bottomline{height:47px;background:#447f89}.map-bottomline span:last-child{color:#d7ecd2}.live-dot{display:inline-block;background:var(--green);width:7px;height:7px;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #246f4333}.map-stage{flex:1;position:relative;overflow:hidden;min-height:550px}.map-stage img{width:100%;height:100%;object-fit:fill;position:absolute;inset:0;pointer-events:none;user-select:none}.map-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #184d5950}.pin{position:absolute;border:0;background:none;padding:0;display:flex;align-items:center;gap:7px;cursor:pointer;z-index:2;white-space:nowrap;color:var(--navy);transform:translate(-7px,-50%)}.pin-dot{width:16px;height:16px;flex:none;background:var(--green);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 6px #207a4242,0 3px 10px #1a475a88;transition:transform .2s,box-shadow .2s}.pin:hover .pin-dot,.pin[aria-pressed=true] .pin-dot{transform:scale(1.3);box-shadow:0 0 0 9px #207a425b,0 4px 12px #1a475a88}.pin-label{background:#f6f8ef;color:var(--navy);font-weight:700;font-size:9px;letter-spacing:.11em;padding:8px 9px;box-shadow:0 4px 8px #163d4a33}.pin:hover .pin-label,.pin[aria-pressed=true] .pin-label{background:var(--navy);color:#fff}.pin-quebec{left:25%;top:35%}.pin-san-juan{left:35%;top:83%}.pin-amsterdam{left:79%;top:42%;flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}.pin-gothenburg{left:85%;top:27%;flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}.map-ocean-label{position:absolute;left:55%;top:51%;text-align:center;color:#d9ece788;font-family:Georgia,serif;font-style:italic;font-size:21px;letter-spacing:.25em;line-height:1.4;transform:translate(-50%,-50%);pointer-events:none}.map-compass{position:absolute;bottom:30px;right:25px;border:1px solid #e9efdcaa;border-radius:50%;width:46px;height:46px;color:white;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1}.map-compass span{font-size:23px;line-height:1}.discovery-panel{min-width:0;background:#fbf8f1;position:relative}.panel-empty{padding:40px 37px}.panel-count,.detail-navigation{font-size:10px;letter-spacing:.19em;font-weight:700;color:#277348}.empty-symbol{font-size:96px;font-weight:300;line-height:1;margin:31px 0 10px;color:var(--green);font-family:Georgia,serif}.panel-empty h3{font-size:clamp(30px,3vw,46px);letter-spacing:-.055em;line-height:1.06;max-width:320px;margin-bottom:13px}.panel-empty p{font-size:14px;line-height:1.6;max-width:320px;color:#65737a;margin-bottom:28px}.destination-list{border-top:1px solid #dedacf}.destination-list button{width:100%;border:0;border-bottom:1px solid #dedacf;background:none;text-align:left;padding:15px 0;display:flex;align-items:center;gap:17px;font-weight:700;color:var(--navy);cursor:pointer;transition:padding .2s,color .2s}.destination-list button:hover{padding-left:7px;color:#1e653c}.destination-list button span:first-child{font-size:10px;letter-spacing:.1em;color:#277348;font-weight:600}.destination-list button span:last-child{margin-left:auto;font-size:17px}.destination-detail[hidden],.panel-empty[hidden]{display:none}.detail-navigation{height:50px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;color:var(--navy);background:#fff}.detail-navigation button{background:none;border:0;color:inherit;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:700;cursor:pointer;padding:8px 0}.detail-navigation button:hover span{text-decoration:underline}.destination-visual{height:188px;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(165deg,#ffb580,#f36f56 52%,#234f73)}.destination-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#061b3352,#061b3370);z-index:3;pointer-events:none}.destination-visual .visual-orb{position:absolute;top:16px;right:18%;width:105px;height:105px;border-radius:50%;background:#ffe1a5;box-shadow:0 0 60px #ffe0a48b}.visual-silhouette{position:absolute;bottom:0;left:0;right:0;height:65%;z-index:2;background:linear-gradient(90deg,#773d4e 0 9%,transparent 9% 11%,#be6c61 11% 25%,transparent 25% 27%,#edb078 27% 38%,transparent 38% 40%,#814456 40% 58%,transparent 58% 60%,#e49568 60% 77%,transparent 77% 79%,#a35055 79% 100%);clip-path:polygon(0 27%,9% 27%,9% 17%,25% 17%,25% 29%,38% 29%,38% 10%,58% 10%,58% 25%,77% 25%,77% 38%,100% 38%,100% 100%,0 100%)}.visual-silhouette:after{content:"";position:absolute;inset:28% 0 0;background:repeating-linear-gradient(90deg,transparent 0 16px,#ffe6ae 16px 20px,transparent 20px 32px);opacity:.65;mask-image:repeating-linear-gradient(0deg,#000 0 10px,transparent 10px 25px)}.destination-visual>span{position:absolute;bottom:13px;left:20px;color:white;z-index:4;font-size:9px;letter-spacing:.2em;font-weight:700}.visual-gothenburg{background:linear-gradient(155deg,#a9d5ce,#6c9eac 53%,#203a53)}.visual-gothenburg .visual-orb{background:#ffe4bc}.visual-gothenburg .visual-silhouette{background:linear-gradient(90deg,#335872 0 14%,transparent 14% 16%,#476e7d 16% 28%,transparent 28% 30%,#e4ae82 30% 42%,transparent 42% 45%,#3b5e76 45% 63%,transparent 63% 65%,#b57c6c 65% 82%,transparent 82% 84%,#335872 84%);clip-path:polygon(0 35%,14% 35%,14% 22%,28% 22%,28% 43%,42% 43%,42% 0,45% 0,45% 31%,63% 31%,63% 18%,82% 18%,82% 37%,100% 37%,100% 100%,0 100%)}.visual-amsterdam{background:linear-gradient(160deg,#f1ae8a,#b97f9b 55%,#384e7b)}.visual-amsterdam .visual-silhouette{background:linear-gradient(90deg,#493b64 0 13%,transparent 13% 15%,#8a5370 15% 28%,transparent 28% 30%,#de9377 30% 44%,transparent 44% 46%,#5f4264 46% 64%,transparent 64% 66%,#ba6d73 66% 82%,transparent 82% 84%,#493b64 84%);clip-path:polygon(0 22%,4% 22%,4% 13%,8% 13%,8% 22%,13% 22%,13% 32%,17% 32%,17% 20%,22% 20%,22% 31%,28% 31%,28% 35%,33% 35%,33% 17%,40% 17%,40% 35%,44% 35%,44% 30%,49% 30%,49% 13%,56% 13%,56% 30%,64% 30%,64% 41%,70% 41%,70% 23%,77% 23%,77% 41%,82% 41%,82% 29%,89% 29%,89% 21%,95% 21%,95% 29%,100% 29%,100% 100%,0 100%)}.visual-quebec{background:linear-gradient(155deg,#a9d1cc,#79a6af 48%,#24455f)}.visual-quebec .visual-silhouette{background:linear-gradient(90deg,#4f6b75 0 20%,#e1bb93 20% 40%,#6b6e78 40% 58%,#bf977f 58% 79%,#4a6676 79%);clip-path:polygon(0 49%,22% 49%,22% 35%,39% 35%,39% 49%,45% 49%,45% 15%,49% 15%,49% 5%,53% 15%,57% 15%,57% 34%,65% 34%,65% 23%,76% 23%,76% 42%,100% 42%,100% 100%,0 100%)}.detail-content{padding:22px 27px 30px}.detail-overline{color:#277348;font-size:9px;font-weight:700;letter-spacing:.19em;margin-bottom:7px}.detail-content h3{font-size:40px;line-height:1;letter-spacing:-.05em;margin-bottom:8px}.detail-tagline{font-size:13px;line-height:1.48;color:#65737a;margin-bottom:16px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dedacf;border-bottom:1px solid #dedacf;padding:13px 0;gap:15px}.detail-facts div{display:flex;flex-direction:column;gap:5px}.detail-facts small{font-size:9px;letter-spacing:.15em;color:#267a49;font-weight:700}.detail-facts strong{font-size:12px}.itinerary{margin-top:17px}.itinerary-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:700;margin-bottom:5px}.itinerary-heading span:last-child{font-size:18px}.itinerary ol{list-style:none;margin:0;padding:0}.itinerary li{display:grid;grid-template-columns:57px 1fr;gap:8px;border-top:1px solid #dedacf;padding:10px 0}.itinerary li span{font-size:10px;font-weight:700;color:#267a49;white-space:nowrap}.itinerary li p{margin:0;color:#475c67;font-size:12px;line-height:1.45}.detail-note{font-size:11px;color:#7b8588;line-height:1.45;margin:10px 0 17px}.another-trip{border:0;background:var(--navy);color:white;width:100%;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:700}.another-trip:hover{background:#1e653c}.another-trip span{font-size:18px}.map-footnote{display:flex;gap:8px;align-items:center;color:#66777a;font-size:11px;line-height:1.5;margin-top:18px}.map-footnote span{color:var(--green);font-size:18px}.closing{background:#1c653f;color:var(--navy);padding:80px max(5vw,30px) 90px;display:flex;justify-content:space-between;align-items:end;gap:30px}.closing p{align-self:start;font-size:10px;letter-spacing:.19em;font-weight:700;max-width:160px;line-height:1.7}.closing h2{font-size:clamp(37px,5.4vw,76px);line-height:1;letter-spacing:-.06em;margin:0;flex:1;max-width:800px}.closing h2 em{color:#d7edcf}.closing a{display:inline-flex;gap:20px;align-items:center;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--navy);padding-bottom:10px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;padding:27px max(5vw,30px);background:var(--navy);color:#c6d6d9;font-size:9px;letter-spacing:.18em;font-weight:700}.footer-star{color:var(--green);padding:0 7px}
@media(max-width:1100px){.experience{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr)}.map-stage{min-height:540px}.pin-label{font-size:8px;padding:7px}.panel-empty{padding:32px 25px}.empty-symbol{margin:26px 0 6px}.hero h1{font-size:clamp(62px,7.7vw,92px)}}
@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:650px}.hero-copy{padding:70px 0 265px;max-width:650px}.hero-art{position:absolute;left:41%;right:-13%;top:80px;bottom:0;min-height:0;opacity:.8}.hero-copy{z-index:3}.hero h1{max-width:630px}.hero-intro{max-width:400px}.experience{grid-template-columns:1fr}.map-stage{height:min(62vw,530px);min-height:375px;flex:none}.discovery-panel{min-height:0}.panel-empty{display:grid;grid-template-columns:1fr 1fr;gap:8px 27px;padding:35px}.panel-count,.empty-symbol,.panel-empty h3,.panel-empty p{grid-column:1}.empty-symbol{display:none}.panel-empty h3{margin:22px 0 0}.panel-empty p{margin:0}.destination-list{grid-column:2;grid-row:1/5;align-self:center}.destination-detail{display:grid;grid-template-columns:40% 60%}.detail-navigation{grid-column:1/-1}.destination-visual{height:auto;min-height:360px}.detail-content{padding:28px}.closing{flex-wrap:wrap}.closing p{width:100%;max-width:none}.closing h2{flex:1 1 70%}}
@media(max-width:620px){.site-header{height:67px;padding:0 20px}.brand-mark{width:33px;height:33px}.brand-name strong{font-size:19px}.site-header nav a{font-size:9px}.hero{padding:0 23px;min-height:610px}.hero-copy{padding:67px 0 270px}.hero h1{font-size:clamp(53px,13vw,78px);max-width:450px;margin:25px 0 22px}.hero-intro{font-size:15px;max-width:320px}.hero-art{left:22%;right:-34%;top:190px;bottom:0;opacity:.65}.hero-sun{width:130px;height:130px;top:25%}.hero-stamp{display:none}.hero-bottom{left:23px;right:23px;bottom:19px;font-size:8px}.hero-bottom>span:first-child{max-width:180px;line-height:1.5}.hero-bottom>span:last-child{text-align:right}.explore{padding:65px 17px 60px}.section-heading{display:block;margin:0 5px 24px}.section-heading h2{font-size:clamp(39px,10vw,53px)}.section-heading>p{font-size:13px;margin:17px 0 0;max-width:390px}.map-topline,.map-bottomline{padding:0 12px;font-size:8px;letter-spacing:.1em;height:42px}.map-bottomline{height:40px}.map-stage{height:94vw;min-height:300px;max-height:470px}.pin{transform:translate(-7px,-50%)}.pin-dot{width:18px;height:18px}.pin-label{font-size:7px;letter-spacing:.04em;padding:6px 5px;max-width:80px;white-space:normal;line-height:1.12;text-align:left}.pin-amsterdam,.pin-gothenburg{transform:translate(calc(-100% + 7px),-50%)}.pin-quebec{left:25%;top:35%}.pin-san-juan{left:35%;top:83%}.pin-amsterdam{left:79%;top:44%}.pin-gothenburg{left:85%;top:26%}.map-ocean-label{font-size:11px}.map-compass{bottom:12px;right:12px;width:32px;height:32px;font-size:7px}.map-compass span{font-size:16px}.panel-empty{display:block;padding:27px 24px 30px}.panel-empty h3{font-size:35px;margin:18px 0 10px}.panel-empty p{margin-bottom:20px}.destination-list{margin-top:16px}.destination-detail{display:block}.destination-visual{height:185px;min-height:0}.detail-content{padding:23px}.detail-content h3{font-size:39px}.map-footnote{margin:15px 4px 0;font-size:10px}.closing{display:block;padding:65px 25px}.closing p{margin-bottom:28px}.closing h2{font-size:clamp(43px,11vw,65px);margin-bottom:35px}footer{padding:25px;display:block;line-height:1.7}footer span{display:block}.footer-star{display:inline-block}footer>span:last-child{margin-top:12px;color:#8eafb8}}
@media(max-width:380px){.pin-label{font-size:6px}.map-topline span:last-child,.map-bottomline span:last-child{display:none}.pin-quebec .pin-label{max-width:55px}.hero-bottom>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Dirigo brand application */
.site-header{height:84px;background:#fff;border-color:#e2e8e0}
.brand-image{display:block;position:relative;overflow:hidden;width:246px;height:72px}
.brand-image img{position:absolute;width:100%;height:auto;left:0;top:-69%}
.hero{background:#09254e}
.hero h1 em{color:#b8dfa8}
.hero-action{background:#2e824b;color:#fff}
.hero-action:hover{background:#3d915e}
.hero-art:before{background:radial-gradient(circle at 45% 35%,#4c9e8c 0,#236a73 35%,#0a3e59 64%,transparent 68%);box-shadow:inset 20px 20px 70px #81beae}
.hero-sun{background:#cee4b9;box-shadow:0 0 70px #a4d3a077}
.hero-horizon{background:linear-gradient(170deg,transparent 10%,#0b304c 12%,#061f3f 68%)}
.site-header nav a:hover{color:#246f43;border-color:#246f43}
.closing{color:#fff}
.closing p{color:#d8eadd}
.closing h2 em{color:#d8eecb}
.closing-side{width:240px;flex:none}
.closing-side p{max-width:none;font-size:14px;line-height:1.55;letter-spacing:0;font-weight:400;margin-bottom:24px}
.closing-side a{border-color:#d8eadd;color:#fff;margin-bottom:23px}
.closing-side small{display:block;color:#c5ddc9;font-size:9px;letter-spacing:.16em;line-height:1.5;font-weight:700}
@media(max-width:850px){.closing-side{width:100%;display:flex;align-items:end;flex-wrap:wrap;gap:12px 30px}.closing-side p{width:100%;max-width:400px;margin-bottom:5px}.closing-side a{margin-bottom:0}.closing-side small{padding-bottom:10px}}
@media(max-width:620px){.site-header{height:68px}.brand-image{width:190px;height:56px}.closing-side{display:block}.closing-side p{margin:0 0 24px}.closing-side a{margin-bottom:20px}.closing-side small{padding:0}}
@media(max-width:370px){.brand-image{width:170px;height:50px}}

/* Geographic map, region controls, and scalable destination list */
.map-toolbar{height:51px;display:flex;align-items:stretch;gap:0;background:#e5eeea;border-bottom:1px solid #b8d0ca;padding:5px 12px}
.map-toolbar button{border:0;background:transparent;color:#32596b;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;padding:0 16px;cursor:pointer;transition:background .2s,color .2s}
.map-toolbar button:hover{background:#d2e4da}
.map-toolbar button[aria-pressed=true]{background:#246f43;color:white}
.map-toolbar>span{margin-left:auto;align-self:center;padding-right:9px;color:#55777b;font-size:9px;letter-spacing:.15em;font-weight:700}
.map-stage img{user-select:none}
.pin-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.pin-layer button{pointer-events:auto}
.map-stage .pin{width:40px;height:40px;display:block;transform:translate(-50%,-50%);border-radius:50%;z-index:2}
.map-stage .pin-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#246f43;border:3px solid white;box-shadow:0 0 0 5px #246f4340,0 3px 9px #16494a77}
.map-stage .pin:hover .pin-dot,.map-stage .pin:focus-visible .pin-dot,.map-stage .pin[aria-pressed=true] .pin-dot{transform:translate(-50%,-50%) scale(1.24);box-shadow:0 0 0 8px #246f4359,0 3px 9px #16494a77}
.map-stage .pin-label{position:absolute;display:none;bottom:35px;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:none;background:#09254e;color:#fff;padding:8px 10px;font-size:9px;letter-spacing:.09em;box-shadow:0 5px 16px #0d354d55;pointer-events:none}
.map-stage .pin:hover .pin-label,.map-stage .pin:focus-visible .pin-label,.map-stage .pin[aria-pressed=true] .pin-label{display:block}
.map-stage .pin[data-align=left] .pin-label{left:auto;right:31px;bottom:50%;transform:translateY(50%)}
.map-stage .pin[data-align=right] .pin-label{left:31px;bottom:50%;transform:translateY(50%)}
.map-group{position:absolute;border:0;background:none;padding:0;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);cursor:pointer;z-index:2;white-space:nowrap}
.group-dot{display:block;width:21px;height:21px;flex:none;background:#246f43;border:4px solid white;border-radius:50%;box-shadow:0 0 0 8px #246f4355,0 4px 14px #0e3e4866;transition:transform .2s}
.group-text{background:#09254e;color:white;padding:11px 13px;font-size:9px;letter-spacing:.14em;font-weight:700;box-shadow:0 5px 16px #0d354d55}
.map-group:hover .group-dot,.map-group:focus-visible .group-dot{transform:scale(1.25)}
.map-group:hover .group-text{background:#246f43}
.map-stage[data-view=americas] .map-ocean-label,.map-stage[data-view=europe] .map-ocean-label{display:none}
.panel-empty{height:100%;display:flex;flex-direction:column;padding:33px 30px 28px}
.panel-empty .empty-symbol{display:none}
.panel-empty h3{font-size:clamp(31px,2.8vw,42px);margin:24px 0 10px}
.panel-empty p{margin-bottom:17px}
.destination-list{flex:1;min-height:0;max-height:400px;overflow-y:auto;scrollbar-color:#abc9bc transparent;scrollbar-width:thin}
.list-group-heading{position:sticky;top:0;background:#e7eee7;color:#286c48;font-size:9px;font-weight:700;letter-spacing:.16em;padding:10px 7px;z-index:1}
.destination-list button{padding:10px 5px;gap:10px;align-items:center;min-height:51px}
.destination-list button .list-place{display:flex;flex-direction:column;gap:2px;min-width:0}
.destination-list button .list-place small{color:#527d6c;font-size:8px;letter-spacing:.07em;font-weight:700;line-height:1.25}
.destination-list button .list-place strong{color:#09254e;font-size:14px;line-height:1.2}
.destination-list button .list-arrow{margin-left:auto;font-size:17px;color:#246f43}
.destination-list button:hover .list-place strong{color:#246f43}
.visual-mountain{background:linear-gradient(150deg,#d9e9de 5%,#8bb6ba 55%,#385978)}
.visual-mountain .visual-orb{background:#f4f5d6}
.visual-mountain .visual-silhouette{height:78%;background:linear-gradient(135deg,#456479,#243f5d);clip-path:polygon(0 77%,12% 55%,19% 64%,34% 28%,46% 55%,59% 13%,76% 60%,85% 40%,100% 70%,100% 100%,0 100%)}
.visual-mountain .visual-silhouette:after{display:none}
.visual-tropical{background:linear-gradient(155deg,#a2d6c4,#68b8ad 55%,#1b5b6c)}
.visual-tropical .visual-orb{background:#f6e4a2}
.visual-tropical .visual-silhouette{background:linear-gradient(90deg,#285b67 0 13%,#4c8a7d 13% 27%,#d7ae83 27% 39%,#286376 39% 60%,#71a593 60% 80%,#295d69 80%)}
.visual-rio{background:linear-gradient(155deg,#eecaa7,#d99182 53%,#557e91)}
.visual-rio .visual-silhouette{height:74%;background:linear-gradient(180deg,#4f7285,#1d445d);clip-path:polygon(0 76%,14% 70%,24% 44%,30% 65%,42% 51%,52% 17%,62% 50%,76% 36%,88% 70%,100% 62%,100% 100%,0 100%)}
.visual-rio .visual-silhouette:after{display:none}
.visual-paris{background:linear-gradient(155deg,#d7d5c8,#afbdc8 55%,#435d7b)}
.visual-paris .visual-orb{background:#fff1c3}
.visual-paris .visual-silhouette{background:linear-gradient(90deg,#536279 0 17%,#af9b91 17% 34%,#556c81 34% 51%,#c4ab91 51% 68%,#6d7482 68% 84%,#435f76 84%)}
.visual-mediterranean{background:linear-gradient(155deg,#f7c79d,#db9e89 55%,#657e9b)}
.visual-mediterranean .visual-orb{background:#ffebba}
.visual-mediterranean .visual-silhouette{background:linear-gradient(90deg,#8b6471 0 15%,#d8a080 15% 34%,#a8727c 34% 53%,#e4ad81 53% 77%,#8d6674 77%)}
@media(max-width:850px){.panel-empty{display:block;height:auto;padding:30px}.destination-list{max-height:310px}.map-stage{height:min(64vw,530px)}}
@media(max-width:620px){.map-toolbar{height:46px;padding:4px 7px}.map-toolbar button{padding:0 11px;font-size:9px}.map-toolbar>span{display:none}.map-stage{height:95vw;min-height:330px;max-height:480px}.map-stage .pin{width:42px;height:42px}.map-stage .pin-label{font-size:8px;bottom:36px}.map-group{gap:5px}.group-dot{width:17px;height:17px;border-width:3px;box-shadow:0 0 0 6px #246f4355}.group-text{font-size:7px;letter-spacing:.06em;padding:8px}.panel-empty{padding:26px 22px}.panel-empty h3{margin:14px 0 9px}.destination-list{max-height:295px}.map-ocean-label{font-size:11px}}
@media(max-width:380px){.map-group{gap:3px}.group-text{font-size:6px;padding:6px}}
.map-stage .pin[data-vertical=below] .pin-label{top:35px;bottom:auto}
.map-stage .pin[data-vertical=below][data-align=left] .pin-label,.map-stage .pin[data-vertical=below][data-align=right] .pin-label{top:35px;bottom:auto;transform:none}
.map-stage[data-view=americas] .map-compass,.map-stage[data-view=europe] .map-compass{left:12px;right:auto}
.map-stage[data-view=europe] .map-compass{top:12px;bottom:auto}

/* Photos selected in WordPress replace the card illustration. */
.destination-visual .detail-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.destination-visual .detail-photo[hidden]{display:none}
.destination-visual.has-photo .visual-orb,.destination-visual.has-photo .visual-silhouette{display:none}
.destination-visual.has-photo:after{inset:0;background:linear-gradient(180deg,#061b3352,#061b3370);z-index:3}
.destination-visual.has-photo #visual-caption{z-index:2;color:#fff}
.hero-art.has-hero-photo:before,.hero-art.has-hero-photo:after,.has-hero-photo .hero-sun,.has-hero-photo .hero-orbit,.has-hero-photo .hero-horizon,.has-hero-photo .hero-coordinates,.has-hero-photo .hero-stamp{display:none}
.hero-photo{position:absolute;inset:9% -8% 9% 0;width:108%;height:82%;object-fit:cover;border-radius:48% 48% 0 0;z-index:1}
.brand-image.has-custom-logo img{position:static;display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:left center;transform:none}
@media(max-width:620px){.hero-photo{inset:9% 0 0 0;width:100%;height:91%;border-radius:45% 45% 0 0}}

/* Full-height banner image fades behind the headline. */
.hero-copy{z-index:3;padding-left:clamp(18px,3vw,54px)}
.hero-art.has-hero-photo{position:absolute;top:0;right:0;bottom:0;width:60%;min-height:0;opacity:1;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 38%);mask-image:linear-gradient(to right,transparent 0%,#000 38%)}
.hero-art.has-hero-photo:before,.hero-art.has-hero-photo:after{display:none}
.hero-art.has-hero-photo .hero-photo,.hero-art.has-hero-photo .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;border-radius:0;box-shadow:none;z-index:1}
.hero-art.has-hero-photo .hero-video{z-index:2}
@media(max-width:850px){.hero-art.has-hero-photo{top:0;right:-8%;bottom:0;left:auto;width:83%;opacity:.7;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 50%);mask-image:linear-gradient(to right,transparent 0%,#000 50%)}.hero-copy{padding-left:clamp(10px,2vw,25px)}.hero-art.has-hero-photo .hero-photo,.hero-art.has-hero-photo .hero-video{inset:0;width:100%;height:100%;object-position:50% 66%}}
@media(max-width:620px){.hero-art.has-hero-photo{top:0;right:-20%;bottom:0;left:auto;width:115%;opacity:.43;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 58%);mask-image:linear-gradient(to right,transparent 0%,#000 58%)}.hero-copy{padding-left:10px}.hero-art.has-hero-photo .hero-photo,.hero-art.has-hero-photo .hero-video{inset:0;width:100%;height:100%;object-position:50% 72%}.hero-video{display:none}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

.another-trip{text-decoration:none}

.hero-bottom{justify-content:flex-end}

/* Secondary pages */
.site-header nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}
.site-header nav a{white-space:nowrap}
.inner-hero{background:var(--navy);color:#fff;padding:78px max(7vw,30px) 90px;position:relative;overflow:hidden}
.inner-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:radial-gradient(#b7d1ca 0.6px,transparent 0.6px);background-size:8px 8px}
.inner-hero>*{position:relative;z-index:1;max-width:850px}
.inner-hero .eyebrow{color:#b8dfa8;margin-bottom:24px}
.inner-hero h1{font-size:clamp(48px,6.4vw,88px);line-height:1.02;letter-spacing:-.055em;margin:0 0 25px}
.inner-hero>p:last-child{font-size:18px;line-height:1.6;color:#d2dfe1;max-width:630px;margin:0}
.inner-body{max-width:1320px;margin:auto;padding:70px max(7vw,30px) 100px}
.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.process-list li{background:#fff;border-top:3px solid var(--green);padding:32px;min-height:225px;box-shadow:0 12px 35px #1836490d}
.step-number{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--green)}
.process-list h2,.contact-details h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.04em;margin:20px 0 12px;line-height:1.1}
.process-list p,.contact-details p,.contact-details li{color:#53666c;font-size:15px;line-height:1.65}
.page-cta,.contact-callout{margin-top:44px;background:#e3ece0;padding:36px 42px}
.page-cta .eyebrow,.contact-callout .eyebrow{color:var(--green)}
.page-cta h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;margin:12px 0 20px}
.page-cta a{display:inline-flex;align-items:center;gap:26px;background:var(--green);color:#fff;padding:15px 19px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
.contact-details{max-width:700px}.contact-details h2{margin-top:0}.contact-details ul{padding-left:21px}.contact-details li{padding:4px 0}.contact-callout{background:var(--navy);color:#fff;max-width:760px}.contact-email{font-size:clamp(20px,3vw,36px);font-weight:700;letter-spacing:-.035em;overflow-wrap:anywhere;text-decoration:none;border-bottom:1px solid #a6c6b5;padding-bottom:8px}.contact-email span{color:#b8dfa8}.contact-callout p:last-child{color:#c7d7d8;font-size:14px;line-height:1.6;margin:23px 0 0}
@media(max-width:720px){.site-header{height:auto;min-height:76px;flex-wrap:wrap;gap:8px;padding:12px 23px}.site-header nav{width:100%;justify-content:space-between;gap:10px;padding:4px 0 7px}.site-header nav a{font-size:10px}.inner-hero{padding:65px 24px 72px}.inner-body{padding:40px 18px 70px}.process-list{grid-template-columns:1fr}.process-list li{min-height:0;padding:27px}.page-cta,.contact-callout{padding:28px 24px}}

/* Team page */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.team-card{background:#fff;border-top:3px solid var(--green);padding:35px;min-height:295px;box-shadow:0 12px 35px #1836490d}
.team-monogram{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#e3ece0;color:var(--navy);font-family:'DM Serif Display',Georgia,serif;font-size:32px;letter-spacing:-.04em;margin-bottom:35px}
.team-card .eyebrow{color:var(--green);font-size:10px;margin-bottom:10px}
.team-card h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.05em;line-height:1.06;margin:0}
.team-bio{color:#53666c;font-size:15px;line-height:1.65;max-width:560px;margin:22px 0 0}
@media(max-width:720px){.site-header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:10px}.team-grid{grid-template-columns:1fr}.team-card{min-height:0;padding:29px}.team-monogram{margin-bottom:25px}}

/* Balance the closing headline with the invitation beside it. */
.closing{align-items:center}
.closing h2{font-size:clamp(42px,5.9vw,84px)}
@media(max-width:620px){.closing h2{font-size:clamp(46px,11.5vw,68px)}}

/* A tighter invitation with enough room for both the headline and contact copy. */
.closing{padding:clamp(54px,5.2vw,74px) max(5vw,30px);gap:clamp(34px,5vw,76px)}
.closing h2{font-size:clamp(42px,5.9vw,84px);max-width:790px}
.closing-side{width:clamp(310px,29vw,390px)}
.closing-side p{font-size:16px;line-height:1.5;margin-bottom:20px}
.closing-side a{border:1px solid #d8eadd;padding:14px 18px;font-size:12px;margin-bottom:16px}
.closing-side small{font-size:10px}
@media(max-width:850px){.closing{padding:56px max(5vw,25px);gap:26px}.closing-side{width:100%}.closing-side p{max-width:560px}}
@media(max-width:620px){.closing{padding:52px 25px 60px}.closing h2{font-size:clamp(46px,11.5vw,68px);margin-bottom:24px}.closing-side p{margin-bottom:18px}.closing-side a{margin-bottom:16px}}

/* Keep the closing invitation compact and centered. */
.closing{justify-content:center;gap:clamp(25px,3.2vw,48px);padding-block:62px}
.closing h2{flex:0 1 650px;max-width:650px;font-size:clamp(42px,5.5vw,78px)}
.closing-side{flex:0 0 320px;width:320px}
.closing-side a{margin-bottom:0}
@media(max-width:850px){.closing{display:block;text-align:center;padding:52px 25px 58px}.closing h2{max-width:680px;margin:0 auto 25px}.closing-side{display:block;width:min(100%,500px);margin:0 auto}.closing-side p{width:auto;max-width:none;margin:0 0 19px}.closing-side a{margin:0 auto}}
@media(max-width:620px){.closing h2{font-size:clamp(45px,11vw,64px)}}

/* Two deliberate headline lines, with a smaller fit on narrow screens. */
.closing h2{flex:0 1 auto;max-width:none;font-size:clamp(38px,5.2vw,72px)}
.closing-line{display:block;white-space:nowrap}
@media(max-width:1200px){.closing{display:block;text-align:center;padding:52px 25px 58px}.closing h2{margin:0 auto 24px;font-size:clamp(36px,6.1vw,67px)}.closing-side{display:block;width:min(100%,500px);margin:0 auto}.closing-side p{width:auto;max-width:none;margin:0 0 19px}.closing-side a{margin:0 auto}}
@media(max-width:620px){.closing h2{font-size:clamp(23px,7vw,42px)}}

/* Mission page and a little breathing room between closing headline lines. */
.closing{gap:clamp(30px,3.6vw,55px)}
.closing-line + .closing-line{margin-top:.08em}
.mission-lead{max-width:900px;margin-bottom:42px}
.mission-lead .eyebrow{color:var(--green);margin-bottom:17px}
.mission-lead h2{font-size:clamp(36px,4.3vw,58px);line-height:1.06;letter-spacing:-.05em;margin:0 0 20px}
.mission-lead>p:last-child{font-size:18px;line-height:1.65;color:#53666c;max-width:760px;margin:0}
.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.mission-card{background:#fff;border-top:3px solid var(--green);padding:30px;min-height:250px;box-shadow:0 12px 35px #1836490d}
.mission-card>span{font-size:10px;letter-spacing:.16em;color:var(--green);font-weight:700}
.mission-card h3{font-size:clamp(25px,2.5vw,34px);line-height:1.12;letter-spacing:-.04em;margin:22px 0 12px}
.mission-card p{font-size:15px;line-height:1.65;color:#53666c;margin:0}
@media(max-width:850px){.mission-grid{grid-template-columns:1fr}.mission-card{min-height:0}}
@media(max-width:620px){.mission-lead>p:last-child{font-size:16px}.mission-card{padding:26px}}

.other-place-link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
