/* WOMEN'S HIGH SOCIETY — Editorial Mediterranean system (light palette, original layout) */
@import url('https://fonts.bunny.net/css?family=cormorant-garamond:300,400,500,600,300i,400i|inter:200,300,400,500,600&display=swap');

:root{
  --ivory:#F7F3EC;
  --paper:#FBF8F1;
  --sand:#EFE8DA;
  --charcoal:#1C1A17;
  --muted:#6E665A;
  --gold:#B89146;
  --gold-soft:#CBB071;
  --gold-ink:#856420;
  --ink:#16130F;
  --border:rgba(28,26,23,.14);
  --font-display:"Cormorant Garamond","Playfair Display",ui-serif,Georgia,serif;
  --font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;
  --label:0.28em;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--font-sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color .35s ease}
a:hover{color:var(--gold)}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;margin:0;color:var(--charcoal);letter-spacing:.01em}

.container{max-width:1340px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.container{padding:0 48px}}

/* Eyebrow with leading gold rule (signature motif) */
.eyebrow{font-size:11px;letter-spacing:var(--label);text-transform:uppercase;color:var(--gold)}
.head-center .eyebrow,.section-head .eyebrow{display:inline-flex;align-items:center}
.head-center .eyebrow::before,.section-head .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);margin-right:14px}
.hairline{display:block;height:1px;width:64px;background:var(--gold)}
.hairline.center{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 40px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:all .5s ease;background:none;color:var(--charcoal)}
.btn-dark{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.btn-dark:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-light{background:var(--ivory);color:var(--charcoal)}
.btn-light:hover{background:var(--gold);color:var(--ink)}
.btn-outline{border-color:rgba(247,243,236,.5);color:var(--ivory)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.link-underline{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--charcoal);border-bottom:1px solid var(--gold);padding-bottom:4px}
.link-underline:hover{color:var(--gold)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:all .5s ease;background:transparent}
.site-header[data-transparent="true"] .brand-txt,.site-header[data-transparent="true"] .nav-link,.site-header[data-transparent="true"] .nav-cta,.site-header[data-transparent="true"] .menu-btn{color:var(--ivory)}
.site-header.scrolled,.site-header.solid{background:rgba(247,243,236,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.site-header.scrolled .brand-txt,.site-header.scrolled .nav-link,.site-header.scrolled .nav-cta,.site-header.scrolled .menu-btn,.site-header.solid .brand-txt,.site-header.solid .nav-link,.site-header.solid .nav-cta,.site-header.solid .menu-btn{color:var(--charcoal)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 24px}
@media(min-width:768px){.header-inner{padding:20px 48px}}
.brand{display:flex;align-items:center;gap:13px}
.brand img{height:46px;width:46px;border-radius:3px}
.brand .brand-txt{font-family:var(--font-display);font-size:18px;letter-spacing:.22em;text-transform:uppercase}
.nav{display:none;gap:36px;align-items:center}
.nav-link{font-size:11px;letter-spacing:.26em;text-transform:uppercase}
.nav-link:hover{color:var(--gold)}
.nav-cta{display:none}
.menu-btn{display:inline-flex;background:none;border:0;cursor:pointer;padding:6px;font-size:20px;color:var(--charcoal)}
@media(min-width:900px){.nav{display:flex}.nav-cta{display:inline-flex}.menu-btn{display:none}}
.mobile-menu{display:none;background:var(--ivory);border-top:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px 24px;color:var(--charcoal);font-size:12px;letter-spacing:.26em;text-transform:uppercase}

/* Hero — left-aligned editorial */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden}
.hero img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,17,13,.45),rgba(20,17,13,.12),rgba(20,17,13,.66))}
.hero .hero-content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 24px 100px}
@media(min-width:768px){.hero .hero-content{padding:0 24px 110px}}
.hero h1{color:var(--ivory);font-size:clamp(46px,8.5vw,106px);line-height:1;letter-spacing:.01em;margin-top:24px;max-width:1000px}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero p{margin-top:28px;max-width:560px;color:rgba(247,243,236,.85);font-size:clamp(14px,1.6vw,17px)}
.hero .hero-cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* Sections */
.section{padding:96px 0}
@media(min-width:768px){.section{padding:130px 0}}
.center{text-align:center}
.band-soft,.band{background:var(--sand);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.maison-quote{max-width:980px;margin:0 auto;text-align:left}
.maison-quote .eyebrow{display:inline-flex;align-items:center}
.maison-quote .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);margin-right:14px}
.maison-quote .q{margin-top:36px;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(24px,3.4vw,42px);line-height:1.25;color:var(--charcoal);max-width:18ch}
.maison-quote .hairline.center{margin-left:0}
.maison-quote .lead{margin-left:0;margin-right:0;text-align:left}
.lead{margin-top:36px;max-width:680px;margin-left:auto;margin-right:auto;color:var(--muted);font-size:16px}
.section-head{display:flex;flex-direction:column}
.section-head h2{margin-top:16px;font-size:clamp(32px,4.6vw,58px);line-height:1.04}
.section-head .hairline{margin-top:24px}
.head-row{display:flex;flex-direction:column;gap:24px;justify-content:space-between;margin-bottom:56px}
@media(min-width:768px){.head-row{flex-direction:row;align-items:flex-end}}
.head-center{display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin-bottom:56px}
.head-center .eyebrow{margin-bottom:16px}
.head-center h2{font-size:clamp(32px,4.8vw,58px);line-height:1.04;max-width:18ch}
.head-center h2 em{font-style:normal;color:var(--gold)}
.head-center .hairline{margin-top:22px}
.head-center .hairline.center{margin-left:0}
.head-center .lead{margin-left:0;margin-right:0;text-align:left}

/* Experience cards */
.exp-grid{display:grid;grid-template-columns:1fr;gap:36px}
@media(min-width:768px){.exp-grid{grid-template-columns:repeat(3,1fr);gap:30px}}
.exp-card .frame{position:relative;aspect-ratio:3/4;overflow:hidden}
.exp-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform 1.4s ease}
.exp-card:hover img{transform:scale(1.05)}
.exp-card .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,13,.62),transparent 58%)}
.exp-card .cap{position:absolute;left:0;right:0;bottom:0;padding:24px;color:var(--ivory);z-index:2}
.exp-card .cap .d{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
.exp-card .cap .t{font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);margin-top:8px;line-height:1.1}
.exp-card .meta{margin-top:18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:14px}
.exp-card .meta .loc{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.exp-card .meta .price{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}

/* Mission / team */
.mission-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:768px){.mission-grid{grid-template-columns:5fr 7fr;gap:64px}}
.mission-text p{margin-top:32px;font-size:clamp(16px,1.8vw,19px);color:var(--muted)}
.team-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.team-grid{grid-template-columns:repeat(3,1fr);column-gap:30px;row-gap:60px}}
.team-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.member .frame{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--sand)}
.member img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:top center;transition:transform 1.4s ease,filter 1.2s ease;filter:grayscale(100%) contrast(1.03)}
.member:hover img{transform:scale(1.04);filter:grayscale(0%)}
.member .name{margin-top:18px;font-family:var(--font-display);font-size:clamp(18px,2vw,24px);line-height:1.1}
.member .role{margin-top:8px;font-size:12px;color:var(--muted)}
.member .loc{margin-top:12px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}

/* Feature list — editorial hairline rows (was boxed grid) */
.feature-grid{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:640px){.feature-grid{grid-template-columns:1fr 1fr;column-gap:40px}}
@media(min-width:900px){.feature-grid{grid-template-columns:repeat(3,1fr);column-gap:48px}}
.feature{background:none;padding:34px 0 14px;text-align:left;border-top:1px solid var(--border)}
.feature .ico{display:flex;justify-content:flex-start;margin-bottom:18px}
.feature .ico svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.3}
.feature h3{font-size:23px;line-height:1.1}
.feature p{margin-top:12px;font-size:14px;color:var(--muted)}

/* Steps */
.steps{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{text-align:left;border-top:1px solid var(--border);padding-top:24px}
.step .num{font-family:var(--font-display);font-size:46px;color:var(--gold);line-height:1}
.step h3{margin-top:14px;font-size:22px}
.step p{margin-top:12px;font-size:14px;color:var(--muted)}

/* Benefits */
.benefits-grid{display:grid;grid-template-columns:1fr;gap:18px 40px;max-width:900px}
@media(min-width:768px){.benefits-grid{grid-template-columns:1fr 1fr}}
.benefit{display:flex;gap:14px;align-items:flex-start;font-size:15px;color:var(--charcoal)}
.benefit::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--gold)}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:1fr;gap:30px}
@media(min-width:900px){.testi-grid{grid-template-columns:repeat(3,1fr)}}
.testi{background:var(--paper);border:1px solid var(--border);padding:36px}
.testi .mark{font-family:var(--font-display);font-size:48px;line-height:.6;color:var(--gold)}
.testi p{margin-top:8px;font-style:italic;font-family:var(--font-display);font-size:19px;line-height:1.4;color:var(--charcoal)}
.testi .who{margin-top:20px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

/* Contact channels & info */
.channels{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);text-align:center}
@media(min-width:640px){.channels{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.channels{grid-template-columns:repeat(4,1fr)}}
.channel{background:var(--ivory);padding:40px 20px}
.channel .eyebrow{display:block;margin-bottom:12px}
.channel a,.channel span{font-family:var(--font-display);font-size:18px}
.info-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);text-align:center}
@media(min-width:768px){.info-grid{grid-template-columns:repeat(3,1fr)}}
.info-grid .cell{background:var(--ivory);padding:40px}
.info-grid .cell p{margin-top:18px;font-size:14px;color:var(--muted)}

/* CTA tri */
.tri{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border)}
@media(min-width:768px){.tri{grid-template-columns:repeat(3,1fr)}}
.tri a{display:flex;flex-direction:column;padding:48px;border-bottom:1px solid var(--border);transition:background .5s ease}
@media(min-width:768px){.tri a{border-bottom:0;border-right:1px solid var(--border)}.tri a:last-child{border-right:0}}
.tri a:hover{background:var(--sand)}
.tri h3{margin-top:20px;font-size:clamp(22px,2.4vw,30px);line-height:1.1}
.tri p{margin-top:16px;font-size:14px;color:var(--muted)}
.tri .more{margin-top:32px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}

/* Closing CTA band (intentional dark contrast) */
.cta-band{background:var(--ink);border-top:1px solid var(--border);text-align:center}
.cta-band h2{font-size:clamp(28px,4vw,48px);line-height:1.1;color:var(--ivory)}
.cta-band h2 em{font-style:normal;color:var(--gold-soft)}
.cta-band p{margin-top:18px;color:rgba(247,243,236,.72);max-width:560px;margin-left:auto;margin-right:auto}
.cta-band .row{margin-top:36px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* Forms */
.form{display:grid;grid-template-columns:1fr;gap:24px;max-width:680px;margin:0 auto}
@media(min-width:768px){.form.two{grid-template-columns:1fr 1fr}}
.form .full{grid-column:1/-1}
.field label{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px}
.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(28,26,23,.26);padding:12px 0;font-family:var(--font-sans);font-size:14px;font-weight:300;color:var(--charcoal);outline:none;transition:border-color .3s}
.field input:focus,.field textarea:focus{border-color:var(--gold)}
.field textarea{resize:none}
.amount-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.amount-row button{padding:16px 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;transition:all .3s;font-family:var(--font-sans)}
.amount-row button.active{border-color:var(--gold);background:rgba(184,145,70,.12);color:var(--charcoal)}
.gift-note{margin-top:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--ivory);margin-top:0;padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:768px){.footer-grid{grid-template-columns:5fr 3fr 4fr}}
.site-footer .brandmark{height:80px;width:80px;border-radius:4px}
.site-footer .blurb{margin-top:24px;max-width:420px;font-size:14px;color:var(--muted)}
.site-footer .contact-lines{margin-top:28px;display:flex;flex-direction:column;gap:10px;font-size:13px}
.site-footer h4{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-family:var(--font-sans);font-weight:400}
.site-footer ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:12px;font-size:14px}
.footer-cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;font-size:12px;color:var(--muted)}
.footer-cols2 .ttl{font-family:var(--font-display);font-size:16px;color:var(--charcoal)}
.footer-bottom{margin-top:64px;padding:32px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:space-between}
@media(min-width:768px){.footer-bottom{flex-direction:row}}
.footer-bottom .copy{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:24px;list-style:none;margin:0;padding:0;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);flex-direction:row}

/* Animations & misc */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.fade-up{animation:fadeUp 1.1s cubic-bezier(.16,1,.3,1) both}
.fade-in{animation:fadeIn 1.4s ease-out both}
.page-top{padding-top:160px}
@media(min-width:768px){.page-top{padding-top:200px}}
section[id]{scroll-margin-top:88px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--charcoal);color:var(--ivory);padding:14px 24px;font-size:12px;letter-spacing:.12em;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .4s;z-index:100}
.toast.show{opacity:1}

/* Trip detail */
.trip-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden}
.trip-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trip-hero .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,13,.84),rgba(20,17,13,.28) 55%,rgba(20,17,13,.5))}
.trip-hero .inner{position:relative;z-index:2;color:var(--ivory);padding:0 0 56px}
.trip-hero .back{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory);opacity:.85}
.trip-hero .tags{margin-top:20px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.trip-hero h1{font-size:clamp(48px,8vw,96px);line-height:1;margin-top:10px;color:var(--ivory)}
.trip-hero .tagline{margin-top:14px;font-family:var(--font-display);font-style:italic;font-size:clamp(18px,2.4vw,26px);color:rgba(247,243,236,.92)}
.trip-hero .metas{margin-top:24px;display:flex;flex-wrap:wrap;gap:24px;font-size:13px;color:rgba(247,243,236,.85)}
.trip-hero .priceline{margin-top:24px;display:flex;flex-wrap:wrap;gap:32px}
.trip-hero .priceline .pl .k{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft)}
.trip-hero .priceline .pl .v{font-family:var(--font-display);font-size:30px;color:var(--ivory)}
.trip-intro{max-width:820px;margin:0 auto;text-align:center;font-size:17px;color:var(--muted)}
.awaits{display:grid;grid-template-columns:1fr;gap:14px 40px;max-width:980px;margin:0 auto}
@media(min-width:768px){.awaits{grid-template-columns:1fr 1fr}}
.awaits .it{display:flex;gap:14px;align-items:flex-start;font-size:15px;color:var(--charcoal)}
.awaits .it::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--gold)}
.incl{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border)}
@media(min-width:768px){.incl{grid-template-columns:1fr 1fr}}
.incl .cat{background:var(--ivory);padding:32px 28px}
.incl .cat .eyebrow{display:block;margin-bottom:12px}
.incl .cat p{font-size:14px;color:var(--muted);margin:6px 0 0}
.days{max-width:860px;margin:0 auto;border-top:1px solid var(--border)}
.day{padding:26px 0;border-bottom:1px solid var(--border)}
.day .d{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.day h4{font-family:var(--font-display);font-size:22px;margin:8px 0 0;font-weight:400;color:var(--charcoal)}
.day p{margin:10px 0 0;font-size:14px;color:var(--muted)}
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--font-display);font-size:19px;color:var(--charcoal);display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:22px;font-family:var(--font-sans)}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 0 22px;font-size:14px;color:var(--muted)}
.book-cards{display:grid;grid-template-columns:1fr;gap:20px;max-width:760px;margin:0 auto}
@media(min-width:640px){.book-cards{grid-template-columns:1fr 1fr}}
.book-card{border:1px solid var(--border);background:var(--paper);padding:32px;text-align:center}
.book-card .k{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.book-card .v{font-family:var(--font-display);font-size:38px;margin-top:8px;color:var(--charcoal)}
.book-card p{font-size:13px;color:var(--muted);margin-top:8px}
.sample-note{text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:8px}

/* Experience detail rows */
.exp-feature{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding:56px 0;border-bottom:1px solid var(--border)}
@media(min-width:768px){.exp-feature{grid-template-columns:1fr 1fr;gap:64px}.exp-feature.rev .ef-media{order:2}}
.exp-feature .ef-media{aspect-ratio:4/3;overflow:hidden}
.exp-feature .ef-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.exp-feature:hover .ef-media img{transform:scale(1.04)}
.exp-feature h3{font-size:clamp(28px,3.4vw,44px);line-height:1.05;margin-top:14px;color:var(--charcoal)}
.exp-feature .price{margin-top:18px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.exp-feature p{margin-top:18px;color:var(--muted);font-size:15px}
.exp-feature .btn{margin-top:28px}

/* Inner page-top headers — left aligned (original, non-centered) */
.page-top.center{text-align:left}
.page-top .hairline.center{margin-left:0}
.page-top .lead{margin-left:0;margin-right:0;text-align:left}
.page-top .eyebrow{display:inline-flex;align-items:center}
.page-top .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);margin-right:14px}
.page-top h1{max-width:18ch}

/* feature: icon-led (no numbers) */

/* Home experiences — numbered editorial list (replaces overlay cards) */
.exp-list{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border)}
.exp-item{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--border);transition:padding-left .4s ease}
.exp-item:hover{padding-left:10px}
@media(min-width:768px){.exp-item{grid-template-columns:64px 230px 1fr auto;gap:34px}}
.exp-no{font-family:var(--font-display);font-size:34px;color:var(--gold);line-height:1}
.exp-img{display:none}
@media(min-width:768px){.exp-img{display:block;aspect-ratio:16/10;overflow:hidden}}
.exp-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.exp-item:hover .exp-img img{transform:scale(1.05)}
.exp-name{font-family:var(--font-display);font-size:clamp(28px,3.4vw,44px);line-height:1.03}
.exp-sub{margin-top:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.exp-price{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}

/* Legal pages */
.legal{max-width:820px;margin:0 auto}
.legal h2{font-family:var(--font-display);font-size:26px;margin:38px 0 10px;color:var(--charcoal)}
.legal h3{font-family:var(--font-display);font-size:19px;margin:24px 0 6px;color:var(--charcoal)}
.legal p{color:var(--muted);font-size:15px;margin:10px 0;line-height:1.7}
.legal strong{color:var(--charcoal);font-weight:500}
.legal a{border-bottom:1px solid var(--gold)}
.legal .note{margin:26px 0;padding:18px 22px;border:1px solid var(--border);background:var(--sand);font-size:13px;color:var(--charcoal);letter-spacing:.01em}
.legal .todo{color:var(--gold);font-style:italic}

/* Cookie consent bar */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ivory);border-top:1px solid var(--border);transform:translateY(100%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.cookie-bar.show{transform:translateY(0)}
.cookie-inner{max-width:1340px;margin:0 auto;padding:18px 24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
@media(min-width:768px){.cookie-inner{flex-direction:row;align-items:center;justify-content:space-between;padding:18px 48px;gap:32px}}
.cookie-text{font-size:13px;color:var(--muted);max-width:720px;margin:0;line-height:1.6}
.cookie-text a{color:var(--gold);border-bottom:1px solid var(--gold)}
.cookie-actions{display:flex;gap:12px;flex:0 0 auto}
.cookie-bar .btn{padding:13px 30px;font-size:10px}
.cookie-decline{border:1px solid var(--charcoal);color:var(--charcoal);background:none}
.cookie-decline:hover{background:var(--charcoal);color:var(--ivory)}

/* Info-first components */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);margin-top:40px}
@media(min-width:768px){.pillars{grid-template-columns:repeat(4,1fr)}}
.pillar{background:var(--ivory);padding:26px 16px;text-align:center}
.pillar .pt{font-family:var(--font-display);font-size:21px;color:var(--charcoal)}
.pillar .pd{margin-top:6px;font-size:12px;color:var(--muted)}
.svc-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--border)}
@media(min-width:680px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc{background:var(--ivory);padding:38px 30px;display:flex;flex-direction:column}
.svc h3{font-size:23px;margin-top:6px}
.svc p{margin-top:12px;font-size:14px;color:var(--muted);flex:1;line-height:1.65}
.svc .more{margin-top:20px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.incl-list{display:grid;grid-template-columns:1fr;gap:10px 36px;margin-top:8px}
@media(min-width:640px){.incl-list{grid-template-columns:1fr 1fr}}
.incl-list .it{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--charcoal)}
.incl-list .it::before{content:"";flex:0 0 auto;width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--gold)}
.factline{font-size:13px;letter-spacing:.04em;color:var(--muted);margin-top:6px}


/* Service cards — icon-led (no numbers) */
.svc .svc-ico{display:flex;margin-bottom:16px}
.svc .svc-ico svg{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.3}
.svc{transition:background .45s ease}
.svc:hover{background:var(--paper)}
.feature .ico svg{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.3}

/* View Experiences subtle button + section helpers (client layout 12.06) */
.btn-line{background:transparent;border:1px solid var(--gold);color:var(--charcoal)}
.btn-line:hover{background:var(--gold);color:var(--ivory);border-color:var(--gold)}
.ve-cta{text-align:center;margin-top:40px}
.lead-narrow{max-width:760px;margin-left:0;margin-right:0;text-align:left}
.block-head{max-width:760px}
.block-head h2{font-size:clamp(28px,4vw,46px)}

/* Powered-by credit (Fly & Froth) */
.footer-credit{padding:0 0 32px;text-align:center;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.footer-credit a{color:var(--muted);border-bottom:1px solid transparent;transition:color .35s ease,border-color .35s ease}
.footer-credit a:hover{color:var(--gold);border-color:var(--gold)}

/* ============ Mobile polish (12.06) ============ */
html{scroll-padding-top:84px}
body{overflow-x:hidden}
.menu-btn[aria-expanded="true"]{color:var(--gold)}

@media(max-width:767px){
  /* comfortable side margins on mobile */
  .container{padding:0 32px}
  /* tighter vertical rhythm */
  .section{padding:72px 0}
  .head-row{margin-bottom:40px}
  .head-center{margin-bottom:40px}
  .exp-feature{padding:40px 0;gap:26px}

  /* header fits on small screens */
  .header-inner{padding:14px 20px}
  .brand{gap:9px}
  .brand img{height:38px;width:38px}
  .brand .brand-txt{font-size:13px;letter-spacing:.12em;line-height:1.15}
  .menu-btn{padding:10px;font-size:22px;margin-right:-6px}

  /* mobile dropdown menu */
  .mobile-menu{box-shadow:0 24px 40px -24px rgba(20,17,13,.45)}
  .mobile-menu a{padding:16px 20px;font-size:12.5px}

  /* hero: comfortable, full-width stacked CTAs */
  .hero .hero-content{padding:0 22px 84px}
  .hero h1{margin-top:18px}
  .hero p{margin-top:22px}
  .hero .hero-cta{margin-top:30px;width:100%;flex-direction:column;gap:12px}
  .hero .hero-cta .btn{width:100%}

  /* full-width primary buttons on mobile for easy tapping */
  .btn{padding:16px 28px}
  .ve-cta .btn{width:100%;max-width:340px}
  .cta-band .row .btn{width:100%;max-width:340px}

  /* extra breathing room everywhere on mobile */
  .feature{padding:34px 2px 18px}
  .feature h3{font-size:22px}
  .feature p,.svc p,.lead,.exp-feature p,.incl-list .it,.maison-quote .lead{line-height:1.8}
  .incl-list{gap:14px 28px}
  .svc{padding:34px 26px}
  .pillar{padding:24px 14px}
  .maison-quote .lead,.lead-narrow{margin-top:20px}
  h2{line-height:1.1}
}

/* Experience villa gallery */
.gallery{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:560px){.gallery{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery figure{position:relative;margin:0;overflow:hidden;aspect-ratio:4/3;opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.gallery figure.in{opacity:1;transform:none}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img{transform:scale(1.08)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;color:var(--ivory);font-size:10px;letter-spacing:.26em;text-transform:uppercase;background:linear-gradient(transparent,rgba(20,17,13,.62));opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
.gallery figure:hover figcaption{opacity:1;transform:none}
@media(hover:none){.gallery figcaption{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.gallery figure{opacity:1;transform:none;transition:none}}

/* ===== Experience rich layout (split hero + photo cards) v5 ===== */
.split-hero{display:grid;grid-template-columns:1fr;background:var(--paper)}
@media(min-width:900px){.split-hero{grid-template-columns:1.15fr .85fr}}
.split-hero .sh-media{position:relative;min-height:300px;aspect-ratio:16/11;overflow:hidden}
@media(min-width:900px){.split-hero .sh-media{aspect-ratio:auto;min-height:560px}}
.split-hero .sh-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-hero .sh-text{display:flex;flex-direction:column;justify-content:center;padding:54px 30px}
@media(min-width:900px){.split-hero .sh-text{padding:72px 64px}}
.split-hero .sh-text .eyebrow{color:var(--gold)}
.split-hero h1{font-size:clamp(40px,6vw,72px);line-height:1.02;margin-top:14px;letter-spacing:.02em}
.split-hero .sh-sub{margin-top:14px;font-family:var(--font-display);font-style:italic;font-size:clamp(16px,2vw,22px);color:var(--gold)}
.split-hero .sh-dates{margin-top:22px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--charcoal)}
.split-hero .sh-desc{margin-top:18px;font-size:15px;line-height:1.8;color:var(--muted);max-width:42ch}
.split-hero .sh-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}

.photo-cards{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:560px){.photo-cards{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.photo-cards.cols-4{grid-template-columns:repeat(4,1fr)}.photo-cards.cols-3{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.pcard.in{opacity:1;transform:none}
.pcard .pc-img{overflow:hidden;aspect-ratio:4/3;margin-bottom:18px}
.pcard .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pc-img img{transform:scale(1.06)}
.pcard .pc-sub{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.pcard h3{font-family:var(--font-display);font-size:22px;margin-top:8px;color:var(--charcoal)}
.pcard p{margin-top:8px;font-size:13.5px;line-height:1.7;color:var(--muted)}

/* ===== Page hero banner (image header for inner pages) v5 ===== */
.page-hero{position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:130px 26px 64px}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero .ph-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,17,13,.5),rgba(20,17,13,.38),rgba(20,17,13,.62))}
.page-hero .ph-inner{position:relative;z-index:2;max-width:840px;margin:0 auto}
.page-hero .eyebrow{color:var(--gold-soft)}
.page-hero h1{color:var(--ivory)!important}
.page-hero h1 em{color:var(--gold-soft)!important}
.page-hero .hairline{background:var(--gold)}
.page-hero .lead{color:rgba(247,243,236,.9)!important;margin-left:auto;margin-right:auto}
.page-hero a{color:var(--ivory)}

/* Floating WhatsApp button */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:70;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(20,17,13,.28);transition:transform .3s ease}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media(max-width:767px){.wa-float{width:52px;height:52px;right:16px;bottom:16px}}

/* ===== Mobile: center long text blocks (client request 27.06) ===== */
@media(max-width:767px){
  .head-center{align-items:center;text-align:center}
  .head-center .hairline,.head-center .hairline.center{margin-left:auto;margin-right:auto}
  .section-head{align-items:center;text-align:center}
  .section-head .hairline{margin-left:auto;margin-right:auto}
  .block-head{text-align:center}
  .block-head .hairline{margin-left:auto;margin-right:auto}
  .maison-quote{text-align:center}
  .maison-quote .hairline{margin-left:auto;margin-right:auto}
  .feature,.svc{text-align:center}
  .feature .ico,.svc .svc-ico{justify-content:center}
  .lead,.lead-narrow,.head-center .lead,.maison-quote .lead,.maison-quote p,
  .trip-intro,.feature h3,.feature p,.svc h3,.svc p,
  .exp-feature p,.exp-feature .factline{text-align:center !important}
  .lead-narrow{margin-left:auto !important;margin-right:auto !important}
  .exp-feature>div{text-align:center}
  .ve-cta{text-align:center}
}

/* ===== Itinerary day blocks + booking cards (Porto Cervo) v8 ===== */
.days{max-width:900px;margin:0 auto}
.day{display:grid;grid-template-columns:1fr;gap:6px;padding:26px 0;border-top:1px solid var(--border)}
@media(min-width:640px){.day{grid-template-columns:88px 1fr;gap:26px;align-items:start}}
.day .num{font-family:var(--font-display);font-size:clamp(30px,4vw,40px);color:var(--gold);line-height:1}
.day h3{font-size:21px;margin-bottom:8px}
.day p{font-size:14px;color:var(--muted);line-height:1.75}
.book-row{display:grid;grid-template-columns:1fr;gap:16px;max-width:820px;margin:0 auto}
@media(min-width:640px){.book-row{grid-template-columns:repeat(3,1fr)}}
.book-way{border:1px solid var(--border);background:var(--paper);padding:28px 22px;text-align:center;transition:background .4s ease}
.book-way:hover{background:var(--sand)}
.book-way .ico{display:flex;justify-content:center;margin-bottom:14px}
.book-way .ico svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.3}
.book-way h3{font-size:18px}
.book-way p{font-size:12.5px;color:var(--muted);margin-top:6px}
@media(max-width:767px){.day{text-align:center}.day .num{margin:0 auto}}

/* Journey accordion (Day-by-day) — reusable for all experiences */
.journey-acc{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.jday{background:var(--paper);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease}
.jday[open]{border-color:rgba(184,145,70,.5);box-shadow:0 16px 44px -24px rgba(28,26,23,.45)}
.jday summary{list-style:none;cursor:pointer;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.jday summary::-webkit-details-marker{display:none}
.jday summary:hover .jday-title{color:var(--gold)}
.jt{display:flex;flex-direction:column;gap:7px}
.jday-tag{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.jday-title{font-family:var(--font-display);font-size:clamp(20px,2.5vw,26px);font-weight:400;color:var(--charcoal);line-height:1.2;transition:color .25s ease}
.chev{flex:0 0 auto;width:12px;height:12px;border-right:1.6px solid var(--gold);border-bottom:1.6px solid var(--gold);transform:rotate(45deg);transition:transform .35s ease}
.jday[open] .chev{transform:rotate(-135deg)}
.jbody{padding:0 28px 26px;animation:jfade .4s ease}
.jbody p{margin:0;font-size:14px;color:var(--muted);line-height:1.78}
@keyframes jfade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:767px){.jday summary{padding:20px 20px}.jbody{padding:0 20px 22px}.jt{gap:6px}}

/* Keyboard focus visibility (a11y) */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,.book-way:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px;border-radius:2px}

/* Booking steps (numbered) */
.book-steps{max-width:820px;margin:8px auto 44px;display:grid;gap:20px}
.book-steps .bstep{display:flex;gap:22px;align-items:flex-start;text-align:left}
.book-steps .bnum{flex:0 0 auto;font-family:var(--font-display);font-size:34px;color:var(--gold);line-height:1;width:46px;text-align:center}
.book-steps h3{font-size:19px;margin:0 0 6px;font-weight:400}
.book-steps p{margin:0;font-size:14px;color:var(--muted);line-height:1.72}
@media(max-width:767px){.book-steps .bstep{gap:16px}.book-steps{text-align:left}}

/* Fully booked badge */
.badge-booked{display:inline-block;margin-top:14px;padding:7px 16px;border:1px solid var(--gold);border-radius:100px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);background:rgba(184,145,70,.08)}
.exp-feature .badge-booked{margin-top:16px}

/* Two-tier price (Early Bird / Regular) */
.price-tiers{margin-top:16px;display:inline-flex;flex-direction:column;gap:8px}
.price-tiers > div{display:flex;justify-content:space-between;align-items:baseline;gap:28px;min-width:210px;border-bottom:1px solid var(--border);padding-bottom:6px}
.price-tiers .lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.price-tiers .amt{font-family:var(--font-display);font-size:21px;color:var(--charcoal);line-height:1}
