/* Design Dojo — Broadsheet face-lift v2: newspaper furniture kept, serif headlines */
:root{--mg-serif:"Playfair Display",Georgia,"Times New Roman",serif}

/* Headlines: bold broadsheet serif */
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site h1,
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site h1 *{font-family:var(--mg-serif)!important;font-weight:800!important;letter-spacing:-.02em!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site h1{line-height:1!important}
html:root:root:root:root body.ed-site.ed-site.ed-site h2:not(.cl-band h2),
html:root:root:root:root body.ed-site.ed-site.ed-site h2:not(.cl-band h2) *:not(svg):not(path){font-family:var(--mg-serif)!important;font-weight:800!important;letter-spacing:-.015em!important}
html:root:root:root:root body.ed-site.ed-site.ed-site h2:not(.cl-band h2){line-height:1.05!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site h1 em,
html:root:root:root:root body.ed-site.ed-site.ed-site h2 em{font-style:italic!important;font-weight:700!important}
html:root:root:root:root body.ed-site.ed-site.ed-site main h3,
html:root:root:root:root body.ed-site.ed-site.ed-site section h3{font-family:var(--mg-serif)!important;font-weight:700!important;letter-spacing:-.005em!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .wd-trust b,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-inside b{font-family:var(--mg-serif)!important;font-weight:700!important;letter-spacing:0!important}

/* Client quotes: upright, never italic */
html:root:root:root:root body.ed-site.ed-site.ed-site blockquote,
html:root:root:root:root body.ed-site.ed-site.ed-site blockquote *{font-style:normal!important}

/* Captions: small roman newspaper captions */
html:root:root:root:root body.ed-site.ed-site.ed-site figcaption{font-style:normal!important}

/* Pictures: square, press-print corners */
html:root:root:root:root body.ed-site.ed-site.ed-site main img:not(.vx-faces img):not(.cp-plume),
html:root:root:root:root body.ed-site.ed-site.ed-site section img:not(.vx-faces img):not(.cp-plume),
html:root:root:root:root body.ed-site.ed-site.ed-site figure,
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-cov{border-radius:0!important}

/* Buttons: square */
html:root:root:root:root body.ed-site.ed-site.ed-site a.dd-btn:not(.z70),
html:root:root:root:root body.ed-site.ed-site.ed-site .vx-cta,
html:root:root:root:root body.ed-site.ed-site.ed-site .vx-ghost{border-radius:0!important}

/* Booking occasions in headline serif */
html:root:root:root:root body.ed-site.ed-site.ed-site #bk-hub .hub-acc > summary .hub-s-n{font-family:var(--mg-serif)!important;font-weight:800!important;letter-spacing:-.015em!important}
/* Declutter: no section folio labels, no 'In this section' strips */
html:root:root:root:root body.ed-site.ed-site.ed-site section.np-sec::after{content:none!important;display:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-index{display:none!important}html:root:root:root:root body.ed-site.ed-site.ed-site section.np-sec::before{content:none!important;display:none!important;border:0!important}
/* Seamless sections: no thick black bars */
html:root:root:root:root body.ed-site.ed-site.ed-site .rv-head,
html:root:root:root:root body.ed-site.ed-site.ed-site .rv-feature,
html:root:root:root:root body.ed-site.ed-site.ed-site .rv-cta,
html:root:root:root:root body.ed-site.ed-site.ed-site .vx-hero,
html:root:root:root:root body.ed-site.ed-site.ed-site .ev-scene,
html:root:root:root:root body.ed-site.ed-site.ed-site .pc-scene,
html:root:root:root:root body.ed-site.ed-site.ed-site .wd-scene,
html:root:root:root:root body.ed-site.ed-site.ed-site section.dd-film,
html:root:root:root:root body.ed-site.ed-site.ed-site .cp-hero,
html:root:root:root:root body.ed-site.ed-site.ed-site .cl-band,
html:root:root:root:root body.ed-site.ed-site.ed-site section.vx-cb,
html:root:root:root:root body.ed-site.ed-site.ed-site section#packages,
html:root:root:root:root body.ed-site.ed-site.ed-site section.cv,
html:root:root:root:root body.ed-site.ed-site.ed-site footer.vx-foot,
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-carn-card{border-top-width:0!important;border-bottom-width:0!important}
/* Simplified masthead: section name left, date right, one hairline */
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast{display:flex!important;justify-content:space-between!important;align-items:center!important;border-top:0!important;border-bottom:1px solid rgba(17,18,15,.25)!important;padding-top:10px!important;padding-bottom:10px!important;min-height:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast::before,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast::after{content:none!important;display:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-c,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-ed{display:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-l,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast time{font-size:11px!important;letter-spacing:.14em!important;white-space:nowrap!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast time{display:none!important}html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast{justify-content:center!important}}
/* ===== Newspaper pass v3: meaningful details ===== */
/* Masthead: booking news */
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-r{display:block!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-l,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-r,
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-r a{font-family:"Inter Tight",Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;white-space:nowrap!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-r a{text-decoration:none!important;border-bottom:1px solid #b82e18!important;padding:12px 0 2px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-dot{color:#b82e18!important;margin-right:8px!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site .np-mast .np-mast-r{display:none!important}}

/* Front page */
html:root:root:root:root body.ed-site.ed-site.ed-site section.np-front{max-width:1200px!important;margin:0 auto!important;padding:clamp(40px,5vw,64px) clamp(16px,3vw,40px) clamp(32px,4vw,48px)!important;display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)!important;gap:clamp(28px,4vw,56px)!important;box-sizing:border-box!important;border-bottom:1px solid rgba(17,18,15,.18)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-front a{color:inherit!important;text-decoration:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-lead{display:flex!important;flex-direction:column!important;gap:20px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-lead figure{position:relative!important;margin:0!important;aspect-ratio:16/9!important;overflow:hidden!important;background:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-lead img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .6s cubic-bezier(.2,.7,.2,1)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-lead:hover img{transform:scale(1.03)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-play{position:absolute!important;left:16px!important;bottom:16px!important;background:#f6f1e8!important;color:#11120f!important;font:600 11px/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important;padding:9px 12px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-front .np-k{display:block!important;margin:0!important;font:600 11px/1.3 "Inter Tight",Arial,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#b82e18!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-front .np-lead h2{font-size:clamp(30px,3.6vw,48px)!important;line-height:1.04!important;margin:10px 0 12px!important;color:#11120f!important;text-align:left!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-lead:hover h2{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:6px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-front .np-dek{margin:0!important;max-width:560px!important;font-size:17px!important;line-height:1.55!important;color:#45413b!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-front .np-by{margin:14px 0 0!important;font-size:12px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#6b665e!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also-h{margin:0 0 4px!important;padding-bottom:10px!important;border-bottom:2px solid #11120f!important;font:700 12px/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also ol{list-style:none!important;margin:0!important;padding:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also li+li{border-top:1px solid rgba(17,18,15,.18)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also li a{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;padding:14px 0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also img{width:96px!important;height:72px!important;object-fit:cover!important;display:block!important;border-radius:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also b{display:block!important;margin:5px 0 4px!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;font-size:19px!important;line-height:1.2!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also li a:hover b{text-decoration:underline!important;text-underline-offset:4px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-also .np-n{display:block!important;font-size:13px!important;color:#6b665e!important}
@media (max-width:860px){html:root:root:root:root body.ed-site.ed-site.ed-site section.np-front{grid-template-columns:minmax(0,1fr)!important}}

/* Reviews: quoted sources */
html:root:root:root:root body.ed-site.ed-site.ed-site blockquote + figcaption{font-family:"Inter Tight",Arial,sans-serif!important;font-style:normal!important;font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important}
html:root:root:root:root body.ed-site.ed-site.ed-site blockquote + figcaption::before{content:"— "!important}

/* Packages: printed notices column with dotted leaders */
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card){background:transparent!important;border:0!important;border-top:2px solid #11120f!important;border-radius:0!important;box-shadow:none!important;padding:18px 0 26px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:0!important;row-gap:10px!important;align-content:start!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>*{grid-column:1/-1!important;margin-top:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>.z5{grid-row:1!important;margin:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>h3{grid-column:1/2!important;grid-row:2!important;display:flex!important;align-items:baseline!important;margin:0!important;min-width:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>h3::after{content:""!important;flex:1 1 24px!important;min-width:24px!important;border-bottom:2px dotted rgba(17,18,15,.4)!important;margin:0 14px!important;transform:translateY(-.3em)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>.z12{display:contents!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>.z12>.z13{grid-column:2/3!important;grid-row:2!important;align-self:baseline!important;white-space:nowrap!important}
html:root:root:root:root body.ed-site.ed-site.ed-site article.z25:not(.dd-film-card)>.z12>a{grid-column:1/-1!important;justify-self:start!important;margin-top:8px!important}

/* Story counts in place of numbers */
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-home-svc .z85{font-family:"Inter Tight",Arial,sans-serif!important;font-size:11.5px!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase!important;white-space:nowrap!important;color:#b82e18!important}

/* One accent: red (gold stays on Carnival only) */
html:root:root:root:root:not(.vx-carn),html:root:root:root:root:not(.vx-carn) body,html:root:root:root:root:not(.vx-carn) body *{--wd-champ:#e0563f;--ev-champ:#e0563f;--pc-amber:#e0563f;--rc-gold:#e0563f}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .dd-home-svc .z87 b,
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .sig-n,
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .sig-k,
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .sig-inc-ey{color:#b82e18!important}
/* Accent clean-up v3.1 */
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site h2 em{color:#b82e18!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site :is(.dd-film,.wd-scene,.ev-scene,.pc-scene,.rv-head,.rv-feature,.rv-cta,.vx-hero,#the-lifestyle-collection) :is(h1,h2,strong) em,
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site :is(.wd-k,.ev-k,.pc-k){color:#e0563f!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site :is(p.z5,.wc-label,.wc-price small,.wc-heading p,.tailored-package-note,.signature-extras summary,.signature-extras summary span){color:#6b665e!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .engagement-included{color:#45413b!important;background:#f1ede6!important;border-color:rgba(17,18,15,.15)!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site :is(.rv-card figcaption strong,.dd-film-no){color:#b82e18!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site :is(.signature-extras,.sig-inc,.dd-film-mantra,section.np-sec){border-color:rgba(17,18,15,.15)!important}
html:root:root:root:root:not(.vx-carn) body.ed-site.ed-site.ed-site .hub-build-cta{border-color:#b82e18!important}
html:root:root:root:root body.ed-site.ed-site.ed-site section.np-front{padding-left:32px!important;padding-right:32px!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site section.np-front{padding-left:16px!important;padding-right:16px!important}}
/* ===== Newsroom extras v4 ===== */
/* 3 · Behind the lens column */
html:root:root:root:root body.ed-site.ed-site.ed-site section.np-col{padding:clamp(56px,7vw,96px) 32px!important;border-top:1px solid rgba(17,18,15,.18)!important;border-bottom:1px solid rgba(17,18,15,.18)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-in{max-width:880px!important;margin:0 auto!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-k{margin:0 0 14px!important;font:700 12px/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#b82e18!important;padding-bottom:12px!important;border-bottom:2px solid #11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col h2{text-align:left!important;font-size:clamp(32px,4vw,52px)!important;margin:18px 0 26px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-body{column-count:2!important;column-gap:44px!important;column-rule:1px solid rgba(17,18,15,.18)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-body p{margin:0 0 16px!important;font-family:"Playfair Display",Georgia,serif!important;font-size:18px!important;line-height:1.65!important;color:#2b2824!important;text-align:left!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-body p:first-child::first-letter{float:left!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:800!important;font-size:64px!important;line-height:.82!important;margin:6px 10px 0 0!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-by{margin:18px 0 0!important;font:600 12px/1.4 "Inter Tight",Arial,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#6b665e!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site .np-col-body{column-count:1!important}html:root:root:root:root body.ed-site.ed-site.ed-site section.np-col{padding-left:16px!important;padding-right:16px!important}}

/* 6 · FAQ as a letters page */
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa .dd-faq-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 44px!important;border-top:2px solid #11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa details{background:transparent!important;border:0!important;border-bottom:1px solid rgba(17,18,15,.18)!important;border-radius:0!important;box-shadow:none!important;padding:20px 0 22px!important;margin:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa summary{list-style:none!important;cursor:default!important;pointer-events:none!important;padding:0!important;background:transparent!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;font-size:20px!important;line-height:1.3!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa summary::-webkit-details-marker{display:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa summary::after{content:none!important;display:none!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa summary::before{content:"Q.\00a0"!important;color:#b82e18!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa details>p{margin:10px 0 0!important;padding:0!important;font-size:16px!important;line-height:1.6!important;color:#45413b!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa details>p::before{content:"A.\00a0"!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;color:#11120f!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site .dd-faq.np-qa .dd-faq-list{grid-template-columns:minmax(0,1fr)!important}}

/* 9 · What happens next */
html:root:root:root:root body.ed-site.ed-site.ed-site aside.np-next{padding:clamp(40px,5vw,64px) 32px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next-in{max-width:1200px!important;margin:0 auto!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next-k{margin:0!important;padding-bottom:12px!important;border-bottom:2px solid #11120f!important;font:700 12px/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#11120f!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next ol{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;counter-reset:np!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li{counter-increment:np!important;padding:22px 28px 6px 0!important;margin:0!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li+li{padding-left:28px!important;border-left:1px solid rgba(17,18,15,.18)!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li::before{content:counter(np)!important;display:block!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:800!important;font-size:40px!important;line-height:1!important;color:#b82e18!important;margin-bottom:10px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next b{display:block!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;font-size:21px!important;line-height:1.2!important;color:#11120f!important;margin-bottom:6px!important}
html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li span{display:block!important;font-size:15px!important;line-height:1.55!important;color:#45413b!important}
@media (max-width:760px){html:root:root:root:root body.ed-site.ed-site.ed-site .np-next ol{grid-template-columns:minmax(0,1fr)!important}html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li,html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li+li{padding:20px 0 4px!important;border-left:0!important;border-top:1px solid rgba(17,18,15,.18)!important}html:root:root:root:root body.ed-site.ed-site.ed-site .np-next li:first-child{border-top:0!important}html:root:root:root:root body.ed-site.ed-site.ed-site aside.np-next{padding-left:16px!important;padding-right:16px!important}}

/* 12 · Headlines set line by line */
html.np-anim h2.np-set.dd-reveal,html.np-anim h2.np-set{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
html.np-anim h2.np-set .np-w{display:inline-block!important;overflow:hidden!important;vertical-align:bottom!important;padding:0 .1em .14em 0!important;margin:0 -.1em -.14em 0!important}
html.np-anim h2.np-set .np-wi{display:inline-block!important;transform:translateY(110%)!important;transition:transform .8s cubic-bezier(.16,1,.3,1)!important;transition-delay:calc(var(--ln,0) * 110ms)!important}
html.np-anim h2.np-set.np-in .np-wi{transform:none!important}
@media (prefers-reduced-motion:reduce){html.np-anim h2.np-set .np-wi{transform:none!important;transition:none!important}}
html:root:root:root:root body.ed-site.ed-site.ed-site #main #bk-hub #carnival .hub-grid>a.dd-row::before{content:""!important;font-size:0!important;padding:0!important;color:transparent!important}
/* ===== Carnival: How the session runs (redesign) ===== */
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site section.cs-run{background:#f6efe2!important;color:#1b1310!important;padding:clamp(64px,8vw,112px) 0 0!important;overflow:hidden!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-run .vx-cb-head{max-width:1200px!important;margin:0 auto!important;padding:0 32px!important;text-align:center!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-run .vx-cb-head>p:last-child{max-width:560px!important;margin:18px auto 0!important;font-size:18px!important;line-height:1.55!important;color:#4a3d35!important;opacity:1!important;filter:none!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-grid{max-width:1200px!important;margin:clamp(40px,5vw,64px) auto 0!important;padding:0 32px!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:clamp(32px,5vw,72px)!important;align-items:center!important;box-sizing:border-box!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-photo{position:relative!important;margin:0!important;aspect-ratio:4/5!important;overflow:hidden!important;background:#1b1310!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:0!important;filter:none!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-photo figcaption{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:48px 22px 18px!important;background:linear-gradient(transparent,rgba(20,10,6,.78))!important;color:#fbf3e4!important;font:500 14px/1.45 "Inter Tight",Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;font-style:normal!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-steps{list-style:none!important;margin:0!important;padding:0!important;border-top:3px solid #1b1310!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-steps li{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:20px!important;padding:24px 0!important;border-bottom:1px solid rgba(27,19,16,.18)!important;margin:0!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-n{font:800 64px/.85 "Inter Tight",Arial,sans-serif!important;letter-spacing:-.05em!important;color:#a3201a!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-steps h3{margin:0 0 6px!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;font-size:clamp(22px,2.2vw,28px)!important;line-height:1.15!important;letter-spacing:-.01em!important;color:#1b1310!important;text-align:left!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-steps p{margin:0!important;font-size:16px!important;line-height:1.6!important;color:#4a3d35!important;text-align:left!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-cta{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:16px 24px!important;margin-top:28px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-cta p{margin:0!important;font-size:15px!important;color:#4a3d35!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-cta b{color:#1b1310!important;font-weight:700!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site a.cs-btn{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:0 26px!important;background:#a3201a!important;color:#fbf3e4!important;text-decoration:none!important;font:800 13px/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;border-radius:0!important;transition:background .2s ease!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site a.cs-btn:hover{background:#7f1712!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts{list-style:none!important;margin:clamp(56px,7vw,96px) 0 0!important;padding:clamp(36px,4vw,52px) max(32px,calc((100% - 1136px)/2))!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#0d5a43!important;color:#f6efe2!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts li{padding:4px 24px!important;margin:0!important;border-left:1px solid rgba(246,239,226,.22)!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts li:first-child{border-left:0!important;padding-left:0!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts b{display:block!important;font:800 clamp(28px,2.9vw,42px)/1 "Inter Tight",Arial,sans-serif!important;letter-spacing:-.03em!important;color:#e2ae4f!important;margin-bottom:10px!important;white-space:nowrap!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts span{display:block!important;font-size:14.5px!important;line-height:1.45!important;color:#f6efe2!important}
@media (max-width:860px){
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-grid{grid-template-columns:minmax(0,1fr)!important;padding:0 16px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-run .vx-cb-head{padding:0 16px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-photo{aspect-ratio:4/4.4!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-steps li{grid-template-columns:52px minmax(0,1fr)!important;gap:14px!important;padding:20px 0!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-n{font-size:48px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-cta{flex-direction:column!important;align-items:stretch!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site a.cs-btn{justify-content:center!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:32px 16px!important;row-gap:28px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts li{padding:0 14px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts li:nth-child(odd){border-left:0!important;padding-left:0!important}
}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-grid,html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-run .vx-cb-head{padding-left:32px!important;padding-right:32px!important}
@media (max-width:860px){html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-grid,html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-run .vx-cb-head{padding-left:16px!important;padding-right:16px!important}}

/* ===== Carnival cinematic layer ===== */
/* thinner emerald fact band */
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts{padding-top:clamp(18px,2vw,26px)!important;padding-bottom:clamp(18px,2vw,26px)!important;margin-top:clamp(48px,6vw,80px)!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts b{font-size:clamp(22px,2vw,30px)!important;margin-bottom:4px!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts span{font-size:13px!important;line-height:1.4!important}
@media (max-width:860px){html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cs-facts{padding:20px 16px!important;row-gap:16px!important}}

/* feather curtain */
html.vx-carn .cf-stage{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}
html.vx-carn .cf-f{position:absolute;top:var(--t);width:calc(300px * var(--k));height:calc(300px * var(--k));transform:translate(0,0) rotate(var(--r1));transition:transform 1.9s cubic-bezier(.76,0,.18,1) var(--d),opacity .5s ease var(--d);will-change:transform}
html.vx-carn .cf-l{left:calc(-210px * var(--k))}
html.vx-carn .cf-r{right:calc(-210px * var(--k))}
html.vx-carn .cf-r .cf-p img{transform:scaleX(-1)}
html.vx-carn .cf-stage.cf-measure .cf-f{transition:none!important;transform:none}
html.vx-carn .cf-stage.cf-intro .cf-f{transition:none;transform:translate(var(--dx),var(--dy)) rotate(var(--r0)) scale(1.9)}
html.vx-carn .cf-stage{animation:cfIn .35s ease both}
@keyframes cfIn{from{opacity:0}}
html.vx-carn .cf-p{width:100%;height:100%;transform:translateY(calc(var(--sy,0px) * -1));transition:transform .25s linear}
html.vx-carn .cf-l:nth-child(2) .cf-p,html.vx-carn .cf-r:nth-child(5) .cf-p{transform:translateY(calc(var(--sy,0px) * -.6))}
html.vx-carn .cf-p img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 18px 30px rgba(20,8,4,.28))}
html.vx-carn .cf-stage.cf-idle .cf-p img{animation:cfSway var(--sw,7s) ease-in-out infinite alternate;transform-origin:20% 80%}
html.vx-carn .cf-stage.cf-idle .cf-r .cf-p img{animation-name:cfSwayR;transform-origin:80% 80%}
@keyframes cfSway{from{rotate:-3deg}to{rotate:4deg}}
@keyframes cfSwayR{from{rotate:3deg}to{rotate:-4deg}}
/* tints from the one real plume */
html.vx-carn .cf-scarlet img{filter:sepia(1) saturate(7) hue-rotate(-38deg) brightness(.82) drop-shadow(0 18px 30px rgba(20,8,4,.28))!important}
html.vx-carn .cf-gold img,html.vx-carn img.cf-gold{filter:sepia(1) saturate(3.2) hue-rotate(2deg) brightness(1.04) drop-shadow(0 18px 30px rgba(20,8,4,.22))!important}
html.vx-carn .cf-emerald img,html.vx-carn img.cf-emerald{filter:sepia(1) saturate(4) hue-rotate(108deg) brightness(.62) drop-shadow(0 18px 30px rgba(20,8,4,.28))!important}
html.vx-carn img.cf-scarlet{filter:sepia(1) saturate(7) hue-rotate(-38deg) brightness(.82)!important}
@media (max-width:760px){
html.vx-carn .cf-f{width:calc(190px * var(--k));height:calc(190px * var(--k))}
html.vx-carn .cf-l{left:calc(-150px * var(--k))}
html.vx-carn .cf-r{right:calc(-150px * var(--k))}
html.vx-carn .cf-stage.cf-open .cf-f:nth-child(3n+2){opacity:0}
}

/* film grain */
html.vx-carn .cf-grain{position:fixed;inset:-50%;pointer-events:none;z-index:31;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:cfGrain .9s steps(4) infinite}
@keyframes cfGrain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}

/* drifting plumes in the hero */
html.vx-carn .cp-hero{position:relative;isolation:isolate}
html.vx-carn .cf-drift{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
html.vx-carn .cf-dr{position:absolute;left:var(--x);top:-14%;width:var(--sz);height:auto;opacity:.5;animation:cfFall var(--dur) linear var(--del) infinite}
@keyframes cfFall{0%{transform:translate(0,0) rotate(-20deg)}25%{transform:translate(30px,30vh) rotate(18deg)}50%{transform:translate(-24px,60vh) rotate(-14deg)}75%{transform:translate(26px,90vh) rotate(16deg)}100%{transform:translate(0,125vh) rotate(-10deg)}}

/* hero photo: slow push */
html.vx-carn.cf-ready .cp-photo>img{animation:cfKB 9s cubic-bezier(.2,.6,.2,1) both}
@keyframes cfKB{from{transform:scale(1.12)}to{transform:scale(1)}}

/* image wipes on scroll (inside sections, hard edges kept) */
html.vx-carn.cf-wipe .cf-w{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1)}
html.vx-carn.cf-wipe .cf-w.cf-in{clip-path:inset(0 0 0 0)}

@media (prefers-reduced-motion:reduce){
html.vx-carn .cf-grain,html.vx-carn .cf-drift{display:none}
html.vx-carn .cp-photo>img{animation:none!important}
html.vx-carn .cf-p img{animation:none!important}
}
/* feather colour v2: coloured layer masked by the real plume */
html.vx-carn .cf-p{position:relative;transform-origin:30% 85%;filter:drop-shadow(0 18px 30px rgba(20,8,4,.3))}
html.vx-carn .cf-r .cf-p{scale:-1 1}
html.vx-carn .cf-r .cf-p img{transform:none!important}
html.vx-carn .cf-f .cf-p img{filter:none!important;animation:none!important}
html.vx-carn .cf-p::after{content:"";position:absolute;inset:0;background:var(--tint,transparent);-webkit-mask:var(--pl) center/contain no-repeat;mask:var(--pl) center/contain no-repeat;mix-blend-mode:multiply;pointer-events:none}
html.vx-carn .cf-scarlet{--tint:#c4271c}
html.vx-carn .cf-gold{--tint:#e9ad44}
html.vx-carn .cf-emerald{--tint:#11795a}
html.vx-carn .cf-stage.cf-idle .cf-p{animation:cfSway var(--sw,7s) ease-in-out infinite alternate}
html.vx-carn .cf-r{right:calc(-150px * var(--k))}
@media (max-width:760px){html.vx-carn .cf-r{right:calc(-120px * var(--k))}}
/* feathers tucked into the gutters */
html.vx-carn .cf-l{left:calc(-252px * var(--k))}
html.vx-carn .cf-r{right:calc(-215px * var(--k))}
html.vx-carn .cf-stage.cf-open .cf-f{opacity:.92}
@media (min-width:1400px){html.vx-carn .cf-l{left:calc(-215px * var(--k))}html.vx-carn .cf-r{right:calc(-180px * var(--k))}html.vx-carn .cf-stage.cf-open .cf-f{opacity:1}}
@media (max-width:760px){
html.vx-carn .cf-l{left:calc(-160px * var(--k))}
html.vx-carn .cf-r{right:calc(-150px * var(--k))}
html.vx-carn .cf-stage.cf-open .cf-f{opacity:.85}
html.vx-carn .cf-stage.cf-open .cf-f:nth-child(3n+2),html.vx-carn .cf-stage.cf-open .cf-f:nth-child(3n){opacity:0}
}
/* right feathers v3 */
html.vx-carn .cf-r{right:calc(-250px * var(--k))}
@media (min-width:1400px){html.vx-carn .cf-r{right:calc(-205px * var(--k))}}
@media (max-width:760px){html.vx-carn .cf-r{right:calc(-160px * var(--k))}}

/* ===== Carnival v4: true colour, tucked feathers, more fluff ===== */
/* original photo colour everywhere on the page */
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site :is(.cp-photo,.cp-inset,figure.fan,.cv,.cl-band,.cs-photo,section) img:not(.cp-plume):not(.cf-dr),
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site :is(.cp-photo,.cp-inset,figure.fan,.tri-x){filter:none!important}
/* hold feathers hidden until they are measured */
html.vx-carn .cf-stage.cf-hold{visibility:hidden}
/* feather bursts */
html.vx-carn .cf-burst{position:fixed;z-index:60;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;background:var(--tint);-webkit-mask:var(--pl) center/contain no-repeat;mask:var(--pl) center/contain no-repeat;animation:cfBurst 1.4s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes cfBurst{0%{transform:translate(0,0) rotate(0) scale(.4);opacity:1}55%{transform:translate(var(--bx),var(--by)) rotate(var(--br)) scale(1);opacity:1}100%{transform:translate(calc(var(--bx) * 1.15),calc(var(--by) + 90px)) rotate(calc(var(--br) * 1.6)) scale(.9);opacity:0}}
/* fly-through plume */
html.vx-carn .cf-fly{position:fixed;z-index:35;left:-30vw;top:70vh;width:min(46vw,520px);aspect-ratio:1;pointer-events:none;animation:cfFly 2.4s cubic-bezier(.55,.1,.3,1) forwards}
html.vx-carn .cf-fly img{width:100%;height:100%;object-fit:contain;display:block}
html.vx-carn .cf-fly::after{content:"";position:absolute;inset:0;background:#c4271c;-webkit-mask:var(--pl) center/contain no-repeat;mask:var(--pl) center/contain no-repeat;mix-blend-mode:multiply}
@keyframes cfFly{0%{transform:translate(0,0) rotate(-40deg);opacity:0}12%{opacity:1}100%{transform:translate(140vw,-90vh) rotate(30deg);opacity:1}}
/* hero headline sheen */
html.vx-carn .cp-hero h1.cf-sheen{position:relative}
html.vx-carn .cp-hero h1.cf-sheen::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,236,190,.75) 50%,transparent 58%) no-repeat;background-size:260% 100%;mix-blend-mode:overlay;animation:cfSheen 6.5s ease-in-out 2.4s infinite}
@keyframes cfSheen{0%{background-position:130% 0}45%,100%{background-position:-30% 0}}
/* sparkle trail */
html.vx-carn .cf-spark{position:fixed;z-index:60;width:8px;height:8px;margin:-4px 0 0 -4px;pointer-events:none;background:radial-gradient(circle,#fff6d6 0,#e9ad44 45%,transparent 70%);border-radius:50%;animation:cfSpark .9s ease-out forwards}
@keyframes cfSpark{from{transform:translate(0,0) scale(var(--ss));opacity:1}to{transform:translate(var(--sx),26px) scale(0);opacity:0}}
@media (prefers-reduced-motion:reduce){html.vx-carn .cp-hero h1.cf-sheen::after{display:none}}
/* right pivot fix: mirror around the centre */
html.vx-carn .cf-r .cf-p{transform-origin:50% 85%}
html.vx-carn .cf-l .cf-p{transform-origin:50% 85%}

/* gold glint through the gold headline words */
html.vx-carn .cp-hero h1.cf-sheen::after{display:none!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site .cp-hero h1 .cf-gs{background:linear-gradient(105deg,#e2ae4f 0 40%,#fff4d2 50%,#e2ae4f 60% 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;animation:cfGS 6s ease-in-out 2.4s infinite!important}
@keyframes cfGS{0%{background-position:100% 0}45%,100%{background-position:0 0}}

/* ===== Carnival extras ===== */
/* feather scroll progress */
html.vx-carn .cf-prog{position:fixed;left:0;right:0;top:0;height:3px;z-index:200;pointer-events:none}
html.vx-carn .cf-prog-f{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,#11795a,#e9ad44 55%,#c4271c)}
html.vx-carn .cf-prog-t{position:absolute;top:-9px;left:calc(var(--p,0) * 100%);width:22px;height:22px;margin-left:-11px;background:#c4271c;-webkit-mask:var(--pl) center/contain no-repeat;mask:var(--pl) center/contain no-repeat;rotate:35deg;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
/* hero depth */
html.vx-carn .cf-depth{transition:translate .5s cubic-bezier(.2,.7,.2,1)!important}
/* tilting package cards with a moving shine */
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site #packages article.card.cf-tilt{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease!important;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;position:relative!important;transform-style:preserve-3d}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site #packages article.card.cf-tilt-on{transition:transform .12s linear,box-shadow .3s ease!important;box-shadow:0 30px 60px -28px rgba(30,10,4,.45)!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site #packages article.card.cf-tilt::after{content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,236,190,.28),transparent 45%)!important;opacity:0;transition:opacity .3s ease!important;z-index:3!important;border-radius:inherit!important}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site #packages article.card.cf-tilt-on::after{opacity:1!important}
/* gold brush underline that draws in under accent words */
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site h2 em.cf-ul{background-image:linear-gradient(transparent 70%,rgba(226,174,79,.55) 70%,rgba(226,174,79,.55) 92%,transparent 92%)!important;background-repeat:no-repeat!important;background-size:0% 100%!important;transition:background-size 1.1s cubic-bezier(.65,0,.2,1)!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
html:root:root:root:root.vx-carn body.ed-site.ed-site.ed-site h2 em.cf-ul.cf-ul-in{background-size:100% 100%!important}
/* booking buttons breathe */
html.vx-carn .cf-pulse{position:relative}
html.vx-carn .cf-pulse::before{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:0 0 0 0 rgba(233,173,68,.7);animation:cfPulse 3.6s ease-out 3s infinite}
@keyframes cfPulse{0%{box-shadow:0 0 0 0 rgba(233,173,68,.65)}35%{box-shadow:0 0 0 14px rgba(233,173,68,0)}100%{box-shadow:0 0 0 0 rgba(233,173,68,0)}}
/* parallax band photo */
html.vx-carn .cl-band img.cf-par{scale:1.14;will-change:translate}