
:root{
 --white:#FFFFFF;
 --soft-white:#F6F6F4;
 --grey-warm:#EAEAEA;
 --grey-silver:#BFC3C7;
 --beige:#DCCBB5;
 --beige-deep:#C9B89B;
 --champagne:#E8DCC4;
 --charcoal:#111111;
 --deep-grey:#1A1A1A;
 --ink:#0A0A0A;
 --line:rgba(17,17,17,0.08);
 --line-strong:rgba(17,17,17,0.16);
}

*{margin:0;padding:0;box-sizing:border-box;}
img,video{max-width:100%;}
html{scroll-behavior:smooth;}
body{
 font-family:'Inter',sans-serif;
 background:var(--soft-white);
 color:var(--ink);
 font-weight:300;
 line-height:1.5;
 overflow-x:hidden;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
}

/* Subtle grain overlay across entire site */
body::before{
 content:"";
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:9999;
 opacity:.06;
 mix-blend-mode:multiply;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

::selection{background:var(--charcoal); color:var(--soft-white);}
a{color:inherit; text-decoration:none;}

/* ============ Loader ============ */
.loader{
 position:fixed;
 inset:0;
 z-index:10000;
 background:var(--soft-white);
 display:flex;
 align-items:center;
 justify-content:center;
 flex-direction:column;
 gap:30px;
 transition:opacity .9s ease, visibility .9s ease;
}
.loader.gone{opacity:0; visibility:hidden; pointer-events:none;}
.loader-logo{
 width:240px; height:auto;
 opacity:0;
 animation:loaderPulse 1.4s ease-out forwards;
}
.loader-bar{
 width:240px; height:1px;
 background:var(--line);
 position:relative;
 overflow:hidden;
}
.loader-bar::after{
 content:"";
 position:absolute;
 inset:0;
 background:var(--charcoal);
 transform:translateX(-100%);
 animation:loadBar 1.4s cubic-bezier(.7,0,.3,1) forwards;
}
.loader-text{
 font-size:10px;
 letter-spacing:.4em;
 text-transform:uppercase;
 color:var(--charcoal);
 opacity:0;
 animation:fadeIn .6s ease .3s forwards;
}
@keyframes loaderPulse{
 0%{opacity:0; transform:scale(.95);}
 100%{opacity:1; transform:scale(1);}
}
@keyframes loadBar{
 0%{transform:translateX(-100%);}
 100%{transform:translateX(0);}
}
@keyframes fadeIn{to{opacity:.5;}}

/* ============ Navigation ============ */
.nav{
 position:fixed;
 top:0; left:0; right:0;
 z-index:1000;
 padding:20px 48px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 transition:all .5s cubic-bezier(.7,0,.3,1);
}
.nav.solid{
 background:rgba(246,246,244,.78);
 -webkit-backdrop-filter:blur(20px) saturate(140%);
 backdrop-filter:blur(20px) saturate(140%);
 -webkit-backdrop-filter:blur(20px) saturate(140%);
 border-bottom:1px solid var(--line);
 padding:16px 48px;
}
.nav-logo{
 display:flex;
 align-items:center;
 gap:10px;
 color:var(--white);
 text-decoration:none;
 transition:opacity .3s;
}
.nav.solid .nav-logo{color:var(--ink);}
.nav-logo img{
 height:clamp(32px,4.5vw,52px);
 width:auto;
 object-fit:contain;
}
.nav-logo .logo-white{ display:block; }
.nav-logo .logo-black{ display:none; }
.nav.solid .nav-logo .logo-white{ display:none; }
.nav.solid .nav-logo .logo-black{ display:block; }
.nav-logo-text{
 font-family:'Poppins',sans-serif;
 font-weight:500;
 font-size:13px;
 letter-spacing:.06em;
}
.nav-links{
 display:flex;
 gap:clamp(12px,2vw,40px);
 list-style:none;
 flex-wrap:nowrap;
}
.nav-links a{
 color:var(--white);
 text-decoration:none;
 font-family:'Poppins',sans-serif;
 font-size:clamp(9px,0.9vw,11px);
 letter-spacing:.18em;
 text-transform:uppercase;
 font-weight:500;
 position:relative;
 padding:6px 0;
 transition:opacity .3s;
 white-space:nowrap;
}
.nav.solid .nav-links a{color:var(--ink);}
.nav-links a::after{
 content:"";
 position:absolute;
 bottom:0; left:0;
 width:0; height:1px;
 background:currentColor;
 transition:width .4s cubic-bezier(.7,0,.3,1);
}
.nav-links a:hover::after{width:100%;}
.nav-cta{
 padding:10px clamp(12px,1.5vw,22px);
 border:1px solid currentColor;
 color:var(--white);
 text-decoration:none;
 font-family:'Poppins',sans-serif;
 font-size:clamp(9px,0.85vw,10px);
 letter-spacing:.2em;
 text-transform:uppercase;
 font-weight:500;
 transition:all .4s ease;
 background:transparent;
 white-space:nowrap;
 flex-shrink:0;
}
.nav.solid .nav-cta{color:var(--ink);}
.nav-cta:hover{
 background:var(--white);
 color:var(--ink);
 border-color:var(--white);
}
.nav.solid .nav-cta:hover{
 background:var(--ink);
 color:var(--white);
 border-color:var(--ink);
}

.menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:0;}
.menu-toggle span{
 display:block;
 width:26px; height:1px;
 background:var(--white);
 margin:6px 0;
 transition:.3s;
}
.nav.solid .menu-toggle span{background:var(--ink);}

/* ============ Hero ============ */
.hero{
 position:relative;
 height:100vh;
 height:100dvh;
 min-height:600px;
 max-height:100vh;
 overflow:hidden;
 background:var(--ink);
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 padding:0 48px clamp(48px,7vh,100px);
 box-sizing:border-box;
}
.hero-media{
 position:absolute;
 inset:0;
 overflow:hidden;
 background:
 linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.55) 100%),
 url('https://images.unsplash.com/photo-1583266368698-2bcf2ce20cfc?w=2400&q=85') center/cover no-repeat;
 transform:scale(1.05);
 animation:heroZoom 14s ease-out forwards;
}
@keyframes heroZoom{
 to{transform:scale(1);}
}
.hero-vignette{
 position:absolute;
 inset:0;
 background:radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,.45) 100%);
 pointer-events:none;
}

.hero-meta{
 position:absolute;
 top:50%;
 left:48px;
 transform:translateY(-50%) rotate(-90deg);
 transform-origin:left center;
 display:flex;
 gap:30px;
 align-items:center;
 color:var(--white);
 font-size:10px;
 letter-spacing:.4em;
 text-transform:uppercase;
 opacity:.6;
}
.hero-meta-line{
 width:50px; height:1px;
 background:var(--white);
 opacity:.4;
}

.hero-content{
 position:relative;
 z-index:2;
 width:100%;
 color:var(--white);
}
.hero-tagline{
 display:flex;
 align-items:center;
 gap:14px;
 font-family:'Poppins',sans-serif;
 font-weight:500;
 font-size:11px;
 letter-spacing:.3em;
 text-transform:uppercase;
 margin-bottom:clamp(12px,2vh,24px);
 opacity:0;
 animation:fadeUp 1s ease .5s forwards;
}
.hero-tagline span:first-child{
 width:40px; height:1px;
 background:var(--white);
 display:block;
}

.hero-title{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(42px, min(9vw, 12vh), 140px);
 line-height:1.0;
 letter-spacing:-.03em;
 margin-bottom:0;
 font-style:normal;
}
.hero-title-line{
 display:block;
 overflow:visible;
 padding:0.08em 0 0.12em;
}
.hero-title-line span{
 display:inline-block;
 transform:translateY(110%);
 animation:slideUp 1.2s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-title-line:nth-child(1) span{animation-delay:.7s;}
.hero-title-line:nth-child(2) span{animation-delay:.9s;}
.hero-title em{
 font-style:normal;
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 letter-spacing:-.03em;
}
@keyframes slideUp{
 to{transform:translateY(0);}
}
@keyframes fadeUp{
 from{opacity:0; transform:translateY(20px);}
 to{opacity:1; transform:translateY(0);}
}

.hero-bottom{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 flex-wrap:wrap;
 gap:clamp(16px,3vh,40px);
 margin-top:clamp(24px,4vh,60px);
}
.hero-sub{
 max-width:380px;
 font-size:14px;
 line-height:1.6;
 color:rgba(255,255,255,.8);
 font-weight:300;
 opacity:0;
 animation:fadeUp 1s ease 1.4s forwards;
}
.hero-actions{
 display:flex;
 gap:14px;
 align-items:center;
 opacity:0;
 animation:fadeUp 1s ease 1.6s forwards;
}
.btn{
 display:inline-flex;
 align-items:center;
 gap:12px;
 padding:18px 32px;
 font-family:'Poppins',sans-serif;
 font-size:11px;
 letter-spacing:.24em;
 text-transform:uppercase;
 text-decoration:none;
 font-weight:500;
 border:1px solid;
 transition:all .5s cubic-bezier(.7,0,.3,1);
 cursor:pointer;
 background:transparent;
 position:relative;
 overflow:hidden;
}
.btn-primary{
 background:var(--white);
 color:var(--ink);
 border-color:var(--white);
}
.btn-primary:hover{
 background:transparent;
 color:var(--white);
}
.btn-ghost{
 color:var(--white);
 border-color:rgba(255,255,255,.4);
}
.btn-ghost:hover{
 border-color:var(--white);
 background:rgba(255,255,255,.08);
}
.btn-arrow{
 display:inline-block;
 transition:transform .4s ease;
}
.btn:hover .btn-arrow{transform:translateX(4px);}

.hero-scroll{
 position:absolute;
 bottom:32px; right:48px;
 display:flex;
 align-items:center;
 gap:14px;
 color:var(--white);
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 opacity:.7;
}
.hero-scroll-line{
 width:60px; height:1px;
 background:var(--white);
 position:relative;
 overflow:hidden;
}
.hero-scroll-line::after{
 content:"";
 position:absolute;
 inset:0;
 background:var(--ink);
 animation:scrollLine 2.5s ease-in-out infinite;
}
@keyframes scrollLine{
 0%,100%{transform:translateX(-100%);}
 50%{transform:translateX(100%);}
}

/* ============ Marquee ============ */
.marquee{
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 padding:22px 0;
 overflow:hidden;
 background:var(--white);
}
.marquee-track{
 display:flex;
 gap:80px;
 animation:marquee 40s linear infinite;
 white-space:nowrap;
 font-family:'Poppins',sans-serif;
 font-size:14px;
 font-style:normal;
 font-weight:500;
 letter-spacing:.15em;
 color:var(--ink);
}
.marquee-track span{display:flex; align-items:center; gap:80px;}
.marquee-track span::after{
 content:"✦";
 font-size:10px;
 color:var(--beige-deep);
 font-style:normal;
}
@keyframes marquee{
 to{transform:translateX(-50%);}
}

/* ============ Section base ============ */
.section{
 padding:140px 48px;
 position:relative;
 max-width:1440px;
 margin-left:auto;
 margin-right:auto;
 box-sizing:border-box;
}
.section-eyebrow{
 display:flex;
 align-items:center;
 gap:14px;
 font-family:'Poppins',sans-serif;
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 font-weight:500;
 color:var(--charcoal);
 margin-bottom:40px;
 opacity:.65;
}
.section-eyebrow span:first-child{
 width:32px; height:1px;
 background:var(--charcoal);
 display:block;
}
.section-title{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(36px, 5.5vw, 80px);
 line-height:1.05;
 letter-spacing:-.03em;
 margin-bottom:48px;
}
.section-title em{font-style:italic;}

/* Reveal animations */
.reveal{
 opacity:0;
 transform:translateY(40px);
 transition:opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1);
}
.reveal.in{opacity:1; transform:translateY(0);}

.reveal-clip{overflow:visible; padding-bottom:0.1em;}
.reveal-clip > *{
 display:inline-block;
 transform:translateY(110%);
 transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.reveal-clip.in > *{transform:translateY(0);}

/* ============ Manifesto / About ============ */
.manifesto{
 background:var(--soft-white);
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:120px;
 align-items:center;
}
.manifesto-text h2{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(30px, 3.8vw, 56px);
 line-height:1.1;
 letter-spacing:-.025em;
 margin-bottom:36px;
}
.manifesto-text h2 em{font-style:italic;}
.manifesto-text p{
 font-size:15px;
 line-height:1.75;
 color:#3a3a3a;
 margin-bottom:24px;
 max-width:480px;
 font-weight:300;
}
.manifesto-divider{
 display:flex;
 gap:20px;
 align-items:baseline;
 margin-top:48px;
 padding-top:36px;
 border-top:1px solid var(--line);
}
.manifesto-divider .num{
 font-family:'Montserrat',sans-serif;
 font-size:48px;
 font-weight:800;
 letter-spacing:-.03em;
}
.manifesto-divider .label{
 font-size:10px;
 letter-spacing:.28em;
 text-transform:uppercase;
 color:#666;
 max-width:160px;
 line-height:1.6;
}
.manifesto-stats{
 display:flex;
 gap:48px;
 margin-top:24px;
}

.manifesto-image{
 position:relative;
 aspect-ratio:3/4;
 overflow:hidden;
}
.manifesto-image img{
 width:100%; height:100%;
 object-fit:cover;
 transition:transform 1.6s cubic-bezier(.16,1,.3,1);
}
.manifesto-image:hover img{transform:scale(1.04);}
.manifesto-image-tag{
 position:absolute;
 top:24px; left:24px;
 background:rgba(255,255,255,.92);
 padding:10px 16px;
 font-size:10px;
 letter-spacing:.24em;
 text-transform:uppercase;
 -webkit-backdrop-filter:blur(10px);
 backdrop-filter:blur(10px);
}

/* ============ Pillars / Trust ============ */
.pillars{
 background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 50%,#111 100%);
 border-top:1px solid rgba(255,255,255,.1);
 border-bottom:1px solid rgba(255,255,255,.1);
 position:relative;
 overflow:hidden;
}
.pillars::before{
 content:"";
 position:absolute;
 inset:0;
 background:url('https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?w=1800&q=60') center/cover no-repeat;
 opacity:0.07;
 pointer-events:none;
}
.pillars .section-eyebrow,
.pillars .section-title{ color:var(--white); }
.pillar-num{ color:rgba(255,255,255,.35) !important; }
.pillar-title{ color:var(--white) !important; }
.pillar-text{ color:rgba(255,255,255,.6) !important; }
.pillars-grid{ border-top:1px solid rgba(255,255,255,.12); }
.pillar{ border-color:rgba(255,255,255,.12) !important; }
.pillars-grid{
 display:grid;
 grid-template-columns:repeat(5, 1fr);
 gap:0;
 margin-top:64px;
 border-top:1px solid var(--line);
}
.pillar{
 padding:48px 32px 48px 0;
 border-right:1px solid var(--line);
 position:relative;
}
.pillar:last-child{border-right:none;}
.pillar-num{
 font-family:'Poppins',sans-serif;
 font-size:11px;
 font-weight:500;
 font-style:normal;
 color:#999;
 margin-bottom:24px;
 display:block;
 letter-spacing:.1em;
}
.pillar-title{
 font-family:'Montserrat',sans-serif;
 font-size:18px;
 font-weight:800;
 letter-spacing:-.01em;
 line-height:1.2;
 margin-bottom:20px;
}
.pillar-text{
 font-size:13px;
 line-height:1.65;
 color:#555;
 font-weight:300;
}
.pillar-icon{
 width:32px; height:32px;
 margin-bottom:24px;
 opacity:.85;
}

/* ============ Destinations ============ */
.destinations{
 background:var(--ink);
 color:var(--white);
 padding:160px 48px;
}
.dest-inner{
 max-width:1440px;
 margin:0 auto;
 box-sizing:border-box;
}
.destinations .section-eyebrow{color:var(--white); opacity:.55;}
.destinations .section-eyebrow span:first-child{background:var(--white);}

.dest-header{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 margin-bottom:80px;
 gap:60px;
 flex-wrap:wrap;
}
.dest-header p{
 max-width:380px;
 font-size:14px;
 line-height:1.65;
 color:rgba(255,255,255,.65);
 font-weight:300;
}

.dest-grid{
 display:grid;
 grid-template-columns:repeat(12, 1fr);
 gap:24px;
}
.dest-card{
 position:relative;
 overflow:hidden;
 cursor:pointer;
 background:var(--deep-grey);
}
.dest-card-img{
 position:relative;
 width:100%;
 height:100%;
 overflow:hidden;
}
.dest-card-img img{
 width:100%; height:100%;
 object-fit:cover;
 transition:transform 1.4s cubic-bezier(.16,1,.3,1), filter 1s ease;
 filter:brightness(.85) saturate(1.05);
}
.dest-card:hover .dest-card-img img{
 transform:scale(1.06);
 filter:brightness(.95) saturate(1.1);
}
.dest-card-overlay{
 position:absolute;
 inset:0;
 background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.7) 100%);
 pointer-events:none;
}
.dest-card-content{
 position:absolute;
 bottom:0; left:0; right:0;
 padding:32px;
 z-index:2;
}
.dest-card-meta{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:20px;
}
.dest-name{
 font-family:'Montserrat',sans-serif;
 font-size:28px;
 font-weight:800;
 letter-spacing:-.02em;
 line-height:1;
 margin-bottom:8px;
}
.dest-region{
 font-size:10px;
 letter-spacing:.28em;
 text-transform:uppercase;
 color:rgba(255,255,255,.7);
}
.dest-num{
 font-family:'Poppins',sans-serif;
 font-size:11px;
 font-weight:500;
 font-style:normal;
 color:rgba(255,255,255,.6);
 margin-top:6px;
 display:block;
 letter-spacing:.08em;
}
.dest-arrow{
 width:42px; height:42px;
 border:1px solid rgba(255,255,255,.4);
 border-radius:50%;
 display:flex;
 align-items:center;
 justify-content:center;
 transition:all .4s ease;
 flex-shrink:0;
}
.dest-card:hover .dest-arrow{
 background:var(--white);
 color:var(--ink);
 border-color:var(--white);
}

/* Bento layout */
.dest-tall{grid-column:span 5; aspect-ratio:4/5;}
.dest-wide{grid-column:span 7; aspect-ratio:7/5;}
.dest-third{grid-column:span 4; aspect-ratio:1/1;}
.dest-half{grid-column:span 6; aspect-ratio:3/2;}

/* ============ Cinematic Pinned Section ============ */
.cinema{
 position:relative;
 background:var(--soft-white);
}
.cinema-track{
 display:flex;
 width:400vw;
 height:100vh;
 will-change:transform;
}
.cinema-panel{
 width:100vw;
 height:100vh;
 position:relative;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
 flex-shrink:0;
}
.cinema-panel-bg{
 position:absolute;
 inset:0;
 background-size:cover;
 background-position:center;
}
.cinema-panel-bg::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.45) 100%);
}
.cinema-content{
 position:relative;
 z-index:2;
 color:var(--white);
 text-align:center;
 padding:0 48px;
 max-width:900px;
}
.cinema-eyebrow{
 font-size:11px;
 letter-spacing:.4em;
 text-transform:uppercase;
 margin-bottom:30px;
 opacity:.85;
}
.cinema-title{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(36px, 6vw, 100px);
 line-height:1.05;
 letter-spacing:-.03em;
 margin-bottom:32px;
 font-style:normal;
 padding-bottom:0.1em;
}
.cinema-text{
 font-size:15px;
 line-height:1.75;
 max-width:540px;
 margin:0 auto;
 color:rgba(255,255,255,.85);
 font-weight:300;
}
.cinema-progress{
 position:absolute;
 bottom:48px; left:50%;
 transform:translateX(-50%);
 display:flex;
 gap:8px;
 z-index:3;
}
.cinema-progress span{
 width:32px; height:1px;
 background:rgba(255,255,255,.3);
 transition:background .4s ease;
}
.cinema-progress span.active{background:var(--white);}

/* ============ Experiences ============ */
.experiences{
 background:var(--white);
 border-top:1px solid var(--line);
}
.exp-list{
 margin-top:64px;
}
.exp-item{
 display:grid;
 grid-template-columns:80px 1fr 1.2fr 200px 160px 60px;
 gap:24px;
 align-items:center;
 padding:24px 0;
 border-top:1px solid var(--line);
 cursor:pointer;
 transition:padding .5s cubic-bezier(.7,0,.3,1);
 position:relative;
 overflow:visible;
}
.exp-item:last-child{border-bottom:1px solid var(--line);}
.exp-item::before{
 content:"";
 position:absolute;
 inset:0;
 background:var(--soft-white);
 transform:scaleX(0);
 transform-origin:left;
 transition:transform .6s cubic-bezier(.7,0,.3,1);
 z-index:-1;
}
.exp-item:hover::before{transform:scaleX(1);}
.exp-num{
 font-family:'Poppins',sans-serif;
 font-weight:500;
 font-style:normal;
 font-size:12px;
 color:#999;
 letter-spacing:.08em;
}
.exp-title{
 font-family:'Montserrat',sans-serif;
 font-size:28px;
 font-weight:800;
 letter-spacing:-.02em;
 line-height:1.05;
 transition:transform .5s ease;
}
.exp-item:hover .exp-title{transform:translateX(8px);}
.exp-title em{font-style:italic;}
.exp-desc{
 font-size:13px;
 color:#555;
 line-height:1.6;
 font-weight:300;
}
.exp-tag{
 font-size:10px;
 letter-spacing:.24em;
 text-transform:uppercase;
 color:#888;
 text-align:right;
}
.exp-arrow{
 width:36px; height:36px;
 border-radius:50%;
 border:1px solid var(--line-strong);
 display:flex;
 align-items:center;
 justify-content:center;
 transition:all .4s ease;
}
.exp-item:hover .exp-arrow{
 background:var(--ink);
 color:var(--white);
 border-color:var(--ink);
 transform:rotate(-45deg);
}
.exp-image-preview{
 position:relative;
 width:160px;
 height:100px;
 pointer-events:none;
 opacity:1;
 transform:none;
 transition:transform .4s ease;
 z-index:1;
 object-fit:cover;
 border-radius:3px;
}
.exp-item:hover .exp-image-preview{
 transform:scale(1.04);
}

/* ============ Weddings ============ */
.weddings{
 background:linear-gradient(180deg, var(--soft-white) 0%, var(--champagne) 100%);
 padding:160px 48px;
 position:relative;
 overflow:hidden;
}
.wed-inner{
 max-width:1440px;
 margin:0 auto;
 box-sizing:border-box;
}
.wed-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:80px;
 align-items:center;
 margin-top:80px;
}
.wed-images{
 position:relative;
 aspect-ratio:1;
}
.wed-img-main{
 position:absolute;
 width:75%; height:90%;
 top:0; left:0;
 overflow:hidden;
}
.wed-img-main img{
 width:100%; height:100%;
 object-fit:cover;
}
.wed-img-accent{
 position:absolute;
 width:55%; height:60%;
 bottom:0; right:0;
 overflow:hidden;
 border:8px solid var(--soft-white);
}
.wed-img-accent img{
 width:100%; height:100%;
 object-fit:cover;
}
.wed-text h2{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(32px, 4vw, 60px);
 line-height:1.05;
 letter-spacing:-.03em;
 margin-bottom:32px;
 font-style:normal;
}
.wed-text p{
 font-size:15px;
 line-height:1.75;
 color:#3a3a3a;
 margin-bottom:24px;
 max-width:480px;
 font-weight:300;
}
.wed-features{
 list-style:none;
 margin-top:40px;
 border-top:1px solid var(--line);
}
.wed-features li{
 padding:18px 0;
 border-bottom:1px solid var(--line);
 display:flex;
 justify-content:space-between;
 align-items:center;
 font-size:13px;
 letter-spacing:.04em;
}
.wed-features li span:first-child{
 font-family:'Fraunces',serif;
 font-size:18px;
 font-style:italic;
}
.wed-features li span:last-child{
 font-size:10px;
 letter-spacing:.28em;
 text-transform:uppercase;
 color:#777;
}

/* ============ Tours / Cruises ============ */
.tours{
 background:var(--ink);
 color:var(--white);
 padding:160px 48px;
}
.tours-inner{
 max-width:1440px;
 margin:0 auto;
 box-sizing:border-box;
}
.tours .section-eyebrow{color:var(--white); opacity:.55;}
.tours .section-eyebrow span:first-child{background:var(--white);}

.tours-split{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:24px;
 margin-top:64px;
}
.tour-card{
 position:relative;
 aspect-ratio:4/5;
 overflow:hidden;
 cursor:pointer;
}
.tour-card img{
 width:100%; height:100%;
 object-fit:cover;
 transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}
.tour-card:hover img{transform:scale(1.05);}
.tour-card-overlay{
 position:absolute;
 inset:0;
 background:linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.7) 100%);
}
.tour-card-content{
 position:absolute;
 bottom:0;
 padding:48px;
 z-index:2;
}
.tour-card-tag{
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 margin-bottom:20px;
 opacity:.8;
}
.tour-card-title{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(28px, 3.5vw, 52px);
 line-height:1.05;
 letter-spacing:-.025em;
 margin-bottom:16px;
 font-style:normal;
}
.tour-card-text{
 font-size:14px;
 line-height:1.6;
 color:rgba(255,255,255,.8);
 max-width:380px;
 font-weight:300;
}
.tour-card-link{
 display:inline-flex;
 align-items:center;
 gap:10px;
 margin-top:28px;
 font-size:11px;
 letter-spacing:.24em;
 text-transform:uppercase;
 color:var(--white);
 text-decoration:none;
 border-bottom:1px solid rgba(255,255,255,.3);
 padding-bottom:8px;
 transition:border-color .3s;
}
.tour-card-link:hover{border-bottom-color:var(--white);}

/* ============ Gallery ============ */
.gallery{
 background:var(--soft-white);
 padding:160px 0 0;
 border-top:1px solid var(--line);
 overflow:hidden;
}
.gallery-header{
 padding:0 48px;
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 flex-wrap:wrap;
 gap:48px;
 margin-bottom:80px;
}
.gallery-header p{
 max-width:340px;
 font-size:14px;
 line-height:1.65;
 color:#555;
 font-weight:300;
}
.gallery-row{
 display:flex;
 gap:0;
 overflow:hidden;
 width:100%;
 padding:0;
 margin-bottom:0;
}
.gallery-track{
 display:flex;
 gap:24px;
 animation:slideLeft 60s linear infinite;
 will-change:transform;
}
.gallery-track-2{
 animation:slideLeft 80s linear infinite reverse;
}
@keyframes slideLeft{
 from{transform:translateX(0);}
 to{transform:translateX(calc(-50% - 12px));}
}
.gallery-item{
 flex-shrink:0;
 height:480px;
 position:relative;
 overflow:hidden;
}
.gallery-item img{
 width:100%; height:100%;
 object-fit:cover;
 transition:transform .8s ease;
}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-tag{
 position:absolute;
 bottom:16px; left:16px;
 font-size:10px;
 letter-spacing:.28em;
 text-transform:uppercase;
 color:var(--white);
 background:rgba(0,0,0,.5);
 padding:8px 14px;
 -webkit-backdrop-filter:blur(8px);
 backdrop-filter:blur(8px);
}
.gi-1{width:680px;}
.gi-2{width:480px;}
.gi-3{width:560px;}
.gi-4{width:420px;}
.gi-5{width:620px;}

/* ============ Quote ============ */
.quote{
 background:var(--white);
 padding:200px 48px;
 text-align:center;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
}
.quote-mark{
 font-family:'Fraunces',serif;
 font-size:120px;
 line-height:.4;
 color:var(--beige-deep);
 opacity:.4;
 margin-bottom:20px;
}
.quote-text{
 font-family:'Fraunces',serif;
 font-weight:300;
 font-style:italic;
 font-size:clamp(28px, 3.5vw, 48px);
 line-height:1.3;
 letter-spacing:-.015em;
 max-width:1100px;
 margin:0 auto 48px;
}
.quote-author{
 font-size:11px;
 letter-spacing:.3em;
 text-transform:uppercase;
 color:#666;
}

/* ============ Contact ============ */
.contact{
 background:var(--ink);
 color:var(--white);
 padding:160px 48px;
 position:relative;
 overflow:hidden;
}
.contact-inner{
 max-width:1440px;
 margin:0 auto;
 box-sizing:border-box;
}
.contact-bg{
 position:absolute;
 top:0; right:0;
 width:50%;
 height:100%;
 background:url('https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?w=1800&q=85') center/cover no-repeat;
 opacity:.18;
 filter:grayscale(.4);
}
.contact-grid{
 display:grid;
 grid-template-columns:1.3fr 1fr;
 gap:120px;
 position:relative;
 z-index:2;
}
.contact .section-eyebrow{color:var(--white); opacity:.55;}
.contact .section-eyebrow span:first-child{background:var(--white);}
.contact-title{
 font-family:'Montserrat',sans-serif;
 font-weight:800;
 font-size:clamp(36px, 5vw, 80px);
 line-height:1.05;
 letter-spacing:-.03em;
 margin-bottom:48px;
 font-style:normal;
}

.contact-form{
 display:grid;
 gap:24px;
 max-width:500px;
}
.form-row{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:24px;
}
.form-field{
 position:relative;
}
.form-field input,
.form-field select,
.form-field textarea{
 width:100%;
 background:transparent;
 border:none;
 border-bottom:1px solid rgba(255,255,255,.2);
 padding:16px 0 14px;
 color:var(--white);
 font-family:'Inter',sans-serif;
 font-size:14px;
 font-weight:300;
 outline:none;
 transition:border-color .4s ease;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
 border-bottom-color:var(--white);
}
.form-field label{
 position:absolute;
 top:16px; left:0;
 font-size:11px;
 letter-spacing:.22em;
 text-transform:uppercase;
 color:rgba(255,255,255,.5);
 pointer-events:none;
 transition:all .4s ease;
}
.form-field input:focus + label,
.form-field input:not(:placeholder-shown) + label,
.form-field select:focus + label,
.form-field select:valid + label,
.form-field textarea:focus + label,
.form-field textarea:not(:placeholder-shown) + label{
 top:-8px;
 font-size:9px;
 color:rgba(255,255,255,.7);
}
.form-field select{
 appearance:none;
 cursor:pointer;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1L6 6L11 1' stroke='white' stroke-opacity='0.5'/></svg>");
 background-repeat:no-repeat;
 background-position:right 0 center;
}
.form-field select option{background:var(--ink);}
.form-field textarea{
 resize:none;
 min-height:90px;
 line-height:1.5;
}
.contact-submit{
 margin-top:16px;
 justify-self:start;
 background:var(--white);
 color:var(--ink);
 border:1px solid var(--white);
 padding:18px 36px;
 font-size:11px;
 letter-spacing:.24em;
 text-transform:uppercase;
 cursor:pointer;
 transition:all .4s ease;
 display:inline-flex;
 align-items:center;
 gap:12px;
 font-family:'Inter',sans-serif;
 font-weight:500;
}
.contact-submit:hover{
 background:transparent;
 color:var(--white);
}

.contact-aside{
 display:flex;
 flex-direction:column;
 gap:48px;
}
.contact-info-block{
 border-top:1px solid rgba(255,255,255,.15);
 padding-top:24px;
}
.contact-info-label{
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 color:rgba(255,255,255,.5);
 margin-bottom:14px;
}
.contact-info-value{
 font-family:'Fraunces',serif;
 font-size:22px;
 font-weight:300;
 letter-spacing:-.01em;
 font-style:italic;
}
.contact-info-value a{
 color:inherit;
 text-decoration:none;
 transition:opacity .3s;
}
.contact-info-value a:hover{opacity:.7;}

.qr-block{
 background:var(--white);
 padding:28px;
 display:flex;
 gap:24px;
 align-items:center;
 margin-top:8px;
}
.qr-block img{
 width:120px; height:120px;
 flex-shrink:0;
}
.qr-text{
 color:var(--ink);
}
.qr-text-eyebrow{
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 color:#888;
 margin-bottom:10px;
}
.qr-text-title{
 font-family:'Fraunces',serif;
 font-size:22px;
 font-weight:400;
 font-style:italic;
 letter-spacing:-.01em;
 line-height:1.15;
 margin-bottom:8px;
}
.qr-text-sub{
 font-size:11px;
 color:#666;
 line-height:1.4;
}

/* ============ Footer ============ */

.footer-top{
 display:grid;
 grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;
 gap:48px;
 padding-bottom:64px;
 border-bottom:1px solid rgba(255,255,255,.1);
 align-items:start;
}
.footer-brand{
 display:flex;
 flex-direction:column;
 gap:20px;
}
.footer-brand-mark{
 display:flex;
 align-items:center;
 gap:12px;
}
.footer-brand-mark img{
 height:64px; width:auto;
 object-fit:contain;
}
.footer-brand-text{
 font-family:'Fraunces',serif;
 font-size:20px;
 font-weight:400;
 letter-spacing:.02em;
}
.footer-tagline{
 font-size:13px;
 line-height:1.65;
 color:rgba(255,255,255,.6);
 max-width:320px;
 font-weight:300;
}
.footer-col h4{
 font-size:10px;
 letter-spacing:.3em;
 text-transform:uppercase;
 color:rgba(255,255,255,.5);
 margin-bottom:24px;
 font-weight:500;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:14px;}
.footer-col a{
 color:rgba(255,255,255,.85);
 text-decoration:none;
 font-size:13px;
 font-weight:300;
 transition:color .3s;
}
.footer-col a:hover{color:var(--white);}
.footer-bottom{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding-top:32px;
 font-size:11px;
 color:rgba(255,255,255,.4);
 letter-spacing:.04em;
 flex-wrap:wrap;
 gap:16px;
}
.footer-qr{
 display:flex;
 align-items:center;
 gap:14px;
}
.footer-qr img{width:36px; height:36px;}
.footer-qr span{
 font-size:10px;
 letter-spacing:.24em;
 text-transform:uppercase;
}

/* ============ Responsive ============ */
@media (max-width: 1100px){
 .nav, .nav.solid{padding:14px 24px;}
 .nav-links{gap:clamp(10px,1.5vw,24px);}
 .section{padding:100px 24px;}
 .hero{padding:0 20px clamp(36px,5vh,60px);}
 .hero-actions{flex-direction:column;gap:12px;}
 .hero-actions .btn{width:100%;text-align:center;justify-content:center;}
 .hero-meta{display:none;}
 .hero-scroll{right:24px; bottom:24px;}
 .manifesto, .wed-grid, .contact-grid, .tours-split{grid-template-columns:1fr; gap:60px;}
 .pillars-grid{grid-template-columns:repeat(2, 1fr);}
 .pillar{border-right:none; border-bottom:1px solid var(--line); padding:36px 0;}
 .pillar:nth-child(odd){border-right:1px solid var(--line); padding-right:24px;}
 .footer-top{grid-template-columns:1fr 1fr; gap:40px;}
 .dest-tall, .dest-wide, .dest-third, .dest-half{grid-column:span 12;}
 .destinations, .tours, .contact, .weddings{padding:100px 24px;}
 .gallery-header{padding:0 24px;}
 .footer{padding:60px 24px 28px;}
 .exp-item{grid-template-columns:50px 1fr 120px 44px;}
 .exp-desc, .exp-tag{display:none;}
 .exp-image-preview{width:120px; height:75px;}
}
@media (max-width: 720px){
 .nav-links{display:none;}
 .menu-toggle{display:block;}
 .nav-cta{display:none;}
 .form-row{grid-template-columns:1fr;}
 .hero-bottom{flex-direction:column; align-items:flex-start;}
 .hero-actions{flex-direction:column; width:100%; align-items:stretch;}
 .btn{justify-content:center;}
 .pillars-grid{grid-template-columns:1fr;}
 .pillar, .pillar:nth-child(odd){border-right:none;}
 .gallery-item{height:340px;}
 .gi-1{width:460px;} .gi-2{width:340px;} .gi-3{width:400px;} .gi-4{width:300px;} .gi-5{width:440px;}
 .footer-top{grid-template-columns:1fr;}
 .footer-bottom{flex-direction:column; align-items:flex-start;}
 .qr-block{flex-direction:column; text-align:center;}
}



/* ============ Flight Accent — Scrolling Plane + Section Waypoints ============ */
.scroll-plane{
  position:fixed;
  right:24px;
  top:0;
  width:24px;
  height:24px;
  pointer-events:none;
  z-index:500;
  opacity:0;
  transition:opacity .8s ease, top .05s linear;
  transform:translateY(-50%);
}
.scroll-plane svg{
  width:100%;
  height:100%;
}

@media(max-width:720px){
  .scroll-plane, .section-waypoint{display:none;}
}

/* ============ Background Route Watermark ============ */

.section.manifesto > *:not(.route-bg),
.section.pillars > *:not(.route-bg),
.section.experiences > *:not(.route-bg),
.weddings .wed-inner,
.tours .tours-inner,
.contact .contact-inner,
.contact .contact-bg{
  position:relative;
  z-index:1;
}

.route-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.route-bg svg{
  position:absolute;
  width:100%;
  height:100%;
  min-height:400px;
}
/* Make sure section content sits above the route */
.destinations .dest-inner,
.destinations .dest-header,
.destinations .dest-grid,
.quote .quote-mark,
.quote .quote-text,
.quote .quote-author,
.gallery .gallery-header,
.gallery .gallery-row{
  position:relative;
  z-index:1;
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
:focus-visible{outline:2px solid #E8DCC4;outline-offset:3px;}
a,button{-webkit-tap-highlight-color:transparent;}

/* ============ Mega Menu — Travel Services ============ */
.has-mega{position:static;}
.mega-trigger{cursor:pointer;}
.mega-caret{display:inline-block;font-size:8px;margin-left:5px;transform:translateY(-1px);transition:transform .3s;}
.has-mega:hover .mega-caret,.has-mega.open .mega-caret{transform:rotate(180deg) translateY(1px);}
.mega-panel{
 position:absolute;left:0;right:0;top:100%;
 background:rgba(13,17,23,.97);
 backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 border-top:1px solid rgba(216,195,154,.18);
 border-bottom:1px solid rgba(255,255,255,.06);
 opacity:0;visibility:hidden;transform:translateY(10px);
 transition:opacity .35s ease,transform .35s cubic-bezier(.7,0,.3,1),visibility .35s;
 z-index:99;
}
.has-mega:hover .mega-panel,.has-mega:focus-within .mega-panel,.has-mega.open .mega-panel{
 opacity:1;visibility:visible;transform:translateY(0);
}
.mega-inner{
 max-width:1280px;margin:0 auto;
 display:grid;grid-template-columns:2fr 1fr 1.2fr;
 gap:clamp(24px,4vw,64px);
 padding:clamp(28px,3.5vw,48px) clamp(24px,4vw,60px);
}
.mega-heading{
 display:block;font-family:'Poppins',sans-serif;font-size:10px;font-weight:500;
 letter-spacing:.28em;text-transform:uppercase;color:var(--champagne,#d8c39a);
 margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);
}
.mega-list{list-style:none;margin:0;padding:0;}
.mega-cols-2{columns:2;column-gap:32px;}
.nav .mega-panel .mega-list a,.nav.solid .mega-panel .mega-list a{
 display:block;color:rgba(255,255,255,.82);text-decoration:none;
 font-family:'Poppins',sans-serif;font-size:11px;font-weight:400;
 letter-spacing:.14em;text-transform:uppercase;
 padding:8px 0;transition:color .25s,padding-left .25s;white-space:nowrap;
}
.nav .mega-panel .mega-list a:hover,.nav.solid .mega-panel .mega-list a:hover{
 color:var(--champagne,#d8c39a);padding-left:6px;
}
.nav .mega-panel .mega-list a::after{display:none;}
.mega-feature{border-left:1px solid rgba(255,255,255,.1);padding-left:clamp(24px,3vw,48px);}
.mega-feature p{
 font-family:'Fraunces',serif;font-weight:400;font-size:clamp(1.1rem,1.5vw,1.4rem);
 line-height:1.45;color:#fff;margin:0 0 22px;font-style:italic;
}
.nav .mega-panel .mega-feature a.mega-cta,.nav.solid .mega-panel .mega-feature a.mega-cta{
 display:inline-block;font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.2em;
 text-transform:uppercase;color:var(--champagne,#d8c39a);text-decoration:none;
 border:1px solid rgba(216,195,154,.5);padding:12px 24px;transition:all .35s;
}
.nav .mega-panel .mega-feature a.mega-cta:hover{background:var(--champagne,#d8c39a);color:#101317;}
@media (max-width:1100px){
 .mega-inner{grid-template-columns:1.6fr 1fr;}
 .mega-feature{display:none;}
}
@media (max-width:720px){
 .has-mega{position:relative;width:100%;}
 .mega-panel{position:static;opacity:1;visibility:visible;transform:none;
  background:transparent;border:none;backdrop-filter:none;display:none;}
 .has-mega.open .mega-panel{display:block;}
 .mega-inner{grid-template-columns:1fr;gap:20px;padding:16px 0 4px 12px;max-width:none;}
 .mega-cols-2{columns:1;}
 .nav .mega-panel .mega-list a,.nav.solid .mega-panel .mega-list a{color:var(--ink);letter-spacing:.12em;}
 .nav .mega-panel .mega-list a:hover{color:var(--ink);}
 .mega-heading{color:var(--ink);border-color:var(--line,#e0dbd2);}
 .mega-feature{display:none;}
}


.svc-index{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,80px);margin-top:8px;}
.svc-link{display:grid;grid-template-columns:44px 1fr 30px;align-items:center;gap:12px;
 padding:22px 0;border-top:1px solid var(--line,#e5e0d8);text-decoration:none;color:var(--ink);}
.svc-num{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.14em;color:#b6ad9c;}
.svc-name{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(18px,2vw,24px);line-height:1.05;transition:transform .45s ease;}
.svc-arrow{font-size:18px;opacity:0;transform:translateX(-8px);transition:all .4s ease;color:var(--champagne,#b98d4f);}
.svc-link:hover .svc-name{transform:translateX(8px);}
.svc-link:hover .svc-arrow{opacity:1;transform:none;}
@media (max-width:760px){.svc-index{grid-template-columns:1fr;}}


/* ============ Subpage section bands — homepage sequence ============ */
.sub-band{padding:140px clamp(24px,4vw,60px);position:relative;overflow:hidden;}
.sub-band .band-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2;}
.band-light{background:var(--soft-white);}
.band-dark{background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 50%,#111 100%);
 border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);color:var(--white);}

.band-champagne{background:linear-gradient(180deg, var(--soft-white) 0%, var(--champagne) 100%);}
.band-white{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.band-soft{background:var(--soft-white);}
.sub-band h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(28px,4vw,54px);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin:0 0 18px;}
.sub-band p{font-family:'Inter',sans-serif;font-weight:300;color:#555;line-height:1.8;max-width:760px;margin:0 0 18px;font-size:15px;}
.sub-band.band-dark h2{color:var(--white);}
.sub-band.band-dark p{color:rgba(255,255,255,.78);}
.sub-band.band-dark .section-eyebrow{color:var(--white);opacity:.6;}
.sub-band.band-dark .section-eyebrow span:first-child{background:var(--white);}
.sub-band.band-dark a{color:var(--champagne,#d8c39a);}
@media (max-width:720px){.sub-band{padding:100px 24px;}}
@media (max-width:720px){.footer2{padding:100px 24px 32px;}}


/* Text over images is always white */
.dest-card-content, .dest-card-content .dest-name, .dest-card-content .dest-region,
.dest-card-content .dest-num, .dest-card-content .dest-arrow{color:var(--white);}
.dest-card-content .dest-region{opacity:.85;}
.dest-card-content .dest-num{opacity:.7;}


/* ============ Tab dropdowns ============ */
.nav-drop{position:relative;}
.drop-caret{display:inline-block;font-size:8px;margin-left:5px;transform:translateY(-1px);transition:transform .3s;}
.nav-drop:hover .drop-caret,.nav-drop.open .drop-caret{transform:rotate(180deg) translateY(1px);}
.drop-panel{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);
 background:rgba(13,17,23,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 border:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(216,195,154,.25);
 min-width:230px;padding:10px 0;opacity:0;visibility:hidden;
 transition:opacity .3s ease,transform .3s cubic-bezier(.7,0,.3,1),visibility .3s;z-index:99;}
.nav-drop:hover .drop-panel,.nav-drop:focus-within .drop-panel,.nav-drop.open .drop-panel{
 opacity:1;visibility:visible;transform:translate(-50%,0);}
.nav .drop-panel a,.nav.solid .drop-panel a{display:block;color:rgba(255,255,255,.85);text-decoration:none;
 font-family:'Poppins',sans-serif;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
 padding:10px 22px;white-space:nowrap;transition:color .25s,padding-left .25s;}
.nav .drop-panel a:hover,.nav.solid .drop-panel a:hover{color:var(--champagne,#d8c39a);padding-left:28px;}
.nav .drop-panel a::after{display:none;}
@media (max-width:720px){
 .nav-drop{width:100%;}
 .drop-panel{position:static;transform:none;opacity:1;visibility:visible;display:none;
  background:transparent;border:none;backdrop-filter:none;min-width:0;padding:4px 0 8px 16px;}
 .nav-drop.open .drop-panel{display:block;}
 .nav .drop-panel a,.nav.solid .drop-panel a{color:var(--ink);letter-spacing:.12em;padding:8px 0;}
 .nav .drop-panel a:hover{color:var(--ink);padding-left:6px;}
}


/* ============ In-section editorial images ============ */
.band-img{position:relative;overflow:hidden;aspect-ratio:21/9;margin-top:44px;}
.band-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.16,1,.3,1);}
.band-img:hover img{transform:scale(1.04);}
.band-img .manifesto-image-tag{top:20px;left:20px;}
@media (max-width:720px){.band-img{aspect-ratio:16/10;margin-top:32px;}}


/* ============ Site features: fab stack, trust bar, cookie, top, forms ============ */
.fab-stack{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:12px;}
.fab{width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;
 text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .25s ease;font-size:22px;}
.fab:hover{transform:translateY(-3px);}
.fab-call{background:var(--champagne,#d8c39a);color:#101317;}
.fab-wa{background:#25D366;color:#fff;}
.fab svg{width:24px;height:24px;fill:currentColor;}
.to-top{position:fixed;left:20px;bottom:20px;z-index:200;width:46px;height:46px;border-radius:999px;
 background:rgba(13,17,23,.92);color:#fff;border:1px solid rgba(255,255,255,.15);cursor:pointer;
 display:flex;align-items:center;justify-content:center;font-size:18px;opacity:0;visibility:hidden;
 transition:opacity .3s,visibility .3s,transform .25s;}
.to-top.show{opacity:1;visibility:visible;}
.to-top:hover{transform:translateY(-3px);}
.trust-bar{background:#0d1117;border-top:1px solid rgba(216,195,154,.25);padding:18px clamp(24px,4vw,60px);
 display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;align-items:center;}
.trust-bar span,.trust-bar a{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.22em;
 text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;}
.trust-bar a:hover{color:var(--champagne,#d8c39a);}
.trust-bar .tb-star{color:var(--champagne,#d8c39a);}
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;background:rgba(13,17,23,.97);
 -webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(216,195,154,.25);padding:16px clamp(24px,4vw,60px);
 backdrop-filter:blur(14px);border-top:1px solid rgba(216,195,154,.25);padding:16px clamp(24px,4vw,60px);
 display:none;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;}
.cookie-bar.show{display:flex;}
.cookie-bar p{font-family:'Inter',sans-serif;font-weight:300;font-size:13px;color:rgba(255,255,255,.8);margin:0;}
.cookie-bar button{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
 padding:10px 22px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;}
.cookie-bar button.ck-accept{background:var(--champagne,#d8c39a);color:#101317;border-color:var(--champagne,#d8c39a);}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.newsletter-form input{flex:1;min-width:200px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);
 padding:12px 16px;color:#fff;font-family:'Inter',sans-serif;font-size:13px;}
.newsletter-form button{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
 background:var(--champagne,#d8c39a);color:#101317;border:none;padding:12px 22px;cursor:pointer;}
.mini-inquiry{max-width:560px;margin:32px auto 0;display:grid;gap:12px;text-align:left;}
.mini-inquiry input,.mini-inquiry textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
 padding:13px 16px;color:#fff;font-family:'Inter',sans-serif;font-size:14px;width:100%;}
.mini-inquiry textarea{min-height:90px;resize:vertical;}
.mini-inquiry button{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
 background:var(--champagne,#d8c39a);color:#101317;border:none;padding:15px 28px;cursor:pointer;}
.share-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.share-row a{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
 text-decoration:none;color:var(--ink);border:1px solid var(--line-strong,#cfc8bc);padding:10px 18px;border-radius:999px;transition:.25s;}
.share-row a:hover{background:var(--ink);color:#fff;}
.testimonials-hidden{display:none;}
@media (max-width:720px){.fab-stack{right:14px;bottom:14px;}.to-top{left:14px;bottom:14px;}}


/* ============ Ghosted dark-band backgrounds (homepage Pillars treatment) ============ */
.band-ghost{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.07;pointer-events:none;z-index:0;}
/* ============ Edge-melted light-band images ============ */
.band-img img{opacity:.9;}
.band-img::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,var(--soft-white,#faf8f4) 0%,rgba(250,248,244,0) 16%,rgba(250,248,244,0) 84%,var(--soft-white,#faf8f4) 100%),
 linear-gradient(90deg,var(--soft-white,#faf8f4) 0%,rgba(250,248,244,0) 9%,rgba(250,248,244,0) 91%,var(--soft-white,#faf8f4) 100%);}
.band-img .manifesto-image-tag{z-index:2;}


/* ============ Editorial footer ============ */
.footer2{background:#101317;padding:140px clamp(24px,4vw,60px) 32px;}
.f2-inner{max-width:1280px;margin:0 auto;}
.f2-whisper{font-family:'Fraunces',serif;font-style:italic;font-weight:300;color:rgba(255,255,255,.85);font-size:clamp(20px,2.4vw,30px);margin:0 0 6px;}
.f2-statement{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.03em;color:#fff;font-size:clamp(34px,5vw,64px);line-height:1;margin:0 0 44px;}
.f2-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:clamp(24px,3.5vw,56px);border-top:1px solid rgba(255,255,255,.1);padding-top:36px;}
.f2-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.f2-eyebrow span:first-child{display:block;width:28px;height:1px;background:var(--champagne,#d8c39a);}
.f2-eyebrow span:last-child{font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.f2-grid p, .footer2 .f2-contact{font-family:'Inter',sans-serif;font-weight:300;color:rgba(255,255,255,.55);font-size:13px;line-height:1.9;margin:0;}
.f2-contact a{color:rgba(255,255,255,.7);text-decoration:none;}
.f2-contact a:hover{color:var(--champagne,#d8c39a);}
.f2-links{list-style:none;margin:0;padding:0;}
.f2-links a{display:block;font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);text-decoration:none;padding:7px 0;transition:color .25s,padding-left .25s;}
.f2-links a:hover{color:var(--champagne,#d8c39a);padding-left:5px;}
.f2-links a.f2-all{color:var(--champagne,#d8c39a);}
.nl-line{display:flex;border-bottom:1px solid rgba(255,255,255,.3);max-width:280px;}
.nl-line input{flex:1;background:transparent;border:none;outline:none;padding:9px 0;color:#fff;font-family:'Inter',sans-serif;font-weight:300;font-size:13px;}
.nl-line input::placeholder{color:rgba(255,255,255,.35);}
.nl-line button{background:transparent;border:none;cursor:pointer;color:var(--champagne,#d8c39a);font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:9px 0 9px 12px;}
.f2-social{font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:18px;}
.f2-social a{color:rgba(255,255,255,.5);text-decoration:none;}
.f2-social a:hover{color:var(--champagne,#d8c39a);}
.f2-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:52px;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;align-items:center;}
.f2-bottom, .f2-bottom a{font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);text-decoration:none;}
.f2-bottom a:hover{color:var(--champagne,#d8c39a);}
@media (max-width:900px){.f2-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.f2-grid{grid-template-columns:1fr;}}


.drop-div{height:1px;background:rgba(255,255,255,.12);margin:8px 18px;}
.drop-label{font-family:'Poppins',sans-serif;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--champagne,#d8c39a);padding:6px 22px 2px;display:block;}
@media (max-width:720px){.drop-div{background:var(--line,#e0dbd2);margin:8px 0;}.drop-label{padding:6px 0 2px;}}


.f2-icons{display:flex;gap:16px;align-items:center;margin-top:18px;}
.f2-icon{color:rgba(255,255,255,.55);transition:color .25s,transform .25s;display:inline-flex;}
.f2-icon:hover{color:var(--champagne,#d8c39a);transform:translateY(-2px);}
.f2-logo-white{filter:invert(1);opacity:.85;}


/* ============ Mobile viewport lock — no horizontal pan ============ */
html{overflow-x:hidden;}
html,body{max-width:100%;}
@supports (overflow-x:clip){html,body{overflow-x:clip;}}
img,svg,video{max-width:100%;}
.band-inner,.sub-band,.wb-split,.f2-grid{min-width:0;}
.drop-panel{max-width:calc(100vw - 16px);}
@media (min-width:721px){
 .nav-drop:nth-last-child(-n+3) .drop-panel{left:auto;right:0;transform:translate(0,10px);}
 .nav-drop:nth-last-child(-n+3):hover .drop-panel,
 .nav-drop:nth-last-child(-n+3):focus-within .drop-panel,
 .nav-drop:nth-last-child(-n+3).open .drop-panel{transform:translate(0,0);}
}
@media (max-width:720px){
 .marquee-track,.cinema-track{will-change:transform;}
 .trust-bar{gap:8px 20px;padding-left:16px;padding-right:16px;}
 .f2-bottom{justify-content:center;text-align:center;}
}

