@font-face {
    font-family:'Bodoni Moda';
    src:url(../fonts/bodoni-moda-latin-500-normal.woff2) format('woff2');
    font-weight:500;
    font-style:normal;
    font-display:swap
}
@font-face {
    font-family:'Bodoni Moda';
    src:url(../fonts/bodoni-moda-latin-500-italic.woff2) format('woff2');
    font-weight:500;
    font-style:italic;
    font-display:swap
}
@font-face {
    font-family:'Bodoni Moda';
    src:url(../fonts/bodoni-moda-latin-600-normal.woff2) format('woff2');
    font-weight:600;
    font-style:normal;
    font-display:swap
}
@font-face {
    font-family:'Jost';
    src:url(../fonts/jost-latin-300-normal.woff2) format('woff2');
    font-weight:300;
    font-display:swap
}
@font-face {
    font-family:'Jost';
    src:url(../fonts/jost-latin-400-normal.woff2) format('woff2');
    font-weight:400;
    font-display:swap
}
@font-face {
    font-family:'Jost';
    src:url(../fonts/jost-latin-500-normal.woff2) format('woff2');
    font-weight:500;
    font-display:swap
}
:root {
    --night:#120726;
    --aub:#1d0b38;
    --plum:#2b1250;
    --royal:#4a1a7a;
    --berry:#b8206f;
    --magenta:#d42a86;
    --coral:#ff7a59;
    --champ:#e9cf9c;
    --gold:#d6ae62;
    --gold-d:#a8803c;
    --ivory:#fbf7f0;
    --pearl:#f4ede3;
    --blush:#f8ecf1;
    --ink:#1e1233;
    --body:#4b4160;
    --mute:#81789a;
    --hair:rgba(30,18,51,.12);
    --wa:#1faa59;
    --g-gold:linear-gradient(100deg,#f6e3b4 0%,#e2bd74 45%,#c4944a 100%);
    --g-cta:linear-gradient(100deg,#c21f79 0%,#e63c6f 45%,#ff7a59 100%);
    --g-royal:linear-gradient(135deg,#2b1250 0%,#4a1a7a 45%,#8d1f73 100%);
    --display:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
    --sans:'Jost','Futura','Century Gothic',system-ui,sans-serif;
    --r:18px;
}
* {
    box-sizing:border-box;
    margin:0;
    padding:0
}
html {
    scroll-behavior:smooth
}
body {
    font-family:var(--sans);
    font-weight:300;
    color:var(--body);
    background:var(--ivory);
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    text-rendering:optimizeLegibility
}
a {
    color:inherit;
    text-decoration:none
}
img {
    display:block;
    max-width:100%;
    height:auto
}
button {
    font-family:inherit;
    cursor:pointer
}
.wrap {
    width:min(1220px,90%);
    margin:0 auto
}
h1,h2,h3 {
    font-family:var(--display);
    font-weight:500;
    color:var(--ink);
    line-height:1.08;
    letter-spacing:-.01em
}
h2 {
    font-size:clamp(38px,4.6vw,62px)
}
.au {
    font-style:italic;
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    padding-right:.06em
}
.dark .au,.au.lt {
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text
}
.light-sec .au {
    background:linear-gradient(100deg,#b8206f,#d42a86 50%,#e2724f);
    -webkit-background-clip:text;
    background-clip:text
}
.label {
    display:inline-flex;
    align-items:center;
    gap:14px;
    font-family:var(--sans);
    font-size:11px;
    font-weight:500;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--gold-d)
}
.label::before {
    content:"";
    width:34px;
    height:1px;
    background:currentColor;
    opacity:.7
}
.dark .label {
    color:var(--champ)
}
.center {
    text-align:center
}
.center .label::after {
    content:"";
    width:34px;
    height:1px;
    background:currentColor;
    opacity:.7
}
.lede {
    font-size:18px;
    color:var(--mute);
    max-width:560px
}
.dark .lede {
    color:rgba(255,255,255,.72)
}
.dark {
    color:rgba(255,255,255,.8)
}
.dark h1,.dark h2,.dark h3 {
    color:#fff
}
/* buttons */
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    height:56px;
    padding:0 30px;
    border-radius:60px;
    font-size:13px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    border:0;
    transition:transform .35s,box-shadow .35s,background .35s,color .35s;
    white-space:nowrap
}
.btn-cta {
    background:var(--g-cta);
    color:#fff;
    box-shadow:0 14px 34px -10px rgba(212,42,134,.7)
}
.btn-cta:hover {
    transform:translateY(-2px);
    box-shadow:0 20px 44px -10px rgba(255,122,89,.75)
}
.btn-gold {
    background:var(--g-gold);
    color:var(--aub);
    box-shadow:0 14px 34px -12px rgba(214,174,98,.8)
}
.btn-gold:hover {
    transform:translateY(-2px)
}
.btn-ghost {
    color:#fff;
    border:1px solid rgba(233,207,156,.5);
    background:rgba(255,255,255,.04)
}
.btn-ghost:hover {
    background:var(--champ);
    color:var(--aub);
    border-color:var(--champ)
}
.btn-wa {
    background:var(--wa);
    color:#fff
}
.btn-wa:hover {
    transform:translateY(-2px);
    filter:brightness(1.06)
}
.btn-ink {
    background:var(--aub);
    color:#fff
}
.btn-ink:hover {
    background:var(--royal)
}
.ico {
    width:17px;
    height:17px;
    fill:currentColor;
    flex:none
}
/* HEADER */
.hdr {
    position:fixed;
    inset:0 0 auto;
    z-index:60;
    padding:20px 0;
    transition:padding .4s,background .4s,box-shadow .4s
}
.hdr.solid {
    background:rgba(18,7,38,.92);
    backdrop-filter:saturate(140%) blur(14px);
    -webkit-backdrop-filter:saturate(140%) blur(14px);
    padding:12px 0;
    box-shadow:0 1px 0 rgba(233,207,156,.15)
}
.hdr .wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px
}
.logo {
    display:flex;
    align-items:center;
    gap:14px;
    color:#fff
}
.logo svg {
    width:40px;
    height:40px;
    flex:none
}
.logo b {
    display:block;
    font-family:var(--display);
    font-weight:500;
    font-size:21px;
    letter-spacing:.14em;
    line-height:1
}
.logo small {
    display:block;
    font-size:9px;
    letter-spacing:.42em;
    text-transform:uppercase;
    color:var(--champ);
    margin-top:7px
}
.hnav {
    display:flex;
    align-items:center;
    gap:10px
}
.hphone {
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    padding:6px 18px 6px 6px;
    border-radius:50px;
    border:1px solid rgba(233,207,156,.35);
    transition:.3s
}
.hphone i {
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--g-gold);
    display:grid;
    place-items:center;
    color:var(--aub);
    font-style:normal
}
.hphone span {
    line-height:1.15
}
.hphone small {
    display:block;
    font-size:9px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--champ)
}
.hphone b {
    font-weight:500;
    font-size:15px;
    letter-spacing:.04em
}
.hphone:hover {
    background:rgba(233,207,156,.1)
}
.hwa {
    display:flex;
    align-items:center;
    gap:9px;
    height:50px;
    padding:0 22px;
    border-radius:50px;
    background:var(--wa);
    color:#fff;
    font-size:13px;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
    transition:.3s
}
.hwa:hover {
    filter:brightness(1.08)
}
/* HERO */
.hero {
    position:relative;
    min-height:100svh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--night)
}
.hero-img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:60% 50%;
    animation:settle 2.4s cubic-bezier(.2,.7,.2,1) both
}
@keyframes settle {
    from {
        opacity:0;
        transform:scale(1.04)
    }
    to {
        opacity:1;
        transform:none
    }
}
.hero::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background: linear-gradient(90deg,rgba(18,7,38,.94) 0%,rgba(29,11,56,.82) 32%,rgba(43,18,80,.25) 60%,rgba(18,7,38,.15) 100%), linear-gradient(0deg,rgba(18,7,38,.85) 0%,rgba(18,7,38,0) 35%)
}
.hero::after {
    content:"";
    position:absolute;
    z-index:1;
    inset:auto auto -40% -20%;
    width:70vw;
    height:70vw;
    max-width:1000px;
    max-height:1000px;
    background:radial-gradient(circle,rgba(184,32,111,.32),transparent 62%);
    pointer-events:none
}
.hero .wrap {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:64px;
    align-items:center;
    padding:150px 0 110px
}
.kicker {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap
}
.kicker .brand {
    font-family:var(--display);
    font-style:italic;
    font-size:20px;
    color:var(--champ)
}
.kicker .sep {
    width:1px;
    height:18px;
    background:rgba(233,207,156,.5)
}
.kicker .dt {
    font-size:12px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,255,255,.8);
    font-weight:500
}
.hero h1 {
    font-size:clamp(46px,6vw,88px);
    margin:24px 0 22px
}
.hero .lede {
    font-size:19px;
    max-width:520px
}
.facts {
    display:grid;
    grid-template-columns:repeat(3,auto);
    justify-content:start;
    margin-top:40px;
    border-top:1px solid rgba(233,207,156,.25);
    border-bottom:1px solid rgba(233,207,156,.25)
}
.facts div {
    padding:18px 34px 18px 0;
    margin-right:34px;
    border-right:1px solid rgba(233,207,156,.25)
}
.facts div:last-child {
    border:0;
    margin:0;
    padding-right:0
}
.facts small {
    display:block;
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--champ);
    font-weight:500
}
.facts b {
    font-family:var(--display);
    font-weight:500;
    font-size:22px;
    color:#fff
}
.hprice {
    display:flex;
    align-items:flex-end;
    gap:18px;
    margin-top:34px
}
.hprice .from {
    font-size:11px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
    font-weight:500;
    padding-bottom:10px
}
.hprice .amt {
    font-family:var(--display);
    font-weight:500;
    font-size:clamp(48px,5vw,64px);
    line-height:1;
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.hprice .pp {
    font-size:14px;
    color:rgba(255,255,255,.7);
    padding-bottom:10px
}
.hero .acts {
    display:flex;
    gap:12px;
    margin-top:34px;
    flex-wrap:wrap
}
.scroll-cue {
    position:absolute;
    z-index:2;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    width:24px;
    height:40px;
    border:1px solid rgba(233,207,156,.5);
    border-radius:14px
}
.scroll-cue::after {
    content:"";
    position:absolute;
    left:50%;
    top:8px;
    width:3px;
    height:8px;
    margin-left:-1.5px;
    border-radius:3px;
    background:var(--champ);
    animation:cue 2s infinite
}
@keyframes cue {
    0% {
        opacity:0;
        transform:translateY(0)
    }
    40% {
        opacity:1
    }
    100% {
        opacity:0;
        transform:translateY(12px)
    }
}
/* FORM */
.fcard {
    position:relative;
    background:var(--ivory);
    border-radius:24px;
    padding:40px 36px 34px;
    box-shadow:0 50px 100px -30px rgba(0,0,0,.7)
}
.fcard::before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:24px;
    padding:1px;
    background:linear-gradient(160deg,var(--champ),rgba(233,207,156,0) 40%,rgba(212,42,134,.6));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none
}
.fhead {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px
}
.avail {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--berry)
}
.avail i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--berry);
    box-shadow:0 0 0 4px rgba(184,32,111,.15)
}
.fcard h3,.pform h3,.dark .fcard h3 {
    font-size:31px;
    margin:16px 0 6px;
    color:var(--ink)
}
.fsub-t {
    font-size:15px;
    color:var(--mute);
    margin-bottom:22px
}
.fld {
    margin-bottom:15px
}
.fld label {
    display:block;
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink);
    margin-bottom:7px
}
.inp,.tel {
    width:100%;
    height:52px;
    border:1px solid #e3d9ea;
    border-radius:12px;
    background:#fff;
    transition:border-color .25s,box-shadow .25s
}
.inp {
    padding:0 16px;
    font:inherit;
    font-weight:400;
    font-size:16px;
    color:var(--ink);
    outline:0;
    -webkit-appearance:none;
    appearance:none
}
textarea.inp {
    height:70px;
    padding:13px 16px;
    resize:none;
    line-height:1.5
}
select.inp {
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a8803c' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") right 16px center no-repeat;
    padding-right:40px
}
.inp::placeholder,.tel input::placeholder {
    color:#b2a9c0;
    font-weight:300
}
.inp:focus,.tel:focus-within {
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(214,174,98,.18)
}
.tel {
    display:flex;
    align-items:stretch;
    overflow:hidden
}
.tel .cc {
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 14px;
    background:var(--pearl);
    border-right:1px solid #e3d9ea;
    font-weight:500;
    font-size:15px;
    color:var(--ink);
    flex:none
}
.tel .cc svg {
    width:22px;
    height:15px;
    border-radius:2px;
    box-shadow:0 0 0 1px rgba(0,0,0,.08)
}
.tel input {
    flex:1;
    min-width:0;
    border:0;
    outline:0;
    padding:0 14px;
    font:inherit;
    font-weight:400;
    font-size:16px;
    letter-spacing:.06em;
    color:var(--ink);
    background:transparent
}
.tel.bad {
    border-color:#d93a5b;
    box-shadow:0 0 0 4px rgba(217,58,91,.12)
}
.err {
    display:none;
    font-size:12px;
    color:#d93a5b;
    margin-top:6px;
    font-weight:400
}
.tel.bad+.err {
    display:block
}
.two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}
.fbtn {
    width:100%;
    height:58px;
    margin-top:6px;
    border:0;
    border-radius:14px;
    background:var(--g-cta);
    color:#fff;
    font-size:13px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    box-shadow:0 16px 34px -12px rgba(212,42,134,.7);
    transition:.3s
}
.fbtn:hover {
    transform:translateY(-2px)
}
.trust {
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:16px;
    font-size:12px;
    color:var(--mute)
}
.trust span {
    display:flex;
    align-items:center;
    gap:6px
}
.trust svg {
    width:14px;
    height:14px;
    stroke:var(--gold-d);
    fill:none;
    stroke-width:1.8
}
.micro {
    font-size:11px;
    color:var(--mute);
    margin-top:10px;
    text-align:center;
    line-height:1.5
}
/* STATS */
.stats {
    background:var(--aub);
    border-top:1px solid rgba(233,207,156,.15);
    border-bottom:1px solid rgba(233,207,156,.15)
}
.stats .wrap {
    display:grid;
    grid-template-columns:repeat(4,1fr)
}
.stats div {
    padding:40px 12px;
    text-align:center;
    position:relative
}
.stats div+div::before {
    content:"";
    position:absolute;
    left:0;
    top:30%;
    bottom:30%;
    width:1px;
    background:rgba(233,207,156,.25)
}
.stats b {
    display:block;
    font-family:var(--display);
    font-weight:500;
    font-size:46px;
    line-height:1;
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.stats span {
    display:block;
    margin-top:10px;
    font-size:11px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,255,255,.7);
    font-weight:500
}
/* SECOND FOLD */
.fold {
    position:relative;
    min-height:90vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--night)
}
.fold .bgimg {
    position:absolute;
    left:0;
    right:0;
    top:-10%;
    height:120%;
    width:100%;
    object-fit:cover;
    will-change:transform
}
.fold::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(0deg,rgba(18,7,38,.96) 0%,rgba(29,11,56,.55) 50%,rgba(18,7,38,.7) 100%)
}
.fold .inner {
    position:relative;
    z-index:2;
    max-width:880px;
    margin:0 auto;
    padding:0 5%;
    text-align:center
}
.fold h2 {
    font-size:clamp(42px,5.8vw,80px);
    margin:24px 0
}
.fold .lede {
    margin:0 auto;
    font-size:19px
}
.fold .acts {
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:42px;
    flex-wrap:wrap
}
/* SECTION */
.sec {
    padding:130px 0
}
.shead {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:40px;
    align-items:end;
    margin-bottom:60px
}
.shead h2 {
    margin-top:18px
}
.shead .lede {
    justify-self:end
}
/* BENTO */
.bento {
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    grid-template-rows:310px 310px;
    gap:16px
}
.tile {
    position:relative;
    border-radius:var(--r);
    overflow:hidden;
    background:var(--aub);
    isolation:isolate
}
.tile img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.4s cubic-bezier(.2,.7,.2,1)
}
.tile:hover img {
    transform:scale(1.05)
}
.tile::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(0deg,rgba(18,7,38,.88) 0%,rgba(18,7,38,.1) 50%,rgba(18,7,38,0))
}
.tile .cap {
    position:absolute;
    z-index:2;
    left:28px;
    right:28px;
    bottom:26px;
    color:#fff
}
.tile .cap small {
    font-size:10px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--champ);
    font-weight:500
}
.tile .cap h3 {
    color:#fff;
    font-size:28px;
    margin-top:8px
}
.tile .cap p {
    font-size:15px;
    color:rgba(255,255,255,.78);
    margin-top:6px;
    max-width:360px
}
.t1 {
    grid-row:span 2
}
.t4 {
    grid-column:span 2
}
/* GALLERY */
.gal {
    position:relative;
    background:var(--night);
    padding:120px 0 0;
    overflow:hidden
}
.gal::before {
    content:"";
    position:absolute;
    right:-20%;
    top:-30%;
    width:60vw;
    height:60vw;
    background:radial-gradient(circle,rgba(184,32,111,.25),transparent 62%)
}
.slider {
    position:relative;
    height:min(88vh,820px);
    overflow:hidden;
    background:#0c0419
}
.slide {
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 1.2s ease
}
.slide.on {
    opacity:1;
    z-index:1
}
.slide img {
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.04);
    transition:transform 6.5s ease-out
}
.slide.on img {
    transform:none
}
.slide::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(12,4,25,.92) 0%,rgba(12,4,25,0) 50%)
}
.scap {
    position:absolute;
    z-index:3;
    left:5%;
    bottom:104px;
    max-width:620px;
    color:#fff
}
.scap small {
    font-size:11px;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--champ);
    font-weight:500
}
.scap h3 {
    color:#fff;
    font-size:clamp(34px,4.2vw,58px);
    margin:14px 0 10px;
    opacity:0;
    transform:translateY(20px);
    transition:.9s .35s
}
.scap p {
    color:rgba(255,255,255,.8);
    font-size:17px;
    opacity:0;
    transform:translateY(20px);
    transition:.9s .55s
}
.slide.on .scap h3,.slide.on .scap p {
    opacity:1;
    transform:none
}
.sctrl {
    position:absolute;
    z-index:5;
    right:5%;
    bottom:104px;
    display:flex;
    align-items:center;
    gap:18px
}
.sctrl button {
    width:56px;
    height:56px;
    border-radius:50%;
    border:1px solid rgba(233,207,156,.45);
    background:rgba(18,7,38,.3);
    backdrop-filter:blur(6px);
    color:#fff;
    font-size:20px;
    transition:.3s
}
.sctrl button:hover {
    background:var(--champ);
    color:var(--aub)
}
.scount {
    font-family:var(--display);
    font-size:22px;
    color:#fff;
    min-width:82px;
    text-align:center
}
.scount b {
    font-weight:500;
    color:var(--champ)
}
.sbar {
    position:absolute;
    z-index:5;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:rgba(255,255,255,.14)
}
.sbar i {
    display:block;
    height:100%;
    width:0;
    background:var(--g-gold)
}
.thumbs {
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:2px;
    background:#0c0419;
    padding-top:2px
}
.thumbs button {
    border:0;
    padding:0;
    height:88px;
    position:relative;
    overflow:hidden;
    background:#1a0b30
}
.thumbs img {
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.4;
    transition:opacity .4s
}
.thumbs button.on img,.thumbs button:hover img {
    opacity:1
}
.thumbs button.on::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:2px;
    background:var(--g-gold)
}
/* ITINERARY */
.itin {
    background:var(--pearl)
}
.tl {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    position:relative
}
.dcard {
    background:#fff;
    border-radius:var(--r);
    overflow:hidden;
    box-shadow:0 1px 0 var(--hair),0 24px 50px -30px rgba(43,18,80,.35);
    transition:transform .45s,box-shadow .45s
}
.dcard:hover {
    transform:translateY(-8px);
    box-shadow:0 1px 0 var(--hair),0 40px 70px -30px rgba(43,18,80,.45)
}
.dimg {
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--pearl)
}
.dimg img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.2s
}
.dcard:hover .dimg img {
    transform:scale(1.05)
}
.dday {
    position:absolute;
    left:18px;
    top:18px;
    z-index:2;
    background:rgba(18,7,38,.72);
    backdrop-filter:blur(6px);
    color:var(--champ);
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    font-weight:500;
    padding:8px 12px;
    border-radius:30px
}
.dbody {
    padding:26px 26px 28px
}
.dbody .dt {
    font-family:var(--display);
    font-style:italic;
    font-size:17px;
    color:var(--berry)
}
.dbody h3 {
    font-size:25px;
    margin:4px 0 10px
}
.dbody p {
    font-size:15px;
    color:var(--mute);
    line-height:1.65
}
.times {
    display:flex;
    gap:18px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--hair)
}
.times small {
    display:block;
    font-size:9px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--mute);
    font-weight:500
}
.times b {
    font-family:var(--display);
    font-weight:500;
    font-size:19px;
    color:var(--ink)
}
/* INCLUSIONS */
.inc {
    position:relative;
    background:var(--night);
    overflow:hidden
}
.inc::before {
    content:"";
    position:absolute;
    left:-20%;
    bottom:-40%;
    width:70vw;
    height:70vw;
    background:radial-gradient(circle,rgba(74,26,122,.55),transparent 62%)
}
.inc .wrap {
    position:relative;
    z-index:1
}
.igrid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid rgba(233,207,156,.18);
    border-left:1px solid rgba(233,207,156,.18)
}
.icard {
    padding:38px 20px 34px;
    text-align:center;
    border-right:1px solid rgba(233,207,156,.18);
    border-bottom:1px solid rgba(233,207,156,.18);
    transition:background .4s
}
.icard:hover {
    background:rgba(233,207,156,.06)
}
.icard svg {
    width:40px;
    height:40px;
    stroke:var(--champ);
    fill:none;
    stroke-width:1.1;
    margin:0 auto 18px
}
.icard h4 {
    font-family:var(--display);
    font-weight:500;
    font-size:19px;
    color:#fff;
    letter-spacing:.01em
}
.icard sup {
    color:var(--coral)
}
.inc .note {
    font-size:13px;
    color:rgba(255,255,255,.5);
    margin-top:26px;
    text-align:center
}
/* OFFER */
.offer-box {
    display:grid;
    grid-template-columns:1fr 1fr;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 60px 100px -50px rgba(43,18,80,.6)
}
.offer-img {
    position:relative;
    min-height:580px;
    background:var(--aub)
}
.offer-img img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.offer-txt {
    position:relative;
    background:var(--g-royal);
    color:rgba(255,255,255,.85);
    padding:72px 64px;
    overflow:hidden
}
.offer-txt::after {
    content:"";
    position:absolute;
    right:-120px;
    bottom:-120px;
    width:360px;
    height:360px;
    border-radius:50%;
    border:1px solid rgba(233,207,156,.25);
    box-shadow:0 0 0 40px rgba(233,207,156,.04),0 0 0 80px rgba(233,207,156,.03)
}
.offer-txt h2 {
    color:#fff;
    margin-top:18px
}
.offer-txt .price {
    font-family:var(--display);
    font-weight:500;
    font-size:clamp(56px,6vw,80px);
    line-height:1;
    margin:30px 0 8px;
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.offer-txt .per {
    font-size:11px;
    letter-spacing:.3em;
    text-transform:uppercase;
    font-weight:500;
    color:var(--champ)
}
.offer-txt ul {
    list-style:none;
    margin:30px 0 40px;
    position:relative;
    z-index:1
}
.offer-txt li {
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid rgba(233,207,156,.15);
    font-size:16px
}
.offer-txt li svg {
    width:16px;
    height:16px;
    stroke:var(--champ);
    fill:none;
    stroke-width:2;
    flex:none
}
.offer-txt .acts {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    position:relative;
    z-index:1
}
/* FAQ */
.faq .wrap {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:80px;
    align-items:start
}
.faq .fimg {
    margin-top:40px;
    border-radius:var(--r);
    overflow:hidden;
    aspect-ratio:4/5;
    max-height:440px;
    background:var(--pearl)
}
.faq .fimg img {
    width:100%;
    height:100%;
    object-fit:cover
}
details {
    border-bottom:1px solid var(--hair)
}
details:first-child {
    border-top:1px solid var(--hair)
}
summary {
    list-style:none;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:28px 4px;
    font-family:var(--display);
    font-weight:500;
    font-size:23px;
    color:var(--ink)
}
summary::-webkit-details-marker {
    display:none
}
summary::after {
    content:"";
    width:38px;
    height:38px;
    flex:none;
    border-radius:50%;
    border:1px solid var(--gold);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 0v12M0 6h12' stroke='%23a8803c' stroke-width='1.3'/%3E%3C/svg%3E") center no-repeat;
    transition:.35s
}
details[open] summary::after {
    transform:rotate(45deg);
    background-color:var(--pearl)
}
details p {
    padding:0 4px 28px;
    color:var(--mute);
    max-width:640px
}
/* FINAL */
.final {
    position:relative;
    padding:170px 0;
    text-align:center;
    overflow:hidden;
    background:var(--night)
}
.final .bgimg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.final::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(135deg,rgba(18,7,38,.92),rgba(74,26,122,.8) 55%,rgba(184,32,111,.7))
}
.final .inner {
    position:relative;
    z-index:2
}
.final h2 {
    font-size:clamp(44px,6.2vw,88px);
    margin:24px 0 16px
}
.final .lede {
    margin:0 auto
}
.final .acts {
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:42px;
    flex-wrap:wrap
}
/* FOOTER */
footer {
    background:#0c0419;
    color:rgba(255,255,255,.55);
    padding:80px 0 40px;
    font-size:14px
}
.fgrid {
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:50px;
    padding-bottom:44px;
    border-bottom:1px solid rgba(233,207,156,.12)
}
footer h4 {
    font-size:10px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--champ);
    margin-bottom:14px;
    font-weight:500
}
footer a {
    display:block;
    color:#fff;
    margin-bottom:8px;
    transition:color .3s
}
footer a:hover {
    color:var(--champ)
}
footer .logo {
    margin-bottom:18px
}
.legal {
    padding-top:28px;
    font-size:12px;
    line-height:1.85
}
/* MOBILE BAR */
.mbar {
    display:none;
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:55;
    grid-template-columns:1fr 1fr 1.4fr;
    gap:6px;
    padding:6px;
    border-radius:20px;
    background:rgba(18,7,38,.94);
    backdrop-filter:blur(12px);
    border:1px solid rgba(233,207,156,.2);
    box-shadow:0 18px 40px -10px rgba(0,0,0,.5)
}
.mbar a,.mbar button {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    height:48px;
    border-radius:14px;
    font-size:12px;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#fff;
    border:0;
    background:rgba(255,255,255,.07)
}
.mbar .mw {
    background:var(--wa)
}
.mbar .mq {
    background:var(--g-cta)
}
/* POPUP */
.pop {
    position:fixed;
    inset:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(10,3,22,.78);
    backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    transition:opacity .45s,visibility .45s
}
.pop.show {
    opacity:1;
    visibility:visible
}
.pbox {
    display:grid;
    grid-template-columns:1fr 1.05fr;
    width:min(900px,100%);
    max-height:94vh;
    overflow:auto;
    background:var(--ivory);
    border-radius:26px;
    position:relative;
    transform:translateY(24px) scale(.97);
    transition:transform .55s cubic-bezier(.2,.8,.2,1);
    box-shadow:0 60px 120px -30px rgba(0,0,0,.7)
}
.pop.show .pbox {
    transform:none
}
.pimg {
    position:relative;
    min-height:560px;
    background:var(--aub);
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    padding:36px;
    color:#fff
}
.pimg img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.pimg::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(18,7,38,.95),rgba(18,7,38,.1) 60%)
}
.pimg div {
    position:relative;
    z-index:2
}
.pimg small {
    font-size:10px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--champ);
    font-weight:500
}
.pimg strong {
    display:block;
    font-family:var(--display);
    font-weight:500;
    font-size:48px;
    line-height:1;
    margin:10px 0 6px;
    background:var(--g-gold);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.pimg span {
    font-size:14px;
    color:rgba(255,255,255,.8)
}
.pform {
    padding:46px 40px 38px
}
.px {
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid var(--hair);
    background:#fff;
    color:var(--ink);
    font-size:22px;
    line-height:1;
    transition:.3s
}
.px:hover {
    transform:rotate(90deg);
    border-color:var(--gold)
}
/* lazy images: load ~300px before they scroll into view */
.lz {
    opacity:0;
    transition:opacity .9s ease
}
.lz.ok {
    opacity:1
}
/* reveal */
.rv {
    opacity:0;
    transform:translateY(34px);
    transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)
}
.rv.in {
    opacity:1;
    transform:none
}
.no-js .rv {
    opacity:1;
    transform:none
}
@media(max-width:1060px) {
    .hero .wrap {
        grid-template-columns:1fr;
        gap:50px;
        padding:130px 0 80px
    }
    .scroll-cue {
        display:none
    }
    .shead {
        grid-template-columns:1fr;
        gap:18px
    }
    .shead .lede {
        justify-self:start
    }
    .bento {
        grid-template-columns:1fr 1fr;
        grid-template-rows:280px 280px 280px
    }
    .t1 {
        grid-row:span 1
    }
    .tl {
        grid-template-columns:1fr 1fr
    }
    .igrid {
        grid-template-columns:repeat(3,1fr)
    }
    .offer-box {
        grid-template-columns:1fr
    }
    .offer-img {
        min-height:340px
    }
    .offer-txt {
        padding:56px 40px
    }
    .faq .wrap {
        grid-template-columns:1fr;
        gap:40px
    }
    .faq .fimg {
        display:none
    }
    .thumbs {
        grid-template-columns:repeat(5,1fr)
    }
    .thumbs button:nth-child(n+6) {
        display:none
    }
    .pbox {
        grid-template-columns:1fr
    }
    .pimg {
        min-height:200px;
        padding:26px
    }
    .pimg strong {
        font-size:38px
    }
    .fgrid {
        grid-template-columns:1fr;
        gap:30px
    }
}
@media(max-width:640px) {
    body {
        font-size:16px
    }
    .sec {
        padding:88px 0
    }
    .hdr {
        padding:12px 0
    }
    .logo svg {
        width:34px;
        height:34px
    }
    .logo b {
        font-size:17px
    }
    .logo small {
        display:none
    }
    .hphone {
        padding:4px
    }
    .hphone span {
        display:none
    }
    .hphone i {
        width:40px;
        height:40px
    }
    .hwa {
        width:48px;
        height:48px;
        padding:0;
        justify-content:center
    }
    .hwa span {
        display:none
    }
    .hero-img {
        object-position:66% 50%
    }
    .hero::before {
        background:linear-gradient(180deg,rgba(18,7,38,.35) 0%,rgba(29,11,56,.78) 38%,rgba(18,7,38,.97) 72%)
    }
    .hero .wrap {
        padding:112px 0 70px
    }
    .hero .lede {
        font-size:17px
    }
    .kicker .sep {
        display:none
    }
    .kicker {
        gap:6px 12px
    }
    .facts {
        grid-template-columns:repeat(3,1fr);
        width:100%
    }
    .facts div {
        padding:14px 10px 14px 0;
        margin-right:10px
    }
    .facts b {
        font-size:16px;
        white-space:nowrap
    }
    .facts small {
        font-size:9px;
        letter-spacing:.2em
    }
    .btn {
        height:52px;
        padding:0 24px;
        font-size:12px
    }
    .fcard {
        padding:32px 22px 26px
    }
    .two {
        grid-template-columns:1fr;
        gap:0
    }
    .stats .wrap {
        grid-template-columns:1fr 1fr
    }
    .stats div {
        padding:28px 8px
    }
    .stats div:nth-child(3)::before {
        display:none
    }
    .stats b {
        font-size:38px
    }
    .stats span {
        font-size:10px;
        letter-spacing:.22em
    }
    .stats div:nth-child(-n+2) {
        border-bottom:1px solid rgba(233,207,156,.15)
    }
    .fold {
        min-height:78vh
    }
    .bento {
        grid-template-columns:1fr;
        grid-template-rows:none;
        grid-auto-rows:300px
    }
    .t4 {
        grid-column:auto
    }
    .slider {
        height:72vh
    }
    .scap {
        bottom:104px
    }
    .sctrl {
        left:5%;
        right:auto;
        bottom:28px
    }
    .sctrl button {
        width:46px;
        height:46px
    }
    .thumbs {
        display:none
    }
    .tl {
        grid-template-columns:1fr
    }
    .igrid {
        grid-template-columns:1fr 1fr
    }
    .icard {
        padding:28px 12px
    }
    .icard h4 {
        font-size:17px
    }
    .offer-txt {
        padding:48px 26px
    }
    summary {
        font-size:19px;
        padding:22px 2px
    }
    .mbar {
        display:grid
    }
    footer {
        padding-bottom:120px
    }
    .pimg {
        display:none
    }
    .pform {
        padding:40px 22px 28px
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        animation:none!important;
        transition:none!important
    }
}

/* ========================================================================== *
   LUXURY BRAND REFINEMENTS
   ========================================================================== */

:root {
    --shadow-luxury: 0 24px 70px rgba(18, 7, 38, 0.18);
    --glass-dark: rgba(13, 5, 29, 0.74);
}

body {
    background:
        radial-gradient(circle at 10% 10%, rgba(212, 42, 134, 0.035), transparent 24%),
        var(--ivory);
}

.wrap {
    width: min(1240px, calc(100% - 48px));
}

.hdr {
    padding: 16px 0;
    background: linear-gradient(180deg, rgba(10, 3, 22, 0.58), rgba(10, 3, 22, 0));
}

.hdr.solid {
    padding: 10px 0;
    background: rgba(13, 5, 29, 0.86);
    border-bottom: 1px solid rgba(233, 207, 156, 0.16);
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.18);
}

.hdr-inner {
    min-height: 72px;
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.brand-cordelia {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    overflow: hidden;
    filter: drop-shadow(0 8px 18px rgba(212, 42, 134, 0.18));
}

.brand-cordelia img {
    width: 70px;
    height: 70px;
    max-width: none;
    object-fit: contain;
}

.brand-divider {
    width: 1px;
    height: 40px;
    background: linear-gradient(180deg, transparent, rgba(233, 207, 156, 0.7), transparent);
}

.brand-sea {
    display: flex;
    align-items: center;
    width: 154px;
}

.brand-sea img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 6px 18px rgba(255, 255, 255, 0.08));
}

.hnav {
    gap: 12px;
}

.hphone,
.hwa {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 10px 26px rgba(0, 0, 0, 0.08);
}

.hero {
    isolation: isolate;
}

.hero::before {
    background:
        radial-gradient(circle at 72% 50%, rgba(212, 42, 134, 0.16), transparent 28%),
        linear-gradient(90deg, rgba(10, 3, 22, 0.97) 0%, rgba(29, 11, 56, 0.86) 34%, rgba(43, 18, 80, 0.36) 64%, rgba(18, 7, 38, 0.18) 100%),
        linear-gradient(0deg, rgba(18, 7, 38, 0.9), rgba(18, 7, 38, 0) 42%);
}

.hero .wrap {
    padding-top: 156px;
}

.hero-signature {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.hero-signature span {
    width: 22px;
    height: 1px;
    background: rgba(233, 207, 156, 0.55);
}

.facts {
    background: rgba(255, 255, 255, 0.035);
    backdrop-filter: blur(5px);
    border-color: rgba(233, 207, 156, 0.2);
}

.fcard {
    border: 1px solid rgba(233, 207, 156, 0.25);
    box-shadow: 0 38px 100px -35px rgba(0, 0, 0, 0.82), 0 0 0 1px rgba(255, 255, 255, 0.3) inset;
}

.fcard h3 {
    letter-spacing: -0.025em;
}

.fbtn,
.btn-cta {
    position: relative;
    overflow: hidden;
}

.fbtn::before,
.btn-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.24) 48%, transparent 74%);
    transform: translateX(-120%);
    transition: transform 0.8s ease;
}

.fbtn:hover::before,
.btn-cta:hover::before {
    transform: translateX(120%);
}

.stats {
    position: relative;
}

.stats::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 50% 0%, rgba(233, 207, 156, 0.08), transparent 45%);
}

.sec,
.gal {
    position: relative;
}

.shead {
    margin-bottom: 52px;
}

.shead h2,
.faq-title {
    letter-spacing: -0.03em;
}

.tile,
.dcard,
.offer-box {
    box-shadow: var(--shadow-luxury);
}

.tile {
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.tile .cap {
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
}

.slider {
    border-top: 1px solid rgba(233, 207, 156, 0.16);
    border-bottom: 1px solid rgba(233, 207, 156, 0.16);
}

.slide::after {
    background:
        linear-gradient(0deg, rgba(12, 4, 25, 0.96) 0%, rgba(12, 4, 25, 0.08) 62%),
        linear-gradient(90deg, rgba(12, 4, 25, 0.38), transparent 58%);
}

.dcard {
    border: 1px solid rgba(30, 18, 51, 0.07);
}

.dcard:hover {
    transform: translateY(-10px);
}

.icard {
    min-height: 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.offer-box {
    border: 1px solid rgba(233, 207, 156, 0.22);
}

.offer-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 48%, rgba(18, 7, 38, 0.32));
    pointer-events: none;
}

.offer-txt {
    background:
        radial-gradient(circle at 80% 20%, rgba(233, 207, 156, 0.12), transparent 28%),
        var(--g-royal);
}

.faq-title {
    margin-top: 18px;
}

.faq details {
    transition: background 0.3s ease;
}

.faq details[open] {
    background: rgba(233, 207, 156, 0.06);
    padding: 0 16px;
}

.footer-brand {
    display: inline-flex;
    flex-direction: column;
    gap: 14px;
    max-width: 300px;
}

.footer-brand img {
    width: 210px;
    height: auto;
}

.footer-brand span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    line-height: 1.7;
}

.footer-subhead {
    margin-top: 22px;
}

footer a.footer-brand {
    margin-bottom: 0;
}

footer a.footer-brand:hover {
    color: inherit;
}

.mbar {
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.42);
}

.pop {
    background: rgba(8, 2, 18, 0.82);
}

.pbox {
    border: 1px solid rgba(233, 207, 156, 0.2);
}

.no-js .lz {
    opacity: 1;
}

@media (max-width: 760px) {
    .wrap {
        width: min(100% - 28px, 620px);
    }

    .hdr-inner {
        min-height: 58px;
    }

    .brand-lockup {
        gap: 9px;
    }

    .brand-cordelia {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .brand-cordelia img {
        width: 52px;
        height: 52px;
    }

    .brand-divider {
        height: 30px;
    }

    .brand-sea {
        width: 108px;
    }

    .hero .wrap {
        padding-top: 116px;
    }

    .hero-signature {
        font-size: 9px;
        letter-spacing: 0.16em;
    }
}

@media (max-width: 520px) {
    .brand-sea {
        width: 94px;
    }

    .hphone {
        display: none;
    }

    .hwa {
        width: 48px;
        padding: 0;
        justify-content: center;
    }

    .hwa span {
        display: none;
    }
}


.icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

/* ========================================================================== *
   REFERENCE-INSPIRED LIGHT LUXURY THEME
   Inspired by the clean editorial feel of luxury real-estate and cruise
   hospitality sites: ivory, warm champagne, deep marine blue and restrained
   coral accents. Structure and interactions remain unchanged.
   ========================================================================== */

:root {
    --night: #10263a;
    --aub: #17364d;
    --plum: #21465c;
    --royal: #0e5164;
    --berry: #b46f57;
    --magenta: #b46f57;
    --coral: #c9785c;
    --champ: #b8955b;
    --gold: #b8955b;
    --gold-d: #8d6c39;
    --ivory: #fcfaf6;
    --pearl: #f4f0e8;
    --blush: #f6f1e9;
    --ink: #142b3d;
    --body: #56636d;
    --mute: #74808a;
    --hair: rgba(20, 43, 61, .12);
    --g-gold: linear-gradient(100deg, #d7bf8b 0%, #b8955b 48%, #92713f 100%);
    --g-cta: linear-gradient(100deg, #0d5367 0%, #123e56 100%);
    --g-royal: linear-gradient(135deg, #10263a 0%, #17455b 55%, #0e5a68 100%);
    --shadow-luxury: 0 26px 70px rgba(20, 43, 61, .12);
}

body {
    background: var(--ivory);
    color: var(--body);
    font-family: var(--sans);
    font-size: 16px;
}

h1, h2, h3 {
    font-family: var(--display);
    font-weight: 500;
    color: var(--ink);
}

/* Keep the supplied local font pairing, but tune it toward the restrained
   editorial typography used by the reference sites. */
.lede { font-size: 17px; line-height: 1.75; }
.label { color: var(--gold-d); letter-spacing: .30em; }

/* Header: clean white luxury bar. Sea of Seats is deliberately first. */
.hdr {
    padding: 14px 0;
    background: rgba(252, 250, 246, .92);
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid rgba(20, 43, 61, .08);
    box-shadow: 0 8px 30px rgba(20, 43, 61, .05);
}

.hdr.solid {
    padding: 10px 0;
    background: rgba(252, 250, 246, .97);
    border-bottom-color: rgba(20, 43, 61, .10);
    box-shadow: 0 12px 34px rgba(20, 43, 61, .08);
}

.hdr .wrap { min-height: 66px; }

.brand-lockup {
    flex-direction: row;
    gap: 16px;
}

.brand-sea { order: 1; width: 166px; }
.brand-divider { order: 2; background: linear-gradient(180deg, transparent, rgba(184,149,91,.55), transparent); }
.brand-cordelia { order: 3; width: 62px; height: 62px; flex-basis: 62px; }
.brand-cordelia img { width: 70px; height: 70px; }
.brand-sea img { content: url('../images/sea-of-seats-logo-dark.png'); filter: none; }

.hphone {
    color: var(--ink);
    border-color: rgba(20, 43, 61, .14);
    background: rgba(255,255,255,.72);
}
.hphone i { background: var(--g-gold); color: #fff; }
.hphone small { color: var(--gold-d); }
.hwa { background: #14885b; }

/* Hero: retain the existing photograph and layout, but replace the heavy
   dark/pink treatment with an airy editorial overlay. */
.hero.dark {
    color: var(--body);
    background: var(--pearl);
}
.hero.dark h1,
.hero.dark h2,
.hero.dark h3 { color: var(--ink); }

.hero::before {
    background:
        linear-gradient(90deg,
            rgba(252,250,246,.98) 0%,
            rgba(252,250,246,.94) 28%,
            rgba(252,250,246,.72) 47%,
            rgba(252,250,246,.12) 72%,
            rgba(252,250,246,0) 100%),
        linear-gradient(0deg, rgba(16,38,58,.18), transparent 42%);
}
.hero::after { display: none; }
.hero-img { object-position: 62% 50%; }

.hero .kicker .brand { color: var(--royal); }
.hero .kicker .sep { background: rgba(184,149,91,.55); }
.hero .kicker .dt { color: #52616c; }
.hero .hero-signature { color: #697681; }
.hero .hero-signature span { background: rgba(184,149,91,.65); }
.hero .lede { color: #53616b; }
.hero .facts { border-color: rgba(20,43,61,.13); background: rgba(255,255,255,.35); }
.hero .facts div { border-color: rgba(20,43,61,.13); }
.hero .facts small { color: var(--gold-d); }
.hero .facts b { color: var(--ink); }
.hero .hprice .amt { background: var(--g-gold); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .hprice .pp { color: #697681; }
.hero .btn-ghost { color: var(--ink); border-color: rgba(20,43,61,.18); background: rgba(255,255,255,.72); }
.hero .btn-ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.scroll-cue { border-color: rgba(20,43,61,.25); }
.scroll-cue::after { background: var(--gold); }

/* Quote card: white, crisp and architectural. */
.fcard {
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(20,43,61,.10);
    box-shadow: 0 30px 80px rgba(20,43,61,.16), 0 0 0 1px rgba(255,255,255,.85) inset;
}
.fcard::before {
    background: linear-gradient(160deg, rgba(184,149,91,.8), rgba(184,149,91,0) 42%, rgba(14,81,100,.28));
}
.fcard h3, .pform h3, .dark .fcard h3 { color: var(--ink); }
.avail { color: var(--royal); }
.avail i { background: var(--royal); box-shadow: 0 0 0 4px rgba(14,81,100,.10); }
.fsub-t { color: var(--mute); }
.fld label { color: var(--ink); }
.inp, .tel { border-color: #d9dfe1; }
.inp:focus, .tel:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(184,149,91,.13); }
.tel .cc { background: var(--pearl); border-right-color: #d9dfe1; }
.fbtn { background: var(--g-cta); box-shadow: 0 16px 34px -14px rgba(16,67,86,.45); }
.trust svg { stroke: var(--gold-d); }

/* Light editorial stats strip. */
.stats {
    background: #fff;
    border-top: 1px solid rgba(20,43,61,.08);
    border-bottom: 1px solid rgba(20,43,61,.08);
}
.stats::before { display:none; }
.stats div+div::before { background: rgba(20,43,61,.12); }
.stats b { background: var(--g-gold); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stats span { color: #66737c; }

/* The large image-led story section stays image-first, but uses a soft white
   veil instead of a purple/black overlay. */
.fold.dark {
    background: var(--pearl);
    color: var(--body);
}
.fold::before {
    background: linear-gradient(90deg, rgba(252,250,246,.96) 0%, rgba(252,250,246,.88) 35%, rgba(252,250,246,.28) 70%, rgba(252,250,246,.08) 100%);
}
.fold h2, .fold.dark h2, .fold.dark h3 { color: var(--ink); }
.fold .lede { color: #5c6972; }
.fold .btn-ghost { color: var(--ink); border-color: rgba(20,43,61,.20); background: rgba(255,255,255,.7); }
.fold .btn-ghost:hover { background: var(--ink); color:#fff; }

/* Clean white content sections. */
.sec { background: var(--ivory); }
.itin { background: var(--pearl); }
.tile { background: var(--aub); box-shadow: var(--shadow-luxury); }
.tile::after { background: linear-gradient(0deg, rgba(16,38,58,.84), rgba(16,38,58,.08) 52%, transparent); }
.tile .cap small { color: #e3cf9d; }

/* Gallery: preserve the existing carousel mechanics, but give it a premium
   light editorial frame instead of a dark full-page block. */
.gal.dark {
    background: #f7f4ee;
    color: var(--body);
    padding-top: 112px;
}
.gal.dark h2, .gal.dark h3 { color: var(--ink); }
.gal.dark .lede { color: #697681; }
.gal::before { display:none; }
.slider {
    background: #e9e4da;
    border-top: 1px solid rgba(20,43,61,.10);
    border-bottom: 1px solid rgba(20,43,61,.10);
    box-shadow: 0 24px 60px rgba(20,43,61,.10);
}
.slide::after {
    background: linear-gradient(0deg, rgba(16,38,58,.82) 0%, rgba(16,38,58,.08) 62%), linear-gradient(90deg, rgba(16,38,58,.20), transparent 58%);
}
.scap small { color: #e2cc95; }
.sctrl button { border-color: rgba(255,255,255,.58); background: rgba(16,38,58,.34); }
.sctrl button:hover { background: var(--gold); color: #fff; }
.scount { color:#fff; }
.scount b { color:#e2cc95; }
.sbar { background: rgba(255,255,255,.26); }
.thumbs { background: #e9e4da; }
.thumbs button { background: #d8d1c4; }
.thumbs button.on::after { background: var(--gold); }

/* Inclusions become a refined white grid. */
.inc.dark {
    background: #fff;
    color: var(--body);
}
.inc.dark h2, .inc.dark h3 { color: var(--ink); }
.inc::before { display:none; }
.igrid { border-top-color: rgba(20,43,61,.11); border-left-color: rgba(20,43,61,.11); }
.icard { border-right-color: rgba(20,43,61,.11); border-bottom-color: rgba(20,43,61,.11); }
.icard:hover { background: #faf7f1; }
.icard svg { stroke: var(--gold-d); }
.icard h4 { color: var(--ink); }
.inc .note { color: #78848c; }

/* Offer card: navy/copper instead of purple/pink. */
.offer-box { box-shadow: 0 50px 90px -55px rgba(20,43,61,.32); }
.offer-txt { background: var(--g-royal); }
.offer-txt h2 { color:#fff; }
.offer-txt .per { color:#e4cf9b; }
.offer-txt li { border-bottom-color: rgba(255,255,255,.14); }
.offer-txt li svg { stroke:#e4cf9b; }
.offer-img::after { background: linear-gradient(90deg, transparent 48%, rgba(16,38,58,.22)); }

/* Final CTA remains dark only as a deliberate accent block. */
.final.dark { background: var(--night); }
.final::before { background: linear-gradient(135deg, rgba(16,38,58,.88), rgba(14,81,100,.78) 55%, rgba(184,149,91,.50)); }

/* Footer is kept deep navy as the single grounding dark area. */
footer { background: #10263a; }
footer h4 { color: #dfc98f; }
footer a:hover { color:#dfc98f; }

/* Mobile action bar matches the light header. */
.mbar { background: rgba(252,250,246,.97); border-color: rgba(20,43,61,.12); box-shadow: 0 18px 40px rgba(20,43,61,.18); }

/* Popup gets the same restrained luxury treatment. */
.pop { background: rgba(16,38,58,.42); }
.pbox { border-color: rgba(184,149,91,.28); }

@media (max-width: 760px) {
    .brand-sea { width: 112px; }
    .brand-cordelia { width: 46px; height:46px; flex-basis:46px; }
    .brand-cordelia img { width:52px; height:52px; }
    .brand-divider { height:30px; }
    .hero::before {
        background: linear-gradient(180deg, rgba(252,250,246,.97) 0%, rgba(252,250,246,.88) 48%, rgba(252,250,246,.30) 100%);
    }
}

/* ========================================================================== *
   V5 — CAMELLIAS / CORDELIA EDITORIAL LUXURY
   Quiet-luxury visual language: warm white, charcoal, champagne, restrained
   marine teal. No magenta/pink and no glossy gradient-heavy treatment.
   Layout + interactions remain unchanged.
   ========================================================================== */
:root {
  --night: #173b43;
  --aub: #173b43;
  --plum: #214f56;
  --royal: #2f6267;
  --berry: #9c8560;
  --magenta: #9c8560;
  --coral: #9c8560;
  --champ: #c4a46a;
  --gold: #b99557;
  --gold-d: #8a6b38;
  --ivory: #fbfaf7;
  --pearl: #f3f0e9;
  --blush: #f7f5ef;
  --ink: #202522;
  --body: #5e625f;
  --mute: #858985;
  --hair: rgba(32,37,34,.13);
  --g-gold: #b99557;
  --g-cta: #173b43;
  --g-royal: #173b43;
  --shadow-luxury: 0 28px 70px rgba(32,37,34,.10);
}

body {
  background: var(--ivory);
  color: var(--body);
  font-family: var(--sans);
  font-weight: 300;
  letter-spacing: .005em;
}

h1,h2,h3 {
  color: var(--ink);
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: -.018em;
}

h2 { letter-spacing: -.025em; }

.au,
.dark .au,
.au.lt,
.light-sec .au,
.hero .hprice .amt,
.stats b {
  background: none !important;
  color: var(--gold-d) !important;
  -webkit-text-fill-color: currentColor;
}

.label {
  color: var(--gold-d);
  letter-spacing: .28em;
}

.label::before,
.center .label::after { background: var(--gold); }

/* HEADER — clean architectural white bar */
.hdr,
.hdr.solid {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(32,37,34,.11);
  box-shadow: 0 5px 24px rgba(32,37,34,.045);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.hdr { padding: 12px 0; }
.hdr.solid { padding: 9px 0; }
.hdr .wrap { min-height: 68px; }

.brand-lockup { gap: 20px; }
.brand-sea { order: 1; width: 158px; }
.brand-divider {
  order: 2;
  width: 1px;
  background: #c8b58c;
  opacity: .65;
}
.brand-cordelia {
  order: 3;
  width: 62px;
  height: 62px;
  flex-basis: 62px;
}
.brand-cordelia img { width: 68px; height: 68px; }
.brand-sea img {
  content: url('../images/sea-of-seats-logo-dark.png');
  filter: none;
}

.hphone {
  color: var(--ink);
  border: 1px solid rgba(32,37,34,.13);
  background: #fff;
}
.hphone i { background: var(--aub); color: #fff; }
.hphone small { color: var(--gold-d); }
.hwa { background: var(--aub); }

/* HERO — image + quiet white editorial veil */
.hero.dark {
  color: var(--body);
  background: #f3f0e9;
}
.hero.dark h1,
.hero.dark h2,
.hero.dark h3 { color: var(--ink); }
.hero::before {
  background: linear-gradient(90deg,
    rgba(251,250,247,.985) 0%,
    rgba(251,250,247,.96) 26%,
    rgba(251,250,247,.78) 43%,
    rgba(251,250,247,.22) 66%,
    rgba(251,250,247,0) 100%);
}
.hero::after { display: none; }
.hero-img { object-position: 63% 50%; }
.hero .kicker .brand { color: var(--aub); }
.hero .kicker .sep { background: var(--gold); }
.hero .kicker .dt { color: #777b76; }
.hero .hero-signature { color: #777b76; }
.hero .hero-signature span { background: var(--gold); }
.hero .lede { color: #606661; }
.hero .facts {
  border-color: rgba(32,37,34,.15);
  background: rgba(255,255,255,.50);
}
.hero .facts div { border-color: rgba(32,37,34,.13); }
.hero .facts small { color: var(--gold-d); }
.hero .facts b { color: var(--ink); }
.hero .hprice .pp { color: #777b76; }
.hero .btn-ghost {
  color: var(--ink);
  border-color: rgba(32,37,34,.20);
  background: rgba(255,255,255,.78);
}
.hero .btn-ghost:hover {
  background: var(--aub);
  color: #fff;
  border-color: var(--aub);
}
.btn-cta,
.fbtn { background: var(--aub); box-shadow: 0 14px 30px rgba(23,59,67,.18); }
.btn-cta:hover,
.fbtn:hover { background: #27555d; box-shadow: 0 18px 34px rgba(23,59,67,.22); }
.btn-gold { background: var(--gold); color: #fff; box-shadow: 0 14px 30px rgba(185,149,87,.18); }
.scroll-cue { border-color: rgba(32,37,34,.24); }
.scroll-cue::after { background: var(--gold); }

/* QUOTE CARD — white, thin border, no coloured glow */
.fcard {
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(32,37,34,.11);
  box-shadow: 0 30px 70px rgba(32,37,34,.12);
}
.fcard::before { background: var(--gold); height: 2px; opacity: .9; }
.fcard h3,.pform h3,.dark .fcard h3 { color: var(--ink); }
.avail { color: var(--aub); }
.avail i { background: var(--gold); box-shadow: 0 0 0 4px rgba(185,149,87,.10); }
.fsub-t { color: var(--mute); }
.fld label { color: #4f5551; }
.inp,.tel { border-color: #d9dad5; background: #fff; }
.inp:focus,.tel:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(185,149,87,.12); }
.tel .cc { background: #f4f1ea; border-right-color: #d9dad5; }
.trust svg { stroke: var(--gold-d); }

/* STATS — editorial white band */
.stats {
  background: #fff;
  border-top: 1px solid rgba(32,37,34,.08);
  border-bottom: 1px solid rgba(32,37,34,.08);
}
.stats::before { display:none; }
.stats div+div::before { background: rgba(32,37,34,.12); }
.stats b { color: var(--gold-d) !important; }
.stats span { color: #707570; }

/* CONTENT */
.fold.dark { background: #f4f1eb; color: var(--body); }
.fold::before {
  background: linear-gradient(90deg, rgba(251,250,247,.96), rgba(251,250,247,.78) 38%, rgba(251,250,247,.16) 72%, transparent);
}
.fold h2,.fold.dark h2,.fold.dark h3 { color: var(--ink); }
.fold .lede { color: #626863; }
.fold .btn-ghost { color: var(--ink); border-color: rgba(32,37,34,.18); background: rgba(255,255,255,.72); }

.sec { background: var(--ivory); }
.itin { background: #f4f1eb; }
.tile { background: #fff; box-shadow: var(--shadow-luxury); border: 1px solid rgba(32,37,34,.08); }
.tile::after { background: linear-gradient(0deg, rgba(23,59,67,.70), rgba(23,59,67,.02) 58%, transparent); }
.tile .cap small { color: #e2c98f; }

/* GALLERY — bright editorial gallery, not a dark/pink slider */
.gal.dark {
  background: #fbfaf7;
  color: var(--body);
  padding-top: 112px;
}
.gal.dark h2,.gal.dark h3 { color: var(--ink); }
.gal.dark .lede { color: #6c726d; }
.gal::before { display:none; }
.slider {
  background: #ece9e2;
  border: 1px solid rgba(32,37,34,.10);
  box-shadow: 0 28px 70px rgba(32,37,34,.10);
}
.slide::after {
  background: linear-gradient(0deg, rgba(23,59,67,.74), rgba(23,59,67,.04) 64%);
}
.scap small { color: #e4cc94; }
.sctrl button {
  border-color: rgba(255,255,255,.70);
  background: rgba(23,59,67,.42);
}
.sctrl button:hover { background: var(--gold); color: #fff; }
.scount { color: #fff; }
.scount b { color: #e4cc94; }
.sbar { background: rgba(255,255,255,.30); }
.thumbs { background: #ece9e2; }
.thumbs button { background: #d8d4cb; }
.thumbs button.on::after { background: var(--gold); }

/* INCLUSIONS — quiet luxury grid */
.inc.dark { background: #fff; color: var(--body); }
.inc.dark h2,.inc.dark h3 { color: var(--ink); }
.inc::before { display:none; }
.igrid { border-top-color: rgba(32,37,34,.11); border-left-color: rgba(32,37,34,.11); }
.icard { border-right-color: rgba(32,37,34,.11); border-bottom-color: rgba(32,37,34,.11); }
.icard:hover { background: #faf8f3; }
.icard svg { stroke: var(--gold-d); }
.icard h4 { color: var(--ink); }
.inc .note { color: #7b807b; }

/* OFFER — restrained marine panel */
.offer-box { box-shadow: 0 42px 80px -55px rgba(32,37,34,.30); }
.offer-txt { background: var(--aub); }
.offer-txt h2 { color:#fff; }
.offer-txt .per { color:#e1c78d; }
.offer-txt li { border-bottom-color: rgba(255,255,255,.14); }
.offer-txt li svg { stroke:#e1c78d; }
.offer-img::after { background: linear-gradient(90deg, transparent 48%, rgba(23,59,67,.18)); }

/* FINAL / FOOTER — one deep accent, matching the marine side of Cordelia */
.final.dark { background: var(--aub); }
.final::before { background: linear-gradient(135deg, rgba(23,59,67,.96), rgba(36,83,89,.92)); }
footer { background: #173b43; }
footer h4 { color: #ddc38b; }
footer a:hover { color:#ddc38b; }
.mbar { background: rgba(255,255,255,.97); border-color: rgba(32,37,34,.12); box-shadow: 0 18px 40px rgba(32,37,34,.15); }
.pop { background: rgba(23,59,67,.34); }
.pbox { border-color: rgba(185,149,87,.30); }

@media (max-width:760px) {
  .brand-sea { width: 112px; }
  .brand-cordelia { width: 54px; height: 54px; flex-basis:54px; }
  .brand-cordelia img { width: 60px; height:60px; }
}


/* ==========================================================================\n   LIGHT SEA-GLASS LUXURY OVERRIDES\n   Uses the footer's marine identity as a LIGHT daytime palette.\n   No cream/beige wash; layout, imagery and existing interactions stay intact.\n   ========================================================================== */
:root{
  --night:#173f48;
  --aub:#1d5961;
  --plum:#245f66;
  --royal:#2a7075;
  --berry:#2f6f72;
  --magenta:#2f6f72;
  --coral:#b8955b;
  --champ:#d8bf83;
  --gold:#b8955b;
  --gold-d:#8b6b32;
  --ivory:#f6faf9;
  --pearl:#edf5f4;
  --blush:#e8f1f0;
  --ink:#17363d;
  --body:#52666b;
  --mute:#748589;
  --hair:rgba(23,54,61,.13);
  --g-gold:linear-gradient(100deg,#d9c48f 0%,#b8955b 52%,#98743a 100%);
  --g-cta:linear-gradient(100deg,#1d5961 0%,#2b7478 100%);
  --g-royal:linear-gradient(135deg,#173f48 0%,#1f5d65 55%,#2a7778 100%);
  --shadow-luxury:0 24px 65px rgba(24,67,73,.12);
}
body{background:var(--ivory);color:var(--body)}
.hdr{background:rgba(246,250,249,.94);border-bottom-color:rgba(23,63,72,.10);box-shadow:0 8px 28px rgba(23,63,72,.06)}
.hdr.solid{background:rgba(246,250,249,.98);box-shadow:0 12px 32px rgba(23,63,72,.09)}
.hero.dark{background:var(--pearl)}
.hero::before{background:linear-gradient(90deg,rgba(246,250,249,.98) 0%,rgba(246,250,249,.93) 29%,rgba(246,250,249,.66) 48%,rgba(246,250,249,.10) 74%,transparent 100%)}
.hero::after{display:none}
.hero .facts{background:rgba(255,255,255,.72);border-color:rgba(23,63,72,.13)}
.hero .facts div{border-color:rgba(23,63,72,.11)}
.hero .facts small,.label,.hero .kicker .brand{color:var(--gold-d)}
.hero .facts b,.hero.dark h1,.hero.dark h2,.hero.dark h3{color:var(--ink)}
.hero .lede,.fold .lede{color:#607277}
.btn-cta,.fbtn{background:var(--g-cta);box-shadow:0 14px 28px rgba(29,89,97,.18)}
.btn-cta:hover,.fbtn:hover{background:#164b53;box-shadow:0 18px 34px rgba(29,89,97,.23)}
.btn-gold{background:var(--gold);color:#fff}
.btn-wa{background:#178b62}
.hero .btn-ghost,.fold .btn-ghost{color:var(--ink);border-color:rgba(23,63,72,.18);background:rgba(255,255,255,.78)}
.hero .btn-ghost:hover,.fold .btn-ghost:hover{background:var(--aub);color:#fff;border-color:var(--aub)}
.fcard{background:#fff;border-color:rgba(23,63,72,.11);box-shadow:0 30px 70px rgba(23,63,72,.11)}
.fcard::before{background:var(--gold)}
.inp,.tel{background:#fff;border-color:#cfdedd}
.inp:focus,.tel:focus-within{border-color:#5c9698;box-shadow:0 0 0 3px rgba(46,112,114,.11)}
.stats{background:#fff;border-top-color:rgba(23,63,72,.08);border-bottom-color:rgba(23,63,72,.08)}
.stats b{color:var(--gold-d)!important}
.fold.dark{background:#eaf3f2}
.fold::before{background:linear-gradient(90deg,rgba(246,250,249,.98),rgba(246,250,249,.78) 40%,rgba(246,250,249,.16) 72%,transparent)}
.sec{background:var(--ivory)}
.itin{background:#edf5f4}
.dcard{background:#fff;border-color:rgba(23,63,72,.09);box-shadow:0 18px 45px rgba(23,63,72,.10)}
.dcard:hover{box-shadow:0 28px 60px rgba(23,63,72,.14)}
.dbody .dt{color:var(--gold-d)}
.dbody h3,.times b{color:var(--ink)}
.dbody p{color:#718185}
.dday{background:rgba(23,63,72,.90);color:#ead7a4}
.times{border-top-color:rgba(23,63,72,.10)}
.dbook{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:20px;padding:12px 16px;border:1px solid rgba(23,89,97,.18);border-radius:999px;background:#f2f8f7;color:var(--aub);font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:all .3s ease}
.dbook span{font-size:16px;line-height:0;transition:transform .3s ease}
.dbook:hover{background:var(--aub);color:#fff;border-color:var(--aub);box-shadow:0 12px 24px rgba(29,89,97,.16)}
.dbook:hover span{transform:translateX(4px)}
.tile{background:#fff;border-color:rgba(23,63,72,.08);box-shadow:var(--shadow-luxury)}
.tile::after{background:linear-gradient(0deg,rgba(23,63,72,.72),rgba(23,63,72,.03) 58%,transparent)}
.gal.dark{background:#f7fbfa;color:var(--body)}
.slider{background:#e6f0ef;border-color:rgba(23,63,72,.10);box-shadow:0 26px 65px rgba(23,63,72,.10)}
.sctrl button{background:rgba(23,63,72,.62);border-color:rgba(255,255,255,.75)}
.sctrl button:hover{background:var(--gold)}
.thumbs{background:#e6f0ef}.thumbs button{background:#c9dbda}.thumbs button.on::after{background:var(--gold)}
.inc.dark{background:#fff;color:var(--body)}
.inc.dark h2,.inc.dark h3,.icard h4{color:var(--ink)}
.icard{border-color:rgba(23,63,72,.10)}
.icard:hover{background:#f1f7f6}.icard svg{stroke:var(--gold-d)}
.offer-txt{background:var(--g-royal)}
.final.dark{background:var(--aub)}
.final::before{background:linear-gradient(135deg,#173f48,#256a70)}
footer{background:#173f48}
footer h4,footer a:hover{color:#dfc88f}
.mbar{background:rgba(246,250,249,.98);border-color:rgba(23,63,72,.12);box-shadow:0 18px 40px rgba(23,63,72,.15)}
.pop{background:rgba(23,63,72,.36)}
.pbox{border-color:rgba(184,149,91,.30)}

/* Dynamic country selector */
.cc-wrap{display:flex;align-items:center;gap:7px;min-width:132px;padding:0 10px;background:#f0f6f5;border-right:1px solid #cfdedd;cursor:pointer}
.cc-wrap svg{width:15px;height:15px;fill:none;stroke:var(--gold-d);flex:0 0 auto}
.cc-select{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font:500 12px/1.2 var(--sans);letter-spacing:.02em;width:100%;min-width:0;cursor:pointer;padding:14px 16px 14px 0}
.cc-select option{font-family:var(--sans);color:#17363d;background:#fff}
.tel:focus-within .cc-wrap{background:#e9f3f2}
.tel.bad .cc-wrap{border-color:#d93a5b}
@media(max-width:600px){.cc-wrap{min-width:118px;padding-left:8px}.cc-select{font-size:11px}.dbook{padding:11px 14px}}


/* ========================================================================== *
   V7 POLISH — crisp country picker + no glass/blur treatment
   ========================================================================== */

/* Keep the page crisp: no translucent glass or backdrop blur. */
.hdr,
.hdr.solid,
.mbar,
.pop {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.hdr,
.hdr.solid {
  background: #ffffff !important;
}
.mbar {
  background: #ffffff !important;
}
.pop {
  background: #173b43 !important;
}

/* Phone field */
.tel {
  position: relative;
  overflow: visible !important;
  background: #fff !important;
}
.tel .cc-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 154px;
  height: 100%;
  padding: 0 12px 0 14px;
  background: #f7faf9 !important;
  border-right: 1px solid #d5dfdd;
  cursor: pointer;
  user-select: none;
}
.tel .cc-wrap > svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  stroke: var(--gold-d);
}
.cc-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
.cc-current-main {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.cc-country {
  max-width: 78px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #334746;
  font: 500 12px/1 var(--sans);
}
.cc-code {
  color: var(--ink);
  font: 600 13px/1 var(--sans);
  letter-spacing: .01em;
}
.cc-chevron {
  width: 7px !important;
  height: 7px !important;
  border-right: 1.5px solid #6d7774;
  border-bottom: 1.5px solid #6d7774;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
  flex: 0 0 auto;
}
.cc-wrap.open .cc-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}
.cc-menu {
  position: absolute;
  left: -1px;
  top: calc(100% + 8px);
  width: 280px;
  max-height: 300px;
  overflow-y: auto;
  padding: 7px;
  z-index: 120;
  background: #fff;
  border: 1px solid #d7e1df;
  border-radius: 14px;
  box-shadow: 0 20px 45px rgba(23,59,67,.16);
  display: none;
}
.cc-wrap.open .cc-menu { display: block; }
.cc-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #334746;
  cursor: pointer;
  text-align: left;
  font: 400 13px/1.2 var(--sans);
}
.cc-option:hover,
.cc-option:focus-visible {
  outline: none;
  background: #edf5f4;
}
.cc-option.active {
  background: #e5f0ee;
  color: #173b43;
  font-weight: 500;
}
.cc-option-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-option-code { flex: 0 0 auto; color: var(--gold-d); font-weight: 600; }
.cc-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.tel:focus-within .cc-wrap { background: #f7faf9 !important; }

@media (max-width: 600px) {
  .tel .cc-wrap { min-width: 132px; padding-left: 11px; padding-right: 10px; }
  .cc-country { max-width: 58px; }
  .cc-menu { width: min(280px, calc(100vw - 44px)); }
}

/* ========================================================================== *
   V8 — CRISP IMAGERY + LOGO FIX + REFINED FOOTER
   ========================================================================== */

/* Keep the photography sharp. No blur, wash, or translucent image treatment. */
.hero::before,
.hero::after,
.fold::before {
  display: none !important;
  background: none !important;
}

.hero-img,
.fold .bgimg,
.final .bgimg {
  filter: none !important;
  opacity: 1 !important;
}

/* Preserve readable hero content without putting a translucent layer over the photograph. */
.hero .wrap {
  text-shadow: 0 1px 1px rgba(255,255,255,.12);
}

/* Second image-led section: crisp photograph + readable editorial copy. */
.fold.dark h2,
.fold.dark .lede {
  color: var(--ink) !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.16);
}

.fold.dark .label {
  color: var(--gold-d) !important;
}

/* Cordelia logo: never crop the source artwork. */
.brand-cordelia {
  width: 76px !important;
  height: 76px !important;
  flex: 0 0 76px !important;
  overflow: visible !important;
  filter: none !important;
}

.brand-cordelia img {
  width: 72px !important;
  height: 72px !important;
  max-width: none !important;
  object-fit: contain !important;
}

.brand-divider {
  height: 44px !important;
}

/* A more polished marine footer: structured, crisp and less empty. */
footer {
  position: relative;
  background: #173f48 !important;
  color: rgba(255,255,255,.72);
  padding: 72px 0 34px !important;
  overflow: hidden;
}

footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d8bf83 20%, #d8bf83 80%, transparent);
  opacity: .9;
}

footer::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 220px;
  right: -180px;
  bottom: -140px;
  border-radius: 50%;
  border: 1px solid rgba(216,191,131,.14);
  pointer-events: none;
}

footer .wrap {
  position: relative;
  z-index: 1;
}

.fgrid {
  grid-template-columns: minmax(280px,1.55fr) minmax(180px,.8fr) minmax(180px,.8fr) !important;
  gap: 64px !important;
  padding-bottom: 46px !important;
  border-bottom: 1px solid rgba(216,191,131,.18) !important;
}

.footer-brand {
  max-width: 360px !important;
  gap: 18px !important;
}

.footer-brand img {
  width: 225px !important;
  height: auto !important;
  filter: none !important;
}

.footer-brand span {
  max-width: 310px;
  color: rgba(255,255,255,.68) !important;
  line-height: 1.8 !important;
}

footer h4 {
  color: #d8bf83 !important;
  font-size: 9px !important;
  letter-spacing: .34em !important;
  margin-bottom: 16px !important;
}

footer a:not(.footer-brand) {
  color: #fff !important;
  font-size: 15px;
  letter-spacing: .015em;
}

footer a:not(.footer-brand):hover {
  color: #d8bf83 !important;
}

.footer-subhead {
  margin-top: 25px !important;
}

.legal {
  padding-top: 24px !important;
  max-width: 1040px;
  color: rgba(255,255,255,.46) !important;
  font-size: 11px !important;
  line-height: 1.8 !important;
}

@media (max-width: 760px) {
  .brand-cordelia {
    width: 64px !important;
    height: 64px !important;
    flex-basis: 64px !important;
  }

  .brand-cordelia img {
    width: 62px !important;
    height: 62px !important;
  }

  .brand-divider {
    height: 34px !important;
  }

  .fgrid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  footer {
    padding: 58px 0 30px !important;
  }
}


/* V9 TEXT VISIBILITY FIXES — crisp, no blur/opacity overlays */
.hero .wrap, .fold .inner { text-shadow: none !important; }
.hero h1, .hero h2, .hero h3, .hero .lede, .hero .kicker, .hero .hero-signature, .hero .facts, .hero .hprice, .hero .acts { position: relative; z-index: 3; }
.hero h1 { color: #153d46 !important; }
.hero h1 .au { color: #a57c35 !important; }
.hero .lede { color: #435f66 !important; }
.hero .hero-signature, .hero .kicker .dt { color: #5d6d71 !important; }
.hero .kicker .brand { color: #9b7433 !important; }
.fold .inner {
  background: #f7faf8 !important;
  color: #153d46 !important;
  padding: 42px 52px 46px !important;
  border: 1px solid rgba(23,63,72,.12);
  border-radius: 2px;
  box-shadow: 0 24px 60px rgba(23,63,72,.12);
}
.fold h2, .fold.dark h2, .fold.dark h3 { color: #153d46 !important; }
.fold h2 .au { color: #a57c35 !important; }
.fold .lede, .fold.dark .lede { color: #53696f !important; }
.fold .label, .fold.dark .label { color: #9b7433 !important; }
.fold .btn-ghost { background: #fff !important; color: #153d46 !important; }
.fold .btn-cta { background: #176875 !important; color: #fff !important; }
.footer, .final { color: #fff; }
.footer h3, .footer h4, .footer p, .footer li, .footer a, .footer span { opacity: 1 !important; visibility: visible !important; }
.footer a, .footer li, .footer p, .footer span { color: rgba(255,255,255,.86); }
.footer .footer-subhead { color: #d9bd7c !important; }
.brand-cordelia { overflow: visible !important; }
.brand-cordelia img { object-fit: contain !important; object-position: center !important; }

/* V10 — CLEAN LUXURY COMPOSITION
   No blur, no translucent wash, no text floating over faded photography. */
:root{
  --v10-ink:#173f48;
  --v10-muted:#667b7f;
  --v10-gold:#a77b34;
  --v10-line:#d9e4e2;
  --v10-surface:#f5f9f8;
  --v10-teal:#1c6872;
}

/* Header: give the full Cordelia lockup enough vertical room. */
.site-header,.header,.topbar,header{overflow:visible !important;}
.brand-lockup{align-items:center !important; min-height:84px !important; overflow:visible !important;}
.brand-cordelia{width:94px !important;height:82px !important;flex:0 0 94px !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:visible !important;}
.brand-cordelia img{width:86px !important;height:86px !important;max-width:86px !important;max-height:86px !important;object-fit:contain !important;object-position:center !important;display:block !important;}

/* HERO: crisp photograph on the right, solid editorial copy panel on the left. */
.hero{background:#f4f8f7 !important;isolation:isolate !important;overflow:hidden !important;}
.hero-img{position:absolute !important;inset:0 0 0 34% !important;width:66% !important;height:100% !important;object-fit:cover !important;filter:none !important;opacity:1 !important;z-index:0 !important;}
.hero:before,.hero:after{display:none !important;content:none !important;}
.hero .wrap{position:relative !important;z-index:2 !important;width:min(1240px,calc(100% - 64px)) !important;min-height:720px !important;display:flex !important;align-items:center !important;padding:72px 0 !important;}
.hero .wrap:before{content:"" !important;position:absolute !important;z-index:-1 !important;left:-120px !important;top:0 !important;bottom:0 !important;width:58% !important;background:#f4f8f7 !important;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%) !important;}
.hero h1,.hero .lede,.hero .hero-signature,.hero .kicker,.hero .facts,.hero .hprice,.hero .acts{max-width:610px !important;}
.hero h1{font-size:clamp(54px,5.4vw,88px) !important;line-height:.98 !important;color:var(--v10-ink) !important;letter-spacing:-.035em !important;}
.hero h1 .au{color:var(--v10-gold) !important;}
.hero .lede{color:#526b70 !important;max-width:560px !important;}
.hero .facts{background:#fff !important;border:1px solid var(--v10-line) !important;box-shadow:0 18px 45px rgba(23,63,72,.08) !important;}
.hero .acts .btn{box-shadow:none !important;}

/* Quote card: solid, sharp and premium. */
.quote-card,.hero .quote-card,.lead-card,.form-card{background:#fff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:0 24px 60px rgba(23,63,72,.13) !important;border:1px solid #d8e3e1 !important;}

/* Second photography section: split image and copy instead of text over a washed image. */
.fold{background:#fff !important;display:grid !important;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr) !important;min-height:650px !important;overflow:hidden !important;}
.fold .bgimg{position:relative !important;inset:auto !important;grid-column:1 !important;grid-row:1 !important;width:100% !important;height:100% !important;min-height:650px !important;object-fit:cover !important;filter:none !important;opacity:1 !important;}
.fold .inner{grid-column:2 !important;grid-row:1 !important;align-self:stretch !important;margin:0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:#f5f9f8 !important;padding:86px clamp(44px,6vw,96px) !important;display:flex !important;flex-direction:column !important;justify-content:center !important;}
.fold .inner:before,.fold .inner:after{display:none !important;}
.fold h2{font-size:clamp(42px,4.2vw,70px) !important;line-height:1.02 !important;color:var(--v10-ink) !important;}
.fold .lede{color:#607478 !important;max-width:560px !important;}

/* Remove any remaining generic image wash/blur rules. */
.fold:before,.fold:after,.final:before,.final:after{display:none !important;background:none !important;filter:none !important;opacity:1 !important;}
.fold .bgimg,.final .bgimg{filter:none !important;opacity:1 !important;}

/* Final CTA: light editorial panel, with a solid marine strip rather than a translucent effect. */
.final{background:#f4f8f7 !important;min-height:430px !important;position:relative !important;overflow:hidden !important;}
.final:before,.final:after{display:none !important;}
.final .inner{background:#f4f8f7 !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}

/* Footer: stronger hierarchy and less empty space. */
footer{background:#174c55 !important;padding:64px 0 28px !important;}
footer .fgrid{max-width:1240px !important;margin:0 auto !important;}
.footer-brand img{width:205px !important;}
footer .legal{border-top:1px solid rgba(216,191,131,.18) !important;margin-top:38px !important;padding-top:22px !important;}

@media (max-width:900px){
  .hero .wrap{width:min(100% - 36px,720px) !important;min-height:760px !important;padding:48px 0 !important;align-items:flex-end !important;}
  .hero-img{inset:0 0 auto 0 !important;width:100% !important;height:48% !important;}
  .hero .wrap:before{left:-20px !important;right:-20px !important;top:34% !important;bottom:-20px !important;width:auto !important;height:auto !important;clip-path:none !important;}
  .fold{display:flex !important;flex-direction:column !important;}
  .fold .bgimg{width:100% !important;height:54vw !important;min-height:360px !important;max-height:520px !important;}
  .fold .inner{padding:56px 28px !important;}
  .brand-cordelia{width:78px !important;height:72px !important;flex-basis:78px !important;}
  .brand-cordelia img{width:76px !important;height:76px !important;}
}

/* =========================================================
   V11 — QUIET LUXURY / CAMELLIAS-INSPIRED EDITORIAL THEME
   Inspired by the restrained, spacious presentation of luxury
   residences: warm-white surfaces, ink typography, fine rules,
   muted champagne accents and generous whitespace.
   No blur, no translucent image washes.
   ========================================================= */
:root{
  --q-ink:#1d2930;
  --q-ink-soft:#4f5c61;
  --q-stone:#f6f5f1;
  --q-white:#ffffff;
  --q-gold:#ad8a4c;
  --q-gold-soft:#c7ad7a;
  --q-line:#dedbd3;
  --q-teal:#1f5e63;
  --q-teal-dark:#173f44;
  --q-shadow:0 18px 50px rgba(30,38,41,.08);
}

html{background:var(--q-white)}
body{background:var(--q-white);color:var(--q-ink-soft);font-family:var(--sans);font-weight:300;letter-spacing:.005em}
.wrap{width:min(1280px,88%)}
h1,h2,h3{font-family:var(--display);color:var(--q-ink);font-weight:500}

/* Header — clean architectural bar */
.hdr{
  position:sticky !important;
  top:0 !important;
  background:#fff !important;
  padding:14px 0 !important;
  box-shadow:0 1px 0 rgba(29,41,48,.10) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.hdr.solid{background:#fff !important;padding:11px 0 !important;box-shadow:0 1px 0 rgba(29,41,48,.12) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.hdr .wrap{min-height:78px}
.brand-lockup{min-height:76px !important;gap:18px !important}
.brand-sea{width:170px !important;display:flex !important;align-items:center !important}
.brand-sea img{width:170px !important;height:auto !important;object-fit:contain !important}
.brand-divider{height:44px !important;width:1px !important;background:var(--q-line) !important}
.brand-cordelia{width:82px !important;height:76px !important;flex:0 0 82px !important;overflow:visible !important}
.brand-cordelia img{width:78px !important;height:78px !important;max-width:78px !important;max-height:78px !important;object-fit:contain !important}
.hnav{gap:12px !important}
.hphone,.hwa{border-radius:2px !important;box-shadow:none !important}
.hphone{border:1px solid var(--q-line) !important;background:#fff !important;color:var(--q-ink) !important}
.hwa{background:var(--q-teal) !important;color:#fff !important}
.hphone i{background:var(--q-teal) !important}
.hphone small{color:var(--q-gold) !important}

/* Hero — generous luxury editorial composition */
.hero{
  position:relative !important;
  min-height:760px !important;
  background:var(--q-stone) !important;
  color:var(--q-ink) !important;
  overflow:hidden !important;
}
.hero-img{
  position:absolute !important;
  inset:0 0 0 42% !important;
  width:58% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  opacity:1 !important;
  filter:none !important;
  z-index:0 !important;
}
.hero:before,.hero:after{display:none !important}
.hero .wrap{
  position:relative !important;
  z-index:2 !important;
  min-height:760px !important;
  width:min(1280px,88%) !important;
  display:grid !important;
  grid-template-columns:minmax(0,42%) minmax(0,58%) !important;
  align-items:center !important;
  padding:76px 0 !important;
}
.hero .wrap > div:first-child{
  background:#f6f5f1 !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:56px 62px 56px 0 !important;
  position:relative !important;
}
.hero .wrap > div:first-child:after{
  content:"" !important;
  position:absolute !important;
  right:0 !important;
  top:16% !important;
  bottom:16% !important;
  width:1px !important;
  background:var(--q-line) !important;
}
.hero .kicker{color:var(--q-gold) !important;font-size:12px !important;letter-spacing:.25em !important;text-transform:uppercase !important}
.hero .kicker .brand{color:var(--q-gold) !important}
.hero .kicker .dt{color:#788085 !important}
.hero .sep{background:var(--q-gold) !important}
.hero .hero-signature{color:#7a817f !important;font-size:10px !important;letter-spacing:.30em !important;text-transform:uppercase !important;margin:24px 0 28px !important}
.hero .hero-signature span{background:var(--q-gold) !important}
.hero h1{
  font-size:clamp(52px,5.2vw,86px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
  color:var(--q-ink) !important;
  margin-bottom:28px !important;
}
.hero h1 .au{color:var(--q-gold) !important;background:none !important}
.hero .lede{color:#626d70 !important;font-size:17px !important;line-height:1.75 !important;max-width:520px !important}
.hero .facts{margin-top:30px !important;background:#fff !important;border:1px solid var(--q-line) !important;box-shadow:none !important;border-radius:0 !important}
.hero .facts div{border-right:1px solid var(--q-line) !important}
.hero .facts div:last-child{border-right:0 !important}
.hero .facts small{color:var(--q-gold) !important;letter-spacing:.22em !important}
.hero .facts b{color:var(--q-ink) !important;font-family:var(--display) !important;font-weight:500 !important}
.hero .hprice{margin-top:26px !important;color:var(--q-gold) !important}
.hero .hprice .amt{font-family:var(--display) !important;font-size:46px !important}
.hero .hprice .pp{color:#727c80 !important}
.hero .acts{margin-top:26px !important}
.hero .acts .btn{border-radius:0 !important;height:54px !important;box-shadow:none !important}
.hero .btn-wa{background:var(--q-teal) !important}
.hero .btn-ghost{background:#fff !important;color:var(--q-ink) !important;border:1px solid var(--q-line) !important}

/* Quote card */
.fcard{
  align-self:center !important;
  justify-self:end !important;
  width:min(470px,92%) !important;
  margin-right:30px !important;
  border-radius:0 !important;
  background:#fff !important;
  border:1px solid var(--q-line) !important;
  box-shadow:0 24px 70px rgba(25,35,39,.16) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:38px 38px 32px !important;
}
.fhead{border-top:2px solid var(--q-gold) !important;padding-top:18px !important}
.avail{color:var(--q-gold) !important;letter-spacing:.18em !important}
.avail i{background:var(--q-gold) !important}
.fcard h3{color:var(--q-ink) !important;font-size:35px !important}
.fsub-t{color:#747e82 !important}
.fld label{color:#70797c !important;letter-spacing:.20em !important}
.inp,.cc-wrap{border:1px solid #d8dcd8 !important;border-radius:0 !important;background:#fff !important;color:var(--q-ink) !important}
.inp:focus{border-color:var(--q-gold) !important;box-shadow:0 0 0 2px rgba(173,138,76,.08) !important}
.fbtn{border-radius:0 !important;background:var(--q-teal) !important;box-shadow:none !important}
.trust{color:#7c8587 !important}

/* Country selector — restrained luxury */
.cc-wrap{background:#fff !important}
.cc-current{background:#fff !important;color:var(--q-ink) !important;border:0 !important;border-radius:0 !important}
.cc-menu{border:1px solid var(--q-line) !important;border-radius:0 !important;box-shadow:0 22px 45px rgba(25,35,39,.14) !important;background:#fff !important}
.cc-option{color:var(--q-ink) !important;border-radius:0 !important}
.cc-option:hover,.cc-option.active{background:#f4f2ec !important;color:var(--q-ink) !important}

/* Section rhythm */
.sec{padding:112px 0 !important;background:#fff !important}
.shead{max-width:760px !important}
.label{color:var(--q-gold) !important;letter-spacing:.30em !important}
.label:before,.label:after{background:var(--q-gold) !important}
.shead h2{color:var(--q-ink) !important;font-size:clamp(44px,5vw,70px) !important}
.shead p{color:#6d777a !important}

/* Editorial image/content sections */
.fold{background:#fff !important}
.fold .inner{background:#f6f5f1 !important;color:var(--q-ink) !important}
.fold h2{color:var(--q-ink) !important}
.fold h2 .au{color:var(--q-gold) !important;background:none !important}
.fold .lede{color:#687477 !important}
.fold .label{color:var(--q-gold) !important}

/* Itinerary / cards — architectural rather than soft/glassy */
.itin,.dcard,.icard,.tile,.offer-box,.bento{border-radius:0 !important}
.dcard,.icard,.tile,.offer-box{background:#fff !important;border:1px solid var(--q-line) !important;box-shadow:none !important}
.dcard:hover,.icard:hover,.tile:hover{transform:translateY(-4px) !important;box-shadow:var(--q-shadow) !important}
.dcard .cap,.icard .cap,.tile .cap{color:var(--q-gold) !important}
.dcard h3,.icard h3,.tile h3{color:var(--q-ink) !important}
.dcard p,.icard p,.tile p{color:#687477 !important}

/* Gallery */
.gal{background:#f6f5f1 !important;padding:112px 0 !important}
.slider{border-radius:0 !important;box-shadow:none !important;border:1px solid var(--q-line) !important;background:#fff !important}
.slide,.fimg,.dimg{border-radius:0 !important}
.sctrl{border-radius:0 !important;border:1px solid var(--q-line) !important;background:#fff !important;color:var(--q-ink) !important;box-shadow:none !important}
.thumbs{background:#f6f5f1 !important}
.thumb{border-radius:0 !important}

/* Final CTA — reference-like solid field */
.final{background:var(--q-teal-dark) !important;color:#fff !important;min-height:470px !important}
.final .inner{background:transparent !important;color:#fff !important;box-shadow:none !important}
.final h2{color:#fff !important;font-size:clamp(48px,5.4vw,76px) !important}
.final h2 .au{color:#d2b578 !important;background:none !important}
.final .lede{color:rgba(255,255,255,.78) !important}
.final .btn-cta,.final .btn-gold{border-radius:0 !important;box-shadow:none !important;background:#fff !important;color:var(--q-teal-dark) !important}
.final .btn-ghost{border-radius:0 !important;border-color:rgba(255,255,255,.4) !important;background:transparent !important;color:#fff !important}

/* Footer — deep marine, clean columns */
footer{background:#143f45 !important;padding:76px 0 28px !important}
.footer-brand img{width:215px !important}
.footer-subhead{color:#d0b274 !important;letter-spacing:.24em !important}
footer a,footer p,footer li,footer span{color:rgba(255,255,255,.78) !important}
footer a:hover{color:#fff !important}
footer .legal{border-top:1px solid rgba(208,178,116,.25) !important}

@media(max-width:900px){
  .hdr{position:sticky !important;padding:10px 0 !important}
  .hdr .wrap{min-height:66px}
  .brand-sea{width:142px !important}.brand-sea img{width:142px !important}
  .brand-cordelia{width:68px !important;height:64px !important;flex-basis:68px !important}.brand-cordelia img{width:66px !important;height:66px !important}
  .hero{min-height:0 !important}
  .hero-img{position:relative !important;inset:auto !important;width:100% !important;height:54vw !important;min-height:320px !important;max-height:520px !important}
  .hero .wrap{display:flex !important;flex-direction:column !important;min-height:0 !important;width:100% !important;padding:0 !important}
  .hero .wrap > div:first-child{width:100% !important;padding:54px 7% 62px !important}
  .hero .wrap > div:first-child:after{display:none !important}
  .fcard{width:min(92%,500px) !important;margin:30px auto 50px !important}
  .sec,.gal{padding:76px 0 !important}
}


/* ==========================================================================
   V13 — CONTENT CLARITY / CRISP LUXURY POLISH
   Keeps V12 structure and interactions. Only improves contrast/readability,
   removes translucent/blurred surfaces, and prevents text from disappearing.
   ========================================================================== */

:root{
  --v13-ink:#18333b;
  --v13-muted:#5f6f74;
  --v13-gold:#a98245;
  --v13-gold-soft:#c5a86a;
  --v13-teal:#17606a;
  --v13-teal-deep:#123f48;
  --v13-paper:#fbfaf7;
  --v13-line:#dfe3df;
}

/* Crisp header — never translucent or blurred */
.hdr,
.hdr.solid{
  background:#ffffff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
  box-shadow:0 1px 0 rgba(24,51,59,.10),0 8px 28px rgba(24,51,59,.05) !important;
}
.hdr .wrap{position:relative;z-index:3}

/* Make every major text block explicitly readable */
.hero h1,.hero h2,.hero h3,
.sec h1,.sec h2,.sec h3,
.shead h2,.faq-title,
.dcard h3,.icard h4,.offer-txt h2{
  color:var(--v13-ink) !important;
}
.hero .lede,.shead .lede,.dcard p,.tile .cap p,
.fsub-t,.offer-txt .per,.faq details p{
  color:var(--v13-muted) !important;
}
.hero .kicker .brand,.hero .hero-signature,
.label,.dcard .dt,.facts small{
  color:var(--v13-gold) !important;
}
.hero h1 .au,.shead h2 .au,.faq-title .au,.offer-txt h2 .au{
  color:var(--v13-gold) !important;
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
}

/* HERO: image stays sharp; text area is a real solid editorial surface */
.hero{
  background:#f4f5f2 !important;
}
.hero-img{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
.hero .wrap > div:first-child{
  background:#f4f5f2 !important;
}
.hero .facts{
  background:#ffffff !important;
  opacity:1 !important;
}
.hero .facts b{color:var(--v13-ink) !important}
.hero .hprice .amt{
  color:var(--v13-gold) !important;
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
}
.hero .hprice .pp{color:var(--v13-muted) !important}

/* Quote form — clean, solid and high contrast */
.fcard{
  background:#ffffff !important;
  opacity:1 !important;
  border:1px solid #d8dfdc !important;
  box-shadow:0 22px 55px rgba(20,42,48,.13) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.fcard::before{display:none !important}
.fcard h3{color:var(--v13-ink) !important}
.fsub-t{color:var(--v13-muted) !important}
.fld label{color:#56666b !important}
.inp,.tel,.cc-wrap{
  background:#fff !important;
  border-color:#cfd9d7 !important;
  color:var(--v13-ink) !important;
}
.inp::placeholder,.tel input::placeholder{color:#8b989c !important}
.fbtn{background:var(--v13-teal) !important;color:#fff !important}

/* STATS */
.stats{
  background:var(--v13-teal-deep) !important;
  border-color:rgba(197,168,106,.28) !important;
}
.stats b{color:var(--v13-gold-soft) !important;background:none !important;-webkit-text-fill-color:currentColor !important}
.stats span{color:rgba(255,255,255,.82) !important}

/* SECOND FEATURE IMAGE — no blur/wash; put copy on a solid readable card */
.fold{
  min-height:760px !important;
  background:#e9eeeb !important;
}
.fold .bgimg{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
.fold::before{
  background:linear-gradient(90deg,
    rgba(255,255,255,.06) 0%,
    rgba(255,255,255,0) 100%) !important;
}
.fold .inner{
  max-width:760px !important;
  padding:48px 56px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(24,51,59,.10) !important;
  box-shadow:0 28px 70px rgba(20,42,48,.15) !important;
  text-align:center !important;
}
.fold h2{color:var(--v13-ink) !important}
.fold .lede{color:var(--v13-muted) !important}
.fold .label{color:var(--v13-gold) !important}
.fold h2 .au{color:var(--v13-gold) !important;background:none !important;-webkit-text-fill-color:currentColor !important}
.fold .btn-ghost{
  color:var(--v13-ink) !important;
  background:#fff !important;
  border-color:#ccd7d4 !important;
}

/* EXPERIENCE CARDS — text always sits on a readable solid caption */
.tile::after{
  background:linear-gradient(180deg,rgba(10,35,40,0) 35%,rgba(10,35,40,.82) 100%) !important;
}
.tile .cap{
  color:#fff !important;
  text-shadow:none !important;
}
.tile .cap h3{color:#fff !important}
.tile .cap p{color:rgba(255,255,255,.88) !important}
.tile .cap small{color:#e3c98d !important}

/* GALLERY — retain photography but give captions a solid editorial base */
.gal{
  background:#f4f5f2 !important;
}
.gal .shead h2{color:var(--v13-ink) !important}
.gal .shead .lede{color:var(--v13-muted) !important}
.slider{
  background:#173b42 !important;
}
.slide::after{
  background:linear-gradient(180deg,rgba(8,31,36,0) 28%,rgba(8,31,36,.88) 100%) !important;
}
.scap{
  left:clamp(24px,5vw,72px) !important;
  bottom:clamp(70px,8vw,108px) !important;
  max-width:650px !important;
  padding:24px 28px !important;
  background:rgba(9,40,47,.90) !important;
  border-left:3px solid var(--v13-gold-soft) !important;
  color:#fff !important;
}
.scap small{color:#e3c98d !important}
.scap h3{color:#fff !important}
.scap p{color:rgba(255,255,255,.88) !important}
.sctrl button{
  background:#fff !important;
  color:var(--v13-ink) !important;
  border-color:#d6ddda !important;
  backdrop-filter:none !important;
}

/* ITINERARY — strong contrast on white cards */
.itin{background:#f7f8f5 !important}
.dcard{
  background:#fff !important;
  border:1px solid #dfe4e1 !important;
  color:var(--v13-ink) !important;
  box-shadow:0 14px 35px rgba(24,51,59,.07) !important;
}
.dcard .dbody{background:#fff !important}
.dcard .dt{color:var(--v13-gold) !important}
.dcard h3{color:var(--v13-ink) !important}
.dcard p{color:var(--v13-muted) !important}
.dcard .times{border-color:#e2e6e3 !important}
.dcard .times small{color:#718085 !important}
.dcard .times b{color:var(--v13-ink) !important}
.dbook{
  background:var(--v13-teal) !important;
  color:#fff !important;
  border:0 !important;
  height:48px;
  font-size:18px;
  font-weight:bold;
}

/* INCLUSIONS — keep dark brand section but guarantee text contrast */
.inc{
  background:var(--v13-teal-deep) !important;
}
.inc .shead h2,.inc .shead .lede{color:#fff !important}
.inc .shead .lede{color:rgba(255,255,255,.80) !important}
.icard{
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(255,255,255,.17) !important;
}
.icard:hover{background:rgba(255,255,255,.075) !important}
.icard h4{color:#fff !important}
.icard svg{stroke:#d8bd7d !important}
.inc .note{color:rgba(255,255,255,.70) !important}

/* OFFER — solid readable split */
.offer-box{
  background:#fff !important;
  border:1px solid #dfe4e1 !important;
  box-shadow:0 28px 70px rgba(24,51,59,.10) !important;
}
.offer-txt{
  background:var(--v13-teal-deep) !important;
  color:#fff !important;
}
.offer-txt h2{color:#fff !important}
.offer-txt h2 .au{color:#d8bd7d !important}
.offer-txt .price{color:#d8bd7d !important;background:none !important;-webkit-text-fill-color:currentColor !important}
.offer-txt li{color:rgba(255,255,255,.88) !important;border-color:rgba(255,255,255,.14) !important}
.offer-txt li svg{stroke:#d8bd7d !important}

/* FAQ */
.faq{background:#f7f8f5 !important}
.faq-title{color:var(--v13-ink) !important}
.faq details{
  background:#fff !important;
  border:1px solid #dfe4e1 !important;
  border-radius:0 !important;
}
.faq summary{color:var(--v13-ink) !important}
.faq details p{color:var(--v13-muted) !important}

/* FINAL CTA — use a solid brand field; no image wash */
.final{
  background:var(--v13-teal-deep) !important;
}
.final .bgimg{display:none !important}
.final::before{display:none !important}
.final .inner{background:transparent !important}
.final h2{color:#fff !important}
.final h2 .au{color:#d8bd7d !important}
.final .lede{color:rgba(255,255,255,.82) !important}
.final .label{color:#d8bd7d !important}
.final .btn-cta{background:#fff !important;color:var(--v13-teal-deep) !important}
.final .btn-ghost{color:#fff !important;border-color:rgba(255,255,255,.45) !important;background:transparent !important}

/* Footer */
footer{
  background:#123f48 !important;
  color:rgba(255,255,255,.78) !important;
}
footer h4,.footer-subhead{color:#d8bd7d !important}
footer a,footer span,footer p{color:rgba(255,255,255,.80) !important}
footer a:hover{color:#fff !important}
footer .legal{color:rgb(255 255 255 / 97%) !important}

/* Never allow opacity/filters to hide lazy-loaded content */
.lz{filter:none !important}
img{opacity:1 !important}

/* Responsive readability */
@media(max-width:900px){
  .fold .inner{
    width:min(92%,680px) !important;
    padding:38px 28px !important;
  }
  .scap{
    right:20px !important;
    max-width:none !important;
  }
}
@media(max-width:560px){
  .fold{min-height:620px !important}
  .fold .inner{padding:30px 22px !important}
  .scap{
    left:14px !important;
    right:14px !important;
    bottom:60px !important;
    padding:18px 18px !important;
  }
  .scap h3{font-size:32px !important}
  .scap p{font-size:14px !important}
}

/* =========================================================
   V14 POLISH — shorter hero, refined type & small UI details
   ========================================================= */
:root{
  --v14-ink:#18343b;
  --v14-body:#52646a;
  --v14-gold:#a77b36;
  --v14-gold-soft:#c5a56a;
  --v14-teal:#1b6871;
  --v14-line:#dfe5e3;
}

/* HERO — reduce the oversized banner without changing its content */
.hero{
  min-height:clamp(650px,78svh,820px) !important;
  height:auto !important;
}
.hero .wrap{
  padding:116px 0 78px !important;
  gap:54px !important;
}
.hero h1{
  font-size:clamp(44px,5.25vw,76px) !important;
  line-height:1.02 !important;
  letter-spacing:-.025em !important;
  margin:20px 0 18px !important;
  font-weight:600 !important;
}
.hero h1 .au{
  font-weight:500 !important;
  letter-spacing:-.03em !important;
}
.hero .lede{
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:500px !important;
}
.hero .facts{
  margin-top:30px !important;
}
.hprice{
  margin-top:27px !important;
}
.hero .acts{
  margin-top:28px !important;
}
.scroll-cue{
  bottom:18px !important;
}

/* Refine editorial typography throughout */
h1,h2,h3,.hero h1,.hero h2,.fold h2,.shead h2,.final h2{
  text-wrap:balance;
}
.hero .kicker .brand{
  font-size:18px !important;
}
.hero .hero-signature{
  letter-spacing:.25em !important;
  font-size:10px !important;
}
.shead h2{
  letter-spacing:-.02em !important;
  line-height:1.04 !important;
}

/* Cleaner, slightly more premium controls */
.btn-cta,.btn-ghost,.fbtn,.dbook,.hwa{
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease !important;
}
.btn-cta:hover,.fbtn:hover,.dbook:hover,.hwa:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 24px rgba(24,51,59,.14) !important;
}
.btn-ghost:hover{
  transform:translateY(-2px) !important;
}

/* Header proportions */
.hdr{
  padding:14px 0 !important;
}
.brand-lockup{
  min-height:58px !important;
}
.brand-sea img{
  max-height:46px !important;
  width:auto !important;
}
.brand-cordelia img{
  max-height:56px !important;
  width:auto !important;
  object-fit:contain !important;
}
.brand-divider{
  height:38px !important;
}

/* Section rhythm — slightly tighter, more editorial */
section:not(.hero){
  scroll-margin-top:84px;
}
.shead{
  margin-bottom:38px !important;
}

/* Cards: less rounded, cleaner luxury look */
.fcard,.dcard,.faq details,.offer-box,.fold .inner{
  border-radius:12px !important;
}

/* Improve text readability in the main body without changing the palette */
.fcard p,.dcard p,.fold .lede,.gal .shead .lede,.faq details p{
  line-height:1.65 !important;
}

/* Desktop */
@media(min-width:1100px){
  .hero .wrap{
    grid-template-columns:1.08fr .92fr !important;
  }
}

/* Tablet */
@media(max-width:900px){
  .hero{
    min-height:760px !important;
  }
  .hero .wrap{
    padding:108px 0 64px !important;
  }
  .hero h1{
    font-size:clamp(42px,8vw,64px) !important;
  }
}

/* Mobile */
@media(max-width:640px){
  .hero{
    min-height:720px !important;
  }
  .hero .wrap{
    padding:104px 0 52px !important;
    gap:28px !important;
  }
  .hero h1{
    font-size:clamp(40px,12vw,56px) !important;
    line-height:1.04 !important;
  }
  .hero .lede{
    font-size:15.5px !important;
  }
  .facts{
    margin-top:24px !important;
  }
  .hprice .amt{
    font-size:48px !important;
  }
  .brand-cordelia img{
    max-height:48px !important;
  }
}


/* Top banner image: exact supplied Cordelia creative. Keep the rest of the page unchanged. */
.hero#top {
    min-height: 0;
    height: auto;
    aspect-ratio: 1919 / 628;
    display: block;
    background: #fff;
}
.hero#top .hero-img.hero-banner-image {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1919 / 628;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transform: none;
    animation: none;
    z-index: 1;
}
.hero#top::before,
.hero#top::after {
    display: none;
}
.hero#top > .wrap {
    display: none;
}
@media (max-width: 700px) {
    .hero#top {
        aspect-ratio: 1919 / 628;
        min-height: 0;
    }
    .hero#top .hero-img.hero-banner-image {
        width: 100%;
        height: auto;
        aspect-ratio: 1919 / 628;
        object-fit: contain;
    }
}

/* =========================================================
   BANNER-ONLY HERO — show the supplied Cordelia banner at
   its complete aspect ratio. Do not crop it or cover it with
   the previous hero content/form.
   ========================================================= */
.hero{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  overflow:visible !important;
  background:transparent !important;
  padding:0 !important;
}
.hero-img.hero-banner-image{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:initial !important;
  object-position:center !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  animation:none !important;
  z-index:1 !important;
}
.hero .wrap{
  display:none !important;
}
.hero::before,
.hero::after{
  display:none !important;
  content:none !important;
}
@media (max-width:900px){
  .hero{
    min-height:0 !important;
    height:auto !important;
  }
  .hero-img.hero-banner-image{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:initial !important;
  }
}


/* ==========================================================================
   V17 — RESPONSIVE BANNER PAIR + BLUE POPUP BACKDROP
   Uses the supplied tall creative on mobile and wide creative on desktop.
   The source images are never cropped or covered.
   ========================================================================== */
.hero#top {
  aspect-ratio: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #ffffff !important;
}
.hero-banner-picture {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.hero#top .hero-img.hero-banner-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}
.hero#top > .wrap { display: none !important; }
.hero#top::before,
.hero#top::after { display: none !important; content: none !important; }

/* The delayed quote form sits over a deliberate Cordelia-blue backdrop. */
.pop {
  background: #243d8f !important;
  background: linear-gradient(135deg, #1e347d 0%, #2854a5 55%, #1a78a2 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.pop::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(7, 20, 65, 0.12) !important;
  pointer-events: none !important;
}
.pop .pbox {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 700px) {
  .hero#top .hero-banner-picture,
  .hero#top .hero-img.hero-banner-image {
    width: 100% !important;
  }
  .hero#top .hero-img.hero-banner-image {
    height: auto !important;
    object-fit: contain !important;
  }
}

/* V18 targeted UX refinements: transparent header at the top, solid on scroll,
   and a readable blurred backdrop for the quote popup. */
.hdr {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    transition: background .28s ease, box-shadow .28s ease, border-color .28s ease, padding .28s ease;
}
.hdr:not(.solid) .brand-sea img {
    content: url('../images/sea-of-seats-logo.png');
    filter: none;
}
.hdr:not(.solid) .brand-divider {
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.7), transparent);
}
.hdr:not(.solid) .hphone {
    color: #fff;
    border-color: rgba(255,255,255,.48);
    background: rgba(10,35,55,.16);
}
.hdr:not(.solid) .hphone small { color: rgba(255,255,255,.9); }
.hdr:not(.solid) .hphone b { color: #fff; }
.hdr:not(.solid) .hwa {
    background: rgba(18,96,109,.9);
    color: #fff;
}
.hdr.solid {
    background: rgba(255,255,255,.98) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom-color: rgba(20,43,61,.10) !important;
    box-shadow: 0 10px 30px rgba(20,43,61,.08) !important;
}
.hdr.solid .brand-sea img {
    content: url('../images/sea-of-seats-logo-dark.png');
}

.callback-tab {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 70;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 42px;
    min-height: 154px;
    padding: 14px 9px;
    border: 0;
    border-radius: 0 9px 9px 0;
    background: linear-gradient(180deg,#e74f77,#9b2d9c);
    color: #fff;
    box-shadow: 0 12px 30px rgba(80,22,70,.22);
    cursor: pointer;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font: 600 13px/1 var(--sans);
    letter-spacing: .04em;
    transition: width .2s ease, box-shadow .2s ease;
}
.callback-tab:hover {
    width: 48px;
    box-shadow: 0 14px 34px rgba(80,22,70,.3);
}
.callback-tab-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    flex: none;
}

/* Popup: keep the page visible behind a soft, readable blur instead of
   replacing it with an opaque wipeout. */
.pop {
    background: rgba(7,35,53,.30) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
}
.pop::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.08);
    pointer-events: none;
}
.pop .pbox {
    position: relative;
    z-index: 2;
}

@media (max-width: 700px) {
    .callback-tab {
        top: auto;
        bottom: 82px;
        min-height: 128px;
        width: 38px;
        border-radius: 0 8px 8px 0;
        font-size: 11px;
    }
    .callback-tab:hover { width: 42px; }
    .hdr:not(.solid) .hphone { background: rgba(10,35,55,.28); }
}

/* =========================================================
   V19 — HEADER REFINEMENT ONLY
   Keeps the V18 transparent-at-top / solid-on-scroll behavior,
   but makes the header cleaner, lighter and more balanced.
   ========================================================= */
.hdr{
  position:sticky !important;
  top:0 !important;
  z-index:80 !important;
  height:78px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:background .24s ease, box-shadow .24s ease !important;
}
.hdr .wrap{
  width:min(1360px,92%) !important;
  min-height:78px !important;
  height:78px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}
.brand-lockup{
  min-height:54px !important;
  height:54px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:6px 14px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:999px !important;
  background:rgba(8,32,48,.14) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.08) !important;
}
.brand-sea{
  width:152px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.brand-sea img{
  width:152px !important;
  height:auto !important;
  max-height:40px !important;
  object-fit:contain !important;
  object-position:center !important;
}
.brand-divider{
  width:1px !important;
  height:28px !important;
  flex:0 0 1px !important;
  background:rgba(255,255,255,.52) !important;
}
.brand-cordelia{
  width:64px !important;
  height:42px !important;
  flex:0 0 64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
.brand-cordelia img{
  width:58px !important;
  height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}
.hnav{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.hphone,.hwa{
  min-height:46px !important;
  height:46px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  box-shadow:0 8px 22px rgba(0,0,0,.10) !important;
}
.hphone{
  padding:5px 16px 5px 7px !important;
  border:1px solid rgba(255,255,255,.62) !important;
  background:rgba(255,255,255,.90) !important;
  color:#183d47 !important;
}
.hphone i{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  background:#176773 !important;
  display:grid !important;
  place-items:center !important;
}
.hphone small{
  font-size:9px !important;
  line-height:1.1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#9b7734 !important;
}
.hphone b{
  font-size:12px !important;
  letter-spacing:.08em !important;
  color:#183d47 !important;
  font-weight:500 !important;
}
.hwa{
  padding:0 20px !important;
  background:#176773 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  letter-spacing:.16em !important;
  font-size:11px !important;
  text-transform:uppercase !important;
}
.hwa .ico{width:16px !important;height:16px !important;margin-right:8px !important}
.hphone:hover,.hwa:hover{transform:translateY(-1px) !important}
.hphone,.hwa,.brand-lockup{transition:transform .2s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease !important}

/* Solid state after the first scroll: clean white navigation bar. */
.hdr.solid{
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 8px 26px rgba(19,43,53,.09) !important;
  border-bottom:1px solid #e6eceb !important;
}
.hdr.solid .brand-lockup{
  background:#fff !important;
  border-color:#e3e8e7 !important;
  box-shadow:none !important;
}
.hdr.solid .brand-divider{background:#d9dfde !important}
.hdr.solid .hphone{
  background:#fff !important;
  border-color:#dfe6e4 !important;
  box-shadow:none !important;
}
.hdr.solid .hwa{box-shadow:none !important}

@media (max-width:900px){
  .hdr,.hdr .wrap{height:70px !important;min-height:70px !important}
  .hdr .wrap{width:calc(100% - 28px) !important;gap:12px !important}
  .brand-lockup{height:48px !important;min-height:48px !important;padding:5px 10px !important;gap:10px !important}
  .brand-sea{width:128px !important;height:34px !important}
  .brand-sea img{width:128px !important;max-height:34px !important}
  .brand-divider{height:25px !important}
  .brand-cordelia{width:52px !important;height:36px !important;flex-basis:52px !important}
  .brand-cordelia img{width:50px !important;height:50px !important;max-width:50px !important;max-height:50px !important}
  .hphone{display:none !important}
  .hwa{height:42px !important;min-height:42px !important;padding:0 15px !important;font-size:10px !important}
}

@media (max-width:520px){
  .hdr .wrap{width:calc(100% - 18px) !important}
  .brand-lockup{max-width:calc(100% - 112px) !important}
  .brand-sea{width:112px !important}
  .brand-sea img{width:112px !important}
  .brand-cordelia{width:44px !important;flex-basis:44px !important}
  .brand-cordelia img{width:44px !important;height:44px !important;max-width:44px !important;max-height:44px !important}
  .hwa{padding:0 12px !important;font-size:9px !important;letter-spacing:.11em !important}
  .hwa .ico{margin-right:5px !important}
}

/* =========================================================
   V20 — CLEAN PREMIUM HEADER
   Header-only refinement. Existing page/content/functionality
   is intentionally preserved.
   ========================================================= */
.hdr{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:82px !important;
  min-height:82px !important;
  padding:0 !important;
  z-index:1000 !important;
  background:linear-gradient(180deg,rgba(4,23,38,.28) 0%,rgba(4,23,38,0) 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:background .28s ease,box-shadow .28s ease,border-color .28s ease !important;
}

.hdr .wrap{
  width:min(1320px,calc(100% - 48px)) !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}

.brand-lockup{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:18px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.brand-sea{
  order:1 !important;
  width:168px !important;
  height:auto !important;
  flex:0 0 168px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.brand-sea img{
  display:block !important;
  width:168px !important;
  height:auto !important;
  max-width:168px !important;
  max-height:46px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:none !important;
}

.brand-divider{
  order:2 !important;
  width:1px !important;
  height:38px !important;
  flex:0 0 1px !important;
  margin:0 2px !important;
  background:rgba(255,255,255,.55) !important;
  opacity:1 !important;
}

.brand-cordelia{
  order:3 !important;
  width:74px !important;
  height:62px !important;
  flex:0 0 74px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  filter:none !important;
}

.brand-cordelia img{
  display:block !important;
  width:68px !important;
  height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  object-fit:contain !important;
  object-position:center !important;
}

.hnav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  margin-left:auto !important;
}

.hphone{
  height:48px !important;
  min-height:48px !important;
  padding:4px 18px 4px 6px !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  border:1px solid rgba(255,255,255,.5) !important;
  border-radius:999px !important;
  background:rgba(5,29,46,.22) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.hphone i{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#fff !important;
  color:#176873 !important;
}

.hphone small{
  color:rgba(255,255,255,.78) !important;
  font-size:8px !important;
  letter-spacing:.22em !important;
  line-height:1.1 !important;
}

.hphone b{
  color:#fff !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
  line-height:1.2 !important;
}

.hwa{
  height:48px !important;
  min-height:48px !important;
  padding:0 21px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  background:#176873 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
}

.hphone:hover,.hwa:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12) !important;
}

/* Scrolled state: clean, solid navigation — no blur. */
.hdr.solid{
  background:#fff !important;
  border-bottom:1px solid #e4e9e8 !important;
  box-shadow:0 8px 28px rgba(17,47,58,.08) !important;
}

.hdr.solid .brand-sea img{
  content:url('../images/sea-of-seats-logo-dark.png') !important;
}

.hdr.solid .brand-divider{
  background:#cbd5d3 !important;
}

.hdr.solid .hphone{
  color:#17353d !important;
  border-color:#d9e1df !important;
  background:#fff !important;
}

.hdr.solid .hphone i{
  background:#176873 !important;
  color:#fff !important;
}

.hdr.solid .hphone small{color:#a27a38 !important}
.hdr.solid .hphone b{color:#17353d !important}

.hdr.solid .hwa{
  background:#176873 !important;
  border-color:#176873 !important;
}

@media (max-width:900px){
  .hdr,.hdr .wrap{
    height:68px !important;
    min-height:68px !important;
  }
  .hdr .wrap{
    width:calc(100% - 28px) !important;
    gap:12px !important;
  }
  .brand-lockup{
    gap:10px !important;
  }
  .brand-sea{
    width:132px !important;
    flex-basis:132px !important;
  }
  .brand-sea img{
    width:132px !important;
    max-width:132px !important;
    max-height:38px !important;
  }
  .brand-divider{
    height:28px !important;
  }
  .brand-cordelia{
    width:54px !important;
    height:48px !important;
    flex-basis:54px !important;
  }
  .brand-cordelia img{
    width:52px !important;
    height:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }
  .hnav{gap:8px !important}
  .hphone{
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:3px !important;
    justify-content:center !important;
  }
  .hphone span{display:none !important}
  .hphone i{
    width:36px !important;
    height:36px !important;
  }
  .hwa{
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    border-radius:50% !important;
  }
  .hwa span{display:none !important}
}

@media (max-width:520px){
  .hdr .wrap{width:calc(100% - 18px) !important}
  .brand-sea{width:112px !important;flex-basis:112px !important}
  .brand-sea img{width:112px !important;max-width:112px !important;max-height:32px !important}
  .brand-cordelia{width:48px !important;flex-basis:48px !important}
  .brand-cordelia img{width:46px !important;height:46px !important;max-width:46px !important;max-height:46px !important}
  .brand-divider{height:24px !important}
  .hphone{display:none !important}
}


/* HEADER SCROLL FIX START */
.hdr{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999 !important;
    padding:18px 0 !important;
    background:transparent !important;
    border-bottom:1px solid transparent !important;
    box-shadow:none !important;
    transition:
        background-color .28s ease,
        padding .28s ease,
        box-shadow .28s ease,
        border-color .28s ease,
        backdrop-filter .28s ease !important;
}

.hdr.solid{
    padding:10px 0 !important;
    background:rgba(18,7,38,.94) !important;
    border-bottom:1px solid rgba(233,207,156,.18) !important;
    box-shadow:0 8px 30px rgba(0,0,0,.18) !important;
    backdrop-filter:saturate(150%) blur(16px) !important;
    -webkit-backdrop-filter:saturate(150%) blur(16px) !important;
}

.hdr .wrap{
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
}

.logo{
    position:relative !important;
    z-index:2 !important;
    flex-shrink:0 !important;
}

.logo svg{
    transition:transform .28s ease,filter .28s ease !important;
}

.hdr.solid .logo svg{
    transform:scale(.94) !important;
}

.hnav{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.hphone{
    min-height:46px !important;
    background:rgba(18,7,38,.16) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    transition:
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        transform .25s ease !important;
}

.hwa{
    box-shadow:0 7px 20px rgba(31,170,89,.20) !important;
    transition:transform .25s ease,filter .25s ease,box-shadow .25s ease !important;
}

.hdr.solid .hphone{
    background:rgba(255,255,255,.06) !important;
    border-color:rgba(233,207,156,.30) !important;
}

.hdr.solid .hphone:hover{
    background:rgba(233,207,156,.10) !important;
}

.hphone:hover,
.hwa:hover{
    transform:translateY(-1px) !important;
}

@media(max-width:640px){
    .hdr{
        padding:10px 0 !important;
    }

    .hdr.solid{
        padding:7px 0 !important;
    }

    .hdr .wrap{
        min-height:46px !important;
    }

    .hnav{
        gap:6px !important;
    }

    .hphone{
        min-height:44px !important;
    }

    .hwa{
        height:44px !important;
        width:44px !important;
    }
}
/* HEADER SCROLL FIX END */


/* =========================================================
   FINAL LOGO SCROLL CLIPPING FIX
   IMPORTANT: preserves the existing header colors.
   Only fixes vertical sizing / overflow / flex-shrink.
   ========================================================= */

/* Keep the header and every logo wrapper tall enough in BOTH states. */
.hdr,
.hdr.solid {
  height: 88px !important;
  min-height: 88px !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.hdr .wrap,
.hdr.solid .wrap {
  height: 88px !important;
  min-height: 88px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  align-items: center !important;
}

/* Never allow the brand lockup or either logo to shrink/crop. */
.hdr .brand-lockup,
.hdr.solid .brand-lockup {
  height: 88px !important;
  min-height: 88px !important;
  max-height: none !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.hdr .brand-sea,
.hdr.solid .brand-sea {
  width: 168px !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: none !important;
  flex: 0 0 168px !important;
  overflow: visible !important;
  align-items: center !important;
}

.hdr .brand-sea img,
.hdr.solid .brand-sea img {
  display: block !important;
  width: 168px !important;
  height: auto !important;
  max-width: 168px !important;
  max-height: 52px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  overflow: visible !important;
}

/* Cordelia needs a little extra vertical breathing room because the
   source artwork is nearly square and has its own transparent margins. */
.hdr .brand-cordelia,
.hdr.solid .brand-cordelia {
  width: 82px !important;
  height: 76px !important;
  min-height: 76px !important;
  max-height: none !important;
  flex: 0 0 82px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.hdr .brand-cordelia img,
.hdr.solid .brand-cordelia img {
  display: block !important;
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
  max-width: 76px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  overflow: visible !important;
}

/* Divider follows the actual logo height rather than the old compact header. */
.hdr .brand-divider,
.hdr.solid .brand-divider {
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 1px !important;
}

/* Do not let the contact side force the brand side to shrink. */
.hdr .hnav,
.hdr.solid .hnav {
  flex-shrink: 0 !important;
}

/* Explicitly cancel any old scroll-state transform/scale rules. */
.hdr.solid .logo,
.hdr.solid .logo svg,
.hdr.solid .brand-lockup,
.hdr.solid .brand-sea,
.hdr.solid .brand-cordelia,
.hdr.solid .brand-sea img,
.hdr.solid .brand-cordelia img {
  transform: none !important;
}

/* Mobile: same principle, smaller dimensions, still no clipping. */
@media (max-width: 900px) {
  .hdr,
  .hdr.solid {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 !important;
  }

  .hdr .wrap,
  .hdr.solid .wrap {
    height: 72px !important;
    min-height: 72px !important;
  }

  .hdr .brand-lockup,
  .hdr.solid .brand-lockup {
    height: 72px !important;
    min-height: 72px !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .hdr .brand-sea,
  .hdr.solid .brand-sea {
    width: 132px !important;
    height: 46px !important;
    flex-basis: 132px !important;
  }

  .hdr .brand-sea img,
  .hdr.solid .brand-sea img {
    width: 132px !important;
    max-width: 132px !important;
    max-height: 42px !important;
  }

  .hdr .brand-divider,
  .hdr.solid .brand-divider {
    height: 30px !important;
  }

  .hdr .brand-cordelia,
  .hdr.solid .brand-cordelia {
    width: 56px !important;
    height: 58px !important;
    min-height: 58px !important;
    flex-basis: 56px !important;
  }

  .hdr .brand-cordelia img,
  .hdr.solid .brand-cordelia img {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
  }
}

@media (max-width: 520px) {
  .hdr,
  .hdr.solid,
  .hdr .wrap,
  .hdr.solid .wrap {
    height: 64px !important;
    min-height: 64px !important;
  }

  .hdr .brand-lockup,
  .hdr.solid .brand-lockup {
    height: 64px !important;
    min-height: 64px !important;
  }

  .hdr .brand-sea,
  .hdr.solid .brand-sea {
    width: 108px !important;
    height: 40px !important;
    flex-basis: 108px !important;
  }

  .hdr .brand-sea img,
  .hdr.solid .brand-sea img {
    width: 108px !important;
    max-width: 108px !important;
    max-height: 36px !important;
  }

  .hdr .brand-cordelia,
  .hdr.solid .brand-cordelia {
    width: 46px !important;
    height: 52px !important;
    min-height: 52px !important;
    flex-basis: 46px !important;
  }

  .hdr .brand-cordelia img,
  .hdr.solid .brand-cordelia img {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
  }
}



/* =========================================================
   V3 — RESTORE ORIGINAL HEADER COLORS
   Logo sizing/overflow fixes above are preserved.
   Only the header color theme is restored.
   ========================================================= */

/* Original non-scrolled header treatment */
.hdr:not(.solid) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hdr:not(.solid) .brand-sea img {
  content: url('../images/sea-of-seats-logo.png') !important;
  filter: none !important;
}

.hdr:not(.solid) .brand-divider {
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.7), transparent) !important;
}

.hdr:not(.solid) .hphone {
  color: #fff !important;
  border-color: rgba(255,255,255,.48) !important;
  background: rgba(10,35,55,.16) !important;
}

.hdr:not(.solid) .hphone small {
  color: rgba(255,255,255,.9) !important;
}

.hdr:not(.solid) .hphone b {
  color: #fff !important;
}

.hdr:not(.solid) .hwa {
  background: rgba(18,96,109,.9) !important;
  color: #fff !important;
}

/* Original scrolled/solid header treatment */
.hdr.solid {
  background: rgba(255,255,255,.98) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: rgba(20,43,61,.10) !important;
  box-shadow: 0 10px 30px rgba(20,43,61,.08) !important;
}

.hdr.solid .brand-sea img {
  content: url('../images/sea-of-seats-logo-dark.png') !important;
}

.hdr.solid .brand-divider {
  background: #cbd5d3 !important;
}

.hdr.solid .hphone {
  color: #17353d !important;
  border-color: #d9e1df !important;
  background: #fff !important;
}

.hdr.solid .hphone i {
  background: #176873 !important;
  color: #fff !important;
}

.hdr.solid .hphone small {
  color: #a27a38 !important;
}

.hdr.solid .hphone b {
  color: #17353d !important;
}

.hdr.solid .hwa {
  background: #176873 !important;
  border-color: #176873 !important;
}

/* Mobile: phone country picker shows only the dial code (no flag / country name) */
@media (max-width: 600px) {
  .tel .cc-wrap {
    min-width: 0 !important;
    width: auto !important;
    gap: 6px !important;
    padding-left: 11px !important;
    padding-right: 10px !important;
    flex: 0 0 auto !important;
  }
  .tel .cc-wrap > svg,
  .tel .cc-country { display: none !important; }
  .cc-current { gap: 6px !important; }
}

/* Header WhatsApp button in WhatsApp brand green (both header states) */
.hwa,
.hdr:not(.solid) .hwa,
.hdr.solid .hwa {
  background: #25d366 !important;
  border-color: #25d366 !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(37,211,102,.35) !important;
}
.hwa:hover,
.hdr:not(.solid) .hwa:hover,
.hdr.solid .hwa:hover {
  background: #1ebe5b !important;
  border-color: #1ebe5b !important;
}
.hwa .ico { fill: #fff !important; color: #fff !important; }

/* Tablet/mobile: tighter vertical section spacing */
@media (max-width: 900px) {
  .sec, .gal {
    padding: 36px 0 !important;
  }
}

/* Mobile: second feature image card is transparent so the photo shows through */
@media (max-width: 600px) {
  .fold .inner {
    max-width: 760px !important;
    padding: 48px 56px !important;
    background: rgb(255 255 255 / 0%) !important;
    border: 1px solid rgba(24, 51, 59, .10) !important;
    box-shadow: 0 28px 70px rgba(20, 42, 48, .15) !important;
    text-align: center !important;
  }
}

/* Mobile bottom bar: Call button in pink with bold white text + icon */
@media (max-width: 900px) {
  .mbar a.mcall,
  .mbar a.mcall .ico {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-weight: bold;
    font-size: 18px;
    background: #e34d79;
  }
}

/* Header WhatsApp button: larger icon, no gap after it */
.hwa .ico {
  width: 46px !important;
  height: 31px !important;
  margin-right: 0 !important;
}

/* Mobile: larger FAQ question rows */
@media (max-width: 640px) {
  summary {
    font-size: 19px;
    padding: 12px 15px;
  }
}

/* H1 keyword line above the hero headline */
.hero h1 .h1-pre {
  display: block;
  margin-bottom: 12px;
  font: 500 13px/1.3 var(--sans);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--champ);
}

/* Booking guide (SEO content) */
.booking-guide .bg-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.booking-guide article {
  padding: 30px 28px;
  background: #fff;
  border: 1px solid var(--v13-line);
}
.booking-guide h3 {
  margin: 0 0 14px;
  font-family: 'Bodoni Moda', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.25;
  color: var(--v13-ink);
}
.booking-guide p {
  margin: 0 0 12px;
  font: 400 16px/1.7 var(--sans);
  color: var(--v13-muted);
}
.booking-guide p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .booking-guide .bg-grid { grid-template-columns: 1fr; gap: 16px; }
  .booking-guide article { padding: 24px 20px; }
}

/* Inclusions: "Not included" list (dark section) */
.inc .exc {
  margin-top: 40px;
  padding: 30px 32px;
  border: 1px solid rgba(233,207,156,.28);
  background: rgba(255,255,255,.04);
}
.inc .exc h3 {
  margin: 0 0 8px;
  font-family: 'Bodoni Moda', Georgia, serif;
  font-weight: 500;
  font-size: 24px;
  color: #fff !important;
}
.inc .exc p {
  margin: 0 0 18px;
  font: 400 15px/1.6 var(--sans);
  color: rgba(255,255,255,.75);
}
.inc .exc ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.inc .exc li {
  position: relative;
  padding-left: 18px;
  font: 400 15px/1.5 var(--sans);
  color: rgba(255,255,255,.88);
}
.inc .exc li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 8px;
  height: 1px;
  background: var(--v13-gold-soft);
}
@media (max-width: 900px) {
  .inc .exc { padding: 24px 20px; }
  .inc .exc ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .inc .exc ul { grid-template-columns: 1fr; }
}

/* About Cordelia: same cards as the booking guide, 2 x 2 on desktop */
.about-cordelia .bg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .about-cordelia .bg-grid { grid-template-columns: 1fr; }
}
