/* ===== Design Dojo — White gallery (v3) ===== */
html,body{background:#FFFFFF!important}
body{color:#111111}

/* header: classic left logo / right menu, sticky white bar */
header.z32{flex-direction:row!important;justify-content:space-between!important;align-items:center;gap:24px!important;padding:16px 48px!important;border-bottom:1px solid #EDEDED!important;position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96)}
header.z32 .dd-logo img{width:60px!important;height:60px!important}
header.z32 .dd-nav{border-top:0!important;padding:0!important;width:auto!important;max-width:none!important;justify-content:flex-end!important;gap:28px!important;font-size:12px!important}
header.z32 .dd-nav a[aria-current="page"],header.z32 .z48{text-decoration:none!important;border-bottom:1px solid #111;padding-bottom:3px}

/* hero: centred headline, wide photo underneath */
.z49{display:flex!important;flex-direction:column!important;max-width:none!important;background:#FFFFFF!important}
.z53{order:1;align-items:center;text-align:center;margin:0 auto;padding:104px 24px 64px!important;max-width:1000px!important}
.z53 .z56{justify-content:center}
.z53>p:not(.z54){max-width:620px;margin-left:auto!important;margin-right:auto!important;color:#555555!important;font-weight:400!important}
.z55{font-size:clamp(48px,6.6vw,108px)!important}
.z54{color:#767676!important}
.z49>img,.z49 .dd-hero-img{order:2;width:calc(100% - 96px)!important;margin:0 48px;height:min(76vh,760px)!important}

/* headings: no rule; italic words in ink */
.z17::before,.z41::before,.z62::before,#dd-spread-h::before,#dd-types::before,.dd-film h2::before{display:none!important}
.z17,.z41,.z62,#dd-spread-h,#dd-types,.dd-film h2{padding-top:0!important}
h1 em,h2 em,h3 em{color:#111111!important}
.z19,.dd-film-ey,.dd-cta-ey,.z58{color:#767676!important}

/* buttons: pills */
.dd-btn,.z28,.z35,.dd-cta-b a{border-radius:999px!important;padding-left:28px!important;padding-right:28px!important}
header.z32 .z35{padding:9px 20px!important}
/* list-style rows (contact, packages on Book) stay square, underline only */
.dd-btn.z15{border-radius:0!important;border-width:0 0 1px!important;padding-left:0!important;padding-right:0!important}
.dd-btn.z15:hover{background:transparent!important;color:#111!important;opacity:.6}
.dd-btn.z15:hover *{color:inherit!important}
.hub-grid .dd-btn.z15{border:1px solid #E6E6E6!important;padding:20px 22px!important}

/* cards: flat white, separated by space not boxes */
.z71,.z60 article{background:#FFFFFF!important;border:0!important;border-top:1px solid #111!important;box-shadow:none!important}
.hub-acc{background:#FFFFFF!important;border:0!important;border-bottom:1px solid #E6E6E6!important}
.hub-acc[open]{border-bottom-color:#111!important}
.dd-pop{outline:0!important;border-top:3px solid #111!important}

/* closing section: wide photo, centred words */
.dd-cta{grid-template-columns:1fr!important;background:#FFFFFF!important;text-align:center;padding-top:24px}
.dd-cta>img{grid-column:1!important;grid-row:1!important;width:calc(100% - 96px)!important;margin:0 48px;height:min(70vh,640px)!important}
.dd-cta-in{grid-column:1!important;grid-row:2!important;align-items:center;padding:72px 24px 104px!important}
.dd-cta-b{justify-content:center}
footer.z43{border-top:1px solid #EDEDED!important}

/* photos a touch larger in grids, no tinted placeholders */
.dd-sel figure,.dd-sel-g figure,.dd-film-frame{background:#F4F4F4!important}

@media (max-width:760px){
  header.z32{padding:10px 20px!important}
  header.z32 .dd-logo img{width:48px!important;height:48px!important}
  .z53{padding:48px 20px 36px!important}
  .z55{font-size:clamp(42px,12vw,60px)!important}
  .z49>img,.z49 .dd-hero-img{width:calc(100% - 40px)!important;margin:0 20px;height:52svh!important}
  .dd-cta>img{width:calc(100% - 40px)!important;margin:0 20px;height:44svh!important}
  .dd-cta-in{padding:44px 20px 64px!important}
}
body:has(.bs-svg) h1 em,body:has(.bs-svg) h2 em,body:has(.bs-svg) h3 em{color:var(--acc)!important}
.dd-btn.z70{padding:0!important;border-radius:50%!important}

/* ===== v3 creative layer ===== */
/* progress hairline */
.v3-prog{position:fixed;top:0;left:0;right:0;height:2px;background:#111;transform-origin:0 50%;transform:scaleX(0);z-index:120;pointer-events:none}
/* hero aperture reveal */
html.v3-js .z49>img{transition:clip-path 1.7s cubic-bezier(.2,.7,.2,1)!important}
html.v3-js:not(.v3-in) .z49>img{clip-path:inset(14% 10% 14% 10% round 4px)}
html.v3-in .z49>img{clip-path:inset(0 0 0 0)}
/* rise-in cards */
html.v3-js .v3-rise{opacity:0;transform:translateY(34px);transition:opacity .9s ease var(--v3d,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--v3d,0ms),box-shadow .5s ease}
html.v3-js .v3-rise.v3-on{opacity:1;transform:none}
/* card lift */
.z71:hover,.z60 article:hover{box-shadow:0 30px 60px -38px rgba(0,0,0,.4)!important}
html.v3-js .z71.v3-on:hover,html.v3-js .z60 article.v3-on:hover{transform:translateY(-6px)}
/* heading italic gets a drawn underline */
h2 em:not(.dd-sh){background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 94%;background-size:0% 1px;transition:background-size 1.3s cubic-bezier(.65,0,.35,1) .25s}
h2.v3-on em:not(.dd-sh){background-size:100% 1px}
/* pill buttons with a sliding arrow */
.dd-cta-b a::after,.z56 a:not(.dd-hero-film)::after{content:"→";display:inline-block;margin-left:10px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.dd-cta-b a:hover::after,.z56 a:hover::after{transform:translateX(5px)}
/* photos: soft corners for a gallery feel */
.z49>img,.dd-cta>img,.dd-sel-g img,.dd-film-frame,.dd-cimg,.v3-rise img{border-radius:4px}
@media (max-width:760px){
}

/* ===== "Most booked" emphasis ===== */
.z71.dd-pop{border-top:0!important;box-shadow:0 0 0 2px #111,0 34px 70px -40px rgba(0,0,0,.45)!important;position:relative;z-index:2}
.z71.dd-pop .dd-cimg{border-radius:0}
.dd-mb{top:16px!important;left:16px!important;padding:10px 16px 10px 14px!important;font-size:12px!important;letter-spacing:.2em!important;font-weight:600!important;border-radius:999px;background:#111!important;color:#fff!important;box-shadow:0 8px 24px -8px rgba(0,0,0,.5);display:inline-flex;align-items:center;gap:8px}
.dd-mb::before{content:"★";font-size:13px;letter-spacing:0;color:#fff}
.z71.dd-pop::after{content:"Our couples’ favourite";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);padding:5px 14px;background:#fff;border:1px solid #111;border-radius:999px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:#111}
.z15.dd-pop{box-shadow:0 0 0 2px #111!important;border-color:#111!important}
.z15.dd-pop .dd-mb{top:14px!important;left:auto!important;right:14px!important;font-size:10px!important;padding:6px 11px 6px 9px!important}
@media (max-width:760px){.dd-mb{top:12px!important;left:12px!important;font-size:11px!important;padding:8px 13px 8px 11px!important}.z15.dd-pop .dd-mb{top:12px!important;left:auto!important;right:12px!important}}

/* ===== Reviews: clean, upright, easy to read ===== */
blockquote{font-family:'Jost',system-ui,sans-serif!important;font-style:normal!important;font-weight:400!important;font-size:19px!important;line-height:1.6!important;letter-spacing:0!important;color:#222!important;font-variation-settings:normal!important}
.rv-card blockquote{font-size:17px!important;line-height:1.65!important}
.rv-feature blockquote,blockquote[style*="clamp(32px"]{font-family:'Playfair Display',Georgia,serif!important;font-weight:500!important;font-size:clamp(28px,3.4vw,48px)!important;line-height:1.2!important;letter-spacing:-.01em!important;color:#111!important;font-variation-settings:'opsz' 11!important}

/* ===== Small finishing touches ===== */
/* eyebrow labels get a hairline */
.z19,.dd-film-ey,.z58,.rv-eyebrow{display:inline-flex;align-items:center;gap:12px}
.z19::before,.dd-film-ey::before,.z58::before,.rv-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none}
.z54,.dd-cta-ey{display:inline-flex;align-items:center;gap:14px}
.z54::before,.z54::after,.dd-cta-ey::before,.dd-cta-ey::after{content:"";width:28px;height:1px;background:currentColor;flex:none}
/* menu links underline from the left on hover */
header.z32 .dd-nav a:not(.z35):not([aria-current]){background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .35s cubic-bezier(.2,.7,.2,1)}
header.z32 .dd-nav a:not(.z35):not([aria-current]):hover{background-size:100% 1px}
/* package photos breathe on hover */
.dd-cimg{overflow:hidden}
.dd-cimg img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.z71:hover .dd-cimg img{transform:scale(1.045)}
/* play buttons pulse softly */
.dd-play-c::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid #111;animation:v3pulse 2.6s ease-out infinite;pointer-events:none}
@keyframes v3pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.45);opacity:0}}
/* numbered steps in italic serif */
.z63 li>span:first-child,.z63 b:first-child{font-style:italic}
@media (max-width:760px){.z54::before,.z54::after{display:none}.dd-cta-ey::before,.dd-cta-ey::after{width:18px}}
@media (prefers-reduced-motion:reduce){.dd-play-c::after{animation:none;opacity:0}}

/* ===== Site-wide: photo glow takes the colour of the picture ===== */
.v3-glow{position:relative;transition:box-shadow .45s ease}
.v3-glow::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 0 var(--cc);transition:box-shadow .45s ease}
.v3-glow:hover,.v3-glow.v3-lit{box-shadow:0 14px 34px -22px rgba(0,0,0,.35)}
.v3-glow:hover::after,.v3-glow.v3-lit::after{box-shadow:inset 0 0 0 2px rgba(255,255,255,.85),inset 0 0 36px -18px rgba(255,255,255,.55)}

/* ===== Carnival page ===== */
@keyframes v3gold{from{background-position:0 0,0% 0}to{background-position:0 0,300% 0}}
body:has(.bs-svg)>div[style*="min-height: 100vh"]{background-color:#FFFFFF;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420' fill='none'><g stroke-width='1.4' stroke-linecap='round'><g stroke='%23B5372B' opacity='.5' transform='rotate(-28 90 110)'><path d='M90 40 C 118 70 120 140 90 190 C 60 140 62 70 90 40Z'/><path d='M90 40 V215'/><path d='M90 80 L72 66 M90 100 L68 84 M90 120 L66 104 M90 140 L68 126 M90 80 L108 66 M90 100 L112 84 M90 120 L114 104 M90 140 L112 126'/></g><g stroke='%234FA36A' opacity='.5' transform='rotate(24 320 300)'><path d='M320 230 C 346 258 348 322 320 368 C 292 322 294 258 320 230Z'/><path d='M320 230 V392'/><path d='M320 268 L304 256 M320 288 L302 274 M320 308 L302 296 M320 268 L336 256 M320 288 L338 274 M320 308 L338 296'/></g><g stroke='%23B8913F' opacity='.6'><path d='M300 70 L304 86 L320 90 L304 94 L300 110 L296 94 L280 90 L296 86Z'/><path d='M120 320 L123 331 L134 334 L123 337 L120 348 L117 337 L106 334 L117 331Z'/><circle cx='225' cy='175' r='5'/><circle cx='243' cy='190' r='3'/><circle cx='210' cy='196' r='2.5'/><circle cx='60' cy='280' r='3.5'/><circle cx='380' cy='170' r='3'/></g></g></svg>");background-size:420px 420px;background-repeat:repeat}
/* black opening that fades to white at the packages */
body:has(.bs-svg)>div[style*="min-height: 100vh"]{overflow-x:clip}
body:has(.bs-svg) .hero{position:relative;z-index:1;color:#F2ECE2;margin-bottom:160px}
body:has(.bs-svg) .hero::before{content:"";position:absolute;z-index:-1;left:-100vmax;right:-100vmax;top:-140px;bottom:0;background:linear-gradient(180deg,#0B0A09 0%,#0B0A09 58%,rgba(11,10,9,.97) 66%,rgba(11,10,9,.92) 74%,rgba(11,10,9,.85) 82%,rgba(11,10,9,.77) 91%,rgba(11,10,9,.7) 100%);pointer-events:none}
body:has(.bs-svg) .hero::after{content:"";position:absolute;z-index:-1;left:-100vmax;right:-100vmax;top:100%;height:380px;background:linear-gradient(180deg,rgba(11,10,9,.7) 0%,rgba(11,10,9,.58) 12%,rgba(11,10,9,.46) 24%,rgba(11,10,9,.34) 37%,rgba(11,10,9,.23) 50%,rgba(11,10,9,.14) 63%,rgba(11,10,9,.07) 76%,rgba(11,10,9,.025) 88%,rgba(11,10,9,0) 100%);pointer-events:none}
body:has(.bs-svg) .hero .ey{color:#D9B66A!important}
body:has(.bs-svg) .hero h1{color:#FFFFFF}
body:has(.bs-svg) .hero h1 em{color:#E8604B!important;background:linear-gradient(90deg,#EE6A52 0%,#F3D98B 50%,#62C784 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:none!important}
body:has(.bs-svg) .bs-svg stop:nth-child(2){stop-color:#D9B66A}
body:has(.bs-svg) .hero-lead{color:#CFC7BA!important}
body:has(.bs-svg) .hero-meta{color:#A89F92!important}
body:has(.bs-svg) .hero .cd-l{color:#A89F92!important}
body:has(.bs-svg) .hero .cd-u{background:rgba(255,255,255,.04)!important;border-color:rgba(217,182,106,.45)!important}
body:has(.bs-svg) .hero .cd-u b{color:#F3D98B!important}
body:has(.bs-svg) .hero .cd-u span{color:#A89F92!important}
body:has(.bs-svg) .hero .btn:not(.ghost){border:0!important;color:#0B0A09!important;background:linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%)!important;background-size:300% 100%!important;animation:v3gold 6s linear infinite}
body:has(.bs-svg) .hero .btn.ghost{background:transparent!important;color:#F2ECE2!important;border-color:rgba(242,236,226,.45)!important}
body:has(.bs-svg) .hero-stack::before{content:"";position:absolute;inset:-12% -8%;z-index:0;pointer-events:none;background:radial-gradient(50% 50% at 50% 45%,rgba(217,182,106,.28),rgba(210,88,76,.10) 45%,rgba(11,10,9,0) 72%)}
body:has(.bs-svg) .hero-stack img{box-shadow:0 30px 80px rgba(0,0,0,.75),0 0 0 1px rgba(243,217,139,.35)!important}
html.v3-carn header.z32{transition:background-color .4s ease,border-color .4s ease}
html.v3-carn:not(.v3-carn-light) header.z32{background:rgba(11,10,9,.94)!important;border-bottom-color:rgba(255,255,255,.08)!important}
html.v3-carn:not(.v3-carn-light) header.z32 .dd-nav a{color:#EEE8DE!important}
html.v3-carn:not(.v3-carn-light) header.z32 .z35,html.v3-carn:not(.v3-carn-light) header.z32 button{color:#EEE8DE!important;border-color:rgba(238,232,222,.5)!important;background:transparent!important}
html.v3-carn:not(.v3-carn-light) header.z32 button i b{background:#EEE8DE!important}
html.v3-carn:not(.v3-carn-light) header.z32 .z48{border-bottom-color:#EEE8DE!important}
html.v3-carn .v3-prog{background:linear-gradient(90deg,#D2584C,#D9B66A,#4FA36A)}
/* package cards: thin gold border with a slow shimmer */
body:has(.bs-svg) .pk .card{border:1px solid transparent!important;background:linear-gradient(#FCFBF8,#FCFBF8) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important;animation:v3gold 7s linear infinite}
body:has(.bs-svg) .pk .card.gold{background:linear-gradient(#111,#111) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important}
body:has(.bs-svg) .pk .card:hover{box-shadow:0 34px 70px -40px rgba(156,122,60,.6)}
@media (prefers-reduced-motion:reduce){body:has(.bs-svg) .pk .card,body:has(.bs-svg) .hero .btn{animation:none!important}}

/* ===== Book page: Carnival option with a little flair ===== */
.hub-acc.hub-carn{position:relative;border:1px solid transparent!important;border-radius:6px;overflow:hidden;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important;animation:v3gold 7s linear infinite}
.hub-carn>summary{position:relative;background:radial-gradient(120% 160% at 100% 0,rgba(210,88,76,.09),rgba(217,182,106,.08) 40%,rgba(79,163,106,0) 72%)}
.hub-carn>summary::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#D2584C,#D9B66A,#4FA36A)}
.hub-carn .hub-s-n em{font-style:italic;color:#B5372B}
.hub-new{align-self:center;padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,#D2584C,#C9A043,#4FA36A);color:#fff;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.hub-carn .hub-grid .dd-btn.z15{border-color:#E3CF97!important}
.hub-carn .hub-grid .dd-btn.z15:hover{border-color:#B8913F!important;opacity:1}

.hub-p.hub-p2{display:flex!important;align-items:flex-end;gap:20px;flex-wrap:wrap}
.hub-p2>span{display:flex;flex-direction:column;gap:6px;line-height:1}
.hub-p2>span+span{padding-left:20px;border-left:1px solid #E3CF97}
.hub-p2 small{font-family:'Jost',sans-serif!important;font-size:10px!important;letter-spacing:.16em;text-transform:uppercase;color:#767676;font-variation-settings:normal!important}

/* ===== Dark pages: Carnival + Book ===== */
html.v3-dark{--ink:#F2ECE2;--ivory:#0B0A09;--paper:#151311;--rule:#2B2825;--muted:#9C9488;color-scheme:dark}
html.v3-dark,html.v3-dark body{background:#0B0A09!important;color:#F2ECE2}
html.v3-dark ::selection{background:#F2ECE2;color:#0B0A09}
html.v3-dark header.z32{background:rgba(11,10,9,.94)!important;border-bottom-color:rgba(255,255,255,.08)!important}
html.v3-dark header.z32 .dd-nav a{color:#EEE8DE!important}
html.v3-dark header.z32 .z48,html.v3-dark header.z32 .dd-nav a[aria-current="page"]{border-bottom-color:#EEE8DE!important}
html.v3-dark header.z32 .z35,html.v3-dark header.z32 button{color:#EEE8DE!important;border-color:rgba(238,232,222,.5)!important;background:transparent!important}
html.v3-dark header.z32 .z35:hover{background:#EEE8DE!important;color:#0B0A09!important}
html.v3-dark header.z32 button i b{background:#EEE8DE!important}
html.v3-dark h1 em,html.v3-dark h2 em,html.v3-dark h3 em{color:#E2C27E!important}
html.v3-dark .v3-prog{background:linear-gradient(90deg,#D2584C,#D9B66A,#4FA36A)}
html.v3-dark footer.z43{border-top-color:#2B2825!important}
html.v3-dark .dd-top{background:rgba(11,10,9,.95)!important;border-color:#5C564F!important;color:#F2ECE2!important}
html.v3-dark .dd-btn.z70{background:#E2C27E!important;color:#0B0A09!important;border-color:#E2C27E!important}
html.v3-dark blockquote{color:#E8E1D6!important}
html.v3-dark .dd-btn.z15{color:#F2ECE2!important;border-color:#2E2A26!important}
html.v3-dark .dd-btn.z15:hover{color:#F2ECE2!important;opacity:.75}
html.v3-dark .hub-grid .dd-btn.z15{background:#121110!important;border:1px solid #2E2A26!important}
html.v3-dark .hub-acc{background:#0B0A09!important;border-bottom-color:#2B2825!important}
html.v3-dark .hub-acc[open]{border-bottom-color:#5C564F!important}
html.v3-dark .hub-acc.hub-carn{background:linear-gradient(#0E0D0B,#0E0D0B) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important}
html.v3-dark .hub-carn>summary{background:radial-gradient(120% 160% at 100% 0,rgba(210,88,76,.16),rgba(217,182,106,.10) 40%,rgba(79,163,106,0) 72%)}
html.v3-dark .hub-carn .hub-s-n em{color:#EE6A52!important}
html.v3-dark .hub-carn .hub-grid .dd-btn.z15{border-color:#5E4E2A!important}
html.v3-dark .hub-p2 small{color:#9C9488}
html.v3-dark .hub-p2>span+span{border-left-color:#5E4E2A}
html.v3-dark .z15.dd-pop{box-shadow:0 0 0 2px #E2C27E!important;border-color:#E2C27E!important}
html.v3-dark .dd-mb{background:#E2C27E!important;color:#0B0A09!important}
html.v3-dark .dd-mb::before{color:#0B0A09}
/* carnival: the whole page is night now */
html.v3-dark body:has(.bs-svg){--acc:#EE6A52}
html.v3-dark body:has(.bs-svg)>div[style*="min-height: 100vh"]{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420' fill='none'><g stroke-width='1.4' stroke-linecap='round'><g stroke='%23B5372B' opacity='.2' transform='rotate(-28 90 110)'><path d='M90 40 C 118 70 120 140 90 190 C 60 140 62 70 90 40Z'/><path d='M90 40 V215'/><path d='M90 80 L72 66 M90 100 L68 84 M90 120 L66 104 M90 140 L68 126 M90 80 L108 66 M90 100 L112 84 M90 120 L114 104 M90 140 L112 126'/></g><g stroke='%234FA36A' opacity='.2' transform='rotate(24 320 300)'><path d='M320 230 C 346 258 348 322 320 368 C 292 322 294 258 320 230Z'/><path d='M320 230 V392'/><path d='M320 268 L304 256 M320 288 L302 274 M320 308 L302 296 M320 268 L336 256 M320 288 L338 274 M320 308 L338 296'/></g><g stroke='%23B8913F' opacity='.3'><path d='M300 70 L304 86 L320 90 L304 94 L300 110 L296 94 L280 90 L296 86Z'/><path d='M120 320 L123 331 L134 334 L123 337 L120 348 L117 337 L106 334 L117 331Z'/><circle cx='225' cy='175' r='5'/><circle cx='243' cy='190' r='3'/><circle cx='210' cy='196' r='2.5'/><circle cx='60' cy='280' r='3.5'/><circle cx='380' cy='170' r='3'/></g></g></svg>")}
html.v3-dark body:has(.bs-svg) .hero::before,html.v3-dark body:has(.bs-svg) .hero::after{display:none}
html.v3-dark body:has(.bs-svg) .hero{margin-bottom:0}
html.v3-dark body:has(.bs-svg) .pk .card{background:linear-gradient(#131210,#131210) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important}
html.v3-dark body:has(.bs-svg) .pk .card.gold{background:linear-gradient(#F2ECE2,#F2ECE2) padding-box,linear-gradient(115deg,#9C7A3C 0%,#F6E3A6 16%,#B8913F 33%,#F6E3A6 50%,#9C7A3C 66%,#F6E3A6 83%,#9C7A3C 100%) border-box!important;background-size:100% 100%,300% 100%!important}
html.v3-dark body:has(.bs-svg) .pk .card.gold h3 em,html.v3-dark body:has(.bs-svg) .pk .card.gold em{color:#B5372B!important}
html.v3-dark body:has(.bs-svg) .pk .card:hover{box-shadow:0 34px 80px -40px rgba(217,182,106,.45)}

/* dark pages: shared classes that were ink-on-white */
html.v3-dark .z23{color:#D9B66A!important}
html.v3-dark .z43,html.v3-dark .z43 span{color:#9C9488!important}
html.v3-dark .z9,html.v3-dark .z43 a{color:#CFC7BA!important}
html.v3-dark body:has(.bs-svg) .st-ghost p{color:#7E766B!important;border-top-color:#2B2825!important}
html.v3-dark body:has(.bs-svg) .st-ghost p span{color:#9C9488!important}

/* ===== Book page typography ===== */
body:has(.hub-acc) .hub-how{font-size:13px!important;letter-spacing:.16em!important;color:#9C9488!important}
body:has(.hub-acc) .hub-s-c{font-size:12px!important;letter-spacing:.16em!important;color:#9C9488!important}
body:has(.hub-acc) .hub-s-b,body:has(.hub-acc) .hub-cta{font-size:12px!important;letter-spacing:.16em!important;font-weight:600!important}
body:has(.hub-acc) .hub-grid .dd-btn.z15{font-size:28px!important;line-height:1.1!important;row-gap:12px!important;padding:24px 24px 22px!important}
body:has(.hub-acc) .hub-grid .z23{font-family:'Jost',sans-serif!important;font-size:14px!important;letter-spacing:.04em!important;line-height:1.4}
body:has(.hub-acc) .hub-p{font-size:30px!important;line-height:1!important}
body:has(.hub-acc) .hub-p small{font-size:11px!important;letter-spacing:.14em}
body:has(.hub-acc) .hub-d{font-family:'Jost',sans-serif!important;font-size:15px!important;line-height:1.6!important;color:#BFB6A8!important;letter-spacing:0!important}
body:has(.hub-acc) .hub-more{font-size:12px!important;letter-spacing:.18em!important}
body:has(.hub-acc) ol li p,body:has(.hub-acc) .hub-steps p{font-size:15px;line-height:1.6}
@media (max-width:640px){body:has(.hub-acc) .hub-grid .dd-btn.z15{font-size:25px!important;padding:20px 18px 18px!important}body:has(.hub-acc) .hub-p{font-size:27px!important}}
.hub-p.hub-p2{flex-wrap:nowrap!important}
@media (max-width:640px){.hub-p.hub-p2{gap:14px}.hub-p2>span+span{padding-left:14px}.hub-p2 small{line-height:1.3}}
body:has(.hub-acc) .bk-sum-note,body:has(.hub-acc) .bk-sum-ret{font-size:14px!important;line-height:1.55!important}
body:has(.hub-acc) .bk-sum-inc-h{font-size:12px!important}
body:has(.hub-acc) #bk-tz,body:has(.hub-acc) #bk-days+p{font-size:14px;color:#9C9488}
body:has(.hub-acc) .bk-meta{font-size:17px;line-height:1.6}

/* ===== Playfair Display + booking fixes ===== */
h1,h2,h3{font-weight:400!important}
.hub-acc.hub-carn,.hub-acc.hub-carn[open]{border:1px solid transparent!important}
.hub-carn>summary::before{border-radius:6px 0 0 0}
.hub-carn[open]>summary::before{border-radius:6px 0 0 0}
html.v3-dark .hub-more{border-color:#3A3530!important;background:#151311!important;color:#F2ECE2!important}
html.v3-dark .hub-more:hover{background:#F2ECE2!important;color:#0B0A09!important;border-color:#F2ECE2!important}
html.v3-dark .hub-carn .hub-more{border-color:#7A6535!important;background:rgba(217,182,106,.10)!important;color:#F3D98B!important}
html.v3-dark .hub-carn .hub-more span{background:#F3D98B!important;color:#0B0A09!important}
html.v3-dark .hub-carn .hub-more:hover{background:#F3D98B!important;color:#0B0A09!important;border-color:#F3D98B!important}
html.v3-dark .hub-carn .hub-more:hover span{background:#0B0A09!important;color:#F3D98B!important}
.hub-acc.hub-carn[open]{animation:none!important;background:#0E0D0B!important;border:1px solid #9C7A3C!important}
html:not(.v3-dark) .hub-acc.hub-carn[open]{background:#FFFFFF!important}
.hub-carn[open]>summary::before{display:none}

/* ===== Book page: every option boxed, every explore bar in gold ===== */
.hub-acc:not(.hub-carn){border:1px solid #3A3530!important;border-radius:6px;overflow:hidden}
.hub-acc:not(.hub-carn)[open]{border-color:#6B6359!important}
html:not(.v3-dark) .hub-acc:not(.hub-carn){border-color:#E2E2E2!important}
html:not(.v3-dark) .hub-acc:not(.hub-carn)[open]{border-color:#111!important}
.hub-acc{margin-bottom:12px}
html.v3-dark .hub-acc .hub-more{border-color:#7A6535!important;background:rgba(217,182,106,.10)!important;color:#F3D98B!important}
html.v3-dark .hub-acc .hub-more span{background:#F3D98B!important;color:#0B0A09!important}
html.v3-dark .hub-acc .hub-more:hover{background:#F3D98B!important;color:#0B0A09!important;border-color:#F3D98B!important}
html.v3-dark .hub-acc .hub-more:hover span{background:#0B0A09!important;color:#F3D98B!important}
.hub-carn>summary::before{display:none!important}
/* ===== Book page: Carnival summary lines up with the other options ===== */
.hub-s-n .hub-new{display:inline-block;vertical-align:middle;margin:0 0 0 14px;transform:translateY(-5px);font-family:Jost,sans-serif;line-height:1.2}
.hub-acc>summary{flex-wrap:nowrap!important}
.hub-acc>summary .hub-s-t{flex:1 1 auto;min-width:0}
@media (max-width:640px){.hub-acc.hub-carn{overflow:visible!important;margin-top:22px}.hub-carn>summary{border-radius:5px 5px 0 0}.hub-carn .hub-s-n{font-size:26px!important;white-space:nowrap}.hub-s-n .hub-new{position:absolute;top:-10px;left:20px;margin:0;transform:none;padding:4px 10px;font-size:9px}}
html body .hub-acc.hub-carn:not([open]){border:1px solid transparent!important}
/* ===== Refinements: Oct 24 ===== */
.ex-i.lit{box-shadow:0 0 18px -12px var(--cc,#F2ECE2)!important}
.ex-i img{border-bottom-width:2px!important}
html:not(.v3-dark) .z27{color:#767676!important}
.dd-wide .dd-incl{justify-self:start!important;align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}
.z92>.dd-btn{align-self:flex-start!important;width:auto!important}
.dd-band{padding:0!important;background:transparent!important;width:calc(100% - 80px)!important;max-width:1360px!important;border-radius:4px}
@media (min-width:1100px){div:has(>a.z46){flex-wrap:nowrap!important;max-width:none!important;width:max-content}div:has(>a.z46)>a.z46{white-space:nowrap;flex:none}}
@media (max-width:760px){.dd-band{width:calc(100% - 40px)!important}}
/* ===== Home: Carnival 2027 feature ===== */
.hc{max-width:1360px;margin:0 auto;padding:120px 40px 0;box-sizing:border-box}
.hc-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;background:#0B0A09;color:#F2ECE2;border-radius:6px;padding:72px 64px;overflow:hidden;isolation:isolate}
.hc-in::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#D2584C,#D9B66A 50%,#4FA36A)}
.hc-in::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 100% 0,rgba(210,88,76,.18),transparent 70%),radial-gradient(50% 70% at 70% 100%,rgba(79,163,106,.14),transparent 70%)}
.hc-t{display:flex;flex-direction:column;gap:22px;min-width:0}
.hc-ey{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#D9B66A}
.hc-new{padding:5px 11px;border-radius:999px;background:linear-gradient(90deg,#D2584C,#C9A043,#4FA36A);color:#fff;font-size:10px;font-weight:600}
.hc-h{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1.02;color:#F2ECE2!important}
section.hc h2.hc-h em,section.hc h2.hc-h.v3-on em{font-style:italic;background-image:linear-gradient(90deg,#EE6A52,#F3D98B 55%,#7CC48F)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;background-size:100% 100%!important;background-position:0 0!important;background-repeat:no-repeat!important;animation:none!important}
.hc-p{margin:0;max-width:500px;color:#BFB6A8;font-size:17px;line-height:1.6}
.hc-m{list-style:none;margin:0;padding:0;display:flex;gap:12px}
.hc-m li{display:flex;flex-direction:column;gap:4px;padding:12px 18px;border:1px solid #3A3530;border-radius:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9C9488}
.hc-m b{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:26px;letter-spacing:0;text-transform:none;color:#F2ECE2}
.hc-b{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:6px}
.hc-go{display:inline-flex;align-items:center;padding:16px 30px;border-radius:999px;background:linear-gradient(110deg,#B8913F,#F3D98B 50%,#B8913F);background-size:200% 100%;color:#0B0A09!important;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background-position .6s ease}
.hc-go:hover{background-position:100% 0}
.hc-more{color:#F2ECE2!important;font-size:13px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #6B6359;padding-bottom:4px}
.hc-more:hover{border-color:#F3D98B}
.hc-f{position:relative;height:440px}
.hc-f img{position:absolute;top:50%;left:50%;width:46%;aspect-ratio:3/4;height:auto;object-fit:cover;border-radius:4px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hc-f img:nth-child(1){transform:translate(-112%,-46%) rotate(-7deg)}
.hc-f img:nth-child(2){transform:translate(-50%,-52%);z-index:2;width:52%;outline:1px solid rgba(243,217,139,.5);outline-offset:-1px}
.hc-f img:nth-child(3){transform:translate(12%,-46%) rotate(7deg)}
.hc-in:hover .hc-f img:nth-child(1){transform:translate(-118%,-47%) rotate(-10deg)}
.hc-in:hover .hc-f img:nth-child(3){transform:translate(18%,-47%) rotate(10deg)}
@media (max-width:900px){.hc{padding:72px 20px 0}.hc-in{grid-template-columns:1fr;padding:44px 24px 36px;gap:28px}.hc-f{height:300px;order:-1}.hc-p{font-size:16px}}
@media (max-width:420px){.hc-f{height:250px}.hc-m li{padding:10px 14px}.hc-m b{font-size:22px}}
/* ===== Photoshoots: Most booked ===== */
.z25.dd-pop{position:relative;outline:0!important;border-top:0!important;box-shadow:0 0 0 2px #111,0 34px 70px -40px rgba(0,0,0,.45)!important;z-index:2;background:#fff!important}
.z25.dd-pop .dd-mb{position:static!important;align-self:flex-start;margin-bottom:2px}
.z25.dd-pop::after{content:"Our clients’ favourite";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);padding:5px 14px;background:#fff;border:1px solid #111;border-radius:999px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#111}
/* ===== Footer clears the floating buttons ===== */
@media (min-width:761px){footer.z43{padding-right:120px!important}}
/* ===== Second pass: phone alignment ===== */
@media (max-width:760px){
  .z60 .z12{padding-left:0!important;padding-right:0!important}
  .z36>div{padding-left:0!important;padding-right:0!important}
  .rv-filter{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-right:-20px!important;padding-right:20px}
  .rv-filter::-webkit-scrollbar{display:none}
  .rv-chip{flex:none!important;white-space:nowrap}
  .hc-m li{flex:1 1 0}
  div.v3-glow{padding-left:0!important;padding-right:0!important}
  .dd-btn.dd-ghost.z28{white-space:nowrap;letter-spacing:.14em!important;padding-left:24px!important;padding-right:24px!important;align-self:flex-start}
}
