/* ═══════════════════════════════════════
   THULIR WEDDINGS — style.css
   Bright · Airy · Editorial · Luxury
   ═══════════════════════════════════════ */

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

:root {
  --gold:      #B8963E;
  --gold-lt:   #D4B483;
  --gold-dk:   #8B6914;
  --ink:       #1A1510;
  --charcoal:  #2C2520;
  --warm-gray: #6B6258;
  --silver:    #9A9590;
  --cream:     #FAF8F4;
  --white:     #FFFFFF;
  --light:     #F4F0EA;
  --border:    rgba(184,150,62,0.18);
  --ease:      cubic-bezier(0.16,1,0.3,1);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Montserrat',sans-serif;
  background:var(--white);
  color:var(--ink);
  overflow-x:hidden;
  cursor:none;
}
img { display:block; width:100%; height:100%; object-fit:cover; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }

/* ── CURSOR ── */
#cursor {
  width:10px; height:10px;
  background:var(--gold);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s;
  mix-blend-mode:multiply;
}
#cursor-ring {
  width:34px; height:34px;
  border:1px solid rgba(184,150,62,.4);
  border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:99998;
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s,border-color .3s;
}
body:has(a:hover) #cursor { width:6px; height:6px; }
body:has(a:hover) #cursor-ring { width:52px; height:52px; border-color:var(--gold); }
@media(pointer:coarse){#cursor,#cursor-ring{display:none}body{cursor:auto}}

/* ── LOADER ── */
#loader {
  position:fixed; inset:0; z-index:9999;
  background:var(--white);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:16px;
  transition:opacity .8s ease,visibility .8s ease;
}
#loader.gone { opacity:0; visibility:hidden; pointer-events:none; }
.loader-logo {
  font-family:'Great Vibes',cursive;
  font-size:clamp(2rem,5vw,3.2rem);
  color:var(--gold); letter-spacing:2px;
  animation:breathe 1.8s ease-in-out infinite;
}
.loader-tag {
  font-size:.55rem; letter-spacing:5px;
  text-transform:uppercase; color:var(--silver);
}
.loader-bar {
  width:140px; height:1px;
  background:rgba(184,150,62,.15);
  overflow:hidden;
}
.loader-fill {
  height:100%; width:0;
  background:var(--gold);
  animation:loaderFill 1.8s ease-in-out infinite;
}
@keyframes loaderFill { 0%{width:0;margin-left:0} 50%{width:100%;margin-left:0} 100%{width:0;margin-left:100%} }
@keyframes breathe { 0%,100%{opacity:.6} 50%{opacity:1} }

/* ── NAV ── */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:28px 6%;
  transition:padding .4s var(--ease), background .4s, box-shadow .4s;
}
#nav.scrolled {
  padding:14px 6%;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  box-shadow:0 1px 0 var(--border);
}
.nav-brand { display:flex; flex-direction:column; gap:1px; }
.brand-script {
  font-family:'Great Vibes',cursive;
  font-size:1.8rem; color:var(--gold); line-height:1; letter-spacing:1px;
}
.brand-tag {
  font-size:.42rem; letter-spacing:4px;
  text-transform:uppercase; color:var(--silver);
  margin-left:2px;
}
#nav:not(.scrolled) .brand-tag { color:rgba(255,255,255,.6); }
#nav:not(.scrolled) .brand-script { color:#fff; }
#nav:not(.scrolled) .nav-links a { color:rgba(255,255,255,.85); }
#nav:not(.scrolled) .nav-links a::after { background:#fff; }
.nav-links {
  display:flex; gap:40px; align-items:center;
}
.nav-links a {
  font-size:.62rem; letter-spacing:2.5px;
  text-transform:uppercase; font-weight:400;
  color:var(--charcoal);
  position:relative; transition:color .3s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:50%; right:50%;
  height:1px; background:var(--gold);
  transition:left .3s var(--ease),right .3s var(--ease);
}
.nav-links a:hover,
.nav-links a.active { color:var(--gold); }
.nav-links a:hover::after,
.nav-links a.active::after { left:0; right:0; }
.nav-book {
  padding:10px 24px;
  border:1px solid var(--gold) !important;
  color:var(--gold) !important;
  font-size:.58rem !important; letter-spacing:2.5px !important;
  transition:all .3s !important;
}
.nav-book:hover { background:var(--gold)!important; color:#fff!important; }
.nav-book::after { display:none!important; }
#nav:not(.scrolled) .nav-book {
  border-color:rgba(255,255,255,.6)!important;
  color:rgba(255,255,255,.9)!important;
}
.hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:none; padding:4px;
}
.hamburger span {
  width:24px; height:1px;
  background:var(--gold); display:block;
  transition:all .35s var(--ease);
}
#nav:not(.scrolled) .hamburger span { background:#fff; }
.hamburger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* ── MOBILE MENU ── */
#mob-menu {
  position:fixed; inset:0; z-index:999;
  background:var(--white);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:32px;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .6s var(--ease);
}
#mob-menu.open { clip-path:inset(0 0 0% 0); }
#mob-menu a {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.6rem,5vw,2.5rem);
  font-style:italic; color:var(--charcoal);
  transition:color .3s;
}
#mob-menu a:hover { color:var(--gold); }
.mob-social { display:flex; gap:24px; margin-top:8px; }
.mob-social a {
  font-size:.6rem!important; letter-spacing:3px!important;
  text-transform:uppercase!important; font-style:normal!important;
  color:var(--silver)!important;
}

/* ── HERO ── */
#hero {
  height:100vh; min-height:680px;
  position:relative; display:flex;
  align-items:flex-end; overflow:hidden;
}
.hero-slides { position:absolute; inset:0; }
.hs {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 2s ease;
}
.hs.active { opacity:1; }
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(26,21,16,.3) 0%,
    rgba(26,21,16,.15) 40%,
    rgba(26,21,16,.65) 100%
  );
}
.hero-content {
  position:relative; z-index:2;
  padding:0 6% 10vh; max-width:860px;
}
.hero-eyebrow {
  font-size:.6rem; letter-spacing:5px;
  text-transform:uppercase; color:var(--gold-lt);
  margin-bottom:20px;
  animation:heroUp .9s var(--ease) .3s both;
}
.hero-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,6.5vw,6rem);
  font-weight:300; color:#fff; line-height:1.05;
  animation:heroUp 1s var(--ease) .6s both;
}
.hero-title em {
  display:block; font-style:italic;
  color:var(--gold-lt); font-size:.85em;
}
.hero-sub {
  font-size:.88rem; font-weight:200;
  letter-spacing:2px; color:rgba(255,255,255,.7);
  margin:24px 0 40px;
  animation:heroUp .9s var(--ease) .9s both;
}
.hero-btns {
  display:flex; gap:14px; flex-wrap:wrap;
  animation:heroUp .9s var(--ease) 1.2s both;
}
.hero-dots {
  position:absolute; left:6%; bottom:6vh;
  z-index:2; display:flex; gap:8px; align-items:center;
  animation:fadeIn 1s ease 2s both;
}
.hdot {
  width:20px; height:1px;
  background:rgba(255,255,255,.3);
  cursor:none; transition:all .4s;
}
.hdot.on { background:var(--gold); width:36px; }
.hero-scroll-ind {
  position:absolute; right:6%; bottom:6vh; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  animation:fadeIn 1s ease 2s both;
}
.hero-scroll-ind span {
  font-size:.5rem; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,255,255,.5);
  writing-mode:vertical-lr;
}
.scroll-line {
  width:1px; height:56px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes heroUp { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes scrollPulse {
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 36px;
  font-family:'Montserrat',sans-serif;
  font-size:.62rem; letter-spacing:3px;
  text-transform:uppercase; font-weight:500;
  border:none; cursor:none;
  transition:all .35s var(--ease);
}
.btn-white { background:#fff; color:var(--ink); }
.btn-white:hover { background:var(--gold-lt); transform:translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,.15); }
.btn-outline-white { border:1px solid rgba(255,255,255,.5); color:#fff; background:transparent; }
.btn-outline-white:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.btn-gold { background:var(--gold); color:#fff; }
.btn-gold:hover { background:var(--gold-dk); transform:translateY(-2px); box-shadow:0 16px 40px rgba(184,150,62,.3); }
.btn-dark { background:var(--ink); color:#fff; }
.btn-dark:hover { background:var(--charcoal); transform:translateY(-2px); }
.btn-text-link {
  display:inline-flex; align-items:center; gap:10px;
  font-size:.62rem; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--gold);
  font-weight:400; transition:gap .3s;
}
.btn-text-link:hover { gap:16px; }
.btn-text-link span { font-style:normal; }

/* ── INTRO STRIP ── */
.intro-strip {
  background:var(--ink);
  padding:18px 0;
  display:flex; align-items:center;
  overflow:hidden; white-space:nowrap;
  gap:0;
}
.intro-strip span {
  font-size:.58rem; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,255,255,.5);
  padding:0 24px; flex-shrink:0;
}
.intro-strip .dot { color:var(--gold); padding:0 4px; }

/* ── SECTION LABELS ── */
.label {
  display:inline-flex; align-items:center; gap:12px;
  font-size:.58rem; letter-spacing:4px;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:18px;
}
.label::before {
  content:''; width:28px; height:1px; background:var(--gold);
}
.label-center { display:flex; justify-content:center; }
.label-center::before { display:none; }
.label-gold { color:var(--gold-lt); }
.label-gold::before { background:var(--gold-lt); }

/* ── SECTION TITLE ── */
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:300; line-height:1.15;
  color:var(--ink);
}
.section-title em { font-style:italic; color:var(--gold); }
.section-title.light { color:#fff; }
.section-title.light em { color:var(--gold-lt); }

/* ── GOLD LINE ── */
.gold-line {
  width:52px; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:28px 0;
}

/* ── BODY TEXT ── */
.body-text {
  font-size:.95rem; line-height:1.9;
  color:var(--warm-gray); font-weight:300;
  max-width:580px;
}

/* ── AOS ── */
[data-aos] {
  opacity:0;
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
[data-aos="fade-up"]    { transform:translateY(40px); }
[data-aos="fade-left"]  { transform:translateX(40px); }
[data-aos="fade-right"] { transform:translateX(-40px); }
[data-aos].aos-animate  { opacity:1; transform:none; }
[data-aos-delay="100"]  { transition-delay:.1s; }
[data-aos-delay="200"]  { transition-delay:.2s; }
[data-aos-delay="300"]  { transition-delay:.3s; }

/* ── STORY ── */
#story {
  padding:130px 6%;
  display:grid; grid-template-columns:1fr 1fr;
  gap:100px; align-items:center;
  background:var(--white);
}
.story-images { position:relative; }
.si-main {
  aspect-ratio:3/4; overflow:hidden;
}
.si-main img { transition:transform .8s var(--ease); }
.si-main:hover img { transform:scale(1.04); }
.si-float {
  position:absolute; bottom:-48px; right:-36px;
  width:52%; aspect-ratio:1; overflow:hidden;
  border:4px solid var(--white);
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.si-badge {
  position:absolute; top:-16px; left:-16px;
  background:var(--gold); color:#fff;
  padding:16px 20px;
  font-size:.55rem; letter-spacing:3px;
  text-transform:uppercase; font-weight:500;
}
.story-text { padding-top:20px; }
.story-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; font-style:italic;
  color:var(--charcoal); line-height:1.65;
  border-left:2px solid var(--gold);
  padding:20px 24px; margin:32px 0;
  background:var(--light);
}
.story-quote cite {
  display:block; margin-top:10px;
  font-size:.7rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--silver);
  font-style:normal;
}

/* ── NUMBERS ── */
.numbers-bar {
  background:var(--gold);
  display:grid; grid-template-columns:repeat(4,1fr);
  padding:60px 6%;
  position:relative; overflow:hidden;
}
.numbers-bar::before {
  content:'';
  position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-opacity='.04'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
}
.nb-item {
  text-align:center; position:relative; z-index:1;
  padding:20px; border-right:1px solid rgba(255,255,255,.25);
}
.nb-item:last-child { border-right:none; }
.nb-val {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,4.5vw,4rem);
  font-weight:300; color:#fff; line-height:1;
}
.nb-label {
  font-size:.58rem; letter-spacing:2.5px;
  text-transform:uppercase; color:rgba(255,255,255,.7);
  margin-top:10px;
}

/* ── REEL ── */
#reel { padding:130px 0 130px; background:var(--light); overflow:hidden; }
.reel-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  padding:0 6%; margin-bottom:64px; flex-wrap:wrap; gap:20px;
}
.reel-track-wrap { overflow:hidden; }
.reel-track {
  display:flex; gap:6px;
  animation:reelScroll 32s linear infinite;
  width:max-content;
}
.reel-track:hover { animation-play-state:paused; }
@keyframes reelScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.reel-item {
  flex-shrink:0; width:clamp(220px,20vw,320px);
  aspect-ratio:3/4; overflow:hidden; position:relative;
  cursor:none;
}
.reel-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease), filter .4s;
}
.reel-item:hover img { transform:scale(1.06); filter:brightness(.85); }
.reel-item-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:24px 16px 14px;
  background:linear-gradient(to top,rgba(26,21,16,.8),transparent);
  font-size:.56rem; letter-spacing:2px;
  text-transform:uppercase; color:rgba(255,255,255,.8);
  opacity:0; transition:opacity .35s;
}
.reel-item:hover .reel-item-label { opacity:1; }

/* ── SERVICES HOME ── */
#services-home { padding:130px 6%; background:var(--white); }
.services-intro { text-align:center; max-width:600px; margin:0 auto 72px; }
.services-intro .section-title { display:block; }
.svc-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.svc-card {
  display:block; overflow:hidden;
  background:var(--white);
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  transition:transform .4s var(--ease), box-shadow .4s;
}
.svc-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.svc-img-wrap {
  aspect-ratio:4/3; overflow:hidden;
}
.svc-img-wrap img { transition:transform .7s var(--ease); }
.svc-card:hover .svc-img-wrap img { transform:scale(1.06); }
.svc-info {
  padding:28px 24px 32px;
  border-top:2px solid var(--light);
}
.svc-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem; color:var(--light);
  font-weight:300; line-height:1;
  float:right; margin-left:12px;
  margin-top:-4px;
}
.svc-info h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem; font-weight:400;
  color:var(--ink); margin-bottom:10px;
  line-height:1.2;
}
.svc-info p {
  font-size:.82rem; line-height:1.75;
  color:var(--warm-gray); margin-bottom:18px;
}
.svc-link {
  font-size:.58rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--gold);
  transition:letter-spacing .3s;
}
.svc-card:hover .svc-link { letter-spacing:4px; }

/* ── FEATURED STORY ── */
#featured-story {
  padding:130px 6%;
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
  background:var(--light);
}
.fs-img { position:relative; }
.fs-img img:first-child {
  width:100%; aspect-ratio:3/4; object-fit:cover;
}
.fs-img2 {
  position:absolute!important; bottom:-40px; right:-32px;
  width:55%!important; aspect-ratio:4/3!important;
  border:4px solid var(--light);
  box-shadow:0 16px 48px rgba(0,0,0,.12);
}
.fs-text { padding-left:16px; }

/* ── TESTIMONIALS ── */
#testimonials {
  padding:130px 6%;
  background:var(--ink);
  position:relative; overflow:hidden;
}
#testimonials::before {
  content:'"';
  font-family:'Cormorant Garamond',serif;
  font-size:28vw; color:rgba(184,150,62,.04);
  position:absolute; top:-4vw; right:2%;
  line-height:1; pointer-events:none;
  font-style:italic;
}
.test-header { text-align:center; margin-bottom:64px; }
.test-header .label { justify-content:center; }
.test-header .label::before { display:none; }
.test-slider { max-width:820px; margin:0 auto; text-align:center; }
.test-slide { display:none; animation:fadeIn .6s ease; }
.test-slide.active { display:block; }
.test-stars { color:var(--gold); font-size:.9rem; margin-bottom:28px; letter-spacing:4px; }
.test-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.1rem,2vw,1.5rem);
  font-style:italic; font-weight:300;
  color:rgba(255,255,255,.9); line-height:1.75;
  margin-bottom:36px;
}
.test-author { }
.test-author strong {
  display:block; font-family:'Cormorant Garamond',serif;
  font-size:1.05rem; color:var(--gold-lt);
  font-weight:400; margin-bottom:6px;
}
.test-author span {
  font-size:.62rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--silver);
}
.test-controls {
  display:flex; align-items:center; justify-content:center;
  gap:20px; margin-top:56px;
}
.test-controls button {
  width:44px; height:44px;
  border:1px solid rgba(184,150,62,.3);
  background:none; color:var(--gold);
  font-size:1.2rem; cursor:none;
  transition:all .3s;
  display:flex; align-items:center; justify-content:center;
}
.test-controls button:hover { background:var(--gold); color:#fff; }
.test-dots { display:flex; gap:8px; }
.test-dot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(184,150,62,.25); cursor:none;
  transition:all .3s;
}
.test-dot.on { background:var(--gold); transform:scale(1.3); }

/* ── INSTAGRAM GRID ── */
#insta-grid { padding:130px 6%; background:var(--white); }
.ig-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:6px;
}
.ig-item {
  aspect-ratio:1; overflow:hidden; position:relative; cursor:none;
}
.ig-item img {
  transition:transform .7s var(--ease), filter .4s;
}
.ig-item:hover img { transform:scale(1.07); filter:brightness(.8); }
.ig-item-overlay {
  position:absolute; inset:0;
  background:rgba(26,21,16,.5);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .35s;
}
.ig-item:hover .ig-item-overlay { opacity:1; }
.ig-item-overlay span {
  font-size:.58rem; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,255,255,.9);
}

/* ── CTA HOME ── */
#cta-home {
  position:relative; padding:140px 6%;
  text-align:center; overflow:hidden;
}
.cta-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform 8s ease;
}
#cta-home:hover .cta-bg { transform:scale(1.03); }
.cta-overlay {
  position:absolute; inset:0;
  background:rgba(26,21,16,.78);
}
.cta-content { position:relative; z-index:1; }
.cta-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,5vw,4.5rem);
  font-weight:300; color:#fff;
  max-width:720px; margin:0 auto 20px;
  line-height:1.1;
}
.cta-title em { font-style:italic; color:var(--gold-lt); }
.cta-sub {
  font-size:.9rem; color:rgba(255,255,255,.65);
  max-width:480px; margin:0 auto 48px; line-height:1.85;
}
.cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.cta-note {
  font-size:.6rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--gold);
  margin-top:28px;
}

/* ── FOOTER ── */
footer {
  background:#0F0C09;
  padding:80px 6% 0;
  border-top:1px solid rgba(184,150,62,.1);
}
.footer-inner {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px; padding-bottom:60px;
  border-bottom:1px solid rgba(184,150,62,.08);
}
.footer-brand .brand-script { font-size:2.2rem; }
.footer-brand .brand-tag { color:rgba(255,255,255,.3); }
.footer-desc {
  font-size:.82rem; line-height:1.85;
  color:rgba(255,255,255,.35); max-width:280px; margin-top:16px;
}
.footer-social {
  display:flex; gap:12px; margin-top:24px;
}
.footer-social a {
  width:36px; height:36px;
  border:1px solid rgba(184,150,62,.2);
  display:flex; align-items:center; justify-content:center;
  color:var(--silver); transition:all .3s;
}
.footer-social a:hover { border-color:var(--gold); color:var(--gold); }
.footer-col h5 {
  font-size:.58rem; letter-spacing:3.5px;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:22px;
}
.footer-col li { margin-bottom:12px; }
.footer-col a {
  font-size:.82rem; color:rgba(255,255,255,.35);
  transition:color .3s;
}
.footer-col a:hover { color:var(--gold-lt); }
.footer-bottom {
  padding:24px 0;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:12px;
}
.footer-bottom p { font-size:.7rem; color:rgba(255,255,255,.22); }
.footer-bottom a { color:rgba(184,150,62,.7); transition:color .3s; }
.footer-bottom a:hover { color:var(--gold-lt); }

/* ── WHATSAPP ── */
#wa-btn {
  position:fixed; bottom:32px; right:32px; z-index:998;
  width:54px; height:54px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.35);
  transition:transform .3s var(--ease), box-shadow .3s;
  cursor:none;
}
#wa-btn:hover { transform:scale(1.12); box-shadow:0 12px 36px rgba(37,211,102,.45); }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
  #story, #featured-story { gap:60px; }
}
@media(max-width:900px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  #story { grid-template-columns:1fr; }
  #featured-story { grid-template-columns:1fr; }
  .fs-img2 { display:none; }
  .numbers-bar { grid-template-columns:repeat(2,1fr); }
  .nb-item:nth-child(2) { border-right:none; }
  .ig-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px) {
  #story, #services-home, #reel, #featured-story,
  #testimonials, #insta-grid, #cta-home { padding:80px 5%; }
  .svc-grid { grid-template-columns:1fr; }
  .numbers-bar { padding:48px 5%; }
  .si-float { display:none; }
  .footer-inner { grid-template-columns:1fr; gap:32px; }
  #wa-btn { bottom:24px; right:20px; width:48px; height:48px; }
  .hero-btns { flex-direction:column; }
}

/* ── GOOGLE REVIEWS SECTION ── */
#google-reviews {
  padding:100px 6%;
  background:var(--light);
}
.gr-header {
  display:flex; justify-content:space-between;
  align-items:flex-end; margin-bottom:56px;
  flex-wrap:wrap; gap:20px;
}
.gr-badge {
  display:flex; align-items:center; gap:16px;
  padding:20px 28px;
  background:var(--white);
  border:1px solid var(--border);
  box-shadow:0 4px 20px rgba(0,0,0,.06);
}
.gr-logo {
  font-size:1.4rem; font-weight:700;
  background:linear-gradient(135deg,#4285F4,#34A853,#FBBC05,#EA4335);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  font-family:'Montserrat',sans-serif;
}
.gr-score { text-align:center; }
.gr-score strong {
  display:block; font-size:2.2rem;
  font-family:'Cormorant Garamond',serif;
  color:var(--ink); font-weight:300; line-height:1;
}
.gr-score span {
  font-size:.58rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--silver);
}
.gr-stars-big { color:#FBBC05; font-size:1.1rem; letter-spacing:2px; }
.gr-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.gr-card {
  background:var(--white);
  padding:32px 28px;
  border:1px solid var(--border);
  transition:transform .3s var(--ease), box-shadow .3s;
}
.gr-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(0,0,0,.08);
}
.gr-card-top {
  display:flex; justify-content:space-between;
  align-items:flex-start; margin-bottom:16px;
}
.gr-reviewer strong {
  display:block; font-size:.88rem;
  color:var(--ink); margin-bottom:4px;
}
.gr-reviewer span {
  font-size:.65rem; color:var(--silver); letter-spacing:1px;
}
.gr-card-stars { color:#FBBC05; font-size:.8rem; }
.gr-text {
  font-size:.85rem; line-height:1.8;
  color:var(--warm-gray); font-style:italic;
}
.gr-source {
  display:flex; align-items:center; gap:6px;
  margin-top:18px; padding-top:16px;
  border-top:1px solid var(--border);
  font-size:.6rem; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--silver);
}
.gr-dot { width:6px; height:6px; border-radius:50%; background:#4285F4; }
@media(max-width:900px) { .gr-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .gr-grid { grid-template-columns:1fr; } #google-reviews { padding:80px 5%; } }
