/* One editorial system; section order, real photography and brand proportions stay intact. */
body{--editorial-measure:62ch;--editorial-rule:#b7462a55}
body main :is(h1,h2,h3){text-wrap:balance}
body main p{overflow-wrap:break-word}
body[data-page=home] .hero h1{font-weight:400;letter-spacing:-.045em;line-height:1.06}
body[data-page=home] :is(.section-heading .statement,.pv-home-statement){font-weight:400;line-height:1.16;letter-spacing:-.035em;max-width:22ch}
body[data-page=home] .section-heading{align-items:start;column-gap:clamp(40px,7vw,110px);margin-bottom:40px}
body[data-page=home] .section-heading>div:last-child{max-width:54ch}
body[data-page=home] .section-heading>div:last-child>p{line-height:1.85}
body[data-page=home] :is(.section-heading,.pv-home-heading) .text-link{font-size:13px;min-height:44px}
/* A conspicuous two-way choice replaces the small, easily missed map button. */
.destination-view-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;margin-bottom:28px;border-top:1px solid var(--editorial-rule);border-bottom:1px solid #0402341c}
.destination-view-bar>p{margin:0;font:500 15px/1.6 var(--body);color:var(--navy)}
.destination-view-bar .destination-view-controls{display:flex;gap:0;margin:0;padding:4px;border:1px solid #04023424;border-radius:16px;background:var(--paper)}
.destination-view-bar .destination-view-controls[hidden]{display:none}
.destination-view-bar .destination-view-controls button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:130px;border:0;min-height:46px;padding:12px 20px}
body[data-page=home] .destination-gallery-meta{padding-bottom:18px}
body[data-page="destination:egypt"] .compact-partner{--partner-mark-width:224px}
body[data-page=home] .destination-region-gallery .continent-name{font-weight:400;letter-spacing:-.025em}
body[data-page=home] .destination-region-gallery .destination-region-trigger[aria-expanded=true] .continent-name{color:#a13b25}
body[data-page=home] .destination-region-gallery .continent-toggle{color:#b7462a}
body[data-page=home] .destination-region-heading{border-top:1px solid var(--editorial-rule);padding-top:24px}
body[data-page=home] .partnership .statement{font-size:clamp(30px,3vw,44px);line-height:1.2;font-weight:400;max-width:20ch}
body[data-page=home] .partnership>div>p:not(.eyebrow):not(.statement){max-width:52ch;font-size:16px;line-height:1.85}
body[data-page=home] .partnership ul{margin-block:28px}
body[data-page=home] .home-final-invitation>h2{font-weight:400;max-width:26ch}
/* Shared internal rhythm, with distinct layouts for stories, brands and cases. */
body:not([data-page=home]) .landing-masthead .landing-masthead-copy h1{font-size:clamp(32px,3.8vw,54px);line-height:1.16;letter-spacing:-.035em;font-weight:400;max-width:19ch}
body:not([data-page=home]) .landing-masthead .landing-masthead-copy :is(.lead,.pv-hero-intro){max-width:54ch;font-size:16px;line-height:1.85}
body:not([data-page=home]) .page-intro h1{font-size:clamp(34px,4.2vw,58px);line-height:1.14;letter-spacing:-.035em;font-weight:400}
body:not([data-page=home]) .page-intro .lead{max-width:60ch;font-size:16px;line-height:1.85}
body .compact-landing-cta h2{font-weight:400;letter-spacing:-.03em;max-width:25ch}
body .compact-landing-cta p:not(.pv-kicker){max-width:60ch;line-height:1.85}
body .pv-local-nav{gap:clamp(20px,3vw,46px);padding-block:17px;border-top:1px solid #04023415;border-bottom:1px solid #04023420}
body .pv-service-summary h2{font-weight:400;letter-spacing:-.025em}
body .pv-service-card .pv-service-grid article{max-width:72ch}
body .pv-story-prose p,body .pv-story-evolution-copy p{max-width:64ch;line-height:1.9}
/* A destination case opens with the partnership, then reveals its facilities on request. */
body[data-page^="destination:"] .destination-facts{background:var(--navy);color:var(--paper);border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;gap:0}
body[data-page^="destination:"] .destination-facts>div{border-color:#ffffff26;padding:23px 28px}
body[data-page^="destination:"] .destination-facts span{color:#dedeea;font-size:11px;line-height:1.6;letter-spacing:.1em}
body[data-page^="destination:"] .destination-facts strong{color:var(--paper);font-size:15px;font-weight:500;line-height:1.65}
body[data-page^="destination:"] .page-subnav{font-size:13px;letter-spacing:0;padding-block:16px}
body[data-page^="destination:"] .compact-destination-summary{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,8vw,120px)}
body[data-page^="destination:"] .compact-destination-summary h2{font-size:clamp(29px,3vw,43px);font-weight:400;line-height:1.22;letter-spacing:-.03em;max-width:20ch}
body[data-page^="destination:"] .destination-case-narrative>p{font-size:16px;line-height:1.9;max-width:64ch;margin:0 0 28px}
body[data-page^="destination:"] .destination-partnership-brief{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);margin-top:24px}
body[data-page^="destination:"] .destination-partnership-brief>div{padding:20px 0;border-bottom:1px solid var(--line);border-right:0}
body[data-page^="destination:"] .destination-partnership-brief dt{font-size:11px;letter-spacing:.1em;color:var(--accent-text,#a13b25);margin-bottom:10px}
body[data-page^="destination:"] .destination-partnership-brief dd{font-size:15px;line-height:1.85}
body[data-page^="destination:"] .compact-partner{margin-top:30px;padding-top:24px}
body[data-page^="destination:"] .compact-partner>span{font-size:11px;line-height:1.65}
/* An open disclosure row, rather than a box with incomplete rounded edges. */
.destination-facilities-details{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}
.destination-facilities-details>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px;padding:18px 0;border:0;border-radius:0;font-size:16px;line-height:1.6;cursor:pointer;list-style:none}
.destination-facilities-details>summary>.disclosure-symbol{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius-box);background:var(--paper);color:var(--accent-text,#a13b25);font-size:24px;line-height:1;transform:none}
.destination-facilities-details>summary:is(:hover,:focus-visible)>.disclosure-symbol{border-color:var(--accent-text,#a13b25)}
.destination-facilities-details[open]>summary>.disclosure-symbol{font-size:0;transform:none}
.destination-facilities-details[open]>summary>.disclosure-symbol::after{content:"−";font-size:24px}
.destination-facilities-details>summary::-webkit-details-marker{display:none}
.destination-facilities-details>summary:focus-visible{outline:2px solid var(--accent-text,#a13b25);outline-offset:4px}
.destination-facilities-details .compact-facilities{margin-bottom:24px;padding:28px;border:0}
.destination-setting{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 24px}
.destination-setting dt{font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.08em;color:#5e6876}
.destination-setting dd{font-size:15px;line-height:1.8;margin:5px 0 0;color:var(--navy)}
body[data-page^="destination:"] .compact-gallery-heading{margin-top:40px;padding-top:28px}
body[data-page^="destination:"] .compact-gallery-heading h3{font-weight:400;font-size:24px;line-height:1.3}
body[data-page^="destination:"] .compact-destination-programs h2{font-size:clamp(29px,3vw,43px);line-height:1.22;font-weight:400;max-width:20ch}
body[data-page^="destination:"] .compact-program-list details>summary{font-size:16px;min-height:64px;padding-block:20px}
@media(max-width:900px){
 body[data-page^="destination:"] .compact-destination-summary{grid-template-columns:1fr;gap:30px}
 body[data-page^="destination:"] .compact-partner{margin-top:20px}
 body:not([data-page=home]) .landing-masthead .landing-masthead-copy h1{font-size:clamp(31px,5vw,42px)}
}
@media(max-width:700px){
 .destination-view-bar{flex-direction:column;align-items:stretch;gap:14px;padding-block:18px;margin-bottom:24px}
 .destination-view-bar .destination-view-controls button{flex:1;min-width:0}
 body[data-page=home] .section-heading{margin-bottom:30px;gap:24px}
 body[data-page^="destination:"] .destination-facts>div{padding:16px 24px}
 body[data-page^="destination:"] .destination-facts span{min-width:75px}
 .destination-facilities-details{margin-top:30px}
 .destination-setting{grid-template-columns:1fr;gap:16px}
}

/* Partner marks retain their geometry and sufficient contrast on the light case study. */
/* Equal presentation areas; optical sizes account for horizontal and stacked marks. */
body[data-page^="destination:"] .compact-partner{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
body[data-page^="destination:"] .compact-partner>.partner-logo-frame{display:flex;align-items:center;justify-content:center;width:256px;max-width:100%;height:128px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-box);overflow:hidden}
body[data-page^="destination:"] .partner-logo-frame>.partner-logo-mark{width:var(--partner-mark-width,208px);max-width:100%;height:96px;object-fit:contain;object-position:center;border-radius:0}
body[data-page^="destination:"] .compact-partner[data-partner="kuwait"]{--partner-mark-width:148px}
body[data-page^="destination:"] .compact-partner[data-partner="hong-kong"]{--partner-mark-width:100px}
body[data-page^="destination:"] .compact-partner[data-partner="marbella"]{--partner-mark-width:220px}
body[data-page^="destination:"] .compact-partner[data-partner="punta-cana"]{--partner-mark-width:224px}
body[data-page^="destination:"] .compact-partner[data-partner="brazil"]{--partner-mark-width:132px}
body[data-page^="destination:"] .compact-partner[data-partner="indonesia"]{--partner-mark-width:200px}
body[data-page^="destination:"] .partner-logo-frame>.partner-wordmark{font:400 32px/1.2 var(--title);letter-spacing:.13em;color:var(--navy)}
body[data-page^="destination:"] .compact-destination-programs[data-landing-tone="blue"] .button-dark{background:var(--paper);border-color:var(--paper);color:var(--navy)}
body[data-page^="destination:"] .compact-destination-programs[data-landing-tone="blue"] .button-dark:hover{background:var(--cream);border-color:var(--cream)}
body[data-page^="destination:"] .compact-destination-programs[data-landing-tone="blue"] .compact-program-list>details{background:var(--paper);color:var(--navy);--muted:#5e6876;--line:#d9d7d1}
