*{box-sizing:border-box}body{margin:0;background:#f5f3ee;color:#19313d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.top{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:auto;padding:0 28px}.brand{letter-spacing:.16em;font-size:13px}.brand b{font-weight:800}.private{font-size:10px;letter-spacing:.2em;color:#829098}main{max-width:1120px;margin:0 auto;padding:18px 28px 80px}.hero{background:#173846;color:#fff;border-radius:24px;padding:70px 8%;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-140px;top:-220px}.eyebrow,.sectionTitle,.sectionHead span{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero .eyebrow{color:#c9d9df}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,7vw,76px);line-height:.98;max-width:820px;margin:18px 0 10px}.subtitle{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#d8e1e3;margin:0}.tripMeta{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:12px}.intro{max-width:760px;margin-top:34px;font-size:16px;line-height:1.75;color:#e4ebed}.price{margin:16px 0;background:#fff;border-radius:18px;padding:24px 28px;display:flex;align-items:center;gap:15px}.price span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.price b{font-family:Georgia,serif;font-size:32px;font-weight:400;margin-left:auto}.price small{color:#85939a}.itinerary{margin-top:65px}.sectionHead{text-align:center;margin-bottom:30px}.sectionHead span,.sectionTitle{color:#7b8e97}.sectionHead h2{font-family:Georgia,serif;font-weight:400;font-size:38px;margin:8px}.day{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:30px 0;border-top:1px solid #d8d6cf}.dayNo{width:72px;height:72px;border-radius:50%;background:#173846;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.dayNo span{font-size:7px;letter-spacing:.18em}.dayNo b{font-family:Georgia,serif;font-size:28px;font-weight:400}.dayDate{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#82939b}.dayMain h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:5px 0 9px}.dayDesc{color:#657881;line-height:1.65;max-width:780px}.service{display:grid;grid-template-columns:35px 1fr;gap:12px;margin-top:17px;padding-top:17px;border-top:1px solid #e4e1db}.serviceIcon{width:30px;height:30px;border-radius:50%;background:#e5ecee;display:flex;align-items:center;justify-content:center}.serviceType{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#84949b}.service h4{margin:4px 0;font-size:14px}.service p{margin:4px 0;color:#6c7d85;font-size:12px;line-height:1.55}.service small{display:block;color:#8b989d;font-size:10px}.service a{display:inline-block;margin-top:5px;color:#395f70;font-size:10px;text-decoration:none}.card{background:#fff;border-radius:18px;padding:25px 28px;margin-top:16px}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card ul{padding-left:17px;line-height:1.8;color:#566d78;font-size:12px}.priceLines>div,.doc{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0ee}.priceLines>div:first-child,.doc:first-of-type{border-top:0}.priceLines b{margin-left:auto}.doc span{width:120px;font-size:8px;text-transform:uppercase;color:#87969d}.doc b{font-size:11px}.doc small{margin-left:auto;color:#89979d}.docNote{margin-top:10px;background:#f8f7f3;border-radius:9px;padding:9px;font-size:9px;color:#839198}.terms p{font-size:11px;line-height:1.7;color:#60747e}.closing{text-align:center;padding:80px 20px 10px}.closing span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#86969c}.closing h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:7px}.closing p{color:#74868e}.signature{font-family:Georgia,serif;font-style:italic;font-size:24px;margin-top:26px}footer{text-align:center;padding:30px;font-size:9px;color:#89979d;border-top:1px solid #dedbd4}.loading,.error{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:2px solid #d9dfdf;border-top-color:#173846;animation:s 1s linear infinite}@keyframes s{to{transform:rotate(360deg)}}.error h1{font-family:Georgia,serif;font-size:38px;font-weight:400}.error p{color:#768991}.brandLarge{letter-spacing:.15em;margin-bottom:25px}@media(max-width:700px){.top{padding:0 18px}.private{display:none}main{padding:8px 12px 60px}.hero{border-radius:17px;padding:45px 24px}.price{align-items:flex-start;flex-direction:column}.price b{margin-left:0}.day{grid-template-columns:54px 1fr;gap:12px}.dayNo{width:50px;height:50px}.dayNo b{font-size:20px}.twoCol{grid-template-columns:1fr}.doc{align-items:flex-start;flex-direction:column;gap:3px}.doc small{margin-left:0}}
/* v2.1 secure guest documents */
.doc{justify-content:space-between}.docMeta{display:grid;grid-template-columns:120px minmax(180px,1fr) auto;gap:12px;align-items:center;flex:1;min-width:0}.docMeta span{width:auto;font-size:8px;text-transform:uppercase;color:#87969d}.docMeta b{font-size:11px;overflow-wrap:anywhere}.docMeta small{margin-left:0;color:#89979d;white-space:nowrap}.docOpen{border:1px solid #d9e1e2;background:#173846;color:#fff;border-radius:999px;padding:9px 14px;font:inherit;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.docOpen:hover{filter:brightness(1.08)}.docOpen:disabled{opacity:.55;cursor:wait}.doc em{font-size:9px;color:#96a1a5;font-style:normal;white-space:nowrap}.docError{display:block;width:100%;color:#9b4b43;font-size:9px;margin-top:5px}.docNote{line-height:1.5}
@media(max-width:700px){.doc{align-items:stretch;flex-direction:column}.docMeta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.docOpen{align-self:flex-start;margin-top:6px}.doc em{white-space:normal}}

/* v2.2 Guest Portal polish */
:root{--ink:#173743;--ink2:#244b59;--cream:#f4f1ea;--paper:#fff;--sand:#d7c7aa;--line:#ddd9d0;--muted:#70838a;--shadow:0 18px 55px rgba(24,49,61,.08)}
body{background:var(--cream);color:var(--ink);font-family:"DM Sans",Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.top{height:86px;max-width:1180px;padding:0 34px}.brand{font-size:12px;letter-spacing:.22em}.brand span{font-weight:400}.brand b{margin-left:5px}.private{letter-spacing:.24em;color:#72858c}
main{max-width:1180px;padding:14px 34px 100px}.hero{min-height:590px;display:flex;align-items:flex-end;border-radius:8px;padding:72px 8%;background:linear-gradient(128deg,#102e3a 0%,#1f4e5d 62%,#6f8d91 100%);box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,25,33,.5),transparent 60%);pointer-events:none}.hero:after{width:720px;height:720px;right:-190px;top:-360px;border-color:rgba(255,255,255,.12)}.heroGlow{position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-40px;top:-250px}.heroContent{position:relative;z-index:1;width:100%}.hero .eyebrow{color:#d9d1c2;font-size:9px;letter-spacing:.26em}.hero h1,.sectionHead h2,.dayMain h3,.price b,.closing h2{font-family:"Playfair Display",Georgia,serif}.hero h1{font-size:clamp(48px,7.3vw,86px);line-height:1.02;max-width:880px;margin:20px 0 13px}.subtitle{font-family:"Playfair Display",Georgia,serif;font-size:clamp(19px,2.4vw,27px);color:#e6eaeb}.tripMeta{gap:0;margin-top:38px;padding-top:22px}.tripMeta span{padding:0 22px;border-left:1px solid rgba(255,255,255,.25);font-size:11px;letter-spacing:.04em}.tripMeta span:first-child{padding-left:0;border-left:0}.intro{max-width:720px;font-size:15px;line-height:1.8;color:#edf1f1}
.price{margin:18px 0 0;border-radius:8px;padding:29px 34px;box-shadow:0 8px 30px rgba(24,49,61,.05);gap:28px}.priceLabel{display:flex;flex-direction:column;gap:5px}.priceLabel span{font-size:9px;font-weight:700;letter-spacing:.18em}.priceLabel small{font-size:11px;color:var(--muted)}.price b{font-size:38px;margin-left:auto}.validity{padding-left:28px;border-left:1px solid var(--line);font-size:9px;line-height:1.5;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.validity strong{color:var(--ink);font-size:10px}
.itinerary{margin-top:90px}.sectionHead{margin-bottom:48px}.sectionHead span,.sectionTitle{font-size:9px;letter-spacing:.22em;color:#71858d}.sectionHead h2{font-size:clamp(36px,4vw,50px);margin:11px 0}.day{grid-template-columns:110px 1fr;gap:32px;padding:42px 0}.dayNo{width:82px;height:82px;background:var(--ink);box-shadow:0 10px 25px rgba(23,55,67,.13)}.dayNo b{font-family:"Playfair Display",Georgia,serif;font-size:31px}.dayDate{font-weight:700;letter-spacing:.15em;color:#778a91}.dayMain h3{font-size:31px;margin:8px 0 14px}.dayDesc{font-size:14px;line-height:1.75;max-width:800px;color:#5d747d}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.service{grid-template-columns:42px 1fr;gap:14px;margin:0;padding:18px;border:1px solid #e5e1d9;background:rgba(255,255,255,.62);border-radius:7px;min-height:105px}.serviceIcon{width:34px;height:34px;background:#e5ecec;color:var(--ink);font-weight:700}.serviceType{font-size:8px;font-weight:700;letter-spacing:.16em}.service h4{font-size:14px;margin:5px 0}.service p{font-size:11px;line-height:1.55}.service a{margin-top:8px;font-size:10px;font-weight:700;border-bottom:1px solid #91a2a8}.service.hotel{border-top:3px solid #a68d63}.service.transfer,.service.train,.service.flight{border-top:3px solid #6e929e}.service.meal{border-top:3px solid #b58a74}.service.boat{border-top:3px solid #73a7ad}
.card{border-radius:8px;padding:32px 36px;box-shadow:0 8px 30px rgba(24,49,61,.04)}.twoCol{gap:18px;margin-top:18px}.twoCol .card{border-top:3px solid var(--sand)}.card ul{font-size:12px;line-height:1.85}.card li::marker{color:#a89168}.terms{margin-top:18px}.terms p{font-size:12px;line-height:1.8}.docs h2{font-family:"Playfair Display",Georgia,serif;font-size:28px;font-weight:500;margin:8px 0}.docs>p{font-size:11px;color:var(--muted);margin-bottom:20px}.doc{padding:15px 0}.documentIcon{width:42px;height:48px;background:#e8eeee;color:var(--ink);display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:8px;font-weight:800;letter-spacing:.08em;flex:0 0 auto}.docMeta{grid-template-columns:100px minmax(180px,1fr) auto}.docMeta b{font-size:12px}.docOpen{padding:11px 17px;border-radius:4px;background:var(--ink);font-size:9px;letter-spacing:.04em}.docNote{margin-top:16px;padding:12px 14px;border-radius:4px}.closing{padding:100px 20px 5px}.closing h2{font-size:48px}.signature{font-family:"Playfair Display",Georgia,serif}.emptyState{text-align:center;background:#fff;border:1px solid var(--line);padding:40px;color:var(--muted)}
@media print{body{background:#fff}.top{height:55px}.hero{min-height:390px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.price,.card{box-shadow:none}.day{break-inside:avoid}.docOpen{display:none}main{padding-bottom:20px}footer{padding:15px}.closing{padding-top:50px}}
@media(max-width:800px){.services{grid-template-columns:1fr}}
@media(max-width:700px){.top{height:68px;padding:0 18px}main{padding:6px 12px 60px}.hero{min-height:500px;padding:46px 24px;border-radius:6px}.hero h1{font-size:44px}.tripMeta{gap:11px}.tripMeta span{width:100%;padding:0;border:0}.intro{font-size:14px}.price{padding:24px;gap:14px}.price b{font-size:33px}.validity{padding:12px 0 0;border-left:0;border-top:1px solid var(--line);width:100%}.itinerary{margin-top:65px}.sectionHead{margin-bottom:28px}.sectionHead h2{font-size:37px}.day{grid-template-columns:52px 1fr;gap:13px;padding:32px 0}.dayNo{width:49px;height:49px}.dayMain h3{font-size:25px}.services{display:block}.service{margin-top:10px;padding:15px}.twoCol{grid-template-columns:1fr}.card{padding:25px 22px}.docMeta{display:flex}.documentIcon{width:36px;height:41px}.docOpen{align-self:stretch;text-align:center}.closing h2{font-size:39px}}

/* v2.2.1 compact itinerary refinement */
.itinerary{margin-top:72px}.sectionHead{margin-bottom:28px}.sectionHead h2{font-size:clamp(31px,3.2vw,42px)}
.day{grid-template-columns:78px 1fr;gap:25px;padding:32px 0}.dayNo{width:62px;height:62px}.dayNo b{font-size:25px}.dayNo span{font-size:6px}.dayMain h3{font-size:27px;margin:6px 0 11px}.dayDesc{margin:0 0 15px}
.services{gap:10px;margin-top:16px}.service{grid-template-columns:36px 1fr;gap:12px;padding:14px 16px;min-height:82px}.serviceIcon{width:30px;height:30px}.service h4{margin:4px 0 0}.service p{margin:5px 0 0}.service small{margin-top:5px}
@media(max-width:700px){.itinerary{margin-top:54px}.sectionHead h2{font-size:31px}.day{grid-template-columns:43px 1fr;gap:11px;padding:27px 0}.dayNo{width:41px;height:41px}.dayNo b{font-size:18px}.dayMain h3{font-size:23px}.service{min-height:0;padding:13px}}

/* v2.2.2 cool blue and gold direction */
:root{--ink:#123b4a;--ink2:#205365;--cream:#f3f7f8;--paper:#fff;--sand:#c7a668;--line:#d8e1e3;--muted:#6e858e;--shadow:0 16px 45px rgba(18,59,74,.08)}
body{background:linear-gradient(180deg,#f8fafb 0%,#f1f6f7 100%)}
.hero h1,.subtitle,.sectionHead h2,.dayMain h3,.price b,.closing h2,.signature,.dayNo b{font-family:"Newsreader",Georgia,serif}
.hero{background:linear-gradient(132deg,#0d3443 0%,#185064 62%,#357184 100%);border-radius:14px}
.hero:before{background:linear-gradient(0deg,rgba(4,31,42,.46),transparent 64%)}
.hero .eyebrow{color:#ddc38f}.subtitle{color:#eff6f7}
.price,.card{border-radius:12px}.price{border-top:3px solid var(--sand)}
.day{border-top-color:#d4e0e2}.dayNo{background:linear-gradient(145deg,#0f3c4c,#1d596c);box-shadow:0 10px 24px rgba(18,59,74,.16)}
.service{border-radius:10px;background:rgba(255,255,255,.8);border-color:#dae4e5}.serviceIcon{background:#e5eff1}.service.hotel{border-top-color:#c7a668}.service.transfer,.service.train,.service.flight{border-top-color:#5591a2}.service.meal{border-top-color:#d0a06f}.service.boat{border-top-color:#5aa4ad}
.sectionHead span,.sectionTitle,.dayDate,.serviceType{color:#67828c}.sectionHead span,.sectionTitle{font-weight:700}.sectionHead h2{font-weight:400;letter-spacing:-.018em}.dayMain h3{font-weight:500;letter-spacing:-.01em}
.twoCol .card{border-top-color:var(--sand)}.card li::marker{color:var(--sand)}
.docOpen{background:#123b4a}.documentIcon{background:#e5eff1}.docNote{background:#f1f6f7}
footer{border-top-color:#d3e0e2}

/* v2.2.3 neutral background and softer headings */
:root{--ink:#173b49;--ink2:#244d5b;--cream:#f7f7f4;--paper:#fff;--sand:#c3a262;--line:#dedfda;--muted:#718087;--shadow:0 14px 40px rgba(22,48,58,.07)}
body{background:#f7f7f4}
.hero{background:linear-gradient(132deg,#153845 0%,#204e5d 64%,#54727a 100%)}
.hero .eyebrow{font-size:10px;letter-spacing:.13em;text-transform:none;font-weight:600}.hero h1{font-weight:400;letter-spacing:-.025em}.subtitle{font-style:italic}
.sectionHead{text-align:left;max-width:960px;margin-left:auto;margin-right:auto}.sectionHead span{font-size:11px;letter-spacing:.05em;text-transform:none;font-weight:600;color:#8b7650}.sectionHead h2{font-size:clamp(29px,3vw,38px);line-height:1.12;margin:7px 0;font-weight:400;letter-spacing:-.025em}
.sectionTitle{font-size:11px;letter-spacing:.04em;text-transform:none;font-weight:600;color:#8b7650}
.dayDate{font-size:11px;letter-spacing:.05em;text-transform:none;font-weight:600}.dayMain h3{font-size:26px;font-weight:400;letter-spacing:-.015em}.dayNo span{letter-spacing:.05em}.serviceType{font-size:9px;letter-spacing:.055em;text-transform:none;font-weight:600}
.priceLabel span{font-size:10px;letter-spacing:.055em;text-transform:none}.validity{text-transform:none;letter-spacing:.02em}.closing span{text-transform:none;letter-spacing:.04em}
.service{background:#fff}.serviceIcon,.documentIcon{background:#eef1f1}.docNote{background:#f5f6f4}
@media(max-width:700px){.sectionHead h2{font-size:29px}.sectionHead{padding-left:54px}.dayMain h3{font-size:22px}}

/* v2.2.4 journey photography */
.hero.hasPhoto{background-image:linear-gradient(90deg,rgba(8,35,45,.88) 0%,rgba(12,43,54,.62) 55%,rgba(10,38,48,.28) 100%),var(--hero-image);background-size:cover;background-position:center}
.dayPhoto{display:block;width:100%;height:clamp(220px,29vw,390px);object-fit:cover;border-radius:12px;margin:0 0 22px;box-shadow:var(--shadow)}
.service.hasServicePhoto{grid-template-columns:92px 36px 1fr;overflow:hidden;padding-left:0}.servicePhoto{width:92px;height:100%;min-height:78px;object-fit:cover;align-self:stretch;margin:-14px 0 -14px 0}
@media(max-width:700px){.hero.hasPhoto{background-position:center}.dayPhoto{height:210px;border-radius:9px;margin-bottom:17px}.service.hasServicePhoto{grid-template-columns:72px 30px 1fr}.servicePhoto{width:72px;margin:-13px 0}}

/* v2.2.5 single-column service timeline */
.services{grid-template-columns:1fr;gap:12px}
.service{min-height:112px;grid-template-columns:44px minmax(0,1fr);padding:20px 22px;align-items:start}
.serviceIcon{width:36px;height:36px}
.service h4{font-size:17px;margin:4px 0 5px}.service p{font-size:13px;line-height:1.65;max-width:850px}.service small{font-size:11px}.service a{font-size:11px;margin-top:9px}
.service.hasServicePhoto{grid-template-columns:230px 44px minmax(0,1fr);padding:0 22px 0 0;min-height:170px;align-items:center}
.servicePhoto{width:230px;height:170px;min-height:170px;margin:0;object-fit:cover;border-radius:8px 0 0 8px}
.service.hasServicePhoto .serviceIcon{align-self:center}.service.hasServicePhoto>div:last-child{padding:18px 0}
@media(max-width:700px){.services{display:grid}.service{grid-template-columns:36px minmax(0,1fr);padding:16px;min-height:0}.service.hasServicePhoto{display:grid;grid-template-columns:36px minmax(0,1fr);padding:0 16px 16px;min-height:0}.servicePhoto{grid-column:1/-1;width:calc(100% + 32px);height:190px;min-height:190px;margin:0 -16px 14px;border-radius:8px 8px 0 0}.service.hasServicePhoto .serviceIcon{align-self:start}.service.hasServicePhoto>div:last-child{padding:0}}

/* v2.2.6 align service icon with heading */
.service.hasServicePhoto{align-items:start}
.service.hasServicePhoto .serviceIcon{align-self:start;margin-top:20px}
@media(max-width:700px){.service.hasServicePhoto .serviceIcon{margin-top:0}}

/* v2.2.7 make service photo follow the full card height */
.service.hasServicePhoto{align-items:stretch}
.service.hasServicePhoto .servicePhoto{height:100%;min-height:170px;align-self:stretch}
.service.hasServicePhoto .serviceIcon{align-self:start}
@media(max-width:700px){.service.hasServicePhoto .servicePhoto{height:190px;min-height:190px;align-self:auto}}

/* v2.2.9 mobile and print/PDF polish */
.topActions{display:flex;align-items:center;gap:18px}.topActions button{border:1px solid #cfdadc;background:transparent;color:var(--ink);border-radius:999px;padding:8px 13px;font:inherit;font-size:9px;font-weight:700;letter-spacing:.05em;cursor:pointer}.topActions button:hover{background:#fff}
.heroPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero.hasPhoto{background:#153845}.hero.hasPhoto:before{z-index:1;background:linear-gradient(90deg,rgba(8,35,45,.9) 0%,rgba(12,43,54,.64) 58%,rgba(10,38,48,.3) 100%)}.hero.hasPhoto:after,.hero.hasPhoto .heroGlow{z-index:2}.hero.hasPhoto .heroContent{z-index:3}
.service,.dayPhoto,.heroPhoto{max-width:100%}.service>div:last-child{min-width:0}.service h4,.service p,.dayDesc,.intro{overflow-wrap:anywhere}
@media(max-width:700px){.topActions{gap:8px}.topActions button{font-size:8px;padding:7px 10px}.hero{min-height:460px}.heroPhoto{object-position:center}.hero h1{font-size:clamp(39px,12vw,52px)}.subtitle{font-size:20px}.intro{font-size:13px;line-height:1.65}.price b{overflow-wrap:anywhere}.dayPhoto{width:100%;height:205px}.servicePhoto{object-position:center}.service p{font-size:12px}.card{overflow:hidden}}
@page{size:A4;margin:12mm}
@media print{
 html,body{background:#fff!important;color:#173743}body{font-size:10pt}.top{height:40px;max-width:none;padding:0}.topActions button,.private{display:none!important}main{max-width:none;padding:0}.hero{min-height:245px;border-radius:0;padding:28px 34px;box-shadow:none;break-after:avoid}.hero h1{font-size:38pt;max-width:150mm}.subtitle{font-size:17pt}.tripMeta{margin-top:18px;padding-top:12px}.intro{font-size:9.5pt;line-height:1.55;margin-top:18px}.heroPhoto{-webkit-print-color-adjust:exact;print-color-adjust:exact}.price{padding:15px 18px;margin-top:8px;break-inside:avoid}.price b{font-size:25pt}.itinerary{margin-top:28px}.sectionHead{margin-bottom:14px}.sectionHead h2{font-size:24pt}.day{grid-template-columns:45px 1fr;gap:12px;padding:18px 0;break-inside:auto}.dayNo{width:38px;height:38px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dayNo b{font-size:16pt}.dayMain h3{font-size:18pt}.dayPhoto{height:185px;border-radius:5px;margin-bottom:12px;box-shadow:none}.services{gap:7px}.service{break-inside:avoid;min-height:68px;padding:10px 12px;border-radius:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.service.hasServicePhoto{grid-template-columns:125px 30px 1fr;min-height:92px;padding-right:12px}.service.hasServicePhoto .servicePhoto{width:125px;min-height:92px;height:100%;border-radius:3px 0 0 3px}.service.hasServicePhoto .serviceIcon{margin-top:10px}.serviceIcon{width:26px;height:26px}.service h4{font-size:11pt}.service p{font-size:8.5pt;line-height:1.45}.service a{color:#173743}.twoCol{gap:8px}.card{padding:16px 18px;border-radius:4px;box-shadow:none;break-inside:avoid}.closing{padding:35px 20px 5px;break-inside:avoid}.closing h2{font-size:27pt}footer{padding:10px}.docOpen{display:none!important}
}

/* v2.3.4 — secure Guide / Driver portal */
.guidePortal{background:#f4f7f8}.guidePortal #portal{max-width:1180px;padding-top:30px}.guidePortal .top{background:#102d40}.guidePortal .private{color:#d9b76e}
.guideHero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:30px 34px;border-radius:18px;background:linear-gradient(120deg,#102e42,#1d5269);color:#fff;box-shadow:0 16px 42px rgba(13,39,55,.16)}.guideHero span,.guideSectionTitle span{display:block;color:#82bfe1;font-size:11px;font-weight:800;letter-spacing:.16em}.guideHero h1{margin:6px 0;font-family:Newsreader,serif;font-size:38px}.guideHero p{margin:0;color:#d7e5eb}.guideHero>b{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:11px}
.guideQuickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.guideQuickGrid>div{padding:16px;border:1px solid #d7e2e7;border-radius:14px;background:#fff}.guideQuickGrid span,.guideServiceGrid span{display:block;color:#718696;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.guideQuickGrid b{display:block;margin:5px 0;color:#17374b}.guideQuickGrid small{display:block;color:#718594;line-height:1.45}
.guideAction{display:inline-flex;align-items:center;margin:8px 6px 0 0;padding:6px 9px;border:1px solid #bcd1dc;border-radius:7px;color:#125a82;font-size:10px;font-weight:700;text-decoration:none;background:#f8fcfe}.guideAction:hover{background:#eaf5fa}
.guideInstructions,.guideTeam,.guideSchedule{margin:18px 0;padding:24px;border:1px solid #d4e0e6;border-radius:16px;background:#fff}.guideSectionTitle h2{margin:4px 0 16px;color:#152f42;font-family:Newsreader,serif;font-size:28px}.guideInstructions article{margin-top:10px;padding:14px 16px;border-left:4px solid #c69b48;border-radius:8px;background:#fff9ed}.guideInstructions article>span{color:#906513;font-size:9px;font-weight:800;letter-spacing:.1em}.guideInstructions p{margin:5px 0 0;color:#334f60;line-height:1.6}
.guideTeam>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guideTeam article{padding:14px;border:1px solid #dce5ea;border-radius:11px}.guideTeam article>span,.guideServiceMain>span{color:#397496;font-size:9px;font-weight:800;letter-spacing:.08em}.guideTeam b,.guideTeam small{display:block;margin-top:4px}.guideTeam small{color:#718594}
.guideDay{margin-top:18px;border:1px solid #d7e2e7;border-radius:14px;overflow:hidden}.guideDay>header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#173d53;color:#fff}.guideDay header span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#9ecae0}.guideDay h3{margin:3px 0;font-family:Newsreader,serif;font-size:22px}.guideService{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:18px;border-bottom:1px solid #e4eaed}.guideService:last-child{border-bottom:0}.guideService>time{color:#1a6288;font-weight:800}.guideService h4{margin:3px 0 12px;color:#173449;font-size:18px}.guideServiceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guideServiceGrid>div{padding:10px;border-radius:9px;background:#f4f7f8}.guideServiceGrid b,.guideServiceGrid small{display:block;margin-top:4px}.guideServiceGrid small{color:#718594}.guideServiceNote{margin:12px 0 0;padding:11px 13px;border-left:3px solid #c69b48;background:#fff9ed;color:#405968}.guideServiceActions{margin-top:5px}.guideEmpty{padding:18px;color:#718594}.guideSecurity{margin:20px 0;padding:12px 15px;border-radius:10px;background:#eaf2f5;color:#587180;font-size:11px}
@media(max-width:850px){.guideQuickGrid{grid-template-columns:1fr 1fr}.guideTeam>div{grid-template-columns:1fr 1fr}.guideServiceGrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.guidePortal #portal{padding:16px 12px}.guideHero{display:block;padding:22px 18px}.guideHero h1{font-size:29px}.guideHero>b{display:inline-block;margin-top:14px}.guideQuickGrid,.guideTeam>div,.guideServiceGrid{grid-template-columns:1fr}.guideInstructions,.guideTeam,.guideSchedule{padding:16px}.guideService{grid-template-columns:1fr;padding:14px}.guideService>time{font-size:18px}.guideDay>header{align-items:flex-start}.guideDay>header>b{font-size:10px}.guideSectionTitle h2{font-size:24px}}
@media print{.guidePortal .top{position:static}.guidePortal #portal{max-width:none;padding:0}.guideHero{box-shadow:none}.guideAction{display:none}.guideInstructions,.guideTeam,.guideSchedule,.guideDay,.guideService{break-inside:avoid}}

/* v2.3.0 guest journey navigation and essential service information */
html{scroll-behavior:smooth;scroll-padding-top:92px}
.dayNav{position:sticky;top:0;z-index:20;margin:18px 0 0;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px rgba(22,48,58,.07);backdrop-filter:blur(12px)}
.dayNavInner{display:flex;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:5px}
.dayNav a{flex:0 0 auto;min-width:130px;max-width:190px;padding:10px 13px;border-radius:8px;color:var(--ink);text-decoration:none;border-right:1px solid #e7e8e3}
.dayNav a:last-child{border-right:0}.dayNav a:hover,.dayNav a:focus-visible{background:#f1f5f5;outline:none}
.dayNav span{display:block;color:#9a8052;font-size:9px;font-weight:700;letter-spacing:.04em}.dayNav b{display:block;margin-top:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day{scroll-margin-top:92px}.serviceTopline{display:flex;align-items:center;justify-content:space-between;gap:10px}.serviceState{display:inline-flex;align-items:center;flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700;letter-spacing:.03em}.serviceState.confirmed{background:#e4f2ed;color:#286553}.serviceState.pending{background:#fff1d8;color:#87611f}.serviceState.recommended{background:#f0e9dc;color:#7b6234}.serviceState.neutral{background:#edf1f2;color:#5f737a}
.service.isRecommendation{border-top-color:#c3a262;background:#fffdf8}.meeting,.guestInstructions{margin-top:12px;padding:10px 12px;border-radius:7px;background:#f4f6f5}.meeting span,.guestInstructions>span{display:block;margin-bottom:3px;color:#8b7650;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.meeting b{display:block;font-size:11px;line-height:1.45}.guestInstructions p{margin:0;color:#536a73;font-size:11px;line-height:1.55}.mapLink{display:inline-flex!important;align-items:center;gap:5px;margin-top:12px!important;padding:8px 10px;border:1px solid #cddbdd!important;border-radius:6px;color:var(--ink)!important;text-decoration:none!important}.mapLink:hover{background:#edf3f3}
@media(max-width:700px){html{scroll-padding-top:74px}.dayNav{top:0;margin:12px 0 0;border-radius:9px}.dayNav a{min-width:116px;padding:9px 11px}.day{scroll-margin-top:74px}.serviceTopline{align-items:flex-start}.serviceState{margin-top:-2px}.meeting,.guestInstructions{margin-top:10px}.mapLink{width:100%;justify-content:center;min-height:42px}.dayNavInner{-webkit-overflow-scrolling:touch}}
@media print{.dayNav{display:none!important}.meeting,.guestInstructions{background:#f6f6f3!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.mapLink{padding:0;border:0!important}.serviceState{border:1px solid #cfd7d7;background:transparent!important}}

/* v2.3.6 — denser guide view and direct jump to today's operations */
.guideScheduleHead{display:flex;align-items:center;justify-content:space-between;gap:16px}.guideTodayButton{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#c69b48;color:#fff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.guideTodayButton:hover{background:#aa7f30}.guideDay{scroll-margin-top:18px}.guideDay.isToday{border:2px solid #c69b48;box-shadow:0 8px 24px rgba(154,111,35,.12)}.guideDay.isToday>header{background:linear-gradient(110deg,#173d53,#765a28)}
@media(min-width:851px){
 .guidePortal .top{height:58px}.guidePortal #portal{max-width:1280px!important;padding:16px 20px 48px!important}
 .guideHero{padding:16px 21px;border-radius:12px}.guideHero h1{font-size:27px}.guideHero p{font-size:12px}
 .guideQuickGrid{gap:8px;margin:10px 0}.guideQuickGrid>div{padding:9px 11px;border-radius:9px}.guideQuickGrid b{font-size:14px}.guideQuickGrid small{font-size:10px}.guideAction{padding:4px 7px;font-size:9px}
 .guideInstructions,.guideTeam,.guideSchedule{margin:10px 0;padding:14px 16px;border-radius:11px}.guideSectionTitle h2{margin-bottom:8px;font-size:21px}
 .guideInstructions article{padding:8px 11px}.guideInstructions p{font-size:12px;line-height:1.45}
 .guideTeam article{padding:9px 10px}.guideDay{margin-top:10px}.guideDay>header{padding:8px 12px}.guideDay h3{font-size:17px}
 .guideService{grid-template-columns:46px 1fr;padding:10px 12px}.guideService h4{margin-bottom:6px;font-size:14px}.guideServiceGrid{gap:6px}.guideServiceGrid>div{padding:6px 8px}.guideServiceNote{padding:7px 9px}
}
@media(max-width:600px){.guideScheduleHead{align-items:flex-start}.guideTodayButton{padding:7px 10px;font-size:10px}.guideDay{scroll-margin-top:10px}}
@media print{.guideTodayButton{display:none}.guideDay.isToday{border:1px solid #d7e2e7;box-shadow:none}}

/* v2.3.5 — compact Guide / Driver desktop layout */
@media(min-width:851px){
 .guidePortal .top{max-width:1380px;height:66px;padding:0 24px}
 .guidePortal #portal{max-width:1380px!important;padding:22px 24px 64px!important}
 .guideHero{padding:21px 26px;border-radius:14px;box-shadow:0 12px 32px rgba(13,39,55,.13)}
 .guideHero span,.guideSectionTitle span{font-size:10px;letter-spacing:.14em}
 .guideHero h1{margin:3px 0;font-size:31px;line-height:1.08}
 .guideHero p{font-size:14px}.guideHero>b{padding:7px 11px;font-size:10px}
 .guideQuickGrid{gap:10px;margin:14px 0}
 .guideQuickGrid>div{min-height:0;padding:12px 14px;border-radius:11px}
 .guideQuickGrid b{margin:3px 0;font-size:16px}.guideQuickGrid small{font-size:11px}
 .guideAction{margin-top:6px;padding:5px 8px}
 .guideInstructions,.guideTeam,.guideSchedule{margin:14px 0;padding:18px 20px;border-radius:13px}
 .guideSectionTitle h2{margin:3px 0 11px;font-size:24px;line-height:1.12}
 .guideInstructions article{margin-top:8px;padding:11px 14px}.guideInstructions p{font-size:13px;line-height:1.5}
 .guideTeam>div{gap:8px}.guideTeam article{padding:11px 12px;border-radius:9px}.guideTeam b{font-size:13px}.guideTeam small{font-size:11px}
 .guideDay{margin-top:13px;border-radius:11px}.guideDay>header{padding:10px 14px}.guideDay h3{font-size:19px}
 .guideService{grid-template-columns:52px 1fr;gap:10px;padding:13px 15px}.guideService>time{font-size:13px}
 .guideService h4{margin:2px 0 8px;font-size:16px}.guideServiceGrid{gap:8px}.guideServiceGrid>div{padding:8px 9px;border-radius:7px}
 .guideServiceGrid b,.guideServiceGrid small{font-size:11px}.guideServiceNote{margin-top:9px;padding:9px 11px;font-size:12px}
 .guideSecurity{margin:14px 0;padding:10px 13px}
}

/* v2.3.7 — proposal introduction, map and inclusions */
.journeyWelcome{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin:28px 0}.welcomeIntro,.designerIntro{padding:26px 30px;border-radius:14px;background:#f7f7f2}.designerIntro{background:#eaf1ef}.welcomeEyebrow{display:block;color:#987849;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.journeyWelcome p{margin:13px 0 0;color:#334b51;font-size:14px;line-height:1.7}.designerIntro h2{margin:12px 0 2px;font-family:Newsreader,serif;font-weight:500;font-size:27px}.designerIntro small{color:#597474;font-size:12px}.journeyMap{margin:24px 0}.journeyMap iframe{display:block;width:100%;height:340px;border:0;border-radius:10px;background:#e8eeeb}.journeyMap>a{display:inline-block;margin-top:14px;color:#285e68;font-size:12px;font-weight:700}.inclusionList{list-style:none!important;padding-left:0!important}.inclusionList li{position:relative;padding:8px 0 8px 29px!important;border-bottom:1px solid #e8ece9}.inclusionList li:before{content:'✓';position:absolute;left:0;top:8px;color:#397a63;font-weight:700}.inclusionList li:last-child{border-bottom:0}
@media(max-width:700px){.journeyWelcome{grid-template-columns:1fr;gap:12px;margin:18px 0}.welcomeIntro,.designerIntro{padding:20px}.journeyMap iframe{height:260px}}
@media print{.journeyWelcome,.journeyMap{break-inside:avoid}.journeyMap iframe{height:230px}}

/* v2.3.8 itinerary route */
.routeHelp{margin:-4px 0 16px;color:#667a7d;font-size:12px}.routeFrame{margin:14px 0 20px}.routeFrame>b{display:block;margin-bottom:8px;color:#987849;font-size:12px}.routeFrame>a,.routeOpen{display:inline-block;margin-top:10px;color:#285e68;font-size:12px;font-weight:700}.routeStops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.routeStops li{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e2e9e6;border-radius:9px}.routeIndex{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:#d8e8e2;color:#275a4d;font-size:11px;font-weight:700}.routeStops li>div{min-width:0;flex:1}.routeStops small,.routeStops b,.routeStops li>div>span{display:block}.routeStops small{color:#90734c;font-size:10px}.routeStops b{margin:3px 0;font-size:12px}.routeStops li>div>span{color:#63777b;font-size:11px}.routeStops a{font-size:17px;color:#285e68;text-decoration:none}@media(max-width:700px){.routeStops{grid-template-columns:1fr}}@media print{.routeFrame iframe{height:240px}.routeStops li{break-inside:avoid}}

/* v2.3.10 — editorial guest layout */
.top .brand{display:flex;align-items:center;width:170px;height:68px;overflow:hidden}
.top .brand img{display:block;width:170px;height:76px;object-fit:contain;mix-blend-mode:multiply}
.journeyWelcome{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px}
.welcomeIntro,.designerIntro{border:1px solid #e8e8e0;background:#faf9f5;border-radius:17px;padding:30px}
.designerIntro{display:flex;align-items:flex-start;gap:20px;background:#eaf1ef}
.designerPortrait{width:96px;height:112px;flex:none;object-fit:cover;border-radius:12px;box-shadow:0 7px 22px rgba(15,49,55,.13)}
.designerText{min-width:0}.designerIntro h2{font-size:31px;margin:9px 0 0}
.designerContact{display:flex;gap:5px;flex-wrap:wrap;flex-direction:column;margin-top:15px}
.designerContact a{color:#245868;text-decoration:none;font-size:12px;overflow-wrap:anywhere}
.designerContact a:hover{text-decoration:underline}
.journeyMap{padding:32px 36px}
.journeyMap iframe{height:410px}
.routeStops{margin-top:23px;gap:10px}
.routeStops li{position:relative;cursor:pointer;padding:15px 16px;border-color:#e6e4dc;border-radius:13px;background:#faf9f6;transition:background .18s,border-color .18s,transform .18s}
.routeStops li:hover,.routeStops li:focus-visible,.routeStops li.selected{border-color:#bda26b;background:#fffdf7;outline:none;transform:translateY(-1px)}
.routeIndex{width:34px;height:34px;background:#173b4a;color:#fff;font-family:Georgia,serif;font-size:14px}
.routeStops li.hotelStop .routeIndex{background:#a2834d}
.routeStops b{font-size:13px}.routeStops small{letter-spacing:.04em}
.mapOverview{display:inline-flex;margin:13px 0 0;padding:9px 13px;border:1px solid #c9d7d6;border-radius:99px;background:#fff;color:#285e68;font-size:11px;font-weight:700;cursor:pointer}
.mapOverview:hover{background:#edf3f2}
.day{position:relative;display:block;padding:42px 0 50px}
.dayNo{position:absolute;top:54px;left:14px;z-index:2;width:72px;height:72px;border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 25px rgba(8,35,46,.2)}
.dayMain{padding:0}
.day:not(.hasDayPhoto) .dayMain{padding-top:78px}
.dayPhoto{height:clamp(240px,31vw,440px);margin-bottom:23px}
.dayDate{font-size:11px;color:#9b7b49}
.dayMain h3{font-size:32px;margin:6px 0 14px}
@media(max-width:700px){
 .top .brand{width:126px;height:58px}.top .brand img{width:126px;height:60px}
 .journeyWelcome{grid-template-columns:1fr}.designerIntro{gap:14px;padding:20px}
 .designerPortrait{width:74px;height:88px}.designerIntro h2{font-size:25px}
 .journeyMap{padding:22px 18px}.journeyMap iframe{height:280px}
 .day{padding:28px 0 36px}.dayNo{top:39px;left:10px;width:54px;height:54px}.dayNo b{font-size:23px}
 .dayPhoto{height:230px}.dayMain h3{font-size:25px}
}
@media print{.mapOverview{display:none}.dayNo{top:25px;left:10px}.day:not(.hasDayPhoto) .dayMain{padding-top:58px}}

/* v2.3.11 — restore the compact day rail beside the photograph */
.day{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:36px 0 44px}
.dayNo{position:static;top:auto;left:auto;width:72px;height:72px;box-shadow:0 8px 22px rgba(8,35,46,.12)}
.dayMain{min-width:0;padding:0}
.day:not(.hasDayPhoto) .dayMain{padding-top:0}
.dayPhoto{height:clamp(230px,29vw,390px)}
@media(max-width:700px){
 .day{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:26px 0 34px}
 .dayNo{position:static;width:50px;height:50px}
 .dayPhoto{height:205px}
}
@media print{.day{grid-template-columns:45px 1fr;gap:12px}.dayNo{position:static}.day:not(.hasDayPhoto) .dayMain{padding-top:0}}

/* v2.3.11 — single map, points without a long stop list */
.mapCanvas{overflow:hidden;border-radius:12px;background:#edf1ed}
.mapCanvas iframe,.mapCanvas img{display:block;width:100%;height:410px;border:0;border-radius:12px}
.mapCanvas img{object-fit:cover}
.mapCanvas [hidden]{display:none!important}
.journeyMap .mapOpen{display:inline-block;margin-top:14px;color:#285e68;font-size:12px;font-weight:700}

/* v2.3.12 — day, date and destination share one header above the photograph */
.day{display:block;padding:34px 0 48px}
.dayHeader{display:flex;align-items:center;gap:20px;margin-bottom:18px;min-height:66px}
.dayHeader .dayNo{flex:none;width:62px;height:62px;box-shadow:0 7px 18px rgba(8,35,46,.11)}
.dayHeader .dayNo b{font-size:26px}
.dayHeader .dayDate{font-size:13px;letter-spacing:.025em;line-height:1.4;color:#806a49;font-weight:600}
.dayMain{min-width:0}
.dayPhoto{margin-bottom:22px}
.day:not(.hasDayPhoto) .dayMain{padding-top:0}
@media(max-width:700px){
 .day{display:block;padding:24px 0 34px}
 .dayHeader{gap:13px;min-height:49px;margin-bottom:13px}
 .dayHeader .dayNo{width:48px;height:48px}
 .dayHeader .dayNo b{font-size:21px}
 .dayHeader .dayDate{font-size:11px;line-height:1.35}
 .dayPhoto{margin-bottom:16px}
}
@media print{
 .day{display:block;padding:18px 0}
 .dayHeader{gap:10px;min-height:38px;margin-bottom:8px;break-after:avoid}
 .dayHeader .dayNo{width:38px;height:38px;box-shadow:none}
 .dayHeader .dayNo b{font-size:16pt}
 .dayHeader .dayDate{font-size:9pt}
}

/* v2.3.13 — day rail beside photo; date and place on the photo */
.day{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:36px 0 44px}
.day>.dayNo{width:72px;height:72px;box-shadow:0 8px 22px rgba(8,35,46,.12)}
.dayVisual{position:relative;overflow:hidden;border-radius:12px;box-shadow:var(--shadow);margin-bottom:22px;isolation:isolate}
.dayVisual::after{content:"";position:absolute;inset:0 0 auto;height:48%;background:linear-gradient(180deg,rgba(9,31,39,.78),rgba(9,31,39,.37) 54%,transparent);pointer-events:none}
.dayVisual .dayPhoto{margin:0;border-radius:0;box-shadow:none}
.dayCaption{position:absolute;z-index:1;top:23px;left:28px;right:20px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.dayCaption span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f4e3c0}
.dayCaption strong{display:block;margin-top:5px;font-family:"Newsreader",Georgia,serif;font-size:clamp(27px,3vw,40px);line-height:1.1;font-weight:400}
.day:not(.hasDayPhoto) .dayMain{padding-top:0}
@media(max-width:700px){
 .day{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:26px 0 34px}
 .day>.dayNo{width:50px;height:50px}
 .dayVisual{border-radius:9px;margin-bottom:16px}
 .dayCaption{top:15px;left:16px;right:12px}
 .dayCaption span{font-size:9px}
 .dayCaption strong{font-size:clamp(20px,6vw,28px);margin-top:3px}
}
@media print{
 .day{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;padding:18px 0}
 .day>.dayNo{width:38px;height:38px;box-shadow:none}
 .dayVisual{margin-bottom:12px;box-shadow:none}
 .dayCaption{top:12px;left:16px}
 .dayCaption span{font-size:8pt}
 .dayCaption strong{font-size:20pt}
}

/* v2.3.15 — composed map feature with a restrained base map */
.journeyMap{display:grid;grid-template-columns:minmax(220px,.86fr) minmax(0,1.6fr);gap:30px;align-items:stretch;padding:18px;margin:28px 0 20px;background:#f8f8f5;border:1px solid #e8e8e1;box-shadow:0 12px 34px rgba(20,50,59,.055)}
.mapStory{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px 16px 24px 24px}
.mapEyebrow{color:#a38652;font-size:10px;font-weight:700;letter-spacing:.17em}
.mapStory h2{font-family:"Newsreader",Georgia,serif;font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.07;letter-spacing:-.025em;margin:17px 0 12px;color:#173743}
.mapStory p{max-width:300px;color:#667a7c;font-size:13px;line-height:1.7;margin:0}
.mapLegend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:auto;padding-top:32px;color:#425e65;font-size:11px;font-weight:600}
.mapLegend span{display:inline-flex;align-items:center;gap:8px}
.mapLegend i{display:block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.95)}
.mapLegend .hotelDot{background:#b69357}.mapLegend .visitDot{background:#163f56}
.journeyMap .mapOpen{margin-top:22px;font-size:11px;text-decoration:none;border-bottom:1px solid #9db0ad;padding-bottom:4px;color:#29545c}
.journeyMap .mapOpen:hover{color:#9a7745;border-color:#9a7745}
.mapCanvas{min-width:0;border-radius:10px;border:1px solid #e1e4df;background:#e8eae8}
.mapCanvas iframe,.mapCanvas img{height:340px;border-radius:10px}
.price{margin-top:0}.dayNav{margin-top:26px}.itinerary{margin-top:68px}
@media(max-width:700px){
 .journeyMap{display:flex;flex-direction:column;gap:0;padding:12px;margin:20px 0 18px}
 .mapStory{padding:14px 13px 18px}
 .mapStory h2{font-size:31px;margin:10px 0 7px}
 .mapStory p{font-size:12px;line-height:1.55}
 .mapLegend{margin-top:0;padding-top:17px}
 .journeyMap .mapOpen{margin-top:14px}
 .mapCanvas iframe,.mapCanvas img{height:250px}
 .itinerary{margin-top:54px}
}
@media print{
 .journeyMap{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:10px;break-inside:avoid}
 .mapStory{padding:12px}.mapStory h2{font-size:20pt}.mapStory p{font-size:8pt}
 .mapCanvas iframe,.mapCanvas img{height:160px}
 .journeyMap .mapOpen{display:none}
}

/* v2.3.16 — unified welcome and a clear investment summary */
.journeyWelcome{gap:16px;margin:24px 0 20px}
.welcomeIntro,.designerIntro{min-height:185px;background:#fbfaf7;border:1px solid #e9e5dc;box-shadow:0 10px 28px rgba(20,48,58,.035)}
.designerIntro{background:#f3f6f5}
.designerPortrait{width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 0 0 4px #fff,0 7px 20px rgba(15,49,55,.12)}
.designerIntro h2{font-size:29px}
.journeyMap{margin-top:18px;margin-bottom:18px}
.price{position:relative;display:flex;align-items:center;gap:28px;background:#173743;color:#fff;border-radius:16px;padding:27px 36px;margin:0;box-shadow:0 13px 32px rgba(17,48,59,.15);border:0;overflow:hidden}
.price::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#c1a36d}
.priceLabel{gap:0;min-width:0}
.priceLabel .priceEyebrow{font-size:9px;color:#d3b985;letter-spacing:.17em;text-transform:uppercase;font-weight:700}
.priceLabel h2{font-family:"Newsreader",Georgia,serif;font-size:clamp(24px,2.5vw,34px);line-height:1.12;font-weight:400;letter-spacing:-.02em;margin:7px 0 4px;color:#fff}
.priceLabel p{font-size:12px;color:#b9cacc;margin:0;line-height:1.5}
.priceAmount{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;white-space:nowrap}
.priceAmount b{font-family:"Newsreader",Georgia,serif;font-size:clamp(32px,3.5vw,50px);line-height:1;font-weight:400;color:#fff;margin:0}
.priceAmount small{font-size:10px;color:#d2bb8c;margin-top:7px;letter-spacing:.03em}
.price .validity{border-left:1px solid rgba(255,255,255,.24);color:#b9cacc;padding-left:22px;min-width:105px}
.price .validity strong{color:#fff}
.dayNav{margin-top:18px;border-color:#e3e5df;background:#fafaf8;box-shadow:0 8px 24px rgba(22,48,58,.05)}
.dayNavInner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(155px,1fr);padding:4px}
.dayNav a{min-width:0;max-width:none;width:100%;padding:12px 15px;border-right:1px solid #e5e7e1}
.dayNav span{color:#9a8052}.dayNav b{font-size:11px}
.itinerary{margin-top:50px}
@media(max-width:700px){
 .journeyWelcome{margin:18px 0;gap:12px}
 .welcomeIntro,.designerIntro{min-height:0;padding:20px}
 .designerPortrait{width:70px;height:70px}
 .price{align-items:flex-start;flex-direction:column;gap:17px;padding:24px 25px}
 .priceLabel h2{font-size:28px}
 .priceAmount{align-items:flex-start;margin:0;white-space:normal}
 .priceAmount b{font-size:42px}
 .price .validity{border-left:0;border-top:1px solid rgba(255,255,255,.24);padding:12px 0 0;width:100%}
 .dayNavInner{grid-auto-columns:minmax(122px,1fr)}
 .itinerary{margin-top:42px}
}
@media print{
 .welcomeIntro,.designerIntro{min-height:0;box-shadow:none}
 .designerPortrait{width:58px;height:58px}
 .price{background:#173743!important;color:#fff!important;box-shadow:none;padding:15px 18px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .priceLabel h2{font-size:20pt}.priceAmount b{font-size:25pt}
 .dayNav{display:none}
}
@media(max-width:700px){.mapCanvas iframe,.mapCanvas img{height:270px}}
@media print{.mapCanvas iframe,.mapCanvas img{height:230px}}

/* Compact included services alongside the exclusions. */
.twoCol{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px}
.twoCol .card{padding:23px 26px}
.inclusionList{margin:11px 0 0!important}
.inclusionList li{padding:6px 0 6px 25px!important;line-height:1.45;font-size:13px}
.inclusionList li:before{top:6px}
@media(max-width:700px){.twoCol{grid-template-columns:1fr}.twoCol .card{padding:22px}}

/* Refined proposal cover and curated highlights. */
.hero{min-height:470px;display:flex;align-items:flex-end;padding:56px 6.5%;border-radius:18px;background:#123945;box-shadow:0 22px 48px rgba(16,45,55,.15)}
.hero.hasPhoto:before{background:linear-gradient(90deg,rgba(8,32,42,.97) 0%,rgba(9,36,47,.88) 37%,rgba(11,43,53,.4) 70%,rgba(10,38,48,.12) 100%)}
.hero.hasPhoto .heroPhoto{object-position:center 43%}
.hero:after,.heroGlow{display:none}
.heroContent{max-width:850px}
.hero .eyebrow{display:inline-block;border-left:2px solid #c4a467;padding-left:14px;color:#e9d5ac;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.hero h1{max-width:740px;font-size:clamp(49px,6.2vw,78px);line-height:1.04;margin:24px 0 14px;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.16)}
.hero .subtitle{max-width:680px;font-size:clamp(20px,2vw,26px);line-height:1.25;color:#f3f1ea}
.hero .tripMeta{margin-top:48px;border-top:1px solid rgba(255,255,255,.32);padding-top:19px;max-width:730px}
.hero .tripMeta span{color:#eef4f2;font-size:12px}
.journeyHighlights{display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:start;padding:27px 28px;margin:18px 0 25px;background:#f0f2ef;border:1px solid #e3e7e2;border-radius:14px}
.highlightLead span{color:#a1824f;font-size:10px;font-weight:700;letter-spacing:.16em}
.highlightLead h2{font-family:Newsreader,Georgia,serif;font-size:29px;line-height:1.1;font-weight:400;margin:9px 0 0;color:#163d48}
.highlightGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.highlightGrid article{padding:3px 16px;border-left:1px solid #d7dfd9;min-width:0}
.highlightIndex{color:#b19462;font-size:11px;font-weight:700;letter-spacing:.1em}
.highlightGrid h3{font-family:Newsreader,Georgia,serif;color:#193f4a;font-size:22px;font-weight:450;margin:9px 0 5px}
.highlightGrid p{font-size:12px;line-height:1.5;color:#61747a;margin:0}
/* The shorter exclusions card ends with its content instead of stretching into empty space. */
.twoCol{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(250px,.7fr);gap:16px;margin:24px 0}
.twoCol .card{margin:0;border:1px solid #e5e9e5;border-top:2px solid #bca16e;border-radius:12px;box-shadow:0 9px 28px rgba(22,48,58,.04);padding:25px 28px}
.twoCol .card:last-child{background:#f4f5f2;border-color:#e6e9e4;border-top-color:#bca16e}
.twoCol .sectionTitle{color:#8f754c;font-size:11px;letter-spacing:.08em;text-transform:none}
.twoCol .card ul{margin:14px 0 0;color:#455e67;font-size:13px;line-height:1.6}
.twoCol .card:last-child ul{padding-left:16px}
.twoCol .card:last-child li{padding:4px 0}
.inclusionList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.inclusionList li{min-width:0;padding:9px 0 9px 24px!important;border-bottom:1px solid #e8ece9;font-size:13px;overflow-wrap:anywhere}
.inclusionList li:before{top:9px;color:#32816a}
@media(max-width:900px){.journeyHighlights{grid-template-columns:1fr;gap:15px}.highlightGrid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:19px}.highlightGrid article:nth-child(odd){border-left:0;padding-left:0}.twoCol{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr)}.inclusionList{grid-template-columns:1fr}}
@media(max-width:700px){.hero{min-height:460px;padding:40px 26px 32px;align-items:flex-end}.hero.hasPhoto:before{background:linear-gradient(0deg,rgba(8,32,42,.95) 0%,rgba(9,36,47,.62) 66%,rgba(10,38,48,.3) 100%)}.hero h1{font-size:clamp(42px,11vw,58px)}.hero .tripMeta{margin-top:26px}.journeyHighlights{margin:13px 0 18px;padding:21px}.highlightGrid{gap:17px 9px}.highlightGrid article{padding:0 0 0 10px}.highlightGrid h3{font-size:20px}.highlightGrid p{font-size:12px}.twoCol{grid-template-columns:1fr;gap:11px}.twoCol .card{padding:23px 22px}.inclusionList{grid-template-columns:1fr}}
@media print{.hero{min-height:245px;padding:28px 34px;box-shadow:none}.hero h1{font-size:38pt}.journeyHighlights{padding:14px 18px;break-inside:avoid}.highlightGrid p{font-size:8pt}.twoCol .card{break-inside:avoid}}

/* Photographic destination highlights. */
.journeyHighlights{display:block;padding:0;margin:22px 0 28px;border:0;background:none;border-radius:0}
.highlightLead{display:flex;align-items:baseline;gap:17px;margin:0 0 14px;padding:0 3px}
.highlightLead span{white-space:nowrap}
.highlightLead h2{font-size:30px;margin:0}
.highlightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.highlightPhotoCard{position:relative;isolation:isolate;min-height:280px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#225362,#0b2c39);box-shadow:0 12px 28px rgba(16,43,53,.1)}
.highlightPhotoCard:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(4,28,39,.89),rgba(4,28,39,.08) 75%)}
.highlightPhotoCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.highlightPhotoCard:hover img{transform:scale(1.035)}
.highlightCaption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:24px 24px 22px;color:white}
.highlightCaption h3{font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:400;line-height:1;margin:0 0 8px;color:white}
.highlightCaption p{font-size:12px;line-height:1.5;color:#edf2ee;max-width:28ch;margin:0}
/* One editorial summary, with exclusions as a restrained footnote. */
.inclusionsPanel{margin:25px 0 18px;background:#fff;border:1px solid #e3e7e4;border-top:3px solid #bca16e;border-radius:12px;box-shadow:0 13px 32px rgba(22,48,58,.05);overflow:hidden}
.includedBlock{display:grid;grid-template-columns:200px 1fr;gap:25px;padding:30px 34px}
.inclusionsHead span{font-size:10px;color:#a18455;letter-spacing:.16em;font-weight:700}
.inclusionsHead h2{font-family:Newsreader,Georgia,serif;color:#173e4a;font-size:34px;font-weight:400;margin:8px 0}
.includedGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.includedGroup h3,.excludedBlock h3{color:#98794c;font-size:11px;font-weight:700;letter-spacing:.08em;margin:3px 0 13px}
.includedGroup ul,.excludedBlock ul{list-style:none;padding:0;margin:0}
.includedGroup li{position:relative;padding:8px 0 8px 21px;color:#3d5660;font-size:13px;line-height:1.5;border-top:1px solid #e9edeb;overflow-wrap:anywhere}
.includedGroup li:before{content:'✓';position:absolute;left:0;top:8px;color:#39826e;font-weight:700}
.excludedBlock{display:grid;grid-template-columns:200px 1fr;gap:25px;padding:18px 34px 21px;background:#f5f6f3;border-top:1px solid #e7ebe7}
.excludedBlock h3{margin:5px 0}
.excludedBlock ul{display:flex;flex-wrap:wrap;column-gap:19px;row-gap:7px}
.excludedBlock li{font-size:12px;color:#687b7d;line-height:1.5}
.excludedBlock li+li:before{content:'·';color:#b79a66;margin-right:12px}
@media(max-width:900px){.highlightGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.highlightPhotoCard{min-height:260px}.includedBlock,.excludedBlock{grid-template-columns:150px 1fr;gap:18px}.includedGroups{gap:18px}}
@media(max-width:700px){.highlightLead{display:block}.highlightLead h2{margin-top:6px}.highlightGrid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76%,1fr);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.highlightPhotoCard{min-height:260px;scroll-snap-align:start}.includedBlock,.excludedBlock{display:block;padding:22px}.includedGroups{grid-template-columns:1fr;gap:15px}.inclusionsHead h2{margin-bottom:18px}.excludedBlock ul{display:block}.excludedBlock li{margin:6px 0}.excludedBlock li+li:before{content:'';margin:0}}
@media print{.highlightGrid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.highlightPhotoCard{min-height:150px;break-inside:avoid;print-color-adjust:exact}.highlightPhotoCard img{print-color-adjust:exact}.highlightCaption{padding:12px}.highlightCaption h3{font-size:16pt}.inclusionsPanel{break-inside:avoid}.includedBlock,.excludedBlock{padding:13px 18px}}

/* Centered highlight gallery below the map. */
.journeyHighlights{max-width:100%;margin:30px auto 34px}
.highlightLead{justify-content:center;position:relative;text-align:center;margin-bottom:18px}
.highlightLead h2{font-size:34px}
.highlightControls{position:absolute;right:0;bottom:0;display:flex;gap:7px}
.highlightControls button{width:37px;height:37px;border:1px solid #cbd7d4;border-radius:50%;background:#fff;color:#1d4a55;font-size:24px;line-height:1;cursor:pointer}
.highlightControls button:hover,.highlightControls button:focus-visible{background:#173e4a;color:white}
.highlightGrid{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:19%;padding:0 19% 10px;scrollbar-width:thin;scrollbar-color:#bca16e transparent;overscroll-behavior-x:contain}
.highlightPhotoCard{flex:0 0 62%;min-height:335px;scroll-snap-align:center}
.highlightCaption{padding:30px 32px}
.highlightCaption h3{font-size:39px}
.highlightCaption p{font-size:14px;max-width:45ch}
/* Make every exclusion its own quiet, readable item. */
.excludedBlock{grid-template-columns:200px 1fr;padding-top:21px;padding-bottom:24px;background:#f7f8f6}
.excludedBlock h3{margin:9px 0 0;font-size:12px;color:#856c45}
.excludedBlock ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:8px}
.excludedBlock li{position:relative;padding:4px 0 4px 15px;font-size:12px;line-height:1.5;color:#556c70}
.excludedBlock li:before,.excludedBlock li+li:before{content:'•';position:absolute;left:0;margin:0;color:#b4945e}
@media(max-width:700px){.highlightLead{display:flex;justify-content:space-between;text-align:left;align-items:end}.highlightLead h2{font-size:29px}.highlightControls{position:static;flex:none}.highlightControls button{width:34px;height:34px}.highlightGrid{grid-auto-flow:initial;grid-template-columns:none;scroll-padding-inline:8%;padding:0 8% 9px}.highlightPhotoCard{flex-basis:84%;min-height:285px}.highlightCaption{padding:22px}.highlightCaption h3{font-size:31px}.highlightCaption p{font-size:12px}.excludedBlock ul{grid-template-columns:1fr;gap:4px}.excludedBlock li{margin:0}}
@media print{.highlightControls{display:none}.highlightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding:0}.highlightPhotoCard{min-height:150px}.excludedBlock ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Let the itinerary lead; use highlights as an image interlude afterward. */
.journeyHighlights{margin:42px 0 28px}
.highlightGrid{outline:none;border:0}
.highlightGrid:focus-visible{outline:2px solid #bca16e;outline-offset:5px;border-radius:12px}
.singleHighlight .highlightGrid{display:block;overflow:visible;padding:0}
.singleHighlight .highlightPhotoCard{display:block;width:min(100%,900px);min-height:310px;margin:0 auto}
.singleHighlight .highlightCaption p{max-width:52ch}
.hero.hasPhoto:before{background:linear-gradient(90deg,rgba(8,35,45,.68) 0%,rgba(8,35,45,.42) 46%,rgba(8,35,45,.08) 100%)}
.hero.hasPhoto .heroPhoto{filter:brightness(1.07)}
.hero:not(.hasPhoto){background:linear-gradient(125deg,#1c4d5d,#487c89)}
@media(max-width:700px){.journeyHighlights{margin:30px 0 22px}.singleHighlight .highlightPhotoCard{min-height:290px}.hero.hasPhoto:before{background:linear-gradient(0deg,rgba(8,35,45,.68) 0%,rgba(8,35,45,.24) 70%,rgba(8,35,45,.06) 100%)}}

/* Guest presentation inspired by the shared journey walkthrough. */
.hero{min-height:390px;padding:54px 5.5% 78px;align-items:center}
.heroContent{max-width:760px}
.coverThumbnails{position:absolute;z-index:5;right:28px;bottom:18px;display:flex;gap:7px;max-width:55%;overflow-x:auto;padding:3px}
.coverThumbnail{width:56px;height:39px;flex:none;padding:0;overflow:hidden;border:2px solid rgba(255,255,255,.55);border-radius:4px;background:#fff;cursor:pointer;opacity:.78}
.coverThumbnail.active,.coverThumbnail:hover,.coverThumbnail:focus-visible{border-color:#e0c087;opacity:1;outline:none}
.coverThumbnail img{width:100%;height:100%;object-fit:cover}
.journeyWelcome{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:810px;margin:45px auto 50px;gap:0}
.welcomeIntro,.designerIntro{width:100%;padding:0;background:none;border:0}
.welcomeIntro .welcomeEyebrow{font-family:Newsreader,Georgia,serif;font-size:clamp(29px,4vw,43px);font-weight:400;letter-spacing:0;text-transform:none;color:#173c49}
.journeyWelcome .welcomeIntro p{font-size:15px;line-height:1.7;max-width:660px;margin:15px auto 0}
.designerIntro{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:22px}
.designerPortrait{width:58px;height:58px;flex:none;border-radius:50%;object-fit:cover}
.designerText{text-align:left}.designerText .welcomeEyebrow{font-size:10px}.designerText h2{font-size:22px;margin:3px 0}.designerText p{max-width:560px;font-size:12px;line-height:1.55;margin:4px 0}
.itinerary{display:grid;grid-template-columns:210px minmax(0,1fr);column-gap:34px;margin-top:44px;align-items:start}
.itinerarySidebar{grid-column:1;grid-row:1 / span 999;align-self:start;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;scrollbar-width:thin}
.itinerary>.sectionHead,.itinerary>.day,.itinerary>.emptyState{grid-column:2;min-width:0}
.itinerary>.sectionHead{text-align:left;margin:0 0 12px}
.itinerary>.sectionHead h2{font-size:37px}
.itinerarySidebar .journeyMap{display:flex;flex-direction:column;gap:11px;margin:0 0 18px;padding:9px;border:1px solid #e2e8e5;border-radius:10px;box-shadow:none;background:#fff}
.itinerarySidebar .mapCanvas{order:-1;min-height:145px}
.itinerarySidebar .mapCanvas iframe,.itinerarySidebar .mapCanvas img{height:145px!important;min-height:145px!important;border-radius:6px}
.itinerarySidebar .mapStory{padding:0 7px 6px}.itinerarySidebar .mapStory h2,.itinerarySidebar .mapStory p,.itinerarySidebar .mapLegend{display:none}
.itinerarySidebar .mapEyebrow{font-size:10px}.itinerarySidebar .mapOpen{font-size:11px;margin:3px 0 0}
.itinerarySidebar .dayNav{display:block;position:static;margin:0;border:0;box-shadow:none;background:none;overflow:visible}
.itinerarySidebar .dayNavInner{display:flex;flex-direction:column;padding:0;gap:2px}
.itinerarySidebar .dayNav a{border:0;border-left:2px solid #d8e0dc;padding:9px 10px;min-width:0;width:100%;text-align:left}
.itinerarySidebar .dayNav a:hover,.itinerarySidebar .dayNav a:focus-visible{border-left-color:#bda16a;background:#f3f5f1}
.itinerarySidebar .dayNav b{font-size:12px}
.itinerary>.day{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;padding:29px 0}
.itinerary>.day .dayNo{width:48px;height:48px}
.itinerary .dayVisual{margin-bottom:16px}.itinerary .dayPhoto{height:clamp(270px,32vw,430px);object-fit:cover}
.itinerary .services{grid-template-columns:1fr;gap:14px;margin-top:23px}
.itinerary .service{min-height:0;grid-template-columns:42px minmax(0,1fr);margin:0;padding:18px;border:1px solid #e0e7e4;border-radius:10px;background:#fff}
.itinerary .service.hasServicePhoto{grid-template-columns:1fr;padding:0;overflow:hidden}
.itinerary .service.hasServicePhoto .servicePhoto{display:block;grid-column:1;grid-row:1;width:100%;height:clamp(230px,27vw,370px);min-height:0;margin:0;border-radius:0;object-fit:cover}
.itinerary .service.hasServicePhoto .serviceIcon{display:none}
.itinerary .service.hasServicePhoto>div:last-child{padding:18px 23px 22px}
.itinerary .service h4{font-family:Newsreader,Georgia,serif;font-size:25px;font-weight:450;margin:4px 0 10px}
.itinerary .service p{font-size:13px;line-height:1.65;max-width:72ch}
.price{margin:28px 0 16px}
.coverGalleryEditor{border:1px solid #dce4e2;border-radius:10px;padding:15px}.coverGalleryEditor p{font-size:12px;color:#627780;margin:3px 0 12px}.coverGalleryList{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.coverGalleryItem{width:100px;border:1px solid #dce4e2;border-radius:7px;overflow:hidden}.coverGalleryItem img{width:100%;height:64px;object-fit:cover}.coverGalleryItem>div{display:flex;justify-content:space-around}.coverGalleryItem button{border:0;background:white;cursor:pointer;min-width:28px;min-height:28px;color:#285665}
@media(max-width:800px){.itinerary{display:block}.itinerarySidebar{position:static;max-height:none;overflow:visible;margin-bottom:20px}.itinerarySidebar .journeyMap{display:none}.itinerarySidebar .dayNav{position:sticky;top:0;z-index:12;background:#f8f9f7;overflow-x:auto}.itinerarySidebar .dayNavInner{display:flex;flex-direction:row;gap:0}.itinerarySidebar .dayNav a{width:140px;flex:none;border-left:0;border-bottom:2px solid #d8e0dc}.itinerary>.sectionHead{text-align:center}.itinerary>.day{grid-template-columns:44px minmax(0,1fr)}.hero{min-height:410px;padding-bottom:94px}.coverThumbnails{left:20px;right:20px;max-width:none;bottom:18px}.journeyWelcome{margin:33px auto 38px}}
@media print{.hero{min-height:245px;padding:28px 34px}.coverThumbnails{display:none}.itinerary{display:block}.itinerarySidebar{display:none}.itinerary>.day{break-inside:auto}.itinerary .service.hasServicePhoto .servicePhoto{height:150px}.journeyWelcome{margin:22px auto}.designerIntro{margin-top:10px}}

/* v2.3.23 — quiet transfers, expanded map and full-width mobile days */
.itinerary .service.transfer{border-top:1px solid #e0e7e4;background:#fcfdfc;padding:15px 17px}
.itinerary .service.transfer.hasServicePhoto{grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;padding:15px 17px;overflow:visible}
.itinerary .service.transfer.hasServicePhoto .servicePhoto{grid-column:1;grid-row:1;width:96px;height:80px;min-height:0;margin:0;border-radius:6px;object-fit:cover}
.itinerary .service.transfer.hasServicePhoto>div:last-child{padding:0;grid-column:2}
.itinerary .service.transfer h4{font-size:21px;margin:4px 0 7px}
.itinerary .service.transfer p{font-size:12px;line-height:1.6}
.mapExpand{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:6px;padding:5px 0;border:0;background:none;color:#285665;font:600 11px 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.mobileMapExpand{display:none}
.journeyMapDialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:90dvh;padding:22px;border:1px solid #dce4e0;border-radius:12px;background:#f8f9f7;color:#173743;overflow:auto;box-shadow:0 20px 80px #102f3f33}
.journeyMapDialog::backdrop{background:rgba(12,33,42,.55)}
.mapDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.mapDialogHeader h2{margin:0;font:400 30px Newsreader,Georgia,serif}
.mapDialogHeader button{min-height:44px;padding:8px 12px;border:1px solid #dce4e0;border-radius:6px;background:white;color:#285665;cursor:pointer}
.journeyMapDialog .mapCanvas iframe,.journeyMapDialog .mapCanvas img{height:min(62dvh,620px);min-height:250px;object-fit:contain;background:#e8eae8}
.journeyMapDialog .mapOpen{display:inline-block;margin-top:14px;font-size:12px;color:#285665}
@media screen and (max-width:800px){
 .itinerary{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
 .itinerarySidebar{position:sticky;top:0;z-index:12;margin-bottom:20px;padding:6px 12px 0;background:#f8f9f7;border-bottom:1px solid #e0e7e4}
 .itinerarySidebar .dayNav{position:static;margin:0;border-radius:0}
 .itinerarySidebar .dayNavInner{gap:5px;padding:0 0 5px;overflow-x:auto}
 .itinerarySidebar .dayNav a{width:122px;min-height:52px;padding:8px 10px;border-radius:5px;border-bottom:2px solid #d8e0dc}
 .itinerarySidebar .dayNav b{font-size:11px;white-space:normal}
 .itinerarySidebar .mobileMapExpand{display:flex;margin:0 0 0 auto;min-height:36px;padding:3px 8px}
 .itinerary>.sectionHead{padding:0 20px;text-align:left}
 .itinerary>.day{display:block;padding:24px 0 30px;scroll-margin-top:120px}
 .itinerary>.day>.dayNo{position:static;display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:6px;width:auto;height:auto;margin:0 20px 12px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#9a7e4b}
 .itinerary>.day>.dayNo span{font-size:10px;letter-spacing:.08em}
 .itinerary>.day>.dayNo b{font:500 17px 'DM Sans',sans-serif}
 .itinerary>.day .dayMain{width:100%;padding:0}
 .itinerary .dayVisual{width:100%;margin:0 0 18px;border-radius:0;box-shadow:none}
 .itinerary .dayPhoto{width:100%;height:clamp(220px,65vw,390px);border-radius:0}
 .itinerary .dayMain>.dayDate,.itinerary .dayMain>h3,.itinerary .dayMain>.dayDesc{margin-left:20px;margin-right:20px}
 .itinerary .services{display:grid;gap:18px;margin-top:20px}
 .itinerary .service{margin:0 16px}
 .itinerary .service.hasServicePhoto{margin:0;border-radius:0;border-left:0;border-right:0}
 .itinerary .service.hasServicePhoto .servicePhoto{height:clamp(220px,65vw,390px);width:100%;border-radius:0}
 .itinerary .service.hasServicePhoto>div:last-child{padding:18px 20px 22px}
 .itinerary .service.transfer,.itinerary .service.transfer.hasServicePhoto{margin:0 16px;border:1px solid #e0e7e4;border-radius:8px;padding:13px;gap:12px}
 .itinerary .service.transfer.hasServicePhoto{grid-template-columns:64px minmax(0,1fr)}
 .itinerary .service.transfer.hasServicePhoto .servicePhoto{width:64px;height:64px;border-radius:5px}
 .itinerary .service.transfer.hasServicePhoto>div:last-child{padding:0}
 .itinerary .service.transfer h4{font-size:19px}
 .journeyMapDialog{padding:14px;width:calc(100vw - 20px)}
 .mapDialogHeader h2{font-size:26px}
}
@media print{.mapExpand,.journeyMapDialog{display:none!important}}

/* v2.3.24 — distinct day introductions, image-led transfers and supplied logo */
.top{height:114px}.brand{display:flex;align-items:center}.brand img{width:174px!important;height:94px!important;max-height:none!important;object-fit:contain}
.dayHeading{padding:2px 0 15px;margin-bottom:14px;border-bottom:1px solid #dce4df}
.dayHeading>span{font-size:11px;color:#8f784b;letter-spacing:.045em}
.dayHeading h2{font:400 31px Newsreader,Georgia,serif;margin:6px 0 0;color:#173743}
.itinerary .dayVisual{box-shadow:none;border-radius:8px;margin-bottom:20px}
.itinerary .dayVisual::after{display:none}
.itinerary .dayPhoto{height:clamp(200px,22vw,280px)}
.dayServicesHeading{display:flex;align-items:center;gap:14px;margin:26px 0 0;color:#9a8050;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.dayServicesHeading:after{content:'';height:1px;flex:1;background:#dce4df}
.itinerary .dayServicesHeading+.services{margin-top:14px}
.itinerary .service.transfer.hasServicePhoto{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:174px;padding:22px 26px;border:0;border-radius:9px;background:#183a43;color:white}
.itinerary .service.transfer.hasServicePhoto .servicePhoto{position:absolute;inset:0;z-index:-2;width:100%;height:100%;min-height:0;max-width:none;margin:0;border-radius:0;object-fit:cover;object-position:center}
.itinerary .service.transfer.hasServicePhoto::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,22,28,.94) 0%,rgba(6,22,28,.83) 42%,rgba(6,22,28,.48) 75%,rgba(6,22,28,.28) 100%);pointer-events:none}
.itinerary .service.transfer.hasServicePhoto>div:last-child{padding:0;max-width:78%}
.itinerary .service.transfer.hasServicePhoto h4{font-size:24px;color:white;margin:7px 0 10px}
.itinerary .service.transfer.hasServicePhoto .serviceType,.itinerary .service.transfer.hasServicePhoto p,.itinerary .service.transfer.hasServicePhoto small{color:#f1f4f2}
.itinerary .service.transfer.hasServicePhoto .meeting,.itinerary .service.transfer.hasServicePhoto .guestInstructions{background:rgba(255,255,255,.12);border:1px solid #ffffff26}
.itinerary .service.transfer.hasServicePhoto .meeting span,.itinerary .service.transfer.hasServicePhoto .guestInstructions>span{color:#e2cc9b}
.itinerary .service.transfer.hasServicePhoto .mapLink{color:white!important;border-color:#ffffff55!important;background:rgba(255,255,255,.08)}
@media screen and (max-width:800px){
 .top{height:100px}.brand img{width:145px!important;height:80px!important}
 .dayHeading{margin:0 20px 16px;padding:0 0 13px}.dayHeading h2{font-size:29px}
 .itinerary .dayVisual{border-radius:0}.itinerary .dayPhoto{height:clamp(190px,56vw,290px)}
 .dayServicesHeading{margin:25px 20px 0;font-size:8px;letter-spacing:.08em}
 .itinerary .service.transfer.hasServicePhoto{margin:0 16px;padding:20px;min-height:164px;border:0;border-radius:8px}
 .itinerary .service.transfer.hasServicePhoto .servicePhoto{width:100%;height:100%;border-radius:0}
 .itinerary .service.transfer.hasServicePhoto>div:last-child{max-width:100%;padding:0}
 .itinerary .service.transfer.hasServicePhoto::before{background:linear-gradient(90deg,rgba(6,22,28,.92),rgba(6,22,28,.76) 65%,rgba(6,22,28,.55))}
 .itinerary .service.transfer.hasServicePhoto h4{font-size:23px}
}
@media print{.top{height:75px}.brand img{width:140px!important;height:70px!important}.dayHeading h2{font-size:22pt}.itinerary .service.transfer.hasServicePhoto{background:#173743!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.itinerary .service.transfer.hasServicePhoto .servicePhoto{position:absolute;height:100%;width:100%}.dayServicesHeading{margin-top:16px}}

/* v2.3.25 — unclipped identity and Spark-inspired welcome typography */
body{font-family:Lato,Arial,sans-serif}
.hero h1,.subtitle,.sectionHead h2,.dayMain h3,.dayHeading h2,.itinerary .service h4,.mapStory h2,.highlightLead h2,.inclusionsHead h2,.price h2,.closing h2,.mapDialogHeader h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.015em}
.top .brand{width:174px;height:94px;overflow:visible;flex:none}
.top .brand img{display:block;max-width:100%;object-fit:contain;mix-blend-mode:normal}
.journeyWelcome{max-width:950px;margin:0 auto 54px;padding:58px 30px 48px;gap:0;border-bottom:1px solid #e2e5df}
.journeyWelcome .welcomeIntro{min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.welcomeGreeting{font:400 clamp(34px,4.3vw,56px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.02em;color:#303331;margin:0 0 27px}
.journeyWelcome .welcomeIntro p{font-size:17px;line-height:1.65;color:#303b3e;margin:0 auto;max-width:760px}
.journeyWelcome .designerIntro{display:flex;flex-direction:column;gap:0;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;margin:28px 0 0}
.designerSignature{font:400 49px/1.25 Allura,'Brush Script MT',cursive;color:#263331;margin-bottom:14px;overflow-wrap:anywhere}
.designerName{font:700 17px/1.5 Lato,Arial,sans-serif;margin:0 0 20px;color:#263331}
.designerDetails{width:100%;max-width:650px}
.designerDetails summary{display:inline-flex;align-items:center;gap:15px;justify-content:center;min-height:44px;padding:10px 25px;border:1px solid #72949a;border-radius:28px;color:#397d88;font:700 15px Lato,Arial,sans-serif;cursor:pointer;list-style:none}
.designerDetails summary::-webkit-details-marker{display:none}
.designerDetails[open] summary>span{transform:rotate(180deg)}
.designerProfile{display:flex;align-items:flex-start;gap:20px;padding:24px;margin-top:20px;border:1px solid #e0e6e0;border-radius:10px;background:#fff;text-align:left}
.designerProfile .designerPortrait{width:80px;height:80px;border-radius:50%;flex:none;box-shadow:none}
.designerProfile .designerText p{font-size:14px;line-height:1.65;margin:10px 0}
.designerContact{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.itinerary>.sectionHead{grid-column:1 / -1;grid-row:1;max-width:none;width:100%;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid #dce4df;text-align:left}
.itinerary>.sectionHead h2{font-size:clamp(28px,3vw,40px);margin:8px 0 0;line-height:1.2}
.itinerarySidebar{grid-row:2 / span 999}
.itinerary>.day{padding-top:0;margin-bottom:30px;border-top:0}
.transferRoute{display:flex;flex-direction:column;gap:5px;margin:12px 0 15px;overflow-wrap:anywhere}
.transferRoute>span{font-size:10px;letter-spacing:.04em;color:#ad9567}
.transferRoute>b{font-size:15px;font-weight:700;line-height:1.5;color:#234b58}
.service.transfer.hasServicePhoto .transferRoute>span{color:#e2cc9b}
.service.transfer.hasServicePhoto .transferRoute>b{color:white}
.mapExpand{font-family:Lato,Arial,sans-serif}
@media screen and (max-width:800px){
 .top .brand{width:145px;height:80px}
 .journeyWelcome{padding:35px 8px 35px;margin:0 auto 30px}
 .welcomeGreeting{font-size:34px;margin-bottom:20px}
 .journeyWelcome .welcomeIntro p{font-size:15px;line-height:1.65}
 .designerSignature{font-size:42px}.designerName{font-size:16px}
 .designerProfile{padding:18px;gap:14px}.designerProfile .designerPortrait{width:58px;height:58px}
 .itinerary>.sectionHead{padding:0 20px 18px;margin:0 0 18px}
 .itinerary>.sectionHead h2{font-size:29px}
 .itinerary>.day{padding-top:22px;margin-bottom:0}
 .transferRoute>b{font-size:14px}
}
@media print{.top .brand{width:140px;height:70px}.journeyWelcome{padding:25px 0;margin-bottom:25px}.welcomeGreeting{font-size:28pt}.designerDetails:not([open])>.designerProfile{display:flex!important}.designerDetails summary{display:none}.designerSignature{font-family:Georgia,serif;font-size:18pt}}

/* v2.3.26 — day cover with destination and automatic service overview */
.itinerary>.day.hasDayPhoto{display:block}
.itinerary>.day.hasDayPhoto>.dayNo{display:none}
.itinerary .dayVisual.dayCover{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:310px;padding:32px;margin:0 0 24px;border-radius:10px;border-bottom:3px solid #b39a63;background:#173743;overflow:hidden}
.itinerary .dayCover .dayPhoto{position:absolute;inset:0;z-index:-2;width:100%;height:100%;min-height:0;object-fit:cover}
.itinerary .dayVisual.dayCover::after{display:block;position:absolute;inset:0;z-index:-1;height:auto;background:linear-gradient(0deg,rgba(8,26,33,.92),rgba(8,26,33,.58) 43%,rgba(8,26,33,.12) 100%);pointer-events:none}
.dayCoverContent{width:100%;max-width:760px;color:#fff}
.dayCoverMeta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px;font-size:11px;letter-spacing:.035em}
.dayCoverMeta>span{padding:6px 10px;border:1px solid #e5d8b277;border-radius:4px;color:#f3dfaf;font-weight:700}
.dayCoverMeta time{color:#f2f3ee}
.dayCoverContent h2{font:400 clamp(31px,3.8vw,47px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:0 0 12px;overflow-wrap:anywhere}
.dayCoverContent .dayOverview{max-width:680px;margin:0;color:#f4f3ed;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.dayHeading .dayOverview{color:#62777b;font-size:13px;line-height:1.6;margin:12px 0 0}
@media screen and (max-width:800px){
 .itinerary .dayVisual.dayCover{min-height:290px;padding:26px 20px;border-radius:0;margin-bottom:20px}
 .itinerary .dayCover .dayPhoto{height:100%;width:100%}
 .dayCoverContent h2{font-size:34px}.dayCoverMeta{font-size:10px;margin-bottom:13px}
 .dayCoverContent .dayOverview{font-size:13px;line-height:1.6}
}
@media print{.itinerary .dayVisual.dayCover{min-height:185px;padding:20px;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}.dayCoverContent h2{font-size:25pt}.dayCoverContent .dayOverview{font-size:9pt}.itinerary .dayCover .dayPhoto{height:100%;width:100%}}

/* v2.3.27 — consistent day badge and guest-configured service details */
.coverDayNo{width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;border-radius:50%;background:#174c5b;border:1px solid #ffffff66;box-shadow:0 5px 18px #0a273244;color:white}
.coverDayNo span{font-size:7px;letter-spacing:.05em;font-weight:700}.coverDayNo b{font:400 28px Georgia,serif}
.itinerary .dayVisual.dayCover{min-height:330px;border-top:4px solid #b39a63;border-bottom:4px solid #b39a63}
.itinerary .dayVisual.dayCover::after{background:linear-gradient(90deg,rgba(12,43,53,.6),rgba(12,43,53,.24)),linear-gradient(0deg,rgba(9,32,40,.96),rgba(9,32,40,.52) 60%,rgba(9,32,40,.15))}
.dayCoverMeta{gap:16px;margin-bottom:16px}.dayCoverMeta time{font-size:12px}
.itinerary .service.hasServicePhoto .serviceContent{width:100%;max-width:none}
.serviceBody{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:10px}
.serviceBody.withDetails{grid-template-columns:minmax(0,1fr) minmax(190px,.38fr);gap:28px}
.serviceNarrative{min-width:0}.itinerary .serviceNarrative>p{max-width:none;margin:0}
.serviceDetails{min-width:0;align-self:start;padding:0 0 0 20px;border-left:1px solid #e0e7e4}
.serviceDetails dl{margin:0;display:grid;gap:14px}.serviceDetails dl>div{min-width:0}.serviceDetails dt{font-size:9px;font-weight:700;color:#9b8153;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}
.serviceDetails dd{margin:0;font-size:12px;line-height:1.55;color:#294c58;overflow-wrap:anywhere}
.serviceDetails .guestInstructions{padding:0;background:none;border:0;border-radius:0;margin-top:16px}
.serviceDetails .mapLink{max-width:100%;font-size:10px}
.itinerary .service.transfer.hasServicePhoto>div:last-child{max-width:none}
.service.transfer.hasServicePhoto .serviceDetails{border-left-color:#ffffff44}
.service.transfer.hasServicePhoto .serviceDetails dt{color:#e6cfa1}.service.transfer.hasServicePhoto .serviceDetails dd{color:white}
.service.transfer.hasServicePhoto .serviceDetails .guestInstructions{border:0;background:none}
.service.transfer .serviceDetails{padding-left:18px}
@media screen and (max-width:1000px){.serviceBody.withDetails{grid-template-columns:minmax(0,1fr) minmax(165px,.48fr);gap:18px}}
@media screen and (max-width:800px){
 .coverDayNo{width:54px;height:54px}.coverDayNo b{font-size:25px}
 .itinerary .dayVisual.dayCover{min-height:310px}
 .serviceBody.withDetails{grid-template-columns:1fr;gap:18px}
 .serviceDetails,.service.transfer .serviceDetails{border-left:0;border-top:1px solid #e0e7e4;padding:16px 0 0}
 .service.transfer.hasServicePhoto .serviceDetails{border-top-color:#ffffff44}
 .serviceDetails dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .serviceDetails .mapLink{width:auto}
}
@media print{.serviceBody.withDetails{grid-template-columns:minmax(0,1fr) 160px;gap:15px}.coverDayNo{width:40px;height:40px}.coverDayNo b{font-size:19px}.itinerary .dayVisual.dayCover{min-height:190px}}
/* Shared badge shape for days with and without cover photos. */
.itinerary>.day>.dayNo,.coverDayNo{width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;background:#174c5b;color:white;border-radius:50%;border:1px solid #ffffff66;box-shadow:0 5px 18px #0a273244}
.itinerary>.day.hasDayPhoto>.dayNo{display:none}
.itinerary>.day>.dayNo span,.coverDayNo span{font:700 7px Lato,Arial,sans-serif;letter-spacing:.05em}
.itinerary>.day>.dayNo b,.coverDayNo b{font:400 28px Georgia,serif}
@media screen and (max-width:800px){.itinerary>.day>.dayNo,.coverDayNo{width:54px;height:54px}.itinerary>.day.hasDayPhoto>.dayNo{display:none}.itinerary>.day>.dayNo b,.coverDayNo b{font-size:25px}}

/* v2.3.28 — higher day text, hotel galleries and accommodation specifics */
.itinerary .dayVisual.dayCover{align-items:flex-start;padding-top:32px;min-height:330px}
.itinerary .dayVisual.dayCover::after{background:linear-gradient(90deg,rgba(12,43,53,.84),rgba(12,43,53,.42) 65%,rgba(12,43,53,.24)),linear-gradient(180deg,rgba(9,32,40,.3),rgba(9,32,40,.12))}
.hotelPhotoGallery{grid-column:1;position:relative;width:100%;overflow:hidden}
.itinerary .service.hotel.hasServicePhoto .hotelPhotoGallery>.servicePhoto{width:100%;height:clamp(230px,27vw,370px);margin:0;object-fit:cover;display:block}
.hotelRoomBadge{position:absolute;top:17px;right:17px;display:flex;flex-direction:column;gap:5px;max-width:65%;padding:11px 15px;border:1px solid #ffffff66;border-radius:6px;background:#123b49e6;color:white;box-shadow:0 4px 14px #00000022;font-size:12px;overflow-wrap:anywhere}
.hotelRoomBadge b{font-size:13px}.hotelRoomBadge span{font-size:11px}
.hotelGalleryButtons{position:absolute;bottom:14px;right:18px;left:auto;display:flex;gap:8px}
.hotelGalleryButtons button{width:56px;height:40px;display:block;padding:0;border:2px solid #ffffffaa;border-radius:4px;overflow:hidden;cursor:pointer;background:#fff}
.hotelGalleryButtons button[aria-pressed="true"]{border-color:#d6b677;box-shadow:0 0 0 1px #173743}
.hotelGalleryButtons button img{width:100%;height:100%;object-fit:cover;display:block}
.serviceIncluded{margin:0;padding:0;list-style:none;display:grid;gap:6px}.serviceIncluded li{padding-left:15px;position:relative}.serviceIncluded li:before{content:'✓';position:absolute;left:0;color:#9a8053;font-size:10px}
.guestRoomAssignment{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.guestRoomAssignment b{font-weight:600;font-size:11px}.guestRoomAssignment span{font-size:11px}
@media screen and (max-width:800px){.itinerary .dayVisual.dayCover{padding-top:26px;min-height:310px}.itinerary .service.hotel.hasServicePhoto .hotelPhotoGallery>.servicePhoto{height:clamp(220px,65vw,390px)}.hotelRoomBadge{top:12px;right:12px;padding:9px 12px}.hotelGalleryButtons{left:auto;right:15px;bottom:12px}.hotelGalleryButtons button{width:48px;height:35px}}
@media print{.hotelGalleryButtons{display:none}.itinerary .dayVisual.dayCover{min-height:190px}.hotelRoomBadge{top:10px;right:10px}.itinerary .service.hotel.hasServicePhoto .hotelPhotoGallery>.servicePhoto{height:160px}}

.transferMeeting{margin:16px 0;display:flex;flex-direction:column;gap:5px;text-align:left}.transferMeeting span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b7978}.transferMeeting b{font-size:15px;font-weight:500}.transfer.hasServicePhoto .transferMeeting span{color:#e6cfa1}.transfer.hasServicePhoto .transferMeeting b{color:white}

/* Light journey map, with soft edges kept clear of provider attribution. */
.mapCanvas{position:relative}
.mapCanvas:has(.staticStopsMap)::after{content:"";position:absolute;inset:0 0 28px;pointer-events:none;background:linear-gradient(90deg,#fff9,transparent 8%,transparent 92%,#fff9)}
.mapLegend .visitDot{background:#244b78}
.journeyMapDialog .mapCanvas img.staticStopsMap{background:#edf1e6}

/* Render the sidebar map at its intended size instead of shrinking a wide overview. */
.itinerarySidebar .mapCanvas iframe,.itinerarySidebar .mapCanvas img{height:220px!important;min-height:220px!important}
.itinerarySidebar .mapCanvas:has(.staticStopsMap)::after{display:none}
@media(max-width:800px){.itinerarySidebar .mapCanvas iframe,.itinerarySidebar .mapCanvas img{height:200px!important;min-height:200px!important}}

.itinerarySidebar .mapStory .mapLegend{display:flex;flex-wrap:wrap;gap:7px 12px;margin:6px 0;font-size:10px}.mapLegend .hotelDot{background:#b69357}.mapLegend .visitDot{background:#244b78}

@media print{
 body:not(.guidePortal) #portal,body:not(.guidePortal) .itinerary{display:block!important;overflow:visible!important;contain:none!important}
 body:not(.guidePortal) .itinerary article.day{display:block!important;position:relative!important;float:none!important;page-break-before:always!important;break-before:page!important;page-break-inside:auto!important;break-inside:auto!important;margin-top:0!important;padding-top:0!important;overflow:visible!important}
 body:not(.guidePortal) .itinerary article.day .dayMain{display:block!important;overflow:visible!important}
 body:not(.guidePortal) .dayCover,body:not(.guidePortal) .dayHeading{page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:avoid!important;break-after:avoid-page!important}
}

.printPricingSection{display:contents}

.printHotelPhotos{display:none}
/* v2.3.44: the closing name is used only in the printed advisor letter. */
.designerPrintSignoff{display:none}
