/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:#F0F0F0; color:#2A2A2A;
  font-family:'Manrope',sans-serif; font-weight:300;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,video { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }

/* ─── TOKENS ─── */
:root {
  --gold:     #5E5E5E;
  --gold-dim: rgba(94,94,94,0.08);
  --black:    #F2EFE8;
  --surface:  #E9E6DE;
  --border:   rgba(26,23,18,0.09);
  --ink:      #2A2A2A;
  --muted:    rgba(42,42,42,0.5);
  --serif:    'Noto Serif',serif;
  --sans:     'Manrope',sans-serif;
  --nav-h:    72px;
}

/* ─── HELPERS ─── */
.container { max-width:1440px; margin:0 auto; padding:0 64px; }
.label {
  font-family:var(--sans); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:#5E5E5E;
}
.gold-rule { width:44px; height:1px; background:#5E5E5E; opacity:.5; }

/* ─────────────────────────── NAV ─── */
.nav {
  position:fixed; top:0; left:0; width:100%; z-index:200;
  height:var(--nav-h);
  background:transparent;
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  transition:background .5s;
}
.nav-inner {
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:40px; height:100%;
  max-width:1440px; margin:0 auto; padding:0 64px;
}

/* Logo */
.nav-logo img { height:45px; width:auto; filter:brightness(0) invert(1); opacity:.85; transition:opacity .3s; }
.nav-logo:hover img { opacity:1; }

/* Center links */
.nav-links {
  display:flex; justify-content:center; align-items:center; gap:36px;
}
.nav-links a {
  font-size:11px; font-weight:500; letter-spacing:.15em;
  text-transform:uppercase; color:rgba(255,255,255,.72);
  position:relative; transition:color .3s; white-space:nowrap;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:0;
  width:0; height:1px; background:#5E5E5E;
  transition:width .35s ease;
}
.nav-links a:hover { color:#5E5E5E; }
.nav-links a:hover::after { width:100%; }

/* CTA */
.nav-cta {
  font-size:11px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; padding:11px 26px; white-space:nowrap;
  border:1px solid rgba(94,94,94,.45); color:#5E5E5E;
  transition:all .35s ease;
}
.nav-cta:hover { background:#5E5E5E; color:#fff; border-color:#5E5E5E; }

/* Burger */
.burger {
  display:none; flex-direction:column; gap:6px;
  background:transparent !important; border:none !important; 
  cursor:pointer; padding:4px;
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

.burger:focus, .burger:active, .burger:focus-visible {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

.burger span { 
  display:block; 
  width:22px; 
  height:1px; 
  background:#ffffff; 
  transition:all .4s; 
}

.nav.scrolled .burger span { 
  background:#2A2A2A; 
}

/* ─── MOBILE MENU ─── */
.mob-menu {
  position:fixed; inset:0; z-index:190; background:#F0F0F0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .75s cubic-bezier(.87,0,.13,1);
}
.mob-menu.open { clip-path:inset(0 0 0% 0); }
.mob-nav { display:flex; flex-direction:column; gap:28px; text-align:center; }
.mob-nav a {
  font-family:var(--serif); font-size:clamp(28px,7vw,48px);
  font-weight:300; color:rgba(26,23,18,.5); transition:color .3s;
}
.mob-nav a:hover { color:#5E5E5E; }
.mob-nav .mob-cta {
  margin-top:16px; padding:14px 40px;
  border:1px solid rgba(212,184,150,.4); color:#5E5E5E;
  font-family:var(--sans); font-size:12px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
}

/* ─────────────────────────── HERO ─── */
.hero {
  position:relative; height:100vh; min-height:640px;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-vid-wrap { position:absolute; inset:0; }
.hero-vid { width:100%; height:100%; object-fit:cover; }
.hero-veil {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(13,13,13,.3) 0%, rgba(13,13,13,.05) 40%, rgba(13,13,13,.85) 100%);
}
.hero-content {
  position:relative; z-index:2;
  padding:0 64px 88px; max-width:860px;
}
.hero-eyebrow { margin-bottom:20px; }
.hero-h1 {
  font-family:var(--serif);
  font-size:clamp(42px,6vw,78px);
  font-weight:300; line-height:1.04; letter-spacing:-.02em;
  margin-bottom:36px;
}
.hero-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.btn-gold {
  display:inline-block; padding:15px 36px;
  background:#5E5E5E; color:var(--black);
  font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid #5E5E5E; transition:all .35s ease;
}
.btn-gold:hover { background:transparent; color:#5E5E5E; }
.btn-ghost {
  display:inline-block; padding:15px 36px;
  background:transparent; color:rgba(229,226,223,.75);
  font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.18); transition:all .35s ease;
}
.btn-ghost:hover { border-color:#5E5E5E; color:#5E5E5E; }

.hero-scroll {
  position:absolute; right:64px; bottom:40px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.hero-scroll span {
  font-size:9px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(229,226,223,.25); writing-mode:vertical-rl;
}
.scroll-line {
  width:1px; height:44px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  animation:scrollPulse 2.4s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%,100%{ opacity:.3; transform:scaleY(.5); transform-origin:top; }
  50%    { opacity:1;  transform:scaleY(1);  transform-origin:top; }
}

/* ─────────────────────────── ABOUT ─── */
.about { display:grid; grid-template-columns:1fr 1fr; height:100vh; min-height:580px; max-height:900px; }

.about-img-side {
  position:relative; overflow:hidden;
}
.about-img-side img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(.52) saturate(.88);
  transform:scale(1.05);
  transition:transform .9s ease, filter .9s ease;
}
.about-img-side::after {
  content:''; position:absolute; inset:0;
  background:rgba(10,10,10,.55);
  transition:background .8s ease;
}
.about-img-side:hover::after { background:rgba(10,10,10,.22); }
.about-img-side:hover img { transform:scale(1); filter:brightness(.72); }

.about-text-side {
  display:flex; flex-direction:column; justify-content:center;
  padding:60px 72px 60px 60px;
  background:#E6E6E6;
  overflow:hidden;
}
.about-h2 {
  font-family:var(--serif);
  font-size:clamp(24px,2.8vw,42px);
  font-weight:300; line-height:1.1;
  margin:16px 0 20px;
}
.about-body {
  font-size:14px; line-height:1.82; color:var(--muted);
  max-width:420px; margin-bottom:36px;
}
.about-pillars { display:flex; flex-direction:column; gap:0; }
.pillar {
  display:grid; grid-template-columns:3px 1fr;
  gap:18px; padding:16px 0;
  border-bottom:1px solid var(--border);
  transition:padding-left .3s ease;
}
.pillar:first-child { border-top:1px solid var(--border); }
.pillar:hover { padding-left:8px; }
.pillar-bar { background:#5E5E5E; opacity:.5; transition:opacity .3s; }
.pillar:hover .pillar-bar { opacity:.9; }
.pillar h4 {
  font-size:10px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:#5E5E5E; margin-bottom:4px;
}
.pillar p { font-size:12px; color:var(--muted); line-height:1.7; }

/* ─────────────────────────── SERVICES ─── */
.services { background:#F0F0F0; }
.services-head {
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:72px 64px 48px;
}
.services-h2 {
  font-family:var(--serif);
  font-size:clamp(30px,4vw,58px);
  font-weight:300; line-height:1.05; margin-top:12px;
}
.view-all-link {
  font-size:11px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(26,23,18,.4);
  border-bottom:1px solid rgba(26,23,18,.18); padding-bottom:4px;
  transition:color .3s, border-color .3s; white-space:nowrap; align-self:flex-end;
}
.view-all-link:hover { color:#5E5E5E; border-color:#5E5E5E; }

/* 3-col grid */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.svc-card {
  position:relative; overflow:hidden;
  height:58vh; min-height:400px; cursor:pointer;
}
.svc-card img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(.35);
  transform:scale(1.04);
  transition:transform 1s ease, filter 1s ease;
}
.svc-card::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(13,13,13,.9) 0%, rgba(13,13,13,.15) 100%);
  transition:opacity .7s ease;
}
.svc-card:hover::before { opacity:.45; }
.svc-card:hover img { transform:scale(1); filter:brightness(.62); }

.svc-info {
  position:absolute; bottom:0; left:0; right:0;
  z-index:2; padding:30px 28px;
}
.svc-n {
  font-size:10px; letter-spacing:.18em; color:rgba(255,255,255,.5);
  margin-bottom:10px; display:block; transition:color .4s;
}
.svc-card:hover .svc-n { color:rgba(212,184,150,.75); }
.svc-info h3 {
  font-family:var(--serif);
  font-size:clamp(16px,1.8vw,24px); font-weight:300;
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px;
  color:#fff;
  transition:letter-spacing .5s;
}
.svc-card:hover .svc-info h3 { letter-spacing:.07em; }
.svc-info p {
  font-size:12px; color:rgba(229,226,223,.48); line-height:1.65;
  max-width:240px; margin-bottom:14px; color:rgba(255,255,255,0.68) !important;
  opacity:0; transform:translateY(10px);
  transition:opacity .5s ease, transform .5s ease;
}
.svc-card:hover .svc-info p { opacity:1; transform:translateY(0); }
.svc-learn {
  display:inline-flex; align-items:center; gap:8px;
  font-size:10px; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:#5E5E5E;
  border-bottom:1px solid rgba(212,184,150,.3); padding-bottom:3px;
  opacity:0; transform:translateY(8px);
  transition:opacity .5s ease .05s, transform .5s ease .05s, gap .3s ease;
}
.svc-card:hover .svc-learn { opacity:1; transform:translateY(0); }
.svc-learn:hover { gap:14px; }

/* Wide 4th card */
.svc-wide {
  position:relative; overflow:hidden;
  height:38vh; min-height:260px; cursor:pointer;
  border-top:2px solid #F0F0F0;
}
.svc-wide img {
  width:100%; height:100%; object-fit:cover; object-position:center 35%;
  filter:brightness(.3); transform:scale(1.03);
  transition:transform 1s ease, filter 1s ease;
}
.svc-wide::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to right, rgba(13,13,13,.92) 0%, rgba(13,13,13,.2) 100%);
  transition:opacity .7s ease;
}
.svc-wide:hover::before { opacity:.55; }
.svc-wide:hover img { transform:scale(1); filter:brightness(.55); }
.svc-wide-info {
  position:absolute; z-index:2;
  top:50%; left:64px; transform:translateY(-50%);
  max-width:560px;
}
.svc-wide-info .svc-n { margin-bottom:10px; }
.svc-wide-info h3 {
  font-family:var(--serif);
  font-size:clamp(20px,2.8vw,38px); font-weight:300;
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;
  color:#fff;
  transition:letter-spacing .5s;
}
.svc-wide:hover .svc-wide-info h3 { letter-spacing:.07em; }
.svc-wide-info p {
  font-size:13px; color:rgba(255,255,255,.6); line-height:1.72;
  max-width:360px; margin-bottom:18px;
}
.svc-wide-info .svc-learn { opacity:1; transform:none; color:#d9d9d9; }

/* All services CTA row */
.svc-all-row {
  display:flex; justify-content:center; align-items:center;
  padding:52px 64px;
  border-top:1px solid rgba(26,23,18,.09);
}
.btn-outline-gold {
  display:inline-flex; align-items:center; gap:12px;
  padding:15px 44px;
  border:1px solid rgba(94,94,94,.4); color:#5E5E5E;
  font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  transition:all .35s ease;
}
.btn-outline-gold:hover { background:#5E5E5E; color:#fff; border-color:#5E5E5E; }

/* ─────────────────────────── LLUMAR ─── */
.llumar-exclusive { background:#E6E6E6; border-top:1px solid rgba(26,23,18,.05); }
.llumar-grid { display:grid; grid-template-columns:1fr 1fr; min-height:600px; }
.llumar-img-side { position:relative; overflow:hidden; }
.llumar-img-side .llumar-bg { 
  width:100%; height:100%; object-fit:cover; 
  filter:brightness(.52) saturate(.88);
  transform:scale(1.05);
  transition:transform .9s ease, filter .9s ease;
}
.llumar-img-side::after {
  content:''; position:absolute; inset:0;
  background:rgba(10,10,10,.55);
  transition:background .8s ease;
}
.llumar-img-side:hover::after { background:rgba(10,10,10,.22); }
.llumar-img-side:hover .llumar-bg { transform:scale(1); filter:brightness(.72); }
.llumar-text-side {
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:80px 10%; color:#2A2A2A;
}
.llumar-logo-inline { max-width:160px; margin-bottom:30px; }
.llumar-h2 {
  font-family:var(--serif); font-size:clamp(28px, 3vw, 42px); font-weight:300;
  line-height:1.1; margin-bottom:20px; color:#1A1712;
}
.llumar-p {
  font-size:14px; line-height:1.85; color:var(--muted);
  max-width:460px; margin-bottom:40px;
}

/* ─────────────────────────── WHY ─── */
.why { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; }
.why-text-side {
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(60px,7vw,110px) clamp(48px,5vw,80px);
  background:var(--surface);
  position:relative; overflow:hidden;
}
.why-text-side::before {
  content:''; position:absolute; inset:0;
  background-image:url('https://ozone-uae.com/_next/image?url=https%3A%2F%2Fadmin.ozone-uae.com%2Fstorage%2Fservices%2FBo7M4WPGe6C7iIGt7AVxpwUQVhRGXKd0RUvMwyfT.jpg&w=2048&q=75');
  background-size:cover; background-position:center;
  opacity:.12;
  transition:opacity .9s ease;
}
.why-text-side::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(
    135deg,
    rgba(22,22,22,.35) 0%,
    rgba(22,22,22,.75) 60%,
    rgba(22,22,22,.95) 100%
  );
}
.why-text-side > * { position:relative; z-index:1; }
.why-text-side:hover::before { opacity:.22; }
.why-h2 {
  font-family:var(--serif);
  font-size:clamp(26px,3.2vw,48px); font-weight:300;
  line-height:1.1; margin:18px 0 24px;
}
.why-h2 em { font-style:italic; color:#5E5E5E; }
.why-body { font-size:14px; color:var(--muted); line-height:1.88; margin-bottom:44px; max-width:420px; }
.why-cta {
  display:inline-flex; align-items:center; gap:14px;
  padding:14px 36px; border:1px solid rgba(94,94,94,.45);
  color:#5E5E5E; font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  transition:all .35s ease; width:fit-content;
}
.why-cta:hover { background:#5E5E5E; color:#fff; border-color:#5E5E5E; }

.why-list-side {
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(60px,7vw,110px) clamp(48px,5vw,80px);
  background:#DCDCDC;
}
.wi {
  display:grid; grid-template-columns:38px 1fr;
  gap:20px; padding:26px 0;
  border-bottom:1px solid var(--border);
  align-items:start; transition:padding-left .3s; cursor:default;
}
.wi:first-child { border-top:1px solid var(--border); }
.wi:hover { padding-left:10px; }
.wi-n {
  font-family:var(--serif); font-size:24px; font-weight:300;
  color:rgba(94,94,94,.2); line-height:1.1; transition:color .35s;
}
.wi:hover .wi-n { color:#5E5E5E; }
.wi h4 {
  font-size:11px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:7px;
  color:rgba(26,23,18,.55); transition:color .3s;
}
.wi:hover h4 { color:#1A1712; }
.wi p { font-size:13px; color:var(--muted); line-height:1.75; }

/* ─────────────────────────── CTA ─── */
.cta {
  position:relative; padding:150px 64px;
  background:var(--black); text-align:center; overflow:hidden;
}
.cta::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(212,184,150,.09) 1px, transparent 1px);
  background-size:34px 34px;
}
.cta::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 65% 65% at 50% 50%, transparent 0%, var(--black) 100%);
}
.cta-inner { position:relative; z-index:1; max-width:720px; margin:0 auto; }
.cta-h2 {
  font-family:var(--serif);
  font-size:clamp(38px,7vw,78px); font-weight:300;
  text-transform:uppercase; line-height:1.05; margin-bottom:22px;
}
.cta-p { font-size:14px; color:var(--muted); line-height:1.82; max-width:460px; margin:0 auto 48px; }
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ─────────────────────────── BOOKING ─── */
.booking { background:#E6E6E6; border-top:1px solid rgba(26,23,18,.09); }
.booking-inner {
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:80px; align-items:center;
  min-height:88vh; padding:90px 64px;
  max-width:1440px; margin:0 auto;
}
.booking-h2 {
  font-family:var(--serif);
  font-size:clamp(26px,3vw,44px); font-weight:300;
  line-height:1.1; margin:18px 0 20px;
}
.booking-body { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:44px; }
.booking-meta { display:flex; flex-direction:column; gap:13px; }
.bm { display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.04em; color:var(--muted); }
.bm-dot { width:4px; height:4px; background:#5E5E5E; border-radius:50%; flex-shrink:0; opacity:.7; }

.form-box { background:#fff; border:1px solid rgba(26,23,18,.1); padding:48px 44px; box-shadow:0 4px 40px rgba(26,23,18,.05); }
.form-fields { display:flex; flex-direction:column; gap:36px; margin-bottom:36px; }
.field { position:relative; }
.field input {
  width:100%; background:transparent; border:none;
  border-bottom:1px solid rgba(26,23,18,.14);
  padding:14px 0; color:#1A1712;
  font-family:var(--sans); font-size:14px; font-weight:300;
  outline:none; transition:border-color .35s;
}
.field input::placeholder { color:transparent; }
.field input:focus { border-color:#5E5E5E; }
.field label {
  position:absolute; top:14px; left:0;
  font-size:10px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(26,23,18,.28);
  pointer-events:none; transition:all .3s ease;
}
.field input:focus ~ label,
.field input:not(:placeholder-shown) ~ label { top:-14px; font-size:9px; color:#5E5E5E; }
.svc-label-row {
  font-size:10px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:rgba(26,23,18,.3); margin-bottom:10px;
}
.svc-opts { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.svc-opt input[type="radio"] { display:none; }
.svc-opt label {
  display:block; padding:12px 10px; text-align:center; cursor:pointer;
  border:1px solid rgba(26,23,18,.11);
  font-size:10px; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:rgba(26,23,18,.36);
  transition:all .3s ease; position:static; top:auto; left:auto;
}
.svc-opt input:checked + label,
.svc-opt label:hover {
  border-color:rgba(94,94,94,.55); color:#5E5E5E;
  background:rgba(212,184,150,.04);
}
.svc-opt input:checked + label { border-color:#5E5E5E; }
.form-submit {
  width:100%; padding:17px;
  background:transparent; border:1px solid rgba(212,184,150,.45);
  color:#5E5E5E; font-family:var(--sans); font-size:11px;
  font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  cursor:pointer; transition:all .4s ease;
}
.form-submit:hover { background:#5E5E5E; color:#fff; border-color:#5E5E5E; }

/* ─────────────────────────── FOOTER ─── */
.footer { background:#0A0A0A; border-top:1px solid var(--border); padding:72px 0 32px; }
.footer-top {
  display:grid; grid-template-columns:1fr 1fr 1fr 1fr;
  gap:40px; margin-bottom:52px;
  align-items:start;
}
/* Left: logo + tagline */
.footer-brand { display:flex; flex-direction:column; gap:0; }
.footer-logo img,
.footer-logo .custom-logo { height:45px; width:auto; filter:brightness(0) invert(1); opacity:.85; margin-bottom:20px; display:block; }
.footer-tagline { font-size:13px; color:rgba(229,226,223,.45); line-height:1.8; max-width:300px; font-weight:300; }

/* Right: two-col link grid */
.footer-nav-grid { display:contents; }  /* cols promoted to footer-top grid */
.footer-col h5 {
  font-size:10px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:rgba(229,226,223,.55); margin-bottom:20px;
}
.footer-col ul { 
  display: flex; 
  flex-direction: column; 
  gap: 12px; 
  padding: 0 !important; 
  margin: 0 !important; 
}
.footer-col ul a { font-size:15px; color:rgba(229,226,223,.55); font-weight:300; transition:color .3s; }
.footer-col ul a:hover { color:#5E5E5E; }

.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:28px; border-top:1px solid var(--border);
}
.footer-bottom span { font-size:11px; color:rgba(229,226,223,.35); letter-spacing:.05em; }
.footer-wordmark {
  font-family:var(--serif); font-size:11px; letter-spacing:.55em;
  text-transform:uppercase; color:rgba(229,226,223,.05);
}


/* ─── FOOTER SOCIAL ─── */
.footer-social {
  display: flex !important; 
  flex-direction: row !important;
  gap: 16px !important; 
  align-items: center;
}
.footer-social a {
  display: flex; align-items: center; justify-content: center;
  width: 42px !important; 
  height: 42px !important; 
  border-radius: 50%;
  flex-shrink: 0;
  background: #504F4E !important;
  color: #ffffff !important;
  border: none !important;
  transition: all 0.4s ease;
}
.footer-social a:hover {
  background: #5E5E5E !important;
  transform: translateY(-4px);
}
.footer-social a svg {
  width: 20px !important; 
  height: 20px !important; 
  fill: currentColor !important;
}

/* ─── REVEAL ─── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:.1s; }
.reveal-d2 { transition-delay:.2s; }
.reveal-d3 { transition-delay:.3s; }

/* ─────────────────────────── GALLERY SLIDER & LIGHTBOX ─── */
.gallery-section {
  background:#F9F9F9; padding:120px 0; border-top:1px solid rgba(26,23,18,.05); overflow:hidden;
}
.gallery-wrap {
  display:flex; align-items:center; justify-content:center; gap:24px;
  max-width:1380px; margin:0 auto; padding:0 24px;
}
.gallery-btn {
  background:transparent; color:#1a1712; border:none; flex-shrink:0;
  width:54px; height:60px; 
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform 0.3s ease, opacity 0.3s ease, color 0.3s ease; 
  opacity:0.6;
}
.gallery-btn svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:square; }

.gallery-btn:hover { 
  transform:scale(1.1); 
  opacity:1; 
  color:#ffffff; /* Turns arrow white on hover */
}


.gallery-track {
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; padding-bottom:20px; -ms-overflow-style:none;
  flex:1;
}
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-item {
  min-width:350px; height:450px; scroll-snap-align:start; cursor:pointer;
}
.gallery-item img {
  width:100%; height:100%; object-fit:cover; filter:brightness(0.9); transition:0.4s ease;
}
.gallery-item:hover img { filter:brightness(1); }

.lightbox {
  display:none; position:fixed; inset:0; background:rgba(26,23,18,0.95);
  z-index:9999; align-items:center; justify-content:center;
}
.lightbox-close {
  position:absolute; top:30px; right:40px; color:#d4b896; font-size:50px; cursor:pointer; font-weight:300; transition:transform 0.3s;
}
.lightbox-close:hover { transform:rotate(90deg); }
.lightbox img {
  max-width:90%; max-height:90vh; object-fit:contain;
  border:1px solid rgba(212,184,150,0.3); box-shadow:0 20px 40px rgba(0,0,0,0.5);
}

@media (max-width:768px) {
  .gallery-wrap { gap:8px; padding:0 12px; }
  .gallery-btn { width:44px; height:44px; } /* Increased from 32px */
  .gallery-item { min-width:85vw; height:60vh; }
}

/* ─────────────────────────── RESPONSIVE ─── */
@media (max-width:1100px) {
  .container, .nav-inner, .booking-inner { padding-left:40px; padding-right:40px; }
  .hero-content { padding:0 40px 40px; }
  .cta { padding:110px 40px; }
  .services-head { padding:60px 40px 44px; }
  .svc-all-row { padding:44px 40px; }
  .about-text-side { padding:48px 48px 48px 40px; }
  .why-text-side, .why-list-side { padding:60px 44px; }
  .llumar-text-side { padding:60px 40px; }
}
@media (max-width:900px) {
  .about { grid-template-columns:1fr; height:auto; max-height:none; }
  .about-img-side { height:52vw; order:-1; }
  .llumar-grid { grid-template-columns:1fr; }
  .llumar-img-side { height:60vw; order:-1; }
  .why { grid-template-columns:1fr; min-height:auto; }
  .svc-grid { grid-template-columns:1fr 1fr; }
  .booking-inner { grid-template-columns:1fr; gap:48px; min-height:auto; }
  .footer-top { grid-template-columns:1fr 1fr; gap:36px; row-gap:44px; }
}
@media (max-width:768px) {
  .nav-links, .nav-cta { display:none; }
    .nav-inner { display:flex; justify-content:space-between; align-items:center; padding:0 24px; }
  .container { padding:0 24px; }
  .burger { display:flex; }
  .hero { height: 100svh; min-height: 500px; }
  .hero-content { padding:0 24px 120px; }
  .hero-scroll { right:24px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .btn-gold, .btn-ghost { width:100%; max-width:280px; text-align:center; }
  .svc-grid { grid-template-columns:1fr; }
  .svc-card { height:68vw; }
  .svc-card .svc-info p,
  .svc-card .svc-learn { opacity:1; transform:none; }
  .services-head { padding:56px 24px 36px; flex-direction:column; align-items:flex-start; gap:14px; }
  .svc-wide-info { left:24px; }
  .svc-all-row { padding:40px 24px; }
  .cta { padding:90px 24px; }
  .cta-btns { flex-direction:column; align-items:center; }
  .booking-inner { padding:64px 24px; }
  .form-box { padding:28px 20px; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
  .footer-wordmark { display:none; }
    .footer { padding:56px 0 28px; }
  .footer-top { grid-template-columns:1fr; gap:36px; }
  .svc-opts { grid-template-columns:1fr 1fr; }
  .about-text-side, .llumar-text-side { padding:48px 24px; }
  .why-text-side, .why-list-side { padding:60px 24px; }
}
@media (max-width:480px) {
  .footer-nav-grid { grid-template-columns:1fr; }
  .svc-opts { grid-template-columns:1fr; }
}

/* ── HERO: force all text white ── */
.hero-content,
.hero-content *,
.hero-content h1,
.hero-content p,
.hero-content a,
.hero-h1 {
  color: #ffffff !important;
}
.hero-content .btn-gold {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.55) !important;
  color: #ffffff !important;
}
.hero-content .btn-gold:hover {
  background: #ffffff !important;
  color: #2A2A2A !important;
}
.hero-content .btn-ghost-hero {
  border-color: rgba(255,255,255,0.3) !important;
  color: rgba(255,255,255,0.85) !important;
}
.hero-content .btn-ghost-hero:hover {
  border-color: rgba(255,255,255,0.7) !important;
  color: #ffffff !important;
}

/* ── WHY LEFT PANEL: white text over dark background image ── */
.why-text-side,
.why-text-side *,
.why-text-side h2,
.why-text-side p,
.why-text-side .label {
  color: #ffffff !important;
}
.why-text-side .label {
  color: rgba(255,255,255,0.6) !important;
  letter-spacing: 0.22em;
}
.why-text-side h2 em {
  color: rgba(255,255,255,0.75) !important;
  font-style: italic;
}
.why-text-side p {
  color: rgba(255,255,255,0.62) !important;
}
.why-text-side .why-cta {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.4) !important;
}
.why-text-side .why-cta:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.7) !important;
  color: #ffffff !important;
}