/* ===============================
   GOOGLE FONTS IMPORT
================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ===============================
   ROOT VARIABLES
================================ */
:root {
  --blue: #0b3c6f;
  --blue-deep: #061f3a;
  --blue-mid: #0f4d8a;
  --gold: #d4af37;
  --gold-light: #e8cc6a;
  --gold-dark: #a8891f;
  --dark: #0a1a2f;
  --light: #f8f6f0;
  --cream: #faf8f2;
  --text: #1a1a1a;
  --text-muted: #5a5a5a;
  --white: #ffffff;
  --border: rgba(212,175,55,0.2);
  --shadow-gold: 0 20px 60px rgba(212,175,55,0.15);
  --shadow-dark: 0 30px 80px rgba(0,0,0,0.25);
  --radius: 2px;
  --transition: all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ===============================
   RESET & GLOBAL
================================ */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Montserrat',sans-serif;
  color:var(--text);
  overflow-x:hidden;
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
.container { width:92%; max-width:1300px; margin:auto; }
img { display:block; max-width:100%; }

/* ===============================
   LOADING SCREEN
================================ */
#loading-screen {
  position:fixed; inset:0;
  background:var(--blue-deep);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  z-index:9999;
  transition:opacity 0.8s ease, visibility 0.8s ease;
}
.loader-wrapper {
  position:relative; width:140px; height:140px;
  display:flex; align-items:center; justify-content:center;
}
.loader-logo {
  width:72px; height:auto; z-index:2; position:relative;
  filter:drop-shadow(0 0 16px rgba(212,175,55,0.45));
}
.gold-ring {
  position:absolute; inset:0;
  border-radius:50%;
  border:2px solid transparent;
  border-top:2px solid var(--gold);
  border-right:2px solid var(--gold-light);
  animation:rotateRing 1.4s linear infinite;
}
.gold-ring::before {
  content:''; position:absolute; inset:8px;
  border-radius:50%;
  border:1px solid rgba(212,175,55,0.15);
}
@keyframes rotateRing { to { transform:rotate(360deg); } }

/* ===============================
   TOP BAR
================================ */
.topbar {
  background:var(--gold);
  color:rgba(255,255,255,0.68);
  text-align:center;
  padding:0.5rem 1rem;
  font-size:0.68rem;
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(212,175,55,0.12);
}

/* ===============================
   HEADER & NAV
================================ */
.site-header {
  background:var(--white);
  position:sticky; top:0; z-index:1000;
  border-bottom:1px solid rgba(212,175,55,0.15);
  box-shadow:0 4px 30px rgba(0,0,0,0.05);
  transition:box-shadow 0.3s ease;
}
.site-header.scrolled { box-shadow:0 8px 40px rgba(0,0,0,0.11); }

.header-inner {
  display:flex; justify-content:space-between;
  align-items:center; padding:1rem 0;
}
.brand {
  display:flex; align-items:center; gap:12px;
  font-family:'Cormorant Garamond',serif;
  font-size:1.22rem; font-weight:700;
  color:var(--white); text-decoration:none;
  letter-spacing:0.03em;
}
.logo {
  height:48px; padding:6px 9px;
  background:var(--white);
  border:1px solid rgba(212,175,55,0.28);
  border-radius:6px;
  box-shadow:0 4px 14px rgba(0,0,0,0.07);
  transition:var(--transition);
}
.logo:hover {
  box-shadow:0 6px 22px rgba(212,175,55,0.22);
  transform:translateY(-1px);
}
.nav { display:flex; gap:0.2rem; align-items:center; }
.nav a {
  text-decoration:none; color:var(--blue);
  font-weight:500; font-size:0.75rem;
  letter-spacing:0.12em; text-transform:uppercase;
  position:relative; padding:0.5rem 1rem;
  transition:color 0.3s ease;
}
.nav a::after {
  content:''; position:absolute;
  left:1rem; bottom:0;
  width:0; height:1px;
  background:var(--gold);
  transition:width 0.35s ease;
}
.nav a:hover, .nav a.active { color:var(--gold-dark); }
.nav a:hover::after, .nav a.active::after { width:calc(100% - 2rem); }

.hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.hamburger span {
  display:block; width:24px; height:2px;
  background:var(--blue); border-radius:1px;
  transition:var(--transition);
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ===============================
   HERO
================================ */
.hero {
  position:relative; height:100vh; min-height:640px;
  overflow:hidden; display:flex; align-items:center;
}
.hero-slider { position:absolute; inset:0; }
.hero-slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transform:scale(1.07);
  transition:opacity 1.8s ease-in-out, transform 7s ease-in-out;
}
.hero-slide.active { opacity:1; transform:scale(1); }

.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    135deg,
    rgba(6,20,40,0.80) 0%,
    rgba(11,60,111,0.52) 55%,
    rgba(6,20,40,0.70) 100%
  );
  z-index:1;
}
.hero-overlay::after {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    -48deg, transparent, transparent 55px,
    rgba(212,175,55,0.022) 55px, rgba(212,175,55,0.022) 56px
  );
}

.hero-content {
  position:relative; z-index:2; color:var(--white);
  max-width:720px; padding:0 1rem;
}
.hero-content h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,5.5vw,5rem);
  font-weight:600; line-height:1.1;
  margin-bottom:1.4rem; letter-spacing:0.01em;
}
.hero-content p {
  font-size:1rem; font-weight:300; line-height:1.9;
  color:rgba(255,255,255,0.78); max-width:520px;
  margin-bottom:2.5rem; letter-spacing:0.02em;
}
.cta {
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:var(--white);
  padding:1rem 2.6rem;
  font-family:'Montserrat',sans-serif;
  font-size:0.76rem; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--gold);
  position:relative; overflow:hidden;
  transition:var(--transition);
}
.cta::before {
  content:''; position:absolute; inset:0;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.cta:hover::before { transform:translateX(0); }
.cta:hover { color:var(--blue-deep); }
.cta span { position:relative; z-index:1; }

/* Scroll hint */
.hero-scroll {
  position:absolute; bottom:2.2rem; left:50%;
  transform:translateX(-50%);
  z-index:3; display:flex; flex-direction:column;
  align-items:center; gap:0.5rem;
  color:rgba(255,255,255,0.35);
  font-size:0.58rem; letter-spacing:0.28em; text-transform:uppercase;
}
.hero-scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  animation:scrollDrop 2s ease-in-out infinite;
}
@keyframes scrollDrop {
  0%,100%{ opacity:0.4; transform:scaleY(1); }
  50%{ opacity:1; transform:scaleY(1.2); }
}

/* ===============================
   SECTION BASICS
================================ */
.section { padding:8rem 0; scroll-margin-top:100px; }

/* ===============================
   HEADINGS + GOLD ACCENT
================================ */
.sec-title, .about-title {
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.1rem,4vw,3.1rem);
  font-weight:600; color:var(--blue);
  margin-bottom:4rem; position:relative;
  letter-spacing:0.04em; line-height:1.2;
}
.sec-title::before, .about-title::before {
  content:''; display:block;
  width:36px; height:1px; background:var(--gold);
  margin:0 auto 1.1rem;
}
.sec-title::after, .about-title::after {
  content:''; position:absolute;
  left:50%; bottom:-18px;
  transform:translateX(-50%);
  width:55px; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* ===============================
   ABOUT SECTION
================================ */
.about-section {
  background:var(--cream); position:relative;
}
.about-section::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.about-text {
  max-width:840px; margin:0 auto;
  text-align:center; padding:0 1.5rem;
}
.about-description {
  font-size:1rem; font-weight:400;
  line-height:2; color:var(--text-muted);
  margin-bottom:1.5rem; letter-spacing:0.01em;
}
.about-description:first-of-type {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem; font-weight:400;
  color:var(--text); line-height:1.95;
}

/* ===============================
   BULLETS
================================ */
.bullets {
  display:flex; justify-content:center;
  gap:1.5rem; list-style:none;
  margin-top:2.5rem; flex-wrap:wrap;
}
.bullets li {
  position:relative;
  padding:0.75rem 1.6rem 0.75rem 2rem;
  font-size:0.75rem; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--blue); border:1px solid var(--border);
  background:var(--white);
  transition:var(--transition);
}
.bullets li:hover {
  border-color:var(--gold);
  box-shadow:0 8px 30px rgba(212,175,55,0.12);
  transform:translateY(-2px);
}
.bullets li::before {
  content:'—'; position:absolute; left:0.7rem;
  color:var(--gold); font-weight:300;
}

/* ===============================
   VMV SECTIONS
================================ */
.vmv-standalone {
  position:relative; min-height:92vh;
  display:flex; align-items:center;
  overflow:hidden; margin:0;
}
.vmv-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transform:scale(1.12); opacity:0;
  animation:vmvFade 18s infinite; z-index:0;
}
.vmv-bg:nth-child(1){ animation-delay:0s; }
.vmv-bg:nth-child(2){ animation-delay:6s; }
.vmv-bg:nth-child(3){ animation-delay:12s; }

@keyframes vmvFade {
  0%  { opacity:0; transform:scale(1.12); }
  8%  { opacity:1; transform:scale(1.05); }
  35% { opacity:1; transform:scale(1.02); }
  45% { opacity:0; transform:scale(1); }
  100%{ opacity:0; transform:scale(1.12); }
}
.slide-ltr .vmv-bg { animation-name:vmvLTR; }
@keyframes vmvLTR {
  0%  { opacity:0; transform:scale(1.1) translateX(-4%); }
  8%  { opacity:1; transform:scale(1.04) translateX(-1%); }
  35% { opacity:1; transform:scale(1.02) translateX(1%); }
  45% { opacity:0; transform:scale(1) translateX(4%); }
  100%{ opacity:0; transform:scale(1.1) translateX(-4%); }
}
.slide-rtl .vmv-bg { animation-name:vmvRTL; }
@keyframes vmvRTL {
  0%  { opacity:0; transform:scale(1.1) translateX(4%); }
  8%  { opacity:1; transform:scale(1.04) translateX(1%); }
  35% { opacity:1; transform:scale(1.02) translateX(-1%); }
  45% { opacity:0; transform:scale(1) translateX(-4%); }
  100%{ opacity:0; transform:scale(1.1) translateX(4%); }
}
.slide-btt .vmv-bg { animation-name:vmvBTT; }
@keyframes vmvBTT {
  0%  { opacity:0; transform:scale(1.1) translateY(4%); }
  8%  { opacity:1; transform:scale(1.04) translateY(1%); }
  35% { opacity:1; transform:scale(1.02) translateY(-1%); }
  45% { opacity:0; transform:scale(1) translateY(-4%); }
  100%{ opacity:0; transform:scale(1.1) translateY(4%); }
}

.vmv-standalone::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(
    to bottom right,
    rgba(6,20,40,0.74),
    rgba(11,60,111,0.52)
  );
  z-index:1;
}
.vmv-standalone::after {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    -58deg, transparent, transparent 42px,
    rgba(212,175,55,0.032) 42px, rgba(212,175,55,0.032) 43px
  );
  z-index:2;
}

.vmv-content {
  position:relative; z-index:3;
  max-width:820px; margin:0 auto;
  text-align:center; color:var(--white);
  padding:4rem 2rem;
}
.vmv-standalone .sec-title {
  color:var(--white);
  font-size:clamp(2.4rem,5vw,4rem);
}
.vmv-standalone .sec-title::before { background:var(--gold-light); }
.vmv-standalone .sec-title::after {
  background:linear-gradient(90deg,transparent,var(--gold-light),transparent);
}

.vmv-text {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:300; font-style:italic;
  line-height:1.78; color:rgba(255,255,255,0.88);
  letter-spacing:0.02em;
}

.vmv-values {
  list-style:none; padding:0; margin-top:1rem;
  display:flex; flex-direction:column; gap:0.8rem;
}
.vmv-values li {
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; font-style:italic; font-weight:300;
  color:rgba(255,255,255,0.86);
  position:relative; padding:0.75rem 1.5rem;
  border:1px solid rgba(212,175,55,0.18);
  background:rgba(255,255,255,0.04);
  transition:var(--transition); letter-spacing:0.02em;
}
.vmv-values li::before {
  content:'◆'; position:absolute;
  left:-0.5rem; top:50%; transform:translateY(-50%);
  color:var(--gold); font-size:0.45rem;
  background:var(--blue-deep); padding:2px;
}
.vmv-values li:hover {
  background:rgba(212,175,55,0.07);
  border-color:rgba(212,175,55,0.45);
  transform:translateX(5px);
}

/* ===============================
   SERVICES & WHY CARDS
================================ */
#services { background:var(--cream); }
#why-choose-us { background:var(--white); }

.services-grid, .why-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px; /* creates space between cards */
}

.service-card, .why-card {
  border-radius: 12px;
  overflow: hidden;
  height:300px; padding:2.5rem 2rem;
  background-color: var(--navy, #0b3c6f); /* fallback shown before lazy image loads */
  background-image:
    linear-gradient(to bottom, rgba(6,20,40,0.42) 0%, rgba(11,60,111,0.74) 100%),
    var(--img, none);
  background-size:cover; background-position:center;
  color:var(--white); position:relative; overflow:hidden;
  cursor:default; transition:var(--transition), background-image 0.4s ease;
}
.service-card::before, .why-card::before {
  content:''; position:absolute;
  left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(to bottom, transparent, var(--gold), transparent);
  transform:scaleY(0); transition:transform 0.5s ease; transform-origin:center;
}
.service-card:hover::before, .why-card:hover::before { transform:scaleY(1); }
.service-card::after, .why-card::after {
  content:''; position:absolute;
  bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0); transition:transform 0.5s ease 0.1s;
}
.service-card:hover::after, .why-card:hover::after { transform:scaleX(1); }
.service-card:hover, .why-card:hover {
  transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(0,0,0,0.28);
}
.service-card h3, .why-card h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-weight:600;
  color:var(--gold-light);
  margin-bottom:0.8rem; line-height:1.3; letter-spacing:0.02em;
}
.service-card p, .why-card p {
  font-size:0.86rem; line-height:1.78;
  color:rgba(255,255,255,0.78); font-weight:300;
}

/* ===============================
   QUOTE FORM
================================ */
#quote {
  background:linear-gradient(160deg, var(--blue) 10%, var(--blue-deep) 100%);
  position:relative; overflow:hidden;
}
#quote::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    48deg, transparent, transparent 38px,
    rgba(212,175,55,0.028) 38px, rgba(212,175,55,0.028) 39px
  );
}
#quote .sec-title { color:var(--white); }
#quote .sec-title::before { background:var(--gold); }
#quote .sec-title::after {
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.quote-form {
  max-width:560px; margin:0 auto;
  display:grid; gap:1.2rem;
  position:relative; z-index:1;
}
.quote-form input, .quote-form textarea {
  width:100%; padding:1.05rem 1.4rem;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(212,175,55,0.18);
  color:var(--white);
  font-family:'Montserrat',sans-serif;
  font-size:0.85rem; letter-spacing:0.04em;
  outline:none;
  transition:border-color 0.3s ease, background 0.3s ease;
  border-radius:var(--radius);
}
.quote-form input::placeholder, .quote-form textarea::placeholder {
  color:rgba(255,255,255,0.28); font-size:0.8rem; letter-spacing:0.09em;
}
.quote-form input:focus, .quote-form textarea:focus {
  border-color:var(--gold); background:rgba(255,255,255,0.07);
}
.quote-form textarea { min-height:130px; resize:vertical; }

.quote-form button {
  width:100%; padding:1.05rem 2rem;
  background:transparent; border:1px solid var(--gold);
  color:var(--gold);
  font-family:'Montserrat',sans-serif;
  font-size:0.75rem; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  cursor:pointer; position:relative; overflow:hidden;
  transition:var(--transition);
  display:flex; align-items:center; justify-content:center; gap:10px;
  border-radius:var(--radius);
}
.quote-form button::before {
  content:''; position:absolute; inset:0;
  background:var(--gold); transform:translateY(101%);
  transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.quote-form button:hover::before { transform:translateY(0); }
.quote-form button:hover { color:var(--blue-deep); }
.quote-form button span { position:relative; z-index:1; }

.quote-form button.button-loading { pointer-events:none; opacity:0.7; }
.quote-form button.button-success {
  border-radius:50% !important; width:60px !important; height:60px !important;
  padding:0 !important; margin:0 auto;
  background:var(--gold) !important; border-color:var(--gold) !important;
  color:transparent !important;
}
.quote-form button.button-success svg {
  width:24px; height:24px; stroke:var(--blue-deep);
  stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
  fill:none; stroke-dasharray:50; stroke-dashoffset:50;
  animation:drawCheck 0.5s ease forwards;
  position:relative; z-index:2;
}
@keyframes drawCheck { to { stroke-dashoffset:0; } }

.spinner {
  width:17px; height:17px;
  border:2px solid rgba(212,175,55,0.18);
  border-top-color:var(--gold);
  border-radius:50%; animation:spin 0.7s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

/* ===============================
   CEO SECTION
================================ */
.ceo {
  padding:9rem 6%;
  background:linear-gradient(160deg, var(--blue-deep) 0%, var(--blue) 100%);
  position:relative; overflow:hidden;
}
.ceo::before {
  content:''; position:absolute;
  width:600px; height:600px;
  background:radial-gradient(ellipse, rgba(212,175,55,0.055), transparent 70%);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none;
}
.ceo .sec-title { color:var(--white) !important; }
.ceo .sec-title::before { background:var(--gold); }
.ceo .sec-title::after { 
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.ceo-container {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; gap:70px;
  padding:58px; border:1px solid rgba(212,175,55,0.16);
  background:rgba(255,255,255,0.04);
  position:relative; transition:var(--transition);
}
.ceo-container::before, .ceo-container::after {
  content:''; position:absolute;
  width:22px; height:22px;
  border-color:var(--gold); border-style:solid;
}
.ceo-container::before {
  top:-1px; left:-1px; border-width:2px 0 0 2px;
}
.ceo-container::after {
  bottom:-1px; right:-1px; border-width:0 2px 2px 0;
}
.ceo-container:hover {
  transform:translateY(-6px);
  box-shadow:0 40px 80px rgba(0,0,0,0.3);
}
.ceo-image { flex-shrink:0; }
.ceo-image img {
  width:290px; height:360px;
  object-fit:cover; object-position:top;
  border:1px solid rgba(212,175,55,0.28);
  box-shadow:0 30px 70px rgba(0,0,0,0.5);
  transition:transform 0.6s ease, filter 0.6s ease;
  filter:grayscale(12%);
}
.ceo-image img:hover { transform:scale(1.03); filter:grayscale(0%); }
.ceo-text h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:2.1rem; font-weight:600;
  color:var(--white); letter-spacing:0.03em; line-height:1.2;
}
.ceo-text h3::after {
  content:''; display:block; width:50px; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent); margin-top:12px;
}
.ceo-role {
  color:var(--gold); font-size:0.7rem; font-weight:600;
  letter-spacing:0.24em; text-transform:uppercase;
  margin:14px 0 22px;
}
.ceo-text p {
  color:rgba(255,255,255,0.76); font-size:0.9rem;
  line-height:1.9; font-weight:300;
  margin-bottom:12px; letter-spacing:0.01em;
}

/* ===============================
   WHATSAPP CTA
================================ */
.whatsapp-cta {
  display:block; width:fit-content;
  margin:3rem auto;
  padding:0.9rem 2.4rem;
  background:transparent;
  color:var(--blue); font-size:0.72rem; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  text-decoration:none; border:1px solid var(--gold);
  position:relative; overflow:hidden; transition:var(--transition);
}
.whatsapp-cta::before {
  content:''; position:absolute; inset:0;
  background:var(--gold); transform:translateX(-101%);
  transition:transform 0.4s ease;
}
.whatsapp-cta:hover::before { transform:translateX(0); }
.whatsapp-cta:hover { color:var(--blue-deep); }

/* ===============================
   FOOTER
================================ */
.site-footer {
  background:linear-gradient(170deg,#071d36 0%,#0b3c6f 60%,#09305a 100%);
  padding:6rem 6% 2.5rem; color:var(--white);
  position:relative; overflow:hidden;
}
.site-footer::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.footer-container {
  display:flex; gap:4rem;
  align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap; max-width:1200px; margin:0 auto;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.footer-block { flex:1; min-width:180px; max-width:280px; }
.footer-block h4 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.12rem; font-weight:600;
  color:var(--gold-light); margin-bottom:1.3rem;
  letter-spacing:0.06em; position:relative; padding-bottom:12px;
}
.footer-block h4::after {
  content:''; position:absolute;
  bottom:0; left:0; width:30px; height:1px;
  background:var(--gold); transition:width 0.3s ease;
}
.footer-block h4:hover::after { width:52px; }

.footer-logo {
  height:52px; margin-bottom:15px;
  padding:7px 10px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(212,175,55,0.16);
  border-radius:4px;
}
.tagline {
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-size:1rem;
  color:rgba(255,255,255,0.68); margin-bottom:4px; letter-spacing:0.03em;
}
.footer-block p {
  font-size:0.84rem; line-height:1.82;
  color:rgba(255,255,255,0.56); margin-bottom:6px; font-weight:300;
}

.footer-socials { display:flex; gap:10px; margin-top:18px; }
.footer-socials a {
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid rgba(212,175,55,0.18);
  color:rgba(255,255,255,0.55); font-size:14px;
  text-decoration:none; transition:var(--transition);
}
.footer-socials a:hover {
  background:var(--gold); border-color:var(--gold);
  color:var(--blue-deep); transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(212,175,55,0.28);
}

.footer-bottom {
  max-width:1200px; margin:2rem auto 0;
  text-align:center; font-size:0.72rem;
  color:rgba(255,255,255,0.32); letter-spacing:0.1em; font-weight:300;
}

/* ===============================
   SCROLL REVEAL
================================ */
.reveal {
  opacity:0; transform:translateY(50px);
  transition:opacity 1s ease, transform 1s ease;
  will-change:opacity,transform;
}
.reveal.active { opacity:1; transform:translateY(0); }
.reveal-left {
  opacity:0; transform:translateX(-50px);
  transition:opacity 1s ease, transform 1s ease;
}
.reveal-left.active { opacity:1; transform:translateX(0); }
.reveal-right {
  opacity:0; transform:translateX(50px);
  transition:opacity 1s ease, transform 1s ease;
}
.reveal-right.active { opacity:1; transform:translateX(0); }

/* ===============================
   MOBILE
================================ */
@media (max-width:900px) {
  .ceo-container { flex-direction:column; text-align:center; padding:36px 24px; gap:32px; }
  .ceo-text h3::after { margin:12px auto 0; }
  .ceo-image img { width:220px; height:270px; }
}
@media (max-width:768px) {
  .header-inner { flex-direction:row; justify-content:space-between; }
  .nav {
    position:absolute; top:100%; left:0; width:100%;
    background:var(--white); flex-direction:column;
    display:none; border-top:1px solid var(--border);
    box-shadow:0 20px 40px rgba(0,0,0,0.1); z-index:999;
  }
  .nav.active { display:flex; }
  .nav a {
    padding:1rem 1.5rem;
    border-bottom:1px solid rgba(212,175,55,0.1);
    color:var(--blue); font-size:0.82rem;
  }
  .hamburger { display:flex; }
  .hero-content h1 { font-size:2.4rem; }
  .hero-content p { font-size:0.93rem; }
  .services-grid, .why-grid { grid-template-columns:1fr; gap:2px; }
  .footer-container { flex-direction:column; gap:2.5rem; }
  .footer-block { max-width:100%; }
  .section { padding:5rem 0; }
  .vmv-standalone { min-height:80vh; }
  .bullets { flex-direction:column; align-items:center; gap:0.8rem; }
  .bullets li { width:100%; max-width:320px; }
}
@media (max-width:480px) {
  .hero-content h1 { font-size:2rem; }
  .cta { width:100%; justify-content:center; }
  .vmv-text { font-size:1.2rem; }
}
/* ===============================
   SECTION SPACING FIX
================================ */
.section,
.vmv-standalone,
#services,
#why-choose-us,
#quote,
.ceo {
  margin: 60px 0;
}
#quote .sec-title {
  color: #ffffff !important;
}