/* Ocean Elite — main.css v2.0 */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --sand:    #f5f0e8; --cream:   #faf8f3; --navy:    #090d10;
  --ocean:   #111820; --teal:    #c9a84c; --gold:    #c9a84c;
  --gold-lt: #e8d49a; --text:    #1a1a1a; --muted:   #6b6b6b;
  --max-width: 1200px; --section-pad: 7rem;
}
html { scroll-behavior: smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 4rem;transition:background .4s,box-shadow .4s; }
nav.scrolled { background:rgba(9,13,16,.97);box-shadow:0 2px 24px rgba(0,0,0,.3);backdrop-filter:blur(8px); }
.logo { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;letter-spacing:.12em;color:#fff;text-decoration:none; }
.logo span { color:var(--gold); }
.nav-links { display:flex;gap:2.4rem;list-style:none; }
.nav-links a { font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);background:var(--gold);border:none;padding:.6rem 1.6rem;cursor:pointer;transition:background .2s;text-decoration:none; }
.nav-cta:hover { background:var(--gold-lt); }
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer; }
.hamburger span { width:24px;height:1.5px;background:#fff;display:block; }

/* HERO */
.hero { position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.hero-bg { position:absolute;inset:0;overflow:hidden; }
.hero-bg img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease,filter .6s ease; }
.hero:hover .hero-bg img { transform:scale(1.04);filter:brightness(.7); }
.hero-bg::before { content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(9,13,16,.75) 0%,rgba(17,24,32,.55) 55%,rgba(9,13,16,.5) 100%); }
.hero-bg::after { content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(9,13,16,.8) 0%,rgba(9,13,16,.35) 55%,rgba(9,13,16,.15) 100%);opacity:1;transition:none; }
.hero:hover .hero-bg::after { opacity:1; }
.hero-content { position:relative;text-align:center;color:#fff;padding:0 1.5rem;max-width:860px;animation:heroIn 1.2s ease forwards; }
@keyframes heroIn { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.hero-eyebrow { font-size:.68rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block; }
.hero-content h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:1.1;margin-bottom:1.4rem; }
.hero-content p { font-size:clamp(.85rem,1.8vw,1rem);font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.78);max-width:580px;margin:0 auto 2.4rem;line-height:1.8; }
.hero-btns { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap; }
.btn-primary { background:var(--gold);color:var(--navy);font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:1rem 2.6rem;transition:background .2s,transform .2s;display:inline-block; }
.btn-primary:hover { background:var(--gold-lt);transform:translateY(-2px); }
.btn-ghost { background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:1rem 2.6rem;transition:border-color .2s,color .2s;display:inline-block; }
.btn-ghost:hover { border-color:var(--gold);color:var(--gold); }
.scroll-hint { position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;animation:bounce 2.2s infinite; }
.scroll-hint::after { content:'';width:1px;height:50px;background:rgba(255,255,255,.3); }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* ── VIDEO SECTION ── */
.oe-video { background:var(--navy);padding:5rem 2rem; }
.oe-video-inner { max-width:560px;margin:0 auto; }
.oe-video-header { text-align:center;margin-bottom:2rem; }
.oe-video-sub { font-size:.88rem;color:rgba(255,255,255,.55);max-width:500px;margin:.6rem auto 0;line-height:1.7; }
.oe-video-player { width:100%;border-radius:4px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.07); }
.oe-video-embed { position:relative;width:100%;padding-bottom:56.25%;background:#000; }
.oe-video-embed iframe,
.oe-video-embed video { position:absolute;top:0;left:0;width:100%;height:100%;display:block; }

/* ── HELICOPTER SECTION ── */
.oe-helicopter { background:#090d10 !important;position:relative;overflow:hidden; }
.heli-bg { position:absolute;inset:0;background-size:cover;background-position:center;opacity:.15; }
.heli-header { margin-bottom:3rem; }
.oe-helicopter .section-label { color:var(--gold); }
.oe-helicopter .section-title { color:#fff !important; }
.oe-helicopter .divider { background:var(--gold); }
.heli-subtitle { font-size:.9rem;line-height:1.9;color:rgba(255,255,255,.6);max-width:680px;margin-top:.8rem;font-weight:300; }
.heli-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3rem; }
.heli-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);padding:2rem;transition:border-color .3s,transform .3s; }
.heli-card:hover { border-color:rgba(201,168,76,.4);transform:translateY(-3px); }
.heli-icon { color:var(--gold);margin-bottom:1rem; }
.heli-card h4 { font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:#fff;margin-bottom:.5rem; }
.heli-card p { font-size:.82rem;line-height:1.85;color:rgba(255,255,255,.55);font-weight:300; }
.heli-cta { text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.07); }
.heli-cta p { font-size:.88rem;color:rgba(255,255,255,.5);margin-bottom:1.4rem;font-style:italic; }

@media (max-width:768px) {
  .heli-grid { grid-template-columns:1fr; }
  .oe-video { padding:3rem 1.4rem; }
  .oe-video-inner { max-width:100%; }
}

/* Offset for fixed nav on all anchor sections */
section, .oe-helicopter, .oe-video, .oe-standard, .oe-packages {
  scroll-margin-top: 70px;
}
@media (max-width:768px) {
  section, .oe-helicopter, .oe-video, .oe-standard, .oe-packages {
    scroll-margin-top: 60px;
  }
}

/* ── SHARED ── */
section { padding:var(--section-pad) 2rem; }
.section-label { font-size:.62rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block; }
.section-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:300;line-height:1.15;color:var(--navy); }
.section-title em { font-style:italic;color:var(--gold); }
.divider { width:48px;height:1px;background:var(--gold);margin:1.8rem 0; }

/* ── THE OCEAN ELITE STANDARD ── */
.oe-standard { background:#090d10; }
.std-header { text-align:center;margin-bottom:3.5rem; }
.std-header .section-label { display:block; }
.std-intro { font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:300;color:rgba(255,255,255,.85);max-width:720px;margin:1rem auto 0;line-height:1.5;font-style:italic; }
.std-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3.5rem; }
.std-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:2.2rem;transition:border-color .3s,background .3s; }
.std-card:hover { border-color:rgba(201,168,76,.4);background:rgba(255,255,255,.07); }
.std-icon { width:36px;height:36px;color:var(--gold);margin-bottom:1.2rem; }
.std-card h4 { font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:#fff;margin-bottom:.5rem; }
.std-card p { font-size:.82rem;line-height:1.85;color:rgba(255,255,255,.55);font-weight:300; }
.std-cta { text-align:center;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.08); }
.std-cta p { font-size:.88rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.6rem; }

/* DESTINATIONS */
.destinations { background:#090d10;color:#fff; }
.destinations .section-title { color:#fff; }
.destinations .section-title em { color:var(--gold-lt); }
.dest-grid { max-width:var(--max-width);margin:4rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.5px; }
.dest-card { position:relative;overflow:hidden;aspect-ratio:3/2;cursor:pointer; }
.dest-card:first-child { grid-row:span 2;aspect-ratio:auto; }
.dest-card img { width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s;display:block; }
.dest-card:hover img { transform:scale(1.06);filter:brightness(.85); }
.dest-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(9,13,16,.92) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:2.2rem; }
.dest-overlay h3 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;color:#fff; }
.dest-overlay p { font-size:.75rem;letter-spacing:.1em;color:rgba(255,255,255,.65);margin-top:.4rem; }
.dest-tag { display:inline-block;background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .8rem;margin-bottom:.8rem; }

/* EXPERIENCES */
.experiences { background:var(--cream); }
.exp-wrap { max-width:var(--max-width);margin:0 auto; }
.exp-intro { max-width:540px; }
.exp-grid { margin-top:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem; }
.exp-card { background:#fff;padding:2.4rem 2rem;border-bottom:2px solid transparent;transition:border-color .3s,box-shadow .3s,transform .3s; }
.exp-card:hover { border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.08); }
.exp-icon { width:48px;height:48px;margin-bottom:1.4rem;color:var(--gold); }
.exp-card h4 { font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--navy);margin-bottom:.6rem; }
.exp-card p { font-size:.8rem;line-height:1.85;color:var(--muted);font-weight:300; }

/* ── SIGNATURE PACKAGES ── */
.oe-packages { background:#060810; }
.pkg-header { text-align:center;margin-bottom:3.5rem; }
.pkg-header .section-title { color:#fff; }
.pkg-header .divider { margin:1.8rem auto; }
.pkg-intro { font-size:.88rem;color:rgba(255,255,255,.55);letter-spacing:.06em;max-width:600px;margin:.8rem auto 0;line-height:1.7; }
.pkg-qualifier { display:inline-block;margin-top:1.2rem;font-size:.78rem;letter-spacing:.1em;color:var(--gold);border:1px solid rgba(201,168,76,.3);padding:.5rem 1.4rem; }
.pkg-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.5rem; }
.pkg-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);overflow:hidden;position:relative;transition:border-color .3s,transform .3s; }
.pkg-card:hover { border-color:rgba(201,168,76,.35);transform:translateY(-3px); }
.pkg-featured { border-color:rgba(201,168,76,.4) !important;background:rgba(201,168,76,.06) !important; }
.pkg-badge { position:absolute;top:1rem;right:1rem;z-index:3;background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .9rem; }
.pkg-badge-vip { background:linear-gradient(135deg,var(--gold),var(--gold-lt));color:var(--navy); }
.pkg-img { height:220px;overflow:hidden; }
.pkg-img img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease; }
.pkg-card:hover .pkg-img img { transform:scale(1.05); }
.pkg-body { padding:1.8rem; }
.pkg-duration { font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem; }
.pkg-body h3 { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:#fff;margin-bottom:.7rem; }
.pkg-desc { font-size:.82rem;line-height:1.8;color:rgba(255,255,255,.55);margin-bottom:1.2rem;font-weight:300; }
.pkg-includes { list-style:none;margin-bottom:1.6rem;display:flex;flex-direction:column;gap:.4rem; }
.pkg-includes li { font-size:.78rem;color:rgba(255,255,255,.65);padding-left:1.1rem;position:relative;font-weight:300; }
.pkg-includes li::before { content:'—';position:absolute;left:0;color:var(--gold);font-size:.7rem; }
.pkg-price { margin-bottom:1.4rem; }
.pkg-price-label { display:block;font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.25rem; }
.pkg-price-val { font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;color:var(--gold); }
.pkg-inquire { display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:.65rem 1.6rem;text-decoration:none;transition:background .2s; }
.pkg-inquire:hover { background:var(--gold-lt); }

/* Add-on */
.pkg-addon { display:flex;align-items:flex-start;gap:1.8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-left:3px solid var(--gold);padding:2rem;margin-bottom:3rem; }
.pkg-addon-icon { color:var(--gold);flex-shrink:0;margin-top:.2rem; }
.pkg-addon-body h4 { font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:#fff;margin-bottom:.4rem; }
.pkg-addon-body p { font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:.8rem; }
.pkg-addon-list { list-style:none;display:flex;flex-wrap:wrap;gap:.4rem .8rem; }
.pkg-addon-list li { font-size:.72rem;color:rgba(255,255,255,.55);padding-left:.9rem;position:relative; }
.pkg-addon-list li::before { content:'·';position:absolute;left:0;color:var(--gold); }

/* Package CTA */
.pkg-cta { text-align:center;padding:3rem 2rem;border-top:1px solid rgba(255,255,255,.07); }
.pkg-cta h3 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:#fff;margin-bottom:.8rem; }
.pkg-cta p { font-size:.88rem;color:rgba(255,255,255,.5);max-width:500px;margin:0 auto;line-height:1.7; }

/* HOW IT WORKS */
.how { background:var(--sand); }
.how-wrap { max-width:var(--max-width);margin:0 auto; }
.steps { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem;margin-top:4rem; }
.step-num { font-family:'Cormorant Garamond',serif;font-size:4.5rem;font-weight:300;line-height:1;color:var(--gold);opacity:.55;margin-bottom:.6rem; }
.step h4 { font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--navy);margin-bottom:.6rem; }
.step p { font-size:.8rem;line-height:1.85;color:var(--muted); }

/* TESTIMONIALS */
.testimonials { background:#111820;color:#fff;text-align:center;padding:6rem 2rem; }
.testimonials .section-title { color:#fff; }
.testimonials .divider { margin:1.8rem auto; }
.testi-grid { max-width:var(--max-width);margin:3.5rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem; }
.testi-card { background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:2.4rem;position:relative; }
.quote-mark { font-family:'Cormorant Garamond',serif;font-size:5rem;line-height:.8;color:var(--gold);opacity:.4;position:absolute;top:1rem;left:1.5rem;pointer-events:none; }
.testi-card p { font-size:.85rem;line-height:1.9;color:rgba(255,255,255,.82);font-weight:300;position:relative; }
.testi-author { margin-top:1.4rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-lt); }

/* GALLERY */
.gallery { background:#090d10;padding:7rem 2rem; }
.gallery-wrap { max-width:var(--max-width);margin:0 auto; }
.gallery .section-title { color:#fff; }
.gallery .section-title em { color:var(--gold-lt); }
.gallery-filters { display:flex;gap:.6rem;flex-wrap:wrap;margin:2.4rem 0 2.8rem; }
.filter-btn { font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:.55rem 1.4rem;border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.55);transition:all .25s; }
.filter-btn:hover { border-color:var(--gold);color:var(--gold); }
.filter-btn.active { background:var(--gold);border-color:var(--gold);color:var(--navy); }
.gallery-grid { columns:3 280px;column-gap:10px; }
.gallery-item { break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;cursor:pointer;display:block; }
.gallery-item.hidden-load { display:none; }
.gallery-item img { width:100%;display:block;transition:transform .55s ease,filter .4s; }
.gallery-item:hover img { transform:scale(1.06);filter:brightness(.75); }
.gallery-view-more {
  text-align:center; margin-top:2rem;
}
.gallery-view-more button {
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  background:transparent;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.7);
  padding:.8rem 2.2rem;cursor:pointer;transition:all .25s;
}
.gallery-view-more button:hover { border-color:var(--gold);color:var(--gold); }
.gallery-view-more button.all-loaded { display:none; }
.gallery-item-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(13,31,45,.85) 0%,transparent 50%);opacity:0;transition:opacity .35s;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-overlay span { font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600; }
.gallery-item-overlay p { font-size:.78rem;color:rgba(255,255,255,.85);margin-top:.25rem;font-weight:300; }
.gallery-item.hidden { display:none; }
.gallery-item::after { content:'+';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:2.5rem;font-weight:200;color:#fff;transition:transform .3s;pointer-events:none; }
.gallery-item:hover::after { transform:translate(-50%,-50%) scale(1); }

/* LIGHTBOX */
.lightbox { position:fixed;inset:0;z-index:999;background:rgba(8,15,22,.96);display:none;align-items:center;justify-content:center;padding:1.5rem; }
.lightbox.open { display:flex; }
.lightbox-inner { position:relative;max-width:1024px;width:100%;animation:lbIn .3s ease; }
@keyframes lbIn { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }
.lightbox-inner img { width:100%;max-height:82vh;object-fit:contain;display:block; }
.lightbox-caption { margin-top:1rem;text-align:center;font-size:.78rem;letter-spacing:.12em;color:rgba(255,255,255,.6); }
.lightbox-caption strong { color:var(--gold);display:block;margin-bottom:.25rem;font-weight:500; }
.lb-close { position:absolute;top:-2.6rem;right:0;background:none;border:none;color:rgba(255,255,255,.6);font-size:1.8rem;cursor:pointer;line-height:1;transition:color .2s; }
.lb-close:hover { color:var(--gold); }
.lb-prev,.lb-next { position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:1.4rem;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s; }
.lb-prev:hover,.lb-next:hover { background:var(--gold);border-color:var(--gold);color:var(--navy); }
.lb-prev { left:-64px; } .lb-next { right:-64px; }

/* CONTACT */
.contact { background:#090d10;color:#fff; }
.contact-wrap { max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start; }
.contact-info .section-title { color:#fff; }
.contact-info .section-title em { color:var(--gold-lt); }
.contact-info p { font-size:.85rem;line-height:1.9;color:rgba(255,255,255,.68);margin:1.2rem 0 2rem; }
.contact-urgency { font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-top:-.8rem !important;margin-bottom:1.6rem !important; }
.contact-detail { display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;font-size:.8rem;color:rgba(255,255,255,.65); }
.contact-detail svg { width:16px;height:16px;flex-shrink:0;color:var(--gold); }
.contact-form { display:flex;flex-direction:column;gap:1rem; }
.contact-form input,.contact-form select,.contact-form textarea { background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;padding:.9rem 1.2rem;font-family:'Montserrat',sans-serif;font-size:.8rem;outline:none;transition:border-color .2s; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(255,255,255,.35); }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold); }
.contact-form select { color:rgba(255,255,255,.55); }
.contact-form select option { background:var(--navy);color:#fff; }
.contact-form textarea { resize:vertical;min-height:110px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }

/* Footer — see oe-footer classes below */

/* WPFORMS */
.wpforms-container,.wpforms-form,.wpforms-field,.wpforms-form .wpforms-field-name,.wpforms-form .wpforms-field-email,.wpforms-form .wpforms-field-phone,.wpforms-form .wpforms-field-textarea,.wpforms-form .wpforms-field-radio { width:100% !important;max-width:100% !important;box-sizing:border-box !important; }
.wpforms-form .wpforms-field-name .wpforms-field-row { max-width:100% !important; }
.wpforms-form .wpforms-field-name .wpforms-one-half { width:48% !important;max-width:48% !important; }
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form input[type=tel],.wpforms-form textarea,.wpforms-form select { width:100% !important;max-width:100% !important;box-sizing:border-box !important;background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.12) !important;color:#fff !important;padding:.9rem 1.2rem !important;font-family:'Montserrat',sans-serif !important;font-size:.8rem !important;border-radius:0 !important;box-shadow:none !important; }
.wpforms-form input:focus,.wpforms-form textarea:focus { border-color:var(--gold) !important;outline:none !important; }
.wpforms-form label { color:rgba(255,255,255,.65) !important;font-size:.72rem !important;letter-spacing:.12em !important;text-transform:uppercase !important; }
.wpforms-form .wpforms-submit { background:var(--gold) !important;border:none !important;color:var(--navy) !important;font-family:'Montserrat',sans-serif !important;font-size:.72rem !important;font-weight:600 !important;letter-spacing:.2em !important;text-transform:uppercase !important;padding:1rem 2.6rem !important;border-radius:0 !important;cursor:pointer !important;transition:background .2s !important; }
.wpforms-form .wpforms-submit:hover { background:var(--gold-lt) !important; }
.wpforms-form .wpforms-field-radio label { color:rgba(255,255,255,.65) !important;text-transform:none !important;letter-spacing:0 !important; }

/* RESPONSIVE */
@media (max-width:760px) { .lb-prev{left:0}.lb-next{right:0} }
@media (max-width:768px) {
  /* ── NAV ── */
  nav {
    padding:1rem 1.4rem;
    position:fixed !important;
    top:0;left:0;right:0;width:100%;
    background:rgba(9,13,16,.97) !important;
    box-shadow:0 2px 24px rgba(0,0,0,.6);
    z-index:9999 !important;
  }
  .logo { font-size:1.2rem; }
  .nav-links,.nav-cta { display:none; }
  .hamburger { display:flex;flex-shrink:0; }
  .nav-links.mobile-open {
    display:flex !important;flex-direction:column;
    position:fixed;top:60px;left:0;right:0;
    background:rgba(9,13,16,.98);
    padding:1.2rem 1.6rem;gap:1rem;z-index:9998;
    box-sizing:border-box;
  }

  /* ── HERO ── */
  .hero-content { padding:0 1.2rem 5rem; }
  .hero-btns { flex-direction:column;align-items:center;gap:.8rem; }
  .btn-primary,.btn-ghost { width:80%;text-align:center; }
  .scroll-hint { bottom:1rem; }
  .scroll-hint::after { height:28px; }

  /* ── SECTIONS ── */
  .dest-grid { grid-template-columns:1fr; }
  .dest-card:first-child { grid-row:span 1; }
  .std-grid { grid-template-columns:1fr; }
  .pkg-grid { grid-template-columns:1fr; }
  .exp-grid { grid-template-columns:1fr !important; }
  .steps { grid-template-columns:1fr;gap:2rem; }
  .contact-wrap { grid-template-columns:1fr;gap:3rem; }
  .form-row { grid-template-columns:1fr; }
  .gallery-grid { columns:1;column-gap:0; }
  section:not(.hero) { padding:4rem 1.4rem; }
  .oe-footer-bottom {
    flex-direction:column;align-items:center;
    padding:1rem 1.4rem;gap:.4rem;
    text-align:center;
  }
}

/* Desktop: hide mobile footer block */
.oe-footer-mobile { display:none !important; }

@media (max-width:768px) {
  .oe-footer-mobile { display:flex !important; }
  .oe-footer-grid   { display:none !important; }
}

@media (min-width:769px) and (max-width:1024px) {
  .pkg-grid { grid-template-columns:1fr 1fr; }
  .exp-grid { grid-template-columns:repeat(2,1fr) !important; }
}

/* ── RICH FOOTER ── */
.oe-footer { background:#04060a; color:rgba(255,255,255,.45); padding:0; }
.oe-footer-grid {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1.8fr 1fr 1fr 1.6fr;
  gap:3rem; padding:4rem 2rem 2.5rem;
}
.oe-footer-brand .logo { font-size:1.3rem; }
.oe-footer-brand p {
  font-size:.78rem; line-height:1.8; color:rgba(255,255,255,.38);
  margin:1rem 0 1.2rem; max-width:260px; font-weight:300;
}
.oe-footer-social { display:flex; gap:.8rem; }
.oe-footer-social a { color:rgba(255,255,255,.35); transition:color .2s; }
.oe-footer-social a:hover { color:var(--gold); }
.oe-footer-col { display:flex; flex-direction:column; gap:.5rem; }
.oe-footer-col h4 {
  font-size:.6rem; font-weight:700; letter-spacing:.3em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.5rem;
}
.oe-footer-col a, .oe-footer-col span {
  font-size:.78rem; color:rgba(255,255,255,.38);
  text-decoration:none; transition:color .2s; line-height:1.6;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.oe-footer-col a:hover { color:var(--gold); }
.oe-footer-bottom {
  max-width:1200px; margin:0 auto;
  padding:1.2rem 2rem;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:.5rem;
  font-size:.68rem; letter-spacing:.06em;
}
.oe-footer-legal { display:flex; gap:.6rem; align-items:center; }
.oe-footer-legal a { color:rgba(255,255,255,.35); text-decoration:none; transition:color .2s; }
.oe-footer-legal a:hover { color:var(--gold); }
.oe-footer-legal span { color:rgba(255,255,255,.2); }

/* Gallery: hide filter buttons with no matching images */
.filter-btn[data-filter].empty { display:none; }
