/* ============ TOKENS ============ */
:root{
  --maroon-950:#2a0810;
  --maroon-900:#3c0c17;
  --maroon-800:#56121f;
  --maroon-700:#761a2b;
  --maroon-600:#92223a;
  --gold-300:#f1ddA0;
  --gold-400:#e3c270;
  --gold-500:#cda04c;
  --gold-600:#a87f33;
  --cream:#faf5ea;
  --cream-dim:#f1e7d4;
  --ink:#241014;
  --line: rgba(205,160,76,.28);
  --shadow: 0 20px 50px -20px rgba(42,8,16,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond', serif;
  margin:0 0 .4em;
  color:var(--maroon-900);
  line-height:1.1;
  font-weight:600;
}
.eyebrow{
  font-family:'Marcellus', serif;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--gold-600);
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.eyebrow::before{
  content:"";
  width:28px;height:1px;
  background:var(--gold-500);
  display:inline-block;
}
p{margin:0 0 1em; color:#4a3036;}
a{color:inherit;}
img,svg{display:block;max-width:100%;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
section{position:relative;}
::selection{background:var(--gold-400);color:var(--maroon-950);}

/* focus visibility */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--gold-500);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ============ REVEAL ============ */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *{
  animation: popIn .6s var(--ease) both;
  opacity: 1;
  transform: scale(1);
}
.reveal-stagger.in > *:nth-child(1){ animation-delay: 0ms; }
.reveal-stagger.in > *:nth-child(2){ animation-delay: 90ms; }
.reveal-stagger.in > *:nth-child(3){ animation-delay: 180ms; }
.reveal-stagger.in > *:nth-child(4){ animation-delay: 270ms; }
.reveal-stagger.in > *:nth-child(5){ animation-delay: 360ms; }
.reveal-stagger.in > *:nth-child(6){ animation-delay: 450ms; }
.reveal-stagger.in > *:nth-child(7){ animation-delay: 540ms; }
.reveal-stagger.in > *:nth-child(8){ animation-delay: 630ms; }
@keyframes popIn{
  from{ opacity:0; transform: scale(.8) translateY(20px); }
  to{ opacity:1; transform: scale(1) translateY(0); }
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:'Marcellus', serif;
  letter-spacing:.05em;
  font-size:.92rem;
  padding:16px 34px;
  border-radius:2px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s, color .35s;
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle, rgba(255,255,255,.3), transparent);
  transform:scale(0);
  transform-origin:center;
  transition:transform .6s ease;
  pointer-events:none;
}
.btn:active::before{
  transform:scale(1);
}
.btn-gold{
  background:linear-gradient(120deg, var(--gold-400), var(--gold-600) 60%, var(--gold-400));
  background-size:220% 100%;
  color:var(--maroon-950);
  box-shadow:0 14px 30px -12px rgba(166,120,28,.55);
}
.btn-gold:hover{ 
  background-position:100% 0; 
  transform:translateY(-2px);
  box-shadow:0 18px 40px -8px rgba(166,120,28,.75);
}
.btn-line{
  border-color: var(--maroon-800);
  color: var(--maroon-800);
  transition:all .35s var(--ease);
}
.btn-line:hover{
  background: var(--maroon-800);
  color: var(--cream);
  transform:translateY(-2px);
  box-shadow:0 8px 20px -4px rgba(227,194,112,.25);
}
.btn-line-dark{
  border-color:var(--maroon-700);
  color:var(--maroon-900);
}
.btn-line-dark:hover{
  background:var(--maroon-900);
  color:var(--cream);
  transform:translateY(-2px);
  box-shadow:0 8px 20px -4px rgba(0,0,0,.25);
}

/* ============ HEADER ============ */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:12px 0;
  background: white;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
header .container{display:flex; align-items:center; justify-content:space-between;}
.logo{display:flex; align-items:center; gap:12px; text-decoration:none;}
.logo-mark{
  width:38px;height:38px; border-radius:50%;
  background:radial-gradient(circle at 32% 30%, var(--gold-300), var(--gold-600) 70%);
  box-shadow:0 0 0 1px rgba(250,245,234,.25), 0 6px 16px -6px rgba(0,0,0,.5);
  position:relative;
  flex:none;
}
.logo-mark::after{
  content:"G";
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond', serif; font-weight:700; color:var(--maroon-950); font-size:1.1rem;
}
.logo-text{font-family:'Marcellus', serif; color:var(--maroon-900); letter-spacing:.06em; line-height:1.1;}
.logo-text img{
  height: 52px;
  width: auto;
}
.logo-text b{display:block; font-size:1.05rem;}
.logo-text span{display:block; font-size:.62rem; letter-spacing:.22em; color:var(--gold-400); text-transform:uppercase; margin-top:3px;}

nav ul{list-style:none; display:flex; gap:34px; margin:0; padding:0;}
nav a{
  color:var(--maroon-900); text-decoration:none; font-size:.86rem; letter-spacing:.03em;
  position:relative; padding:4px 0;
}
nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-400);
  transition:width .35s var(--ease);
}
nav a:hover::after{width:100%;}
.nav-cta{
  display:flex; 
  align-items:center; 
  gap:24px;}
.nav-toggle{display:none; background:none; border:0; color:var(--maroon-900); font-size:1.6rem; cursor:pointer;}

@media (max-width:880px){
  nav#siteNav{
    position:fixed; 
    inset:0 0 0 30%; 
    background:var(--maroon-950); 
    transform:translateX(100%); 
    transition:transform .45s var(--ease); 
    padding:110px 36px 36px; 
    z-index: 99;
  }
  nav#siteNav a {
    display: block;
    padding: 12px 20px;
    background: var(--maroon-800);
    color: var(--gold-300);
    border-radius: 4px;
    transition: background .2s;
  }
  nav.open{transform:translateX(0);}
  nav#siteNav ul{flex-direction:column; gap:24px;}
  .nav-cta .btn-line{display:none;}
  .nav-toggle{
    display:block;
    z-index: 100;
   
  }
}

/* ============ PAGE BANNER ============ */
.page-banner{
  background-image:
    linear-gradient(160deg, rgb(42, 8, 16), rgb(86, 18, 30)),
    url('assets/img/about2.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color:var(--cream);
  padding:160px 0 100px;
  overflow:hidden;
  position:relative;
  margin-top:80px;
}
.page-banner::before{
  content:"";
  position:absolute; inset:18px;
  border:1px solid var(--line);
  pointer-events:none;
}
.page-banner h1{
  color:var(--cream);
  font-size:clamp(2rem, 4vw, 3.2rem);
  font-weight:600;
  margin-bottom:.32em;
}

/* ============ SECTION ============ */
.light-section{padding:120px 0;}
.tint-section{padding:100px 0; background:var(--cream-dim);}
.dark-section{padding:100px 0; background:linear-gradient(170deg, var(--maroon-950), var(--maroon-900)); color:var(--cream);}
.dark-section h2, .dark-section h3{color:var(--cream);}
.dark-section p{color:rgba(250,245,234,.72);}
.dark-section .eyebrow{color:var(--gold-400);}
.dark-section .eyebrow::before{background:var(--gold-400);}

.section-head{max-width:640px; margin-bottom:48px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin-top:.3em;}

/* ============ ABOUT GRID ============ */
.about-grid{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;
}
@media (max-width:880px){ .about-grid{grid-template-columns:1fr;} }
.about-frame{
  position:relative; aspect-ratio:4/5; border-radius:4px;
  background:linear-gradient(155deg, var(--maroon-800), var(--maroon-950));
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.about-frame::before{
  content:""; position:absolute; inset:16px; border:1px solid rgba(227,194,112,.4);
}
.about-frame svg{width:46%; color:var(--gold-400); opacity:.92;}
.about-frame .badge-since{
  position:absolute; bottom:22px; left:22px; right:22px;
  font-family:'Marcellus',serif; color:var(--gold-300);
  text-transform:uppercase; letter-spacing:.18em; font-size:.7rem;
  border-top:1px solid rgba(227,194,112,.35); padding-top:14px;
  z-index: 2;
}
.about-slideshow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.about-frame .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(0,0,0,.3);
  border: none;
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  transition: background .3s;
}
.about-frame .slick-arrow:hover {
  background: rgba(0,0,0,.6);
}
.about-frame .slick-prev {
  left: 15px;
}
.about-frame .slick-next {
  right: 15px;
}
.about-copy ul{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:14px;}
.about-copy li{display:flex; gap:12px; align-items:flex-start; color:#4a3036; font-size:.95rem;}
.about-copy li svg{width:18px;height:18px; color:var(--gold-600); flex:none; margin-top:3px;}

/* ============ VALUES ============ */
.value-row{display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
@media (max-width:880px){ .value-row{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .value-row{grid-template-columns:1fr;} }
.value-cell{padding:36px 26px; border-right:1px solid var(--line);}
.value-row .value-cell:last-child{border-right:none;}
.value-cell .num{font-family:'Cormorant Garamond',serif; color:var(--gold-400); font-size:.85rem; letter-spacing:.1em;}
.value-cell h4{margin:10px 0 8px; color:var(--cream); font-size:1.1rem;}
.value-cell p{font-size:.86rem; margin-bottom:0; color:rgba(250,245,234,.72);}

/* ============ VISION / MISSION ============ */
.vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
@media (max-width:780px){ .vm-grid{grid-template-columns:1fr;} }
.vm-card{
  padding:44px 38px; border-radius:4px; position:relative; overflow:hidden;
}
.vm-card.gold{
  background:linear-gradient(155deg, var(--gold-300), var(--gold-500));
  color:var(--maroon-950);
}
.vm-card.maroon{
  background:linear-gradient(155deg, var(--maroon-800), var(--maroon-950));
  color:var(--cream);
}
.vm-card h3{font-size:1.5rem;}
.vm-card.gold h3{color:var(--maroon-950);}
.vm-card.maroon h3{color:var(--gold-300);}
.vm-card p{color:inherit; opacity:.88;}

/* ============ FOOTER ============ */
footer{background:var(--maroon-950); color:rgba(250,245,234,.55); padding:46px 0; font-size:.82rem;}
footer .container{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; align-items:center;}
footer a{color:var(--gold-400); text-decoration:none;}

/* ============ CONTACT PAGE ============ */
.contact-section{
  padding:120px 0;
  background:var(--cream);
}
.contact-content{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:60px;
  align-items:start;
}
@media (max-width:880px){ .contact-content{grid-template-columns:1fr; gap: 30px;} }
.contact-form{
  background:#fff;
  padding:40px;
  border-radius:4px;
  border:1px solid rgba(86,18,31,.08);
}
.contact-form h3{
  margin-bottom:28px;
}
.form-group{
  margin-bottom:22px;
}
.form-group label{
  display:block;
  margin-bottom:8px;
  font-weight:500;
  color:var(--maroon-900);
  font-size:.95rem;
}
.form-group input,
.form-group textarea{
  width:100%;
  padding:12px 16px;
  border:1px solid rgba(86,18,31,.15);
  border-radius:2px;
  font-family:'Jost', sans-serif;
  font-size:.95rem;
  color:var(--ink);
  transition:border-color .35s;
}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--gold-500);
}
.form-group textarea{
  min-height:120px;
  resize:vertical;
}
.submit-btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:'Marcellus', serif;
  letter-spacing:.05em;
  font-size:.92rem;
  padding:16px 34px;
  border-radius:2px;
  border:none;
  background:linear-gradient(120deg, var(--gold-400), var(--gold-600) 60%, var(--gold-400));
  background-size:220% 100%;
  color:var(--maroon-950);
  box-shadow:0 14px 30px -12px rgba(166,120,28,.55);
  cursor:pointer;
  transition:background-position .35s var(--ease), transform .35s var(--ease);
}
.submit-btn:hover{
  background-position:100% 0;
  transform:translateY(-2px);
}
.contact-info{
  display:grid;
  gap:36px;
}
.info-block h3{
  margin-bottom:16px;
}
.info-block p{
  margin-bottom:8px;
  font-size:.95rem;
  color:#4a3036;
}
.info-item{
  background:#fff;
  padding:30px;
  border-radius:4px;
  border:1px solid rgba(86,18,31,.08);
}
.info-item span{
  display:block;
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-600);
  margin-bottom:6px;
}
.info-item b{
  font-family:'Cormorant Garamond', serif;
  font-size:1.3rem;
  font-weight:600;
  color:var(--maroon-900);
}
.contact-info {
  display: grid;
  gap: 20px;
}

/* ============ PROCESS PAGE ============ */
.timeline{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:30px;
}
@media (max-width:880px){ .timeline{grid-template-columns:1fr; gap:34px;} }
.timeline::before{
  content:""; position:absolute; top:27px; left:6%; right:6%; height:1px;
  background:repeating-linear-gradient(90deg, var(--gold-500) 0 10px, transparent 10px 18px);
}
@media (max-width:880px){ .timeline::before{ left:27px; top:6%; bottom:6%; width:1px; height:auto; right:auto; background:repeating-linear-gradient(180deg, var(--gold-500) 0 10px, transparent 10px 18px);} }
.tl-step{position:relative; padding:0 22px; text-align:center;}
@media (max-width:880px){ .tl-step{ text-align:left; padding-left:66px; } }
.tl-dot{
  width:56px; height:56px; border-radius:50%; margin:0 auto 22px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg, var(--maroon-800), var(--maroon-950));
  border:1px solid var(--gold-500);
  font-family:'Cormorant Garamond',serif; color:var(--gold-300); font-size:1.4rem;
  position:relative; z-index:2;
}
@media (max-width:880px){ .tl-dot{ position:absolute; left:0; top:0; margin:0;} }
.tl-step h4{font-size:1.05rem; margin-bottom:.3em;}
.tl-step p{font-size:.86rem;}

/* ============ WHY US PAGE ============ */
.reasons{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}
@media (max-width:1080px){ .reasons{grid-template-columns:repeat(3,1fr);} }
@media (max-width:680px){ .reasons{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .reasons{grid-template-columns:1fr;} }
.reason{
  background:var(--white,#fff); padding:30px 22px; border-radius:3px;
  border:1px solid rgba(86,18,31,.08);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.reason:hover{transform:translateY(-6px); box-shadow:0 20px 50px -20px rgba(42,8,16,.45);}
.reason .num{
  font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--gold-500);
  display:block; margin-bottom:10px;
}
.reason h4{font-size:1.04rem; margin-bottom:.35em;}
.reason p{font-size:.86rem; margin-bottom:0;}

/* ============ SERVICES PAGE EXTRAS ============ */
.hero-sm{ padding:170px 0 90px; }
.hero-sm .hero-grid{ grid-template-columns:1fr; max-width:760px; }
.hero-sm .lead{ max-width:60ch; }
.crumb{ font-size:.78rem; color:rgba(250,245,234,.55); letter-spacing:.04em; margin-bottom:18px; }
.crumb a{ color:var(--gold-400); text-decoration:none; }
.crumb a:hover{ text-decoration:underline; }

.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:10px; }
@media (max-width:880px){ .pillars{ grid-template-columns:1fr; } }

.serve-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media (max-width:960px){ .serve-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .serve-grid{ grid-template-columns:1fr; } }
.dark-section .serve-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.serve-card{
  background:var(--white,#fff);
  border:1px solid rgba(86,18,31,.08);
  border-radius:3px;
  padding:36px 30px;
  position:relative;
  transition:transform .4s var(--ease), box-shadow .4s;
}
.serve-card::before{
  content:""; position:absolute; right:-30px; top:-30px; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(205,160,76,.14), transparent 70%);
}
.serve-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.serve-icon{
  width:54px; height:54px; border-radius:50%;
  background:linear-gradient(150deg, var(--maroon-800), var(--maroon-950));
  display:flex; align-items:center; justify-content:center; margin-bottom:22px;
  position:relative; z-index:1;
}
.serve-icon svg{ width:26px; height:26px; color:var(--gold-400); }
.serve-tag{
  font-family:'Marcellus',serif; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-600); display:block; margin-bottom:8px;
}
.serve-card h3{ font-size:1.18rem; margin-bottom:.35em; }
.serve-card p{ font-size:.88rem; margin-bottom:0; }

.dark-cards .serve-card {
  background: var(--maroon-800);
  border-color: var(--line);
}
.dark-cards .serve-card h3 {
  color: var(--cream);
}
.dark-cards .serve-card p {
  color: rgba(250,245,234,.72);
}
.dark-cards .serve-card .serve-icon {
  background: var(--maroon-900);
}
.dark-cards .serve-card .serve-tag {
  color: var(--gold-400);
}
#other-services .serve-card {
  background: var(--cream-dim);
}
.other-services-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
  background: linear-gradient(145deg, var(--maroon-800), var(--maroon-950));
  color: var(--cream);
  padding: 32px;
  border-radius: 4px;
  border: 1px solid var(--line);
  max-width: 600px;
  margin: 0 auto;
  box-shadow: var(--shadow);
}
.service-detail{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:start;
}
@media (max-width: 900px) {
  .service-detail .sticky-note { position: static; }
}

@media (max-width:900px){ .service-detail{ grid-template-columns:1fr; } }
.service-detail .sticky-note{ position:sticky; top:120px; }

/* ============ FIXED BACKGROUND MOBILE FALLBACK ============ */
@media (max-width:880px){
  .hero, .dark-section, .contact-banner{ background-attachment: scroll, scroll, scroll; }
}

/* ============ HERO LOAD-IN ANIMATION ============ */
@keyframes heroUp{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}
.hero-anim{ opacity:0; animation:heroUp .9s var(--ease) forwards; }
.hero-anim:nth-child(1){ animation-delay:.15s; }
.hero-anim:nth-child(2){ animation-delay:.32s; }
.hero-anim:nth-child(3){ animation-delay:.5s; }
.hero-anim:nth-child(4){ animation-delay:.68s; }
.hero-anim:nth-child(5){ animation-delay:.85s; }
.hero-art .hero-anim{ animation-delay:.5s; }

/* ============ MARQUEE TICKER ============ */
.marquee{
  background:var(--maroon-950);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  white-space:nowrap;
  padding:16px 0;
}
.marquee-track{
  display:inline-flex;
  animation:marquee 32s linear infinite;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee span{
  display:inline-flex;
  align-items:center;
  font-family:'Marcellus', serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.82rem;
  color:var(--gold-400);
  padding:0 28px;
}
.marquee span::after{
  content:"✦";
  margin-left:28px;
  color:var(--gold-600);
  font-size:.7rem;
}
@keyframes marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .marquee-track{ animation:none; }
}

/* ============ PRELOADER ============ */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background-color: var(--maroon-950);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#preloader.hide{ opacity:0; visibility:hidden; pointer-events:none; }
.pl-ring{
  width:64px; height:64px; border-radius:50%;
  border:3px solid rgba(227,194,112,.18);
  border-top-color:var(--gold-400);
  animation:plspin 1s linear infinite;
  position:relative;
}
.pl-ring::after{
  content:"Au"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; color:var(--gold-300); font-size:1rem;
}
@keyframes plspin{ to{ transform:rotate(360deg); } }
.pl-text{ 
  font-family:'Marcellus',serif; letter-spacing:.22em; text-transform:uppercase; font-size:.7rem; color:rgba(250,245,234,.6); 
  animation: pl-text-fade 1.5s ease-in-out infinite alternate;
}
@keyframes pl-text-fade { from { opacity: .5; } to { opacity: 1; } }

.pl-logo {
  height: 72px;
  width: auto;
  animation: pl-pulse 1.5s ease-in-out infinite;
}
@keyframes pl-pulse { from { opacity: .6; transform: scale(.95); } to { opacity: 1; transform: scale(1); } }

/* ============ SCROLL PROGRESS ============ */
#scrollProgress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg, var(--gold-600), var(--gold-300));
  z-index:1100;
  transition:width .12s linear;
}

/* ============ BUTTON RIPPLE ============ */
.btn{ overflow:hidden; isolation:isolate; }
.btn .ripple{
  position:absolute; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 70%);
  transform:scale(0); animation:rippleAnim .65s ease-out forwards;
}
@keyframes rippleAnim{ to{ transform:scale(1); opacity:0; } }

/* ============ TILT CARDS ============ */
.tilt{ transform-style:preserve-3d; will-change:transform; }
.tilt .feature-icon, .tilt .serve-icon{ transition:transform .4s var(--ease); }
.tilt:hover .feature-icon, .tilt:hover .serve-icon{ transform:translateZ(20px) scale(1.08) rotate(-6deg); }

/* ============ HERO from index.html ============ */
.hero{
  background:
    radial-gradient(1100px 600px at 85% -10%, rgba(205,160,76,.18), transparent 60%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 1200 800' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='grad1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' style='stop-color:%23c27a3b;stop-opacity:0.1' /%3E%3Cstop offset='100%25' style='stop-color:%232a0810;stop-opacity:0.3' /%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1200' height='800' fill='url(%23grad1)'/%3E%3C/svg%3E"),
    linear-gradient(160deg, var(--maroon-950), var(--maroon-900) 55%, var(--maroon-800));
  background-attachment: fixed, fixed, fixed;
  background-size: cover, cover, cover;
  background-position: center, center, center;
  color:var(--cream);
  padding:180px 0 120px;
  overflow:hidden;
  position:relative;
}
.hero::before{ /* filigree border frame, evokes a jewellery case */
  content:"";
  position:absolute; inset:18px;
  border:1px solid var(--line);
  pointer-events:none;
  animation: borderGlow 8s ease-in-out infinite;
}
@keyframes borderGlow{
  0%,100%{ opacity:.5; }
  50%{ opacity:1; }
}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:64px;
  align-items:center;
}
@media (max-width:960px){ .hero-grid{grid-template-columns:1fr;} }

.hero h1{
  color:var(--cream);
  font-size:clamp(2.5rem, 5.4vw, 4.1rem);
  font-weight:600;
  margin-bottom:.32em;
  animation: slideInDown 1.2s var(--ease) forwards;
}
@keyframes slideInDown{
  from{ opacity:0; transform:translateY(-40px); }
  to{ opacity:1; transform:translateY(0); }
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg, var(--gold-300), var(--gold-500) 35%, var(--gold-300) 70%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:shimmer 6s linear infinite;
}
@keyframes shimmer{ to{ background-position:-240% 0; } }

.hero p.lead{
  font-size:1.08rem;
  max-width:46ch;
  color:rgba(250,245,234,.78);
  animation: fadeInUp 1.4s var(--ease) .2s forwards;
  opacity:0;
}
@keyframes fadeInUp{
  from{ opacity:0; transform:translateY(20px); }
  to{ opacity:1; transform:translateY(0); }
}
.hero-actions{ display:flex; gap:18px; flex-wrap:wrap; margin-top:34px; animation: fadeInUp 1.6s var(--ease) .4s forwards; opacity:0; }

.hero-stats{
  display:flex; gap:34px; margin-top:56px; flex-wrap:wrap; animation: fadeInUp 1.8s var(--ease) .6s forwards; opacity:0;
}
.hero-stats div{border-left:1px solid var(--line); padding-left:18px; transition: transform .4s var(--ease), filter .4s;}
.hero-stats div:hover{ transform: translateX(8px); filter: brightness(1.2); }
.hero-stats b{display:block; font-family:'Cormorant Garamond',serif; font-size:1.7rem; color:var(--gold-300);}
.hero-stats span{font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(250,245,234,.6);}

/* signature element: gold bangle with orbiting flecks */
.hero-art{
  position:relative; height:440px; display:flex; align-items:center; justify-content:center;
  animation: fadeIn 2s ease-out;
}
@keyframes fadeIn{
  from{ opacity:0; }
  to{ opacity:1; }
}
.bangle{
  width:300px; height:300px; border-radius:50%;
  border:14px solid transparent;
  background:
    linear-gradient(var(--maroon-900), var(--maroon-900)) padding-box,
    conic-gradient(from 0deg, var(--gold-300), var(--gold-600), var(--gold-300), var(--gold-600), var(--gold-300)) border-box;
  position:relative;
  animation:spin 22s linear infinite;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55), inset 0 0 30px rgba(0,0,0,.35), 0 0 30px 2px rgba(227,194,112,.25);
  transition: box-shadow .5s ease;
}
.bangle:hover{
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55), inset 0 0 30px rgba(0,0,0,.35), 0 0 50px 8px rgba(227,194,112,.5);
}
.bangle::before{
  content:"";
  position:absolute; inset:34px; border-radius:50%;
  border:1px dashed rgba(241,221,160,.35);
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.bangle-core{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  flex-direction:column; text-align:center;
  border-radius: 50%;
  overflow: hidden;
  animation:spin 22s linear infinite reverse;
}
.bangle-core b{font-family:'Cormorant Garamond',serif; font-size:2.6rem; color:var(--gold-300); line-height:1;}
.bangle-core span{font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(250,245,234,.65); margin-top:6px;}
.bangle-core img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fleck{
  position:absolute; width:7px; height:7px; border-radius:50%;
  background:radial-gradient(circle, var(--gold-300), var(--gold-600));
  box-shadow:0 0 10px 2px rgba(227,194,112,.55);
  animation:float 7s ease-in-out infinite;
  opacity:.85;
  transition: transform .3s ease;
}
.fleck:hover{
  transform: scale(1.5);
}
@keyframes float{
  0%,100%{ transform:translateY(0) translateX(0); }
  50%{ transform:translateY(-22px) translateX(8px); }
}

/* ============ TRUST STRIP ============ */
.trust-strip{
  background:var(--maroon-950);
  border-top:1px solid var(--line);
  padding:26px 0;
}
.trust-strip .container{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px;
}
.trust-item{
  display:flex; align-items:center; gap:12px; color:var(--cream-dim);
  font-size:.86rem; letter-spacing:.02em;
  transition:transform .3s ease, color .3s;
}
.trust-item:hover{
  transform:translateY(-3px);
  color:var(--gold-400);
}
.trust-item svg{width:22px; height:22px; flex:none; color:var(--gold-400); transition:transform .3s ease;}
.trust-item:hover svg{
  transform:scale(1.2) rotate(10deg);
}

/* ============ ABOUT ============ */
.about-frame:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 60px -12px rgba(42,8,16,.35);
}
.about-frame::before{
  animation:borderPulse 3s ease-in-out infinite;
}
@keyframes borderPulse{
  0%,100%{ opacity:.4; }
  50%{ opacity:.8; }
}
.about-frame:hover svg{ transform:scale(1.1); }

/* ============ SERVICE / FEATURE CARDS ============ */
.feature-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0), rgba(227,194,112,.08));
  opacity:0;
  transition:opacity .4s var(--ease);
  pointer-events:none;
}
.feature-card:hover{ 
  transform:translateY(-12px); 
  box-shadow:0 20px 50px -15px rgba(0,0,0,.2); 
  border-color:rgba(227,194,112,.25);
  background:linear-gradient(135deg, rgba(255,255,255,1), rgba(255,255,255,.95));
}
.feature-card:hover::after{ opacity:1; }
.feature-card:hover .feature-icon{
  transform:rotate(10deg) scale(1.1);
  box-shadow:0 8px 20px -4px rgba(42,8,16,.3);
}

/* ============ WHY CHOOSE (reasons) ============ */
.reason::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent, rgba(227,194,112,.1));
  opacity:0;
  transition:opacity .4s var(--ease);
  pointer-events:none;
}
.reason:hover{
  transform:translateY(-10px) scale(1.02); 
  box-shadow:0 18px 45px -12px rgba(0,0,0,.25); 
  border-color:rgba(227,194,112,.25);
  background:linear-gradient(135deg, rgba(255,255,255,1), rgba(255,255,255,.97));
}
.reason:hover::before{ opacity:1; }
.reason:hover .num{ transform:translateY(-5px); }

/* ============ PROCESS TIMELINE ============ */
.timeline::before{
  animation:lineFlow 2s ease-in-out infinite;
}
@keyframes lineFlow{
  0%,100%{ opacity:.5; }
  50%{ opacity:1; }
}
.tl-step{ transition: transform .4s var(--ease); }
.tl-step:hover{ transform: translateY(-8px); }
.tl-dot{
  border-width: 2px;
  transition:transform .4s var(--ease), box-shadow .4s;
}
.tl-step:hover .tl-dot{
  transform:scale(1.15) rotate(10deg);
  box-shadow:0 0 30px 8px rgba(227,194,112,.3);
}

/* ============ INTEREST FEATURE BANNER ============ */
.interest-banner{
  transition:transform .4s var(--ease), box-shadow .4s;
}
.interest-banner:hover{
  transform:translateY(-4px);
  box-shadow:0 25px 60px -15px rgba(0,0,0,.2);
}
.interest-banner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
}
.gauge{
  filter:drop-shadow(0 8px 20px rgba(42,8,16,.15));
  transition:transform .4s ease;
}
.gauge-wrap:hover .gauge{
  transform:scale(1.05) rotate(5deg);
}
.pulse-list li{transition:transform .3s ease;}
.pulse-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.pulse-dot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gold-500);
  position: relative;
}
.pulse-dot::before {
  content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid var(--gold-500); animation: pulse-ring 1.8s infinite;
}
.pulse-list li:hover{ transform:translateX(8px); }

.interest-image-wrap {
  text-align: center;
  transition: transform .4s ease;
}

.interest-image-wrap:hover {
  transform: scale(1.05) rotate(2deg);
}

.interest-image-wrap img {
  max-height: 420px;
  margin: 0 auto;
 
}
@keyframes pulse-ring {
  from { transform: scale(.5); opacity: 1; }
  to { transform: scale(1.5); opacity: 0; }
}
@media (max-width: 800px) {
  .interest-banner { grid-template-columns: 1fr; }
}

/* Premium Interest Section Style */
.premium-interest-section {
  background: linear-gradient(160deg, var(--maroon-950), var(--maroon-900));
  color: var(--cream);
  padding: 100px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.premium-interest-section .interest-banner {
  background: rgba(0,0,0,0.15);
  padding: 48px;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.premium-interest-section h2 {
  color: var(--cream);
}
.premium-interest-section .eyebrow {
  color: var(--gold-400);
}
.premium-interest-section p {
  color: rgba(250, 245, 234, 0.75);
}

/* ============ WHY CHOOSE US (Fixed BG) ============ */
.why-choose-us-section {
  padding: 120px 0;
  background-image: linear-gradient(rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.685)), url('../img/sec-1.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.why-choose-us-section .section-head h2 {
  color: var(--cream);
}
.why-choose-us-section .section-head .eyebrow {
  color: var(--gold-400);
}
.why-choose-us-section .reason {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(227, 194, 112, 0.2);
  backdrop-filter: blur(4px);
}
.why-choose-us-section .reason .num {
  color: var(--gold-400);
}
.why-choose-us-section .reason h4 {
  color: var(--cream);
}
.why-choose-us-section .reason p {
  color: rgba(250, 245, 234, 0.7);
}


/* ============ WHAT WE ACCEPT ============ */
.accepted-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 56px;
}
.accepted-item{
  text-align: center;
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(86,18,31,.08);
  border-radius: 4px;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.accepted-item:hover{
  transform: translateY(-8px);
  box-shadow: var(--shadow);
}
.accepted-icon{
  width: 60px; height: 60px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: linear-gradient(150deg, var(--maroon-800), var(--maroon-950));
  color: var(--gold-400);
  display: flex;
  align-items: center;
  justify-content: center;
}
.accepted-icon svg{
  width: 28px; height: 28px;
}
.accepted-item h4{
  font-size: 1.15rem;
  margin-bottom: .4em;
}
.accepted-item p{
  font-size: .9rem;
  margin-bottom: 0;
}
@media (max-width: 800px) {
  .accepted-grid { grid-template-columns: 1fr; }
}

/* ============ FAQ ============ */
.faq-accordion { max-width: 800px; margin: 40px auto 0; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 20px 0;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--maroon-900);
  cursor: pointer;
  position: relative;
  padding-right: 30px;
}
.faq-question::after { content: '+'; position: absolute; right: 5px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--gold-500); }
.faq-item.open .faq-question::after { content: '−'; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .4s ease; }
.faq-answer p { padding: 0 0 20px; margin: 0; font-size: .95rem; }
.faq-item.open .faq-answer { max-height: 200px; }
.pulse-list li:hover{ transform:translateX(8px); }

/* -- FAQ SECTION BG -- */
#faq-section {
  background-image: linear-gradient(rgba(0, 0, 0, 0.644), rgba(0, 0, 0, 0.92)), url('../img/gold1.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
#faq-section h2 { color: var(--cream); }
#faq-section .eyebrow { color: var(--gold-400); }
#faq-section .eyebrow::before { background: var(--gold-400); }
#faq-section .section-head p { color: rgba(250,245,234,.72); }
#faq-section .faq-item { border-color: var(--line); }
#faq-section .faq-question { color: var(--cream); }
#faq-section .faq-answer p { color: rgba(250,245,234,.72); }



/* ============ VISION / MISSION ============ */
.vm-card{
  transition:transform .4s var(--ease), box-shadow .4s;
}
.vm-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent, rgba(255,255,255,.2));
  transform:skew(-20deg) translateX(-100%);
  transition:transform .8s ease;
}
.vm-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 50px -15px rgba(0,0,0,.3);
}
.vm-card:hover::before{
  transform:skew(-20deg) translateX(200%);
}

/* ============ WHO WE SERVE — chips ============ */
.chip{
  border-width: 2px;
  transition:background .35s, color .35s, transform .35s var(--ease), box-shadow .35s;
}
.chip::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(227,194,112,.5), transparent);
  transform:translateX(-100%);
  transition:transform .6s ease;
  pointer-events:none;
}
.chip:hover{ 
  background:var(--maroon-900); 
  color:var(--gold-300); 
  transform:translateY(-5px) scale(1.05);
  border-color:var(--gold-300);
  box-shadow:0 10px 25px -8px rgba(42,8,16,.3);
}
.chip:hover::before{
  transform:translateX(100%);
}

.chip-row {
  flex-wrap: wrap;
}

/* Homepage services section text color override */
#services.dark-section .section-head h2,
#services.dark-section .section-head p {
  color: var(--ink); /* Or you can use #000 for pure black */
}

/* back to top */
#toTop{
  font-weight:bold; font-size:1.2rem;
}
#toTop:hover{
  transform:translateY(-4px) scale(1.15);
  box-shadow:0 18px 40px -8px rgba(0,0,0,.55);
  background:var(--gold-400);
}
#toTop:active{
  transform:translateY(-2px) scale(1.1);
}
.social-links {
  display: flex;
  gap: 10px;
}
/* Hide social icons on desktop */
.mobile-social {
  display: none;
}

/* In your .social-links styles */
.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--line);
  color: var(--gold-500);
  background: transparent;
  transition: transform .3s var(--ease), background .3s, color .3s, border-color .3s;
}

.social-links a:hover {
  background-color: var(--maroon-700);
  color: white;
  transform: translateY(-3px) scale(1.1);
}

.social-links svg {
  width: 15px;
  height: 15px;
}
/* ============================================================
   Goldmine — animations.css
   Add @import or <link> this after style.css
   ============================================================ */

/* ── Scroll progress bar ── */
#scrollProgress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, #8B3A0F, #c8a96e, #8B3A0F);
  z-index: 9999;
  transition: width 0.1s linear;
}

/* ── Preloader ── */
#preloader {
  position: fixed; inset: 0;
  background: #1a0a00;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 16px;
  z-index: 10000;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
#preloader.fade-out {
  opacity: 0;
  transform: scale(1.04);
  pointer-events: none;
}
.pl-ring {
  width: 52px; height: 52px;
  border: 2px solid rgba(200,169,110,0.2);
  border-top-color: #c8a96e;
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}
.pl-text {
  color: #c8a96e;
  font-family: 'Marcellus', serif;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  animation: pulse-fade 1.4s ease-in-out infinite alternate;
}

/* ── Navbar: scroll states ── */
#siteHeader {
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),
              background 0.35s ease,
              box-shadow 0.35s ease,
              padding 0.35s ease;
}
#siteHeader.scrolled {
  box-shadow: 0 4px 32px rgba(0,0,0,0.35);
  padding-top: 8px;
  padding-bottom: 8px;
}
#siteHeader.hidden {
  transform: translateY(-100%);
}
#siteHeader.visible {
  transform: translateY(0);
}

/* ── Nav links: magnetic + underline ── */
#siteNav a {
  position: relative;
  display: inline-block;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), color 0.2s;
}
#siteNav a::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0;
  width: 0; height: 1px;
  background: #c8a96e;
  transition: width 0.3s cubic-bezier(0.4,0,0.2,1);
}
#siteNav a:hover::after,
#siteNav a.active::after {
  width: 100%;
}

/* ── Social icons ── */
.social-links a {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid #7a4a28;
  color: #c8a96e;
  text-decoration: none;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1),
              box-shadow 0.3s ease,
              background 0.2s ease;
  position: relative;
  overflow: hidden;
}
.social-links a svg {
  width: 15px; height: 15px;
  position: relative; z-index: 1;
}
.social-links a:hover {
  background: rgba(122,74,40,0.25);
}

/* ── Enquire button ── */
.btn-line {
  background: #8B3A0F;
  color: #fff5e6 !important;
  border: none;
  padding: 9px 22px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-line:hover {
  background: #a8450f;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(139,58,15,0.4);
}
.btn-line::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
  transition: none;
}
.btn-line.btn-shimmer::before {
  animation: shimmer-sweep 0.6s ease forwards;
}
.btn-gold {
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,169,110,0.3);
}
.btn-gold.btn-shimmer::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation: shimmer-sweep 0.6s ease forwards;
}

/* ── Ripple ── */
.gm-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(200,169,110,0.35);
  transform: scale(0);
  animation: ripple-out 0.7s ease-out forwards;
  pointer-events: none;
}

/* ── Scroll reveal base ── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1),
              transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s cubic-bezier(0.4,0,0.2,1),
              transform 0.6s cubic-bezier(0.4,0,0.2,1);
}
.reveal-stagger.in-view > * {
  opacity: 1;
  transform: translateY(0);
}

/* Call Now Button */
#callNowBtn {
  position: fixed;
  right: 26px;
  bottom: 26px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--gold-500);
  color: var(--maroon-950);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px -10px rgba(0,0,0,.45);
  transition: transform .3s ease, box-shadow .3s ease;
  z-index: 90;
}
#callNowBtn:hover {
  transform: translateY(-4px) scale(1.1);
  box-shadow: 0 18px 40px -8px rgba(0,0,0,.55);
}
/* Call Now Button Animation */
#callNowBtn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--gold-500);
  animation: call-pulse 2s infinite;
  z-index: -1;
}
/* ── Trust strip items ── */
.trust-item {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.trust-item.in-view {
  opacity: 1;
  transform: translateY(0);
}
.trust-item svg {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.trust-item:hover svg {
  transform: scale(1.2) rotate(-5deg);
  color: #c8a96e;
}

/* ── Timeline dot ping ── */
.tl-dot {
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s;
}
.tl-dot.ping {
  animation: dot-ping 0.6s cubic-bezier(0.34,1.56,0.64,1) forwards;
}
.tl-step:hover .tl-dot {
  transform: scale(1.15);
  box-shadow: 0 0 0 5px rgba(200,169,110,0.2);
}

/* ── Value cell flip-in ── */
.value-cell {
  opacity: 0;
  transform: rotateX(-20deg) translateY(20px);
  transform-origin: top center;
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.4,0,0.2,1);
}
.value-cell.flip-in {
  opacity: 1;
  transform: rotateX(0) translateY(0);
}
.value-cell:hover {
  transform: translateY(-4px);
}

/* ── Chip bounce ── */
.chip {
  opacity: 0;
  transform: scale(0.7) translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.chip.bounced {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.chip:hover {
  transform: scale(1.06) translateY(-2px);
}

/* ── VM cards ── */
.vm-card {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.4,0,0.2,1);
}
.vm-card.in-view {
  opacity: 1;
  transform: translateY(0);
}
.vm-card:hover {
  transform: translateY(-4px) scale(1.01);
  transition: transform 0.3s ease;
}

/* ── Reason cards hover ── */
.reason {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.reason:hover {
  transform: translateX(6px);
}

/* ── Check items hover ── */
.check-item {
  transition: transform 0.25s ease, color 0.2s;
}
.check-item:hover {
  transform: translateX(6px);
}
.check-item svg {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.check-item:hover svg {
  transform: scale(1.3);
}

/* ── About frame hover ── */
.about-frame {
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.about-frame:hover {
  transform: scale(1.04) rotate(1deg);
}

/* ── Gauge animated ── */
.gauge {
  transition: transform 0.6s cubic-bezier(0.34,1.56,0.64,1);
}
.gauge.animated {
  animation: gauge-pop 0.8s cubic-bezier(0.34,1.56,0.64,1) forwards;
}

/* ── Gold floating particles ── */
.gm-particle {
  position: absolute;
  border-radius: 50%;
  background: #c8a96e;
  pointer-events: none;
  animation: float-particle linear infinite;
}

/* ── @keyframes ── */
@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes pulse-fade {
  from { opacity: 0.5; }
  to   { opacity: 1; }
}

@keyframes shimmer-sweep {
  0%   { left: -100%; }
  100% { left: 160%; }
}

@keyframes ripple-out {
  to { transform: scale(1); opacity: 0; }
}

@keyframes call-pulse {
  0% { transform: scale(1); opacity: .6; }
  100% { transform: scale(1.8); opacity: 0; }
}

@keyframes dot-ping {
  0%   { transform: scale(0.6); opacity: 0; }
  60%  { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes gauge-pop {
  0%   { transform: scale(0.85) rotate(-5deg); opacity: 0.4; }
  70%  { transform: scale(1.05) rotate(1deg); opacity: 1; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

@keyframes float-particle {
  0%   { transform: translateY(0) translateX(0); opacity: var(--p-op, 0.4); }
  33%  { transform: translateY(-30px) translateX(14px); }
  66%  { transform: translateY(-18px) translateX(-10px); }
  100% { transform: translateY(-50px) translateX(5px); opacity: 0; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal, .reveal-stagger > *, .trust-item, .vm-card,
  .value-cell, .chip {
    opacity: 1 !important;
    transform: none !important;
  }
}
 /*── Services section: remove free space ── */
.dark-section {
  padding-top: 52px;
  padding-bottom:52px;
}

.dark-section .section-head {
  margin-bottom: 28px;
}

.dark-section .section-head p {
  margin-top: 8px;
  margin-bottom: 0;
}

/* Only for Core Values dark section keep more padding */
.dark-section[style*="padding-top:90px"],
.dark-section[style*="padding-top: 90px"] {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}
@media (max-width: 880px) {
  nav#siteNav {
    position: fixed;
    inset: 0 0 0 30%;
    background: var(--maroon-950);
    transform: translateX(100%);
    transition: transform .45s var(--ease);
    padding: 110px 36px 36px;
    z-index: 99;
    display: flex;
    flex-direction: column;
  }

  /* Make links visible (cream on dark bg) */
  nav#siteNav a {
    color: var(--maroon-950) !important;
    background: white;
    border-radius: 4px;
    padding: 12px 20px;
    transition: background .3s, color .3s, transform .3s var(--ease);
  }
  nav#siteNav a:hover {
    background: var(--maroon-700);
    color: var(--gold-400) !important;
    transform: translateX(8px);
  }

  nav#siteNav.open {
    transform: translateX(0);
  }

  /* Show social icons inside the open nav on mobile */
  nav#siteNav .mobile-social {
    display: flex;
    gap: 14px;
    margin-top: auto;
    padding-top: 28px;
    border-top: 1px solid var(--line);
  }

  nav#siteNav .mobile-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(227, 194, 112, 0.25);
    color: var(--gold-400);
    transition: background .2s, transform .2s;
  }
  nav#siteNav .mobile-social a:hover {
    background: rgba(250, 250, 249, 0.1);
    transform: scale(1.1);
  }

  .nav-toggle {
    display: block;
    z-index: 100;
  }

  /* Mobile nav link animation */
  nav#siteNav ul li {
    opacity: 0;
    transform: translateX(25px);
    transition: opacity .3s var(--ease), transform .3s var(--ease);
  }
  nav#siteNav.open ul li {
    opacity: 1;
    transform: translateX(0);
  }
  nav#siteNav.open ul li:nth-child(1) { transition-delay: .2s; }
  nav#siteNav.open ul li:nth-child(2) { transition-delay: .25s; }
  nav#siteNav.open ul li:nth-child(3) { transition-delay: .3s; }
  nav#siteNav.open ul li:nth-child(4) { transition-delay: .35s; }
  nav#siteNav.open ul li:nth-child(5) { transition-delay: .4s; }
  nav#siteNav.open ul li:nth-child(6) { transition-delay: .45s; }
  nav#siteNav.open ul li:nth-child(7) { transition-delay: .5s; }

  .nav-cta .btn-line {
    display: none;
  }

  /* Hide the header social links on mobile */
  .nav-cta .social-links {
    display: none;
  }
}
@media (max-width: 880px) {
  /* Hide social icons from the top bar on mobile */
  header .social-links {
    display: none;
  }

  /* Show them inside the open nav panel */
  nav#siteNav .mobile-social {
    display: flex;
    gap: 10px;
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid rgba(227, 194, 112, 0.25);
  }
}
nav#siteNav .mobile-social a {
  padding: 0 !important;
  color: var(--gold-500) !important;
}

nav#siteNav .mobile-social svg {
  width: 16px;
  height: 16px;
}
@keyframes wave {
  from { transform: translateY(0); }
  to { transform: translateY(-4px); }
}


#services h3, #services p {
  color:black;

}
.eyebrow span{
  color:black;
}


/* ── Footer: CTA strip ── */
.site-footer {
  background: linear-gradient(170deg, var(--maroon-950) 0%, #1a0508 100%);
  color: var(--cream);
  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-500), transparent);
}
.site-footer::after {
  content: "";
  position: absolute;
  top: -180px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(205,160,76,.07), transparent 65%);
  pointer-events: none;
}

.footer-cta {
  padding: 60px 0;
  border-bottom: 1px solid var(--line);
  text-align: center;
  position: relative;
}
.footer-cta h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  color: var(--cream);
  font-weight: 600;
  margin-bottom: .3em;
}
.footer-cta h2 em {
  font-style: normal;
  color: var(--gold-400);
}
.footer-cta p {
  color: rgba(250,245,234,.6);
  font-size: .95rem;
  max-width: 42ch;
  margin: 0 auto 28px;
}
.footer-cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-outline-gold {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  font-family: 'Marcellus', serif;
  letter-spacing: .07em;
  font-size: .88rem;
  padding: 13px 32px;
  border-radius: 2px;
  cursor: pointer;
  border: 1px solid rgba(227,194,112,.45);
  color: var(--gold-300);
  background: transparent;
  text-decoration: none;
  transition: background .3s, transform .3s;
}
.btn-outline-gold:hover {
  background: rgba(227,194,112,.08);
  transform: translateY(-2px);
}

/* ── Footer: main grid ── */
.footer-main {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
  gap: 48px;
  padding: 64px 0 56px;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 900px) { .footer-main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .footer-main { grid-template-columns: 1fr; } }

/* ── Brand column ── */
.footer-au-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--maroon-950);
  margin-bottom: 14px;
}
.footer-brand .brand-name {
  font-family: 'Marcellus', serif;
  font-size: 1.3rem;
  color: var(--cream);
  letter-spacing: .06em;
  margin-bottom: 4px;
}
.footer-brand .brand-sub {
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-500);
  margin-bottom: 18px;
}
.footer-brand p {
  font-size: .86rem;
  color: rgba(250,245,234,.55);
  line-height: 1.75;
  max-width: 26ch;
  margin-bottom: 24px;
}
.footer-social {
  display: flex;
  gap: 10px;
}
.footer-social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(205,160,76,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-400);
  text-decoration: none;
  transition: background .25s, border-color .25s, transform .25s;
}
.footer-social a:hover, nav#siteNav .mobile-social a:hover {
  background: var(--maroon-700);
  color: white;
  transform: translateY(-2px);
}
.footer-social svg { width: 15px; height: 15px; }

/* ── Nav / Service columns ── */
.footer-col h4 {
  font-family: 'Marcellus', serif;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold-500);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 11px; }
.footer-col ul a {
  font-size: .86rem;
  color: rgba(250,245,234,.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: color .25s;
}
.footer-col ul a::before {
  content: "";
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--gold-600);
  flex: none;
  opacity: .6;
  transition: opacity .25s;
}
.footer-col ul a:hover { color: var(--gold-300); }
.footer-col ul a:hover::before { opacity: 1; }

/* ── Contact column ── */
.footer-contact-detail {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 18px;
}
.footer-contact-detail span {
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-600);
}
.footer-contact-detail b {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(250,245,234,.85);
}
.footer-trust-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}
.footer-trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .78rem;
  color: rgba(250,245,234,.5);
}
.footer-trust-badge svg { width: 16px; height: 16px; flex: none; color: var(--gold-500); }

/* ── Bottom bar ── */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 26px 0;
}
.footer-bottom p {
  font-size: .78rem;
  color: rgba(250,245,234,.35);
  margin: 0;
}
.footer-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-legal a {
  color: var(--gold-500);
  text-decoration: none;
  font-size: .78rem;
  transition: color .2s;
}
.footer-legal a:hover { color: var(--gold-300); }
