/*
 * Culture Dreamer design system for WordPress + Elementor.
 * Ported from the Next.js site (tokens from the design handoff). Square corners everywhere.
 */

/* ------------------------------------------------------------------ fonts */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(../fonts/cormorant-garamond-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(../fonts/cormorant-garamond-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(../fonts/cormorant-garamond-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(../fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/work-sans-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/work-sans-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ------------------------------------------------------------------ tokens */
:root {
  --cd-cream: #fbf6ea; --cd-sand: #f3e8d2; --cd-sand-line: #e6d8bc; --cd-sand-line-2: #dccba9; --cd-sand-soft: #efe3cb;
  --cd-field-border: #bfae90; --cd-field-bg: #fffdf7; --cd-ink: #2b1e14; --cd-ink-2: #4a3727; --cd-ink-3: #5a4533;
  --cd-photo: #3b2a1c; --cd-muted-on-dark: #d9cbb0; --cd-muted-on-dark-2: #bfae90; --cd-footer-field: #6b5640;
  --cd-amber: #e8961e; --cd-amber-hover: #f2a73a; --cd-amber-deep: #9a560c; --cd-error: #a33a12; --cd-dot: #cbb892; --cd-step-muted: #6f5d48;
  --cd-m3: #e8961e; --cd-m2: #f2c98a; --cd-m1: #e6d8bc;
  --cd-display: 'Cormorant Garamond', Georgia, serif; --cd-sans: 'Work Sans', system-ui, -apple-system, sans-serif;
  --cd-ease: cubic-bezier(.2, .7, .2, 1);
  --cd-shadow-card: 0 14px 30px rgba(43, 30, 20, .12); --cd-shadow-mega: 0 24px 40px rgba(43, 30, 20, .12); --cd-shadow-bar: 0 -8px 24px rgba(0, 0, 0, .2);
  --hdr: 115px;
}

/* ------------------------------------------------------------------ base + Hello Elementor neutralising */
body.cd-site { background: var(--cd-cream); color: var(--cd-ink); font-family: var(--cd-sans); -webkit-font-smoothing: antialiased; margin: 0; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body.cd-site [id] { scroll-margin-top: calc(var(--hdr) + 24px); }
.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"] { font-family: var(--cd-sans); color: var(--cd-ink); line-height: 1.5; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) *, :where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) *::before, :where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) *::after { box-sizing: border-box; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(h1, h2, h3, h4, p, ol, ul, dl, dd, figure, blockquote, fieldset) { margin: 0; padding: 0; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(ul, ol) { list-style: none; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(h1, h2, h3, h4) { font-weight: inherit; font-size: inherit; line-height: inherit; color: inherit; font-family: inherit; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) fieldset { border: 0; min-width: 0; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) legend { padding: 0; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) a { color: inherit; text-decoration: none; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) a:hover { color: var(--cd-amber-deep); }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) img { max-width: 100%; height: auto; display: block; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(button, input, select, textarea) { font: inherit; color: inherit; border-radius: 0; letter-spacing: inherit; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(button, [type=button], [type=submit]) { background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-transform: none; line-height: inherit; color: inherit; white-space: normal; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :is(button, [type=button], [type=submit]):is(:hover, :focus) { background: none; color: inherit; }
:where(.cd-header, .cd-footer, .cd-page, [class*="elementor-widget-cd-"]) :focus-visible { outline: 2px solid var(--cd-amber-deep); outline-offset: 3px; }
.cd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cd-skip { position: absolute; left: -9999px; top: 16px; z-index: 100; background: var(--cd-ink); color: var(--cd-cream); padding: 12px 16px; }
.cd-skip:focus { left: 16px; color: var(--cd-cream); }
#cd-main { outline: none; }

/* ------------------------------------------------------------------ layout helpers */
.cd-container { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 24px; }
.cd-bleed { padding-inline: max(24px, calc((100% - 1272px) / 2)); }
.cd-section-pad { padding-block: 100px; }
.cd-sand { background-color: var(--cd-sand); }
.cd-dark { background-color: var(--cd-ink); color: var(--cd-sand); }
.cd-pattern-dark { background-image: url(../img/pattern-dark.png); background-image: image-set(url(../img/pattern-dark.webp) type('image/webp'), url(../img/pattern-dark.png) type('image/png')); background-size: 200px; }
.cd-pattern-light { background-image: url(../img/pattern-light.png); background-image: image-set(url(../img/pattern-light.webp) type('image/webp'), url(../img/pattern-light.png) type('image/png')); background-size: 200px; }
.cd-border-top { border-top: 1px solid var(--cd-sand-line); }
.cd-border-y { border-block: 1px solid var(--cd-sand-line); }
.cd-grid { display: grid; gap: 24px; }
.cd-grid--300 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.cd-grid--240 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.cd-grid--290 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.cd-grid--280-fill { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.cd-grid--260 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.cd-grid--220 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.cd-grid--150 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.cd-gap-10 { gap: 10px; } .cd-gap-16 { gap: 16px; } .cd-gap-20 { gap: 20px; } .cd-gap-28 { gap: 28px; } .cd-gap-32 { gap: 32px; }
.cd-grid__cell { display: flex; }
.cd-two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 64px; align-items: start; }
.cd-two-col--440 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); }
.cd-two-col--center { align-items: center; }
.cd-split { display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; }
.cd-split__main { flex: 2 1 560px; min-width: 0; }
.cd-split__aside { flex: 1 1 300px; }
.cd-sticky { position: sticky; top: calc(var(--hdr) + 24px); transition: top .4s var(--cd-ease); }
.cd-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
.cd-btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
.cd-stack-72 { display: flex; flex-direction: column; gap: 72px; }
.cd-mb-10 { margin-bottom: 10px !important; } .cd-mb-12 { margin-bottom: 12px !important; } .cd-mb-14 { margin-bottom: 14px !important; } .cd-mb-16 { margin-bottom: 16px !important; } .cd-mb-20 { margin-bottom: 20px !important; } .cd-mb-28 { margin-bottom: 28px !important; } .cd-mb-32 { margin-bottom: 32px !important; } .cd-mb-36 { margin-bottom: 36px !important; } .cd-mb-56 { margin-bottom: 56px !important; }
.cd-mt-24 { margin-top: 24px; } .cd-mt-32 { margin-top: 32px; }
.cd-nowrap { white-space: nowrap; }
.cd-break { overflow-wrap: anywhere; }
.cd-muted-dark { color: var(--cd-muted-on-dark); }
.cd-media-box { position: relative; overflow: hidden; }
.cd-media-box > .cd-photo, .cd-media-box > .cd-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------------ type */
.cd-heading { font-family: var(--cd-display); font-weight: 600; text-wrap: balance; color: var(--cd-ink); }
.cd-heading--h2 { font-size: clamp(34px, 3.6vw, 50px); line-height: 1.15; }
.cd-heading--intro { font-size: clamp(38px, 4.6vw, 62px); line-height: 1.02; }
.cd-heading--difference { font-size: clamp(36px, 4vw, 56px); line-height: 1.15; }
.cd-heading--itinerary { font-size: clamp(34px, 3.4vw, 46px); line-height: 1.15; }
.cd-heading--footer { font-size: clamp(34px, 4vw, 50px); line-height: 1.15; }
.cd-heading--page { font-size: clamp(42px, 5vw, 68px); line-height: 1; }
.cd-heading--on-dark { color: var(--cd-cream); }
.hl { color: #fff; font-style: normal; padding: .08em .34em .16em; background-image: url(../img/brush.svg); background-size: 100% 100%; background-repeat: no-repeat; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.cd-eyebrow { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: var(--cd-amber-deep); }
.cd-eyebrow--on-dark { color: var(--cd-amber); }
.cd-eyebrow--tight { letter-spacing: .14em; }
.cd-lede { font-size: 17px; line-height: 1.65; color: var(--cd-ink-2); margin-bottom: 32px !important; max-width: 560px; }
.cd-lead { font-family: var(--cd-display); font-size: clamp(26px, 2.6vw, 34px); line-height: 1.3; }
.cd-page-lede { font-size: 18px; line-height: 1.7; color: var(--cd-ink-2); max-width: 680px; }
.cd-underline-link { display: inline-block; font-size: 15px; font-weight: 600; border-bottom: 1.5px solid var(--cd-amber); padding-bottom: 3px; color: var(--cd-ink); }
.cd-textlink, .cd-textbtn { font-size: 15px !important; font-weight: 600 !important; color: var(--cd-amber-deep) !important; text-decoration: underline !important; text-underline-offset: 4px; }
.cd-textbtn { text-decoration: none !important; color: var(--cd-ink) !important; padding: 12px 0 !important; }
.cd-textbtn:hover { color: var(--cd-amber-deep) !important; }

/* ------------------------------------------------------------------ buttons */
.cd-btn { display: inline-flex !important; align-items: center; justify-content: center; font-family: var(--cd-sans); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none !important; border-radius: 0 !important; transition: background-color .2s, color .2s, transform .2s; }
.cd-btn:active { transform: translateY(1px); }
.cd-btn--primary { background: var(--cd-amber) !important; color: var(--cd-ink) !important; }
.cd-btn--primary:hover { background: var(--cd-amber-hover) !important; color: var(--cd-ink) !important; }
.cd-btn--dark { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-btn--dark:hover { background: #000 !important; color: var(--cd-cream) !important; }
.cd-btn--outline { border: 1.5px solid var(--cd-ink) !important; color: var(--cd-ink) !important; background: transparent !important; }
.cd-btn--outline:hover { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-btn--outline-light { border: 1.5px solid var(--cd-cream) !important; color: var(--cd-cream) !important; background: transparent !important; }
.cd-btn--outline-light:hover { background: var(--cd-cream) !important; color: var(--cd-ink) !important; }
.cd-btn--md { padding: 15px 26px; } .cd-btn--md.cd-btn--outline, .cd-btn--md.cd-btn--outline-light { padding: 14px 26px; }
.cd-btn--hero { padding: 16px 30px; white-space: nowrap; } .cd-btn--hero.cd-btn--outline-light { padding: 15px 30px; }
.cd-btn--hero-sm { padding: 16px 28px; white-space: nowrap; } .cd-btn--hero-sm.cd-btn--outline-light { padding: 15px 28px; }
.cd-btn--block { width: 100%; padding: 15px; text-align: center; } .cd-btn--block.cd-btn--outline-light { padding: 14px; }
.cd-btn--compact { padding: 14px 22px; white-space: nowrap; }
.cd-btn[disabled], .cd-btn[aria-busy=true] { opacity: .7; cursor: wait; }

/* ------------------------------------------------------------------ photos + placeholders */
.cd-ph { display: flex; padding: 16px; background-color: #d8c7a6; background-image: repeating-linear-gradient(135deg, rgba(43, 30, 20, .07) 0 12px, rgba(43, 30, 20, 0) 12px 24px); }
.cd-ph--dark { background-color: var(--cd-photo); background-image: repeating-linear-gradient(135deg, rgba(251, 246, 234, .05) 0 12px, rgba(251, 246, 234, 0) 12px 24px); }
.cd-ph--label-center { align-items: center; justify-content: center; }
.cd-ph--label-top { align-items: flex-start; justify-content: flex-end; }
.cd-ph__label { max-width: 80%; padding: 6px 10px; background: rgba(251, 246, 234, .85); color: var(--cd-ink-3); font: 500 12px/1.4 var(--cd-sans); text-align: center; }
.cd-ph--dark .cd-ph__label { background: rgba(43, 30, 20, .6); color: var(--cd-sand); }
img.cd-photo { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------------ cards */
.cd-trip-card { display: flex; flex-direction: column; width: 100%; background: var(--cd-cream); color: var(--cd-ink) !important; transition: box-shadow .3s, transform .3s var(--cd-ease); }
.cd-trip-card:hover { box-shadow: var(--cd-shadow-card); transform: translateY(-4px); }
.cd-trip-card__media { aspect-ratio: 1 / 1; }
.cd-trip-card__badge { position: absolute; top: 14px; left: 14px; z-index: 1; background: var(--cd-cream); padding: 6px 10px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cd-trip-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px 22px 26px; }
.cd-trip-card__title { font: 600 26px/1.1 var(--cd-display); }
.cd-trip-card__meta { display: flex; gap: 8px; font-size: 14px; color: var(--cd-ink-3); }
.cd-trip-card__price { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--cd-sand-line); font-size: 15px; }
.cd-trip-card__price strong { font-weight: 600; }
.cd-dest-card { display: flex; flex-direction: column; gap: 16px; color: var(--cd-ink) !important; }
.cd-dest-card__media { aspect-ratio: 4 / 4.6; }
.cd-dest-card__media > * { transition: transform .5s; }
.cd-dest-card:hover .cd-dest-card__media > * { transform: scale(1.03); }
.cd-dest-card__title { font: 600 32px/1.15 var(--cd-display); margin-bottom: 6px !important; }
.cd-dest-card__text { font-size: 16px; line-height: 1.55; color: var(--cd-ink-3); }

/* ------------------------------------------------------------------ hero */
.cd-hero { position: relative; display: flex; align-items: flex-end; overflow: hidden; background: var(--cd-photo); }
.cd-hero--home { min-height: max(560px, 82vh); }
.cd-hero--dest { min-height: max(480px, 68vh); }
.cd-hero--trip { min-height: max(460px, 64vh); }
.cd-hero__media { position: absolute; inset: 0; }
.cd-hero__media > * { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-hero__scrim { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(30, 20, 12, .85), rgba(30, 20, 12, .2) 65%); }
.cd-hero--home .cd-hero__scrim { background: linear-gradient(to top, rgba(30, 20, 12, .82) 0%, rgba(30, 20, 12, .35) 55%, rgba(30, 20, 12, .15) 100%); }
.cd-hero__content { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding-top: 96px; padding-bottom: 88px; }
.cd-hero--dest .cd-hero__content { padding-bottom: 72px; }
.cd-hero--trip .cd-hero__content { padding-bottom: 64px; }
.cd-hero__content.is-centred { align-items: center; text-align: center; }
.cd-hero__eyebrow { margin-bottom: 18px; font-size: 13px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--cd-amber); }
.cd-hero__badge { display: inline-block; margin-bottom: 16px; padding: 6px 12px; background: var(--cd-amber); color: var(--cd-ink); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.cd-hero__title { max-width: 980px; margin-bottom: 22px !important; font: 600 clamp(44px, 6.4vw, 88px)/1 var(--cd-display); color: var(--cd-cream); text-wrap: balance; }
.cd-hero--dest .cd-hero__title { font-size: clamp(56px, 8vw, 112px); line-height: .95; margin-bottom: 18px !important; }
.cd-hero--trip .cd-hero__title { font-size: clamp(46px, 6.4vw, 88px); max-width: 900px; margin-bottom: 16px !important; }
.cd-hero__text { max-width: 620px; margin-bottom: 34px !important; font-size: 19px; line-height: 1.55; color: var(--cd-sand); }
.cd-hero--dest .cd-hero__text { max-width: 640px; font-size: 20px; line-height: 1.5; margin-bottom: 30px !important; }
.cd-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; font-size: 17px; color: var(--cd-sand); }
.cd-crumbs { margin-bottom: 18px; font-size: 14px; color: var(--cd-sand); }
.cd-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; }
.cd-crumbs li { display: flex; gap: 8px; }
.cd-crumbs a { color: var(--cd-sand) !important; }
.cd-crumbs a:hover { color: var(--cd-amber) !important; }
.cd-crumbs [aria-current] { color: var(--cd-amber); }

/* ------------------------------------------------------------------ home sections */
.cd-intro { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 64px; align-items: start; padding-top: 110px; padding-bottom: 90px; }
.cd-intro__body { font-size: 18px; line-height: 1.7; color: var(--cd-ink-2); }
.cd-intro__body p { margin-bottom: 18px !important; }
.cd-collapse { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .45s var(--cd-ease), opacity .45s; }
.cd-collapse.is-open { grid-template-rows: 1fr; opacity: 1; }
.cd-collapse__inner { overflow: hidden; }
.cd-dest-section { padding-top: 90px; padding-bottom: 110px; border-top: 1px solid var(--cd-sand-soft); }
.cd-dest-section.is-page { padding-top: 72px; border-top: 0; }
.cd-dest-section > .cd-section-head { margin-bottom: 36px; }
.cd-dest-section .cd-page-lede { margin-bottom: 48px; }
.cd-cta-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 56px; }
.cd-cta-inline p { font-size: 17px; color: var(--cd-ink-2); }
.cd-pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1px; background: var(--cd-ink-2); border: 1px solid var(--cd-ink-2); }
.cd-pillar { display: flex; flex-direction: column; gap: 14px; padding: 32px 26px 36px; background: var(--cd-ink); }
.cd-pillar__n { font: italic 500 20px var(--cd-display); color: var(--cd-amber); }
.cd-pillar__title { font: 600 26px/1.15 var(--cd-display); color: var(--cd-cream); }
.cd-pillar__text { font-size: 15px; line-height: 1.6; color: var(--cd-muted-on-dark); }
.cd-tiles-section { padding-top: 110px; padding-bottom: 60px; }
.cd-tile { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--cd-photo); }
.cd-tile__img { position: absolute !important; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.cd-tile:hover .cd-tile__img { transform: scale(1.03); }
.cd-tile__caption { position: absolute; inset: auto 0 0 0; padding: 60px 20px 22px; background: linear-gradient(to top, rgba(30, 20, 12, .88), rgba(30, 20, 12, 0)); pointer-events: none; }
.cd-tile__where { margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--cd-amber); }
.cd-tile__title { font: 600 26px/1.1 var(--cd-display); color: var(--cd-cream); }
.cd-quote { max-width: 980px; margin: 0 auto; padding: 80px 24px 100px; text-align: center; }
.cd-quote__text { margin-bottom: 22px !important; font: italic 500 clamp(28px, 3.4vw, 44px)/1.25 var(--cd-display); text-wrap: balance; }
.cd-quote__by { font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-count { font-size: 15px; color: var(--cd-ink-3); }
.cd-filters { display: flex; flex-wrap: wrap; gap: 28px; margin-bottom: 36px; padding-bottom: 24px; border-bottom: 1px solid var(--cd-sand-line-2); }
.cd-filters__group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cd-filters__label { margin-right: 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.cd-chip { border: 1px solid var(--cd-ink) !important; padding: 9px 16px !important; font-size: 14px !important; color: var(--cd-ink) !important; background: transparent !important; transition: background-color .2s, color .2s; }
.cd-chip:hover { background: rgba(43, 30, 20, .06) !important; }
.cd-chip[aria-pressed=true] { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-grid__cell.is-hidden { display: none; }
.cd-empty { font-size: 17px; color: var(--cd-ink-3); }
.cd-empty a { font-weight: 600; color: var(--cd-amber-deep); }
.cd-arrows { display: flex; gap: 8px; }
.cd-arrow { display: flex !important; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--cd-ink) !important; font-size: 18px !important; color: var(--cd-ink) !important; transition: background-color .2s, color .2s; }
.cd-arrow--sm { width: 46px; height: 46px; font-size: 17px !important; }
.cd-arrow:hover { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.cd-carousel::-webkit-scrollbar { display: none; }
.cd-expert { display: flex; flex-direction: column; gap: 14px; scroll-snap-align: start; }
.cd-expert__media { aspect-ratio: 4 / 5; }
.cd-expert__name { margin-bottom: 4px !important; font: 600 24px/1.15 var(--cd-display); }
.cd-expert__role { font-size: 14px; font-weight: 600; color: var(--cd-amber-deep); }
.cd-expert__note { margin-top: 2px; font-size: 14px; color: var(--cd-ink-3); }
.cd-planning__media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.cd-planning__img { position: absolute; inset: 0; opacity: 0; transition: opacity .5s var(--cd-ease), transform .6s var(--cd-ease); transform: scale(1.03); }
.cd-planning__img.is-active { opacity: 1; transform: none; }
.cd-planning__img > * { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-reviews { max-width: 1000px; margin: 0 auto; padding: 100px 24px; text-align: center; }
.cd-reviews__stars { margin-bottom: 22px; font-size: 22px; letter-spacing: 4px; color: var(--cd-amber); }
.cd-reviews__stage { min-height: calc(3.9em + 80px); }
.cd-review { animation: cd-fade-up .35s var(--cd-ease); }
.cd-review__text { margin-bottom: 26px !important; min-height: 3.9em; font: 500 clamp(26px, 3vw, 38px)/1.3 var(--cd-display); text-wrap: balance; }
.cd-review__name { font-size: 16px; font-weight: 600; }
.cd-review__trip { margin-top: 4px; font-size: 14px; color: var(--cd-ink-3); }
.cd-reviews__nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 36px; }
.cd-dots { display: flex; }
.cd-dot { display: flex !important; align-items: center; height: 24px; padding: 0 8px !important; }
.cd-dot span { display: block; width: 8px; height: 8px; background: var(--cd-dot); transition: width .3s; }
.cd-dot[aria-current=true] span { width: 28px; background: var(--cd-amber-deep); }
.cd-page-intro { padding-top: 72px; padding-bottom: 48px; }

/* ------------------------------------------------------------------ accordion */
.cd-acc { border-top: 1px solid var(--cd-sand-line-2); }
.cd-acc__item { border-bottom: 1px solid var(--cd-sand-line-2); }
.cd-acc__btn { display: flex !important; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0 !important; text-align: left; font: 600 24px/1.2 var(--cd-display) !important; color: var(--cd-ink) !important; }
.cd-acc--planning .cd-acc__btn { font-size: 25px !important; }
.cd-acc__sign::before { content: '+'; font: 400 22px var(--cd-sans); color: var(--cd-amber-deep); }
.cd-acc__item.is-open > .cd-acc__h .cd-acc__sign::before { content: '−'; }
.cd-acc__panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .35s var(--cd-ease), opacity .35s; }
.cd-acc__item.is-open > .cd-acc__panel { grid-template-rows: 1fr; opacity: 1; }
.cd-acc__inner { overflow: hidden; }
.cd-acc__content { padding-bottom: 24px; max-width: 760px; font-size: 16px; line-height: 1.7; color: var(--cd-ink-2); }
.cd-acc--planning .cd-acc__content { padding-bottom: 26px; }
.cd-acc--planning .cd-acc__content p { margin-bottom: 16px !important; }
.cd-acc--days .cd-acc__btn { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) 24px; gap: 16px; padding: 20px 0 !important; font: inherit !important; }
.cd-day__label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-day__title { font: 600 24px/1.2 var(--cd-display); }
.cd-acc--days .cd-acc__sign::before { font-size: 20px; }
.cd-acc--days .cd-acc__content { padding-bottom: 22px; line-height: 1.65; }
@media (min-width: 640px) { .cd-acc--days .cd-acc__btn { grid-template-columns: 90px minmax(0, 1fr) 24px; } .cd-acc--days .cd-acc__content { padding-left: 106px; } }

/* ------------------------------------------------------------------ dark aside panel */
.cd-dark-panel { display: flex; flex-direction: column; gap: 16px; padding: 32px; background-color: var(--cd-ink); color: var(--cd-sand); }
.cd-dark-panel__title { font: 600 30px/1.1 var(--cd-display); color: var(--cd-cream); }
.cd-dark-panel__text { font-size: 15px; line-height: 1.6; color: var(--cd-muted-on-dark); }

/* ------------------------------------------------------------------ destination page */
.cd-subnav { position: sticky; top: var(--hdr); z-index: 20; background: var(--cd-cream); border-bottom: 1px solid var(--cd-sand-line); transition: top .4s var(--cd-ease); }
.cd-subnav__inner { display: flex; align-items: center; gap: 28px; max-width: 1320px; margin: 0 auto; padding: 0 24px; overflow-x: auto; scrollbar-width: none; }
.cd-subnav__inner::-webkit-scrollbar { display: none; }
.cd-subnav__links { display: flex; flex-shrink: 0; gap: 28px; font-size: 15px; font-weight: 500; }
.cd-subnav__links a { display: block; padding: 18px 0; }
.cd-subnav__switch { display: flex; flex-shrink: 0; gap: 6px; padding: 10px 0; }
.cd-switch { display: block; padding: 8px 14px; border: 1px solid var(--cd-ink); font-size: 13px; font-weight: 500; }
.cd-switch.is-active { background: var(--cd-ink); color: var(--cd-cream) !important; }
@media (min-width: 1024px) { .cd-subnav__inner { flex-wrap: wrap; justify-content: space-between; gap: 0 20px; overflow: visible; } }
.cd-overview { padding-block: 96px; }
.cd-facts { padding: 24px; background: var(--cd-sand); }
.cd-facts__title { margin-bottom: 18px !important; font: 600 26px var(--cd-display); }
.cd-facts__row { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--cd-sand-line-2); font-size: 15px; }
.cd-facts__row dt { color: var(--cd-ink-3); }
.cd-facts__row dd { font-weight: 600; overflow-wrap: break-word; }
@media (min-width: 640px) { .cd-facts { padding: 32px; } .cd-facts__row { grid-template-columns: 140px minmax(0, 1fr); } }
.cd-where { padding-top: 90px; padding-bottom: 100px; border-top: 1px solid var(--cd-sand-soft); }
.cd-area { display: flex; flex-direction: column; gap: 14px; }
.cd-area__media { aspect-ratio: 4 / 3; }
.cd-area__title { font: 600 26px/1.15 var(--cd-display); }
.cd-area__text { font-size: 15px; line-height: 1.6; color: var(--cd-ink-3); }
.cd-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-block: 40px; }
.cd-band__title { font: 600 30px/1.1 var(--cd-display); }
.cd-band__text { margin-top: 6px !important; font-size: 16px; color: var(--cd-ink-2); line-height: 1.55; }
.cd-square { aspect-ratio: 1 / 1; }
.cd-culture-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: baseline; gap: 12px; padding: 18px 0; border-top: 1px solid var(--cd-ink-2); font-size: 18px; color: var(--cd-cream); }
.cd-culture-list__n { font: italic 500 20px var(--cd-display); color: var(--cd-amber); }
.cd-legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 14px; }
.cd-legend li { display: flex; align-items: center; gap: 8px; }
.cd-legend__sw { width: 14px; height: 14px; }
.cd-m3 { background: var(--cd-m3); } .cd-m2 { background: var(--cd-m2); } .cd-m1 { background: var(--cd-m1); }
.cd-months { display: grid; grid-template-columns: repeat(12, minmax(44px, 1fr)); gap: 6px; overflow-x: auto; padding: 4px 4px 6px; }
.cd-month { display: flex !important; flex-direction: column; gap: 8px; color: var(--cd-ink) !important; outline-offset: 3px; }
.cd-month[aria-pressed=true] { outline: 1.5px solid var(--cd-ink); }
.cd-month__bar { display: block; width: 100%; margin-top: auto; transform-origin: bottom; }
.cd-month__label { width: 100%; text-align: center; font-size: 14px; }
.cd-month[aria-pressed=true] .cd-month__label { font-weight: 700; }
.cd-month-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding: 24px 28px; background: var(--cd-sand); }
.cd-month-note p { max-width: 720px; font-size: 16px; line-height: 1.6; }
.cd-month-note strong { font-weight: 600; }

/* ------------------------------------------------------------------ trip page */
.cd-trip-body { padding-top: 80px; padding-bottom: 100px; }
.cd-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.cd-highlights li { display: flex; gap: 12px; padding: 18px 20px; background: var(--cd-sand); font-size: 16px; }
.cd-highlights li > span:first-child { color: var(--cd-amber-deep); }
.cd-customise { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 32px; }
.cd-customise__copy { max-width: 440px; }
.cd-customise .cd-band__text { font-size: 15px; }
.cd-list-title { margin-bottom: 14px !important; font: 600 28px var(--cd-display); }
.cd-checklist li { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--cd-sand-line); font-size: 15px; }
.cd-checklist li > span { color: var(--cd-amber-deep); }
.cd-checklist--muted li, .cd-checklist--muted li > span { color: var(--cd-ink-3); }
.cd-price { display: flex; flex: 1 1 320px; flex-direction: column; gap: 18px; padding: 32px; background: var(--cd-ink); color: var(--cd-sand); }
.cd-price__from { font: 600 44px/1 var(--cd-display); color: var(--cd-cream); }
.cd-price__from span { font: 400 15px var(--cd-sans); color: var(--cd-muted-on-dark); }
.cd-price__note { font-size: 14px; line-height: 1.55; color: var(--cd-muted-on-dark); }
.cd-price__rows { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid var(--cd-ink-2); font-size: 15px; }
.cd-price__rows div { display: flex; justify-content: space-between; gap: 16px; }
.cd-price__rows dt { color: var(--cd-muted-on-dark); }
.cd-price__rows dd { text-align: right; }
.cd-trip-bar { position: fixed; inset: auto 0 0 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--cd-ink); color: var(--cd-cream); box-shadow: var(--cd-shadow-bar); font-family: var(--cd-sans); animation: cd-slide-up .5s var(--cd-ease) .6s both; }
.cd-trip-bar__from { font-size: 12px; color: var(--cd-muted-on-dark); }
.cd-trip-bar__price { font: 600 24px/1 var(--cd-display); }
.cd-trip-bar__price span { font: 400 13px var(--cd-sans); }
@media (max-width: 999.98px) { body.cd-has-trip-bar { padding-bottom: 72px; } }
@media (min-width: 1000px) { .cd-trip-bar { display: none; } }

/* ------------------------------------------------------------------ header */
.cd-header { position: sticky; top: 0; z-index: 50; transition: transform .4s var(--cd-ease), box-shadow .3s; }
.admin-bar .cd-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cd-header { top: 0; } }
.cd-header.is-hidden { transform: translateY(-100%); }
.admin-bar .cd-header.is-hidden { transform: translateY(calc(-100% - 32px)); }
.cd-header.is-scrolled { box-shadow: 0 10px 30px rgba(43, 30, 20, .14); }
.cd-utility { background: var(--cd-ink); color: var(--cd-sand); font-size: 13px; }
.cd-utility__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; max-width: 1320px; margin: 0 auto; padding: 8px 24px; }
.cd-utility__tag { display: none; letter-spacing: .04em; }
.cd-utility__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 20px; width: 100%; }
.cd-utility a { color: var(--cd-sand) !important; }
.cd-utility a:hover { color: var(--cd-amber) !important; }
.cd-utility .cd-utility__phone { color: var(--cd-amber) !important; font-weight: 600; }
.cd-hide-xs { display: none; }
@media (min-width: 640px) { .cd-hide-xs { display: inline; } }
@media (min-width: 768px) { .cd-utility__tag { display: inline; } .cd-utility__links { width: auto; justify-content: flex-end; } }
.cd-mainbar { background: var(--cd-cream); border-bottom: 1px solid var(--cd-sand-line); }
.cd-mainbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1320px; margin: 0 auto; padding: 12px 24px; }
@media (min-width: 640px) { .cd-mainbar__inner { gap: 24px; } }
.cd-logo { display: flex; flex-shrink: 1; min-width: 0; align-items: center; gap: 12px; }
.cd-logo__emblem { display: none !important; flex-shrink: 0; width: auto !important; height: 42px !important; }
.cd-logo__wordmark { width: 124px !important; min-width: 0; max-width: 100%; height: auto !important; }
@media (min-width: 480px) { .cd-logo__emblem { display: block !important; } .cd-logo__wordmark { width: 149px !important; } }
@media (min-width: 640px) { .cd-logo__emblem { height: 54px !important; } .cd-logo__wordmark { width: 186px !important; } }
.cd-nav { display: none; }
@media (min-width: 1080px) { .cd-nav { display: block; } }
.cd-nav__list { display: flex; align-items: center; gap: 4px; }
.cd-nav__link { display: flex; align-items: center; gap: 6px; padding: 14px; border-bottom: 2px solid transparent; font-size: 15px; font-weight: 500; }
.cd-nav__link span { font-size: 10px; opacity: .6; }
.cd-nav__link[aria-expanded=true] { border-bottom-color: var(--cd-amber); }
.cd-mega { position: absolute; inset: 100% 0 auto 0; background: var(--cd-cream); border-bottom: 1px solid var(--cd-sand-line); box-shadow: var(--cd-shadow-mega); }
.cd-mega:not([hidden]).is-entering { animation: cd-drop .18s var(--cd-ease); }
.cd-mega__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.3fr); gap: 40px; max-width: 1320px; margin: 0 auto; padding: 36px 24px 40px; }
.cd-mega__title { margin-bottom: 14px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-mega__links { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.cd-mega__feature { display: flex; flex-direction: column; gap: 12px; }
.cd-mega__img { height: 170px; }
.cd-mega__label { font: 600 24px/1.15 var(--cd-display); }
.cd-mainbar__actions { display: flex; flex-shrink: 0; align-items: center; gap: 8px; }
.cd-header__cta { font-size: 13px !important; letter-spacing: .03em; padding: 14px 12px !important; }
@media (max-width: 359.98px) { .cd-header__cta { display: none !important; } }
@media (min-width: 640px) { .cd-header__cta { font-size: 14px !important; padding: 14px 22px !important; } .cd-mainbar__actions { gap: 10px; } }
.cd-burger { display: flex !important; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--cd-ink) !important; font-size: 20px !important; color: var(--cd-ink) !important; }
@media (min-width: 640px) { .cd-burger { width: 46px; height: 46px; } }
@media (min-width: 1080px) { .cd-burger, .cd-drawer, .cd-backdrop { display: none !important; } }
.cd-backdrop { position: absolute; inset: 100% 0 auto 0; height: 100dvh; background: rgba(43, 30, 20, .45); animation: cd-fade .22s; }
.cd-drawer { position: absolute; inset: 100% 0 auto 0; max-height: calc(100dvh - var(--hdr)); overflow-y: auto; padding: 8px 24px 24px; background: var(--cd-cream); border-bottom: 1px solid var(--cd-sand-line); box-shadow: var(--cd-shadow-mega); animation: cd-drop .22s var(--cd-ease); }
.cd-drawer__group { border-bottom: 1px solid var(--cd-sand-line); }
.cd-drawer__btn { display: flex !important; width: 100%; align-items: center; justify-content: space-between; padding: 16px 0 !important; font-size: 17px !important; font-weight: 500 !important; color: var(--cd-ink) !important; }
.cd-drawer__links { display: flex; flex-direction: column; gap: 12px; padding: 0 0 18px 4px; font-size: 15px; }
.cd-drawer__links[hidden] { display: none; }
.cd-show-xs { display: none !important; }
@media (max-width: 359.98px) { .cd-show-xs { display: inline-flex !important; } }
html.cd-locked { overflow: hidden; }

/* ------------------------------------------------------------------ footer */
.cd-footer { color: var(--cd-sand); }
.cd-footer__cta { background: var(--cd-amber); color: var(--cd-ink); }
.cd-footer__cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; max-width: 1320px; margin: 0 auto; padding: 64px 24px; }
.cd-footer__cta-copy { max-width: 620px; }
.cd-footer__cta-copy p { font-size: 17px; line-height: 1.55; }
.cd-footer__dark { background-color: var(--cd-ink); }
.cd-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; max-width: 1320px; margin: 0 auto; padding: 64px 24px 32px; }
.cd-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.cd-footer__brand img { width: 220px !important; height: auto !important; }
.cd-footer__brand p, .cd-footer__small { font-size: 14px; line-height: 1.6; color: var(--cd-muted-on-dark); }
.cd-footer__tag { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--cd-amber); }
.cd-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.cd-footer__title { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber) !important; font-family: var(--cd-sans) !important; }
.cd-footer__col a { color: var(--cd-sand) !important; }
.cd-footer__col a:hover, .cd-footer__legal a:hover { color: var(--cd-amber) !important; }
.cd-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.cd-social { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(217, 203, 176, .35); border-radius: 50%; color: var(--cd-sand) !important; transition: background-color .2s, border-color .2s, color .2s, transform .2s; }
.cd-social:hover { background: var(--cd-amber); border-color: var(--cd-amber); color: var(--cd-ink) !important; transform: translateY(-2px); }
.cd-social--unset { opacity: .4; border-style: dashed; }
.cd-newsletter { display: flex; border: 1px solid var(--cd-footer-field); }
.cd-newsletter input[type=email] { flex: 1; min-width: 0; padding: 13px 14px; border: 0 !important; background: transparent !important; color: var(--cd-cream) !important; font-size: 14px; outline: none; box-shadow: none; }
.cd-newsletter input::placeholder { color: var(--cd-muted-on-dark-2); opacity: 1; }
.cd-newsletter button { padding: 0 18px !important; background: var(--cd-amber) !important; color: var(--cd-ink) !important; font-weight: 600 !important; }
.cd-newsletter button:hover { background: var(--cd-amber-hover) !important; }
.cd-newsletter__done { font-size: 14px; color: var(--cd-amber); }
.cd-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; max-width: 1320px; margin: 0 auto; padding: 20px 24px 32px; border-top: 1px solid var(--cd-ink-2); font-size: 13px; color: var(--cd-muted-on-dark-2); }
.cd-footer__legal div { display: flex; flex-wrap: wrap; gap: 20px; }
.cd-footer__legal a { color: var(--cd-muted-on-dark-2) !important; }

/* ------------------------------------------------------------------ enquiry */
.cd-enquire { padding-top: 72px; padding-bottom: 110px; }
.cd-enquire__main { flex: 2 1 580px; }
.cd-enquire__lede { max-width: 600px; margin-bottom: 40px !important; font-size: 17px; line-height: 1.6; color: var(--cd-ink-2); }
.cd-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 40px !important; }
.cd-step { display: flex !important; flex-direction: column; gap: 10px; width: 100%; text-align: left; cursor: default !important; }
.cd-step:not([disabled]) { cursor: pointer !important; }
.cd-step__bar { position: relative; display: block; height: 4px; overflow: hidden; background: var(--cd-sand-line); }
.cd-step__bar span { position: absolute; inset: 0; background: var(--cd-amber); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--cd-ease); }
.cd-step.is-reached .cd-step__bar span { transform: scaleX(1); }
.cd-step__label { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--cd-step-muted); }
.cd-step.is-reached .cd-step__label { color: var(--cd-ink); }
.cd-step[aria-current=step] .cd-step__label { font-weight: 700; }
@media (max-width: 639.98px) { .cd-step__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
.cd-step-panel { display: flex; flex-direction: column; gap: 32px; }
.cd-form.is-stepped .cd-step-panel { display: none; }
.cd-form.is-stepped .cd-step-panel.is-current { display: flex; animation: cd-slide-in .4s var(--cd-ease); }
.cd-form:not(.is-stepped) .cd-step-panel + .cd-step-panel { margin-top: 48px; }
.cd-step-panel__title { margin-bottom: 16px !important; font: 600 32px/1.15 var(--cd-display); outline: none; }
.cd-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.cd-chip--lg, .cd-chip--md { position: relative; display: inline-flex; padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer; }
.cd-chip--lg input, .cd-chip--md input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cd-chip--lg span, .cd-chip--md span { display: block; border: 1.5px solid var(--cd-ink); color: var(--cd-ink); transition: background-color .2s, color .2s; }
.cd-chip--lg span { padding: 14px 22px; font-size: 15px; font-weight: 500; }
.cd-chip--md span { padding: 12px 18px; font-size: 15px; }
.cd-chip--lg:hover span, .cd-chip--md:hover span { background: rgba(43, 30, 20, .06); }
.cd-chip--lg input:checked + span, .cd-chip--md input:checked + span { background: var(--cd-ink); color: var(--cd-cream); }
.cd-chip--lg input:focus-visible + span, .cd-chip--md input:focus-visible + span, .cd-budget input:focus-visible + span { outline: 2px solid var(--cd-amber-deep); outline-offset: 2px; }
.cd-field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; }
.cd-field__legend { margin-bottom: 12px; font-size: 14px; font-weight: 600; }
.cd-field :is(input:not([type=range]), select, textarea) { width: 100%; padding: 15px 14px !important; border: 1px solid var(--cd-field-border) !important; background: var(--cd-field-bg) !important; color: var(--cd-ink) !important; font-size: 16px !important; font-weight: 400 !important; border-radius: 0 !important; box-shadow: none !important; }
.cd-field :is(input, select, textarea):focus { outline: 2px solid var(--cd-amber-deep); outline-offset: 1px; }
.cd-field textarea { resize: vertical; }
.cd-field .is-invalid { border-color: var(--cd-error) !important; }
.cd-field input[type=range] { height: 50px; accent-color: var(--cd-amber); padding: 0 !important; border: 0 !important; background: none !important; }
.cd-stepper { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 18px; border: 1px solid var(--cd-field-border); background: var(--cd-field-bg); }
.cd-stepper__label { font-size: 16px; font-weight: 600; }
.cd-stepper__sub { font-size: 13px; color: var(--cd-ink-3); }
.cd-stepper__ctrl { display: flex; align-items: center; gap: 10px; }
.cd-stepper__ctrl button { display: flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--cd-ink) !important; font-size: 20px !important; color: var(--cd-ink) !important; }
.cd-stepper__ctrl button:hover:not([disabled]) { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-stepper__ctrl button[disabled] { opacity: .4; cursor: not-allowed; }
.cd-stepper__ctrl input { width: 36px; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; font-size: 18px; font-weight: 600; -moz-appearance: textfield; }
.cd-stepper__ctrl input::-webkit-inner-spin-button, .cd-stepper__ctrl input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cd-budget { position: relative; cursor: pointer; }
.cd-budget input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cd-budget span { display: block; padding: 18px 14px; border: 1.5px solid var(--cd-field-border); background: var(--cd-field-bg); text-align: center; font-size: 15px; font-weight: 500; }
.cd-budget input:checked + span { border-color: var(--cd-amber); background: var(--cd-sand); }
.cd-form__error { font-size: 14px; font-weight: 600; color: var(--cd-error); }
.cd-form__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--cd-sand-line); }
.cd-form__nav [hidden] { display: inline-flex !important; visibility: hidden; }
.cd-form__submit { min-width: 190px; }
.cd-success { padding: 48px 24px; background: var(--cd-ink); color: var(--cd-sand); animation: cd-fade-up .5s var(--cd-ease); }
@media (min-width: 640px) { .cd-success { padding: 48px 40px; } }
.cd-success__hi { margin-bottom: 10px; font: italic 500 22px var(--cd-display); color: var(--cd-amber); }
.cd-success__title { margin-bottom: 18px !important; font: 600 clamp(34px, 3.6vw, 50px)/1.15 var(--cd-display); color: var(--cd-cream); outline: none; }
.cd-success__text { max-width: 560px; margin-bottom: 28px !important; font-size: 17px; line-height: 1.65; }
.cd-enquire__aside { display: flex; flex-direction: column; gap: 20px; }
.cd-inspo { display: flex; align-items: center; gap: 16px; padding: 14px; background: var(--cd-sand); color: var(--cd-ink) !important; }
.cd-inspo[hidden] { display: none; }
.cd-inspo__img { position: relative; flex-shrink: 0; width: 88px; height: 88px; }
.cd-inspo__img img, .cd-inspo__img .cd-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-inspo__eyebrow { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-inspo__title { display: block; margin-top: 4px; font: 600 22px/1.1 var(--cd-display); }
.cd-inspo__meta { display: block; margin-top: 4px; font-size: 14px; color: var(--cd-ink-3); }
.cd-founder { display: flex; flex-direction: column; gap: 18px; padding: 28px; background: var(--cd-ink); color: var(--cd-sand); }
.cd-founder__head { display: flex; align-items: center; gap: 16px; }
.cd-founder__avatar { flex-shrink: 0; width: 72px; height: 72px; border-radius: 50%; }
.cd-founder__avatar > * { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-founder__name { font: 600 24px var(--cd-display); color: var(--cd-cream); }
.cd-founder__role { font-size: 14px; color: var(--cd-amber); }
.cd-founder__quote { font-size: 15px; line-height: 1.6; color: var(--cd-muted-on-dark); }
.cd-founder__contact { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 1px solid var(--cd-ink-2); font-size: 15px; }
.cd-founder__contact a { color: var(--cd-cream) !important; }
.cd-founder__contact a:hover { color: var(--cd-amber) !important; }
.cd-founder__contact span { color: var(--cd-muted-on-dark); }
.cd-toast { position: fixed; inset: auto 16px 16px; z-index: 60; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; max-width: 560px; margin: 0 auto; padding: 20px; background: var(--cd-ink); color: var(--cd-sand); box-shadow: var(--cd-shadow-bar); font-size: 15px; line-height: 1.5; animation: cd-fade-up .3s var(--cd-ease); }
.cd-toast[hidden] { display: none; }
.cd-toast a { font-weight: 600; color: var(--cd-amber) !important; text-decoration: underline; }
.cd-toast button { font-size: 18px !important; color: var(--cd-sand) !important; }

/* ------------------------------------------------------------------ about: founder story */
.cd-story { padding-block: 110px; overflow: hidden; }
.cd-story__grid { display: grid; grid-template-columns: 1fr; gap: 56px; align-items: center; }
@media (min-width: 960px) { .cd-story__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 88px; } }
.cd-story__media { position: relative; max-width: 520px; padding: 0 28px 28px 0; }
.cd-story__media::before { content: ''; position: absolute; inset: 28px 0 0 28px; background: var(--cd-amber); }
.cd-story__frame { aspect-ratio: 4 / 5; background: var(--cd-photo); }
.cd-story__tag { position: absolute; left: 0; bottom: 64px; z-index: 1; display: flex; flex-direction: column; gap: 2px; padding: 16px 22px; background: var(--cd-ink); color: var(--cd-cream); box-shadow: var(--cd-shadow-card); }
@media (min-width: 960px) { .cd-story__tag { left: -24px; } }
.cd-story__tag strong { font: 600 24px/1.1 var(--cd-display); }
.cd-story__tag span { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber); }
.cd-story__lede { margin-bottom: 24px !important; font: 500 clamp(24px, 2.4vw, 31px)/1.35 var(--cd-display); color: var(--cd-ink); }
.cd-story__lede::first-letter { float: left; margin: 6px 12px 0 0; font-size: 3.1em; line-height: .78; font-weight: 600; color: var(--cd-amber-deep); }
.cd-story__text p { margin-bottom: 18px !important; font-size: 17px; line-height: 1.75; color: var(--cd-ink-2); }
.cd-story__quote { margin: 34px 0 !important; padding: 6px 0 6px 26px !important; border-left: 3px solid var(--cd-amber); }
.cd-story__quote p { font: italic 500 clamp(24px, 2.2vw, 30px)/1.35 var(--cd-display); color: var(--cd-ink); text-wrap: balance; }
.cd-story__sign { font: italic 600 30px/1.2 var(--cd-display); color: var(--cd-amber-deep); }

/* ------------------------------------------------------------------ about: day timeline */
.cd-timeline__head { max-width: 720px; margin-bottom: 64px; }
.cd-timeline { position: relative; display: flex; flex-direction: column; gap: 56px; }
.cd-timeline::before { content: ''; position: absolute; top: 8px; bottom: 8px; left: 11px; width: 2px; background: var(--cd-sand-line-2); }
.cd-timeline__item { position: relative; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 20px 24px; }
.cd-timeline__marker { grid-column: 1; grid-row: 1 / span 2; padding-top: 4px; }
.cd-timeline__marker span { display: block; width: 24px; height: 24px; border-radius: 50%; background: var(--cd-amber); box-shadow: 0 0 0 6px var(--cd-sand), 0 0 0 7px var(--cd-amber-deep); }
.cd-timeline__media { grid-column: 2; aspect-ratio: 3 / 2; background: var(--cd-photo); }
.cd-timeline__media > * { transition: transform .6s var(--cd-ease); }
.cd-timeline__item:hover .cd-timeline__media > * { transform: scale(1.03); }
.cd-timeline__copy { grid-column: 2; }
.cd-timeline__time { margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-timeline__title { margin-bottom: 12px !important; font: 600 clamp(28px, 2.6vw, 38px)/1.1 var(--cd-display); }
.cd-timeline__text { max-width: 480px; font-size: 16px; line-height: 1.7; color: var(--cd-ink-2); }
@media (min-width: 900px) {
  .cd-timeline { gap: 72px; }
  .cd-timeline::before { left: 50%; margin-left: -1px; }
  .cd-timeline__item { grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr); align-items: center; gap: 0; }
  .cd-timeline__marker { grid-column: 2; grid-row: 1; display: flex; justify-content: center; padding: 0; }
  .cd-timeline__media { grid-column: 1; grid-row: 1; }
  .cd-timeline__copy { grid-column: 3; grid-row: 1; padding-left: 24px; }
  .cd-timeline__item:nth-child(even) .cd-timeline__media { grid-column: 3; }
  .cd-timeline__item:nth-child(even) .cd-timeline__copy { grid-column: 1; padding: 0 24px 0 0; text-align: right; }
  .cd-timeline__item:nth-child(even) .cd-timeline__text { margin-left: auto; }
}

/* ------------------------------------------------------------------ Travel Guide */
.cd-blog-hero, .cd-legal__hero { padding: 80px 0 56px; border-bottom: 1px solid var(--cd-sand-line); }
.cd-blog-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.cd-blog-cats .cd-chip { display: inline-block; }
.cd-blog-cats .cd-chip[aria-current] { background: var(--cd-ink) !important; color: var(--cd-cream) !important; }
.cd-blog-list { padding-top: 64px; padding-bottom: 96px; }
.cd-blog-list__title { margin: 88px 0 32px !important; font: 600 clamp(30px, 3vw, 40px)/1.15 var(--cd-display); }
.cd-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 13px; font-weight: 500; color: var(--cd-ink-3); }
.cd-post-meta__cat { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-post-feature { display: grid; grid-template-columns: 1fr; background: var(--cd-ink); color: var(--cd-sand); }
@media (min-width: 1000px) { .cd-post-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.cd-post-feature__media { aspect-ratio: 16 / 10; background: var(--cd-photo); }
@media (min-width: 1000px) { .cd-post-feature__media { aspect-ratio: auto; min-height: 520px; } }
.cd-post-feature__media > * { transition: transform .8s var(--cd-ease); }
.cd-post-feature:hover .cd-post-feature__media > * { transform: scale(1.03); }
.cd-post-feature__body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 18px; padding: 36px 28px 40px; }
@media (min-width: 640px) { .cd-post-feature__body { padding: 48px; } }
.cd-post-feature__label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cd-amber); }
.cd-post-feature .cd-post-meta { color: var(--cd-muted-on-dark); }
.cd-post-feature .cd-post-meta__cat { color: var(--cd-amber); }
.cd-post-feature__title { font: 600 clamp(32px, 3.4vw, 48px)/1.08 var(--cd-display); color: var(--cd-cream); text-wrap: balance; }
.cd-post-feature__title a { color: var(--cd-cream) !important; }
.cd-post-feature__title a:hover { color: var(--cd-amber) !important; }
.cd-post-feature__excerpt { margin-bottom: 8px !important; font-size: 17px; line-height: 1.65; color: var(--cd-muted-on-dark); }
.cd-post-card { position: relative; display: flex; flex-direction: column; width: 100%; }
.cd-post-card__media { aspect-ratio: 4 / 3; background: var(--cd-photo); }
.cd-post-card__media > * { transition: transform .6s var(--cd-ease); }
.cd-post-card:hover .cd-post-card__media > * { transform: scale(1.04); }
.cd-post-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 22px; }
.cd-post-card__title { font: 600 28px/1.12 var(--cd-display); text-wrap: balance; }
.cd-post-card__title a { color: var(--cd-ink) !important; transition: color .2s; }
.cd-post-card__title a::after { content: ''; position: absolute; inset: 0; }
.cd-post-card:hover .cd-post-card__title a { color: var(--cd-amber-deep) !important; }
.cd-post-card__excerpt { font-size: 15.5px; line-height: 1.6; color: var(--cd-ink-3); }
.cd-post-card__more { margin-top: auto; padding-bottom: 3px; border-bottom: 1.5px solid var(--cd-amber); font-size: 14px; font-weight: 600; }
.cd-post-card__more span { display: inline-block; transition: transform .2s; }
.cd-post-card:hover .cd-post-card__more span { transform: translateX(4px); }
.cd-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 56px; }
.cd-pagination .page-numbers { padding: 10px 16px; border: 1px solid var(--cd-ink); font-size: 15px; }
.cd-pagination .current { background: var(--cd-ink); color: var(--cd-cream); }

/* single story */
.cd-hero--post { min-height: max(460px, 66vh); }
.cd-hero--post .cd-hero__title { max-width: 1040px; font-size: clamp(40px, 5.4vw, 78px); line-height: 1.02; margin-bottom: 20px !important; }
.cd-hero--post .cd-hero__meta { gap: 10px 12px; font-size: 15px; margin-bottom: 0; }
.cd-progress { position: fixed; inset: 0 0 auto 0; z-index: 70; height: 3px; pointer-events: none; }
.admin-bar .cd-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .cd-progress { top: 46px; } }
.cd-progress span { display: block; height: 100%; background: var(--cd-amber); transform: scaleX(0); transform-origin: left; }
.cd-post__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; padding-top: 72px; padding-bottom: 100px; }
@media (min-width: 1080px) { .cd-post__layout { grid-template-columns: minmax(0, 740px) 320px; justify-content: space-between; gap: 72px; } }
.cd-post__standfirst { margin-bottom: 40px !important; padding-bottom: 36px; border-bottom: 1px solid var(--cd-sand-line); font: 500 clamp(24px, 2.4vw, 31px)/1.4 var(--cd-display); color: var(--cd-ink); }
.cd-post__aside-inner { display: flex; flex-direction: column; gap: 28px; }
@media (max-width: 1079.98px) { .cd-post__aside .cd-toc { display: none; } }
.cd-post__footer { display: flex; flex-direction: column; gap: 18px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--cd-sand-line); }
.cd-share, .cd-post__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cd-share__label { margin-right: 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cd-ink-3); }
.cd-share a, .cd-post__tags a { padding: 9px 16px; border: 1px solid var(--cd-ink); font-size: 14px; font-weight: 600; color: var(--cd-ink) !important; transition: background-color .2s, color .2s; }
.cd-share a:hover, .cd-post__tags a:hover { background: var(--cd-ink); color: var(--cd-cream) !important; }
.cd-toc { padding-top: 22px; border-top: 3px solid var(--cd-ink); }
.cd-toc__title { margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--cd-amber-deep); }
.cd-toc a { display: grid; grid-template-columns: 34px minmax(0, 1fr); padding: 11px 0; border-bottom: 1px solid var(--cd-sand-line); font-size: 15px; line-height: 1.4; color: var(--cd-ink-2) !important; transition: color .2s, padding .2s; }
.cd-toc a span { font: italic 500 17px/1.2 var(--cd-display); color: var(--cd-amber-deep); }
.cd-toc a:hover, .cd-toc a.is-active { color: var(--cd-ink) !important; font-weight: 600; }
.cd-toc a.is-active { padding-left: 6px; }
.cd-plan-card { display: flex; flex-direction: column; gap: 14px; padding: 28px; background: var(--cd-ink); color: var(--cd-sand); }
.cd-plan-card__text { margin-bottom: 6px !important; font-size: 15px; line-height: 1.6; color: var(--cd-muted-on-dark); }

/* article and legal text */
.cd-prose { font-size: 18px; line-height: 1.8; color: var(--cd-ink-2); }
.cd-prose > * + * { margin-top: 1.15em !important; }
.cd-prose h2 { margin-top: 2.1em !important; font: 600 clamp(30px, 3vw, 40px)/1.15 var(--cd-display); color: var(--cd-ink); text-wrap: balance; }
.cd-prose h2::before { content: ''; display: block; width: 48px; height: 3px; margin-bottom: 18px; background: var(--cd-amber); }
.cd-prose h3 { margin-top: 1.7em !important; font: 600 27px/1.2 var(--cd-display); color: var(--cd-ink); }
.cd-prose h2 + *, .cd-prose h3 + * { margin-top: .7em !important; }
.cd-prose a { color: var(--cd-amber-deep) !important; text-decoration: underline; text-underline-offset: 3px; }
.cd-prose strong { font-weight: 600; color: var(--cd-ink); }
.cd-prose ul, .cd-prose ol { padding: 0 !important; list-style: none; }
.cd-prose li { position: relative; padding-left: 28px; }
.cd-prose li + li { margin-top: .55em; }
.cd-prose ul li::before { content: ''; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; background: var(--cd-amber); transform: rotate(45deg); }
.cd-prose ol { counter-reset: cd-ol; }
.cd-prose ol li { counter-increment: cd-ol; }
.cd-prose ol li::before { content: counter(cd-ol) '.'; position: absolute; left: 0; font-weight: 600; color: var(--cd-amber-deep); }
.cd-prose blockquote, .cd-prose .wp-block-quote { margin-block: 2em !important; padding: 28px 32px !important; border-left: 4px solid var(--cd-amber); background: var(--cd-sand); }
.cd-prose blockquote p { font: italic 500 clamp(24px, 2.4vw, 30px)/1.35 var(--cd-display); color: var(--cd-ink); }
.cd-prose figure, .cd-prose .wp-block-image { margin-block: 2.2em !important; }
.cd-prose figure img { width: 100%; height: auto; }
.cd-prose figcaption, .cd-prose .wp-element-caption { margin: 12px 0 0 !important; padding-left: 12px; border-left: 2px solid var(--cd-amber); font-size: 14px; line-height: 1.5; color: var(--cd-ink-3); text-align: left; }
.cd-prose--legal { font-size: 17px; line-height: 1.75; }
.cd-prose--legal h2 { font-size: clamp(26px, 2.4vw, 32px); }
.cd-prose--legal h2::before { width: 32px; margin-bottom: 14px; }

/* legal pages */
.cd-legal__hero .cd-crumbs, .cd-legal__hero .cd-crumbs a { color: var(--cd-ink-3) !important; }
.cd-legal__hero .cd-crumbs a:hover, .cd-legal__hero .cd-crumbs [aria-current] { color: var(--cd-amber-deep) !important; }
.cd-legal__updated { font-size: 15px; color: var(--cd-ink-3); }
.cd-legal__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 64px; padding-bottom: 100px; }
@media (min-width: 1000px) { .cd-legal__layout { grid-template-columns: 280px minmax(0, 780px); gap: 80px; } }
.cd-legal__help { margin-top: 56px !important; padding: 24px 28px; background: var(--cd-sand); font-size: 16px; }

/* ------------------------------------------------------------------ motion (scroll reveals, brush paint-on) */
@keyframes cd-fade-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes cd-slide-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@keyframes cd-slide-up { from { transform: translateY(100%); } to { transform: none; } }
@keyframes cd-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes cd-fade { from { opacity: 0; } to { opacity: 1; } }
.cd-js [data-reveal]:not([data-reveal=bar]) { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--cd-ease), transform .7s var(--cd-ease); transition-delay: var(--cd-delay, 0s); }
.cd-js [data-reveal=bar] { transform: scaleY(0); transition: transform .6s var(--cd-ease); transition-delay: var(--cd-delay, 0s); }
.cd-js [data-reveal].is-in { opacity: 1; transform: none; }
.cd-js .hl[data-brush] { background-size: 0% 100%; color: var(--cd-brush-from, var(--cd-ink)); transition: background-size .75s var(--cd-ease) .1s, color .3s .35s; }
.cd-js .cd-heading--on-dark .hl[data-brush], .cd-js .cd-dark .hl[data-brush] { --cd-brush-from: var(--cd-cream); }
.cd-js .hl[data-brush].is-in { background-size: 100% 100%; color: #fff; }
.cd-js .cd-hero__media > * { transform: scale(1.06); transition: transform 1.8s var(--cd-ease); }
.cd-js .cd-hero__media.is-in > * { transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  .cd-js [data-reveal] { opacity: 1 !important; transform: none !important; }
  .cd-js .hl[data-brush] { background-size: 100% 100% !important; color: #fff !important; }
  .cd-js .cd-hero__media > * { transform: none !important; }
}
@media print {
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .hl[data-brush] { background-size: 100% 100% !important; color: #fff !important; }
  .cd-header, .cd-trip-bar, .cd-toast { display: none !important; }
}

/* Elementor editor: show everything immediately so content is editable. */
.elementor-editor-active .cd-js [data-reveal], .elementor-editor-preview .cd-js [data-reveal] { opacity: 1 !important; transform: none !important; }
.elementor-editor-active .hl[data-brush] { background-size: 100% 100% !important; color: #fff !important; }
