:root{
  --maroon:#6b0f1a;
  --maroon-deep:#4a0a12;
  --ink:#1a1a1a;
  --ink-soft:#242424;
  --paper:#f7f4ee;
  --gold:#d4a937;
  --gold-bright:#f0c94e;
  --teal:#2e8b8b;
  --line: rgba(212,169,55,0.25);
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.02em;
  line-height:1.1;
}

.display{
  font-family:'Anton', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
}

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

/* ===== Reveal-on-scroll ===== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ===== NAV ===== */
header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(247,244,238,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:14px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo-mark{
  display:flex;align-items:center;gap:10px;
  font-family:'Oswald',sans-serif;
  font-weight:700;
  font-size:1.2rem;
  letter-spacing:0.06em;
  text-decoration:none;
}
.logo-mark img{
  width:42px;height:42px;
  object-fit:contain;
  border-radius:6px;
}
.logo-mark span.brand{color:var(--maroon);}
.logo-mark span.brand b{color:var(--gold);font-weight:700;}

nav ul{display:flex;gap:26px;list-style:none;align-items:center;}
nav a{
  font-family:'Oswald',sans-serif;
  font-size:0.8rem;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink);
  transition:color .2s;
  border-bottom:2px solid transparent;
  padding-bottom:4px;
}
nav a:hover, nav a.active{color:var(--maroon);border-color:var(--gold);}

.social-icon-sm{
  width:34px;height:34px;
  border-radius:50%;
  background:var(--maroon);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s, background .2s;
}
.social-icon-sm svg{width:16px;height:16px;}
.social-icon-sm:hover{transform:translateY(-2px); background:var(--maroon-deep);}
.social-icon-sm.fb svg{fill:#fff;}
.social-icon-sm.ig svg{fill:#fff;}

/* Mobile nav */
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:6px;
}
.nav-toggle span{
  width:24px;height:2px;background:var(--ink);
  transition:transform .25s, opacity .25s;
}
@media (max-width:860px){
  nav ul{
    position:absolute;
    top:100%; left:0; right:0;
    flex-direction:column;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:18px 28px;
    gap:16px;
    align-items:flex-start;
    display:none;
  }
  nav ul.open{display:flex;}
  .nav-toggle{display:flex;}
  .social-icon-sm{display:none;}
  nav ul.open .social-icon-sm{display:flex;}
}

/* ===== Page hero (sub-pages) ===== */
.page-hero{
  padding:150px 28px 70px;
  max-width:1180px;
  margin:0 auto;
  text-align:center;
}
.page-hero .eyebrow{justify-content:center;}
.page-hero .eyebrow::before{display:none;}
.page-hero h1{
  font-size:clamp(2.4rem, 6vw, 4rem);
  margin-bottom:14px;
}
.page-hero p{
  max-width:600px;
  margin:0 auto;
  color:#444;
  font-size:1.02rem;
}

/* ===== Common utility ===== */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Oswald',sans-serif;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.25em;
  color:var(--maroon);
  margin-bottom:18px;
  text-transform:uppercase;
}
.eyebrow::before{
  content:'';
  width:34px;height:2px;
  background:var(--gold);
}

section{
  padding:90px 28px;
  max-width:1180px;
  margin:0 auto;
}
.section-head{
  text-align:center;
  margin-bottom:56px;
}
.section-head .eyebrow{justify-content:center;}
.section-head .eyebrow::before{display:none;}
.section-head h2{
  font-size:clamp(2rem,4.5vw,3rem);
}
.section-head h2 .hl{color:var(--maroon);}
.section-head p.sub{
  max-width:560px;
  margin:14px auto 0;
  color:#444;
}

.btn{
  font-family:'Oswald',sans-serif;
  font-weight:700;
  letter-spacing:0.1em;
  font-size:0.85rem;
  text-transform:uppercase;
  padding:15px 30px;
  border-radius:3px;
  transition:transform .2s, box-shadow .2s, background .2s, color .2s;
  display:inline-block;
  border:none;
  cursor:pointer;
}
.btn-primary{
  background:var(--maroon);
  color:#fff;
  box-shadow:0 6px 18px rgba(107,15,26,0.25);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(107,15,26,0.32);}
.btn-ghost{
  border:1.5px solid var(--ink);
  color:var(--ink);
  background:transparent;
}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-gold{
  background:var(--gold-bright);
  color:var(--ink);
}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(212,169,55,0.35);}

/* ===== Services grid (shared) ===== */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:22px;
}
.service-card{
  background:rgba(0,0,0,0.18);
  border:1px solid rgba(212,169,55,0.18);
  border-radius:10px;
  padding:28px 24px;
  transition:transform .25s, border-color .25s;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:var(--gold);
}
.service-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:var(--maroon);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
  color:var(--gold-bright);
  font-size:1.3rem;
}
.service-card h3{
  color:var(--gold-bright);
  font-size:1.02rem;
  margin-bottom:8px;
  letter-spacing:0.06em;
}
.service-card p{
  color:#c7c7c7;
  font-size:0.92rem;
}
.dark-band{
  background:linear-gradient(160deg, var(--maroon-deep), var(--maroon));
  border-radius:0;
}
.dark-band .section-head h2{color:var(--paper);}
.dark-band .section-head .eyebrow{color:var(--gold-bright);}
.dark-band .section-head p.sub{color:#bbb;}

/* ===== Pricing (shared) ===== */
.pricing{
  background:linear-gradient(135deg, var(--maroon-deep), var(--maroon));
  border-radius:16px;
  margin:30px 28px 90px;
  max-width:1180px;
  margin-left:auto;margin-right:auto;
  padding:60px 40px;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.pricing::before{
  content:'';
  position:absolute;
  width:380px;height:380px;
  background:radial-gradient(circle, rgba(212,169,55,0.25), transparent 70%);
  top:-150px; right:-100px;
}
.pricing-head{
  text-align:center;
  margin-bottom:46px;
  position:relative;
  z-index:1;
}
.pricing h2{
  color:var(--gold-bright);
  font-size:clamp(1.8rem,4vw,2.6rem);
  margin-bottom:10px;
}
.pricing-head p{
  color:rgba(255,255,255,0.75);
  font-size:0.95rem;
}
.pricing-plans{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  position:relative;
  z-index:1;
}
@media (max-width:880px){ .pricing-plans{grid-template-columns:1fr;} }
.plan-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(212,169,55,0.3);
  border-radius:14px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
}
.plan-card.featured{
  border-color:var(--gold);
  background:rgba(212,169,55,0.08);
  position:relative;
}
.plan-tag{
  position:absolute;
  top:-13px; left:28px;
  background:var(--gold-bright);
  color:var(--maroon-deep);
  font-family:'Oswald',sans-serif;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:20px;
}
.plan-name{
  font-family:'Oswald',sans-serif;
  color:var(--gold-bright);
  font-size:0.85rem;
  letter-spacing:0.18em;
  margin-bottom:6px;
}
.plan-price{
  font-family:'Anton',sans-serif;
  font-size:2.6rem;
  color:#fff;
  margin-bottom:2px;
}
.plan-price sup{font-size:1.2rem;}
.plan-per{
  font-family:'Oswald',sans-serif;
  font-style:italic;
  color:rgba(255,255,255,0.7);
  font-size:0.88rem;
  margin-bottom:20px;
}
.pricing-list{list-style:none;}
.pricing-list li{
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,0.12);
  display:flex;
  gap:12px;
  font-size:0.94rem;
}
.pricing-list li::before{
  content:'✓';
  color:var(--gold-bright);
  font-weight:700;
}
.plan-card .pricing-list{margin-bottom:24px;flex-grow:1;}
.plan-card .btn{text-align:center;width:100%;}

/* ===== Contact cards (shared) ===== */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:40px;
  text-align:left;
}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
.contact-card{
  background:var(--maroon-deep);
  border-radius:10px;
  padding:24px;
  border-left:3px solid var(--gold);
}
.contact-card h4{
  color:var(--gold-bright);
  font-size:0.85rem;
  letter-spacing:0.12em;
  margin-bottom:10px;
}
.contact-card p{color:#e8d8c8;font-size:0.95rem;}

.social-row{
  display:flex;
  gap:16px;
  justify-content:center;
  margin-top:30px;
}
.social-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:var(--maroon-deep);
  border:1px solid rgba(212,169,55,0.2);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s, border-color .2s, background .2s;
}
.social-icon:hover{transform:translateY(-4px); border-color:var(--gold);}
.social-icon svg{width:22px;height:22px;}
.social-icon.fb{color:#1877F2;}
.social-icon.ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.social-icon.ig{color:#E1306C;}
.social-icon.wa{color:#25D366;}

footer{
  text-align:center;
  padding:26px;
  font-size:0.8rem;
  color:#e8d8a8;
  background:linear-gradient(160deg, var(--maroon-deep), var(--maroon));
  border-top:1px solid rgba(212,169,55,0.2);
}
footer a{color:var(--gold-bright);}

/* ===== Floating WhatsApp button ===== */
.whatsapp-float{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:200;
  width:60px;height:60px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--maroon), var(--maroon-deep));
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(107,15,26,0.45);
  transition:transform .2s, box-shadow .2s;
  animation:wa-pulse 2.4s infinite;
}
.whatsapp-float:hover{transform:scale(1.08); box-shadow:0 10px 28px rgba(107,15,26,0.6);}
.whatsapp-float svg{width:30px;height:30px;}
@keyframes wa-pulse{
  0%{box-shadow:0 8px 24px rgba(107,15,26,0.45), 0 0 0 0 rgba(212,169,55,0.5);}
  70%{box-shadow:0 8px 24px rgba(107,15,26,0.45), 0 0 0 14px rgba(212,169,55,0);}
  100%{box-shadow:0 8px 24px rgba(107,15,26,0.45), 0 0 0 0 rgba(212,169,55,0);}
}
@media (max-width:600px){
  .whatsapp-float{width:54px;height:54px;bottom:18px;right:18px;}
  .whatsapp-float svg{width:28px;height:28px;}
}

/* ===== Stat blocks (shared) ===== */
.stats-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:center;
}
@media (max-width:760px){ .stats-row{grid-template-columns:repeat(2,1fr);} }
.stat-block .num{
  font-family:'Anton',sans-serif;
  font-size:2.6rem;
  color:var(--maroon);
}
.stat-block .lbl{
  font-family:'Oswald',sans-serif;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#555;
  margin-top:6px;
}

/* ===== Results items (shared) ===== */
.results-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
@media (max-width:760px){ .results-grid{grid-template-columns:1fr;} }
.result-item{
  border-top:3px solid var(--gold);
  padding-top:16px;
}
.result-item h3{
  font-size:1.1rem;
  color:var(--maroon);
  margin-bottom:8px;
}
.result-item p{color:#444;font-size:0.94rem;}

/* ===== CTA band (shared) ===== */
.cta-band{
  background:linear-gradient(135deg, var(--maroon-deep), var(--maroon));
  border-radius:16px;
  margin:30px 28px 90px;
  max-width:1180px;
  margin-left:auto;margin-right:auto;
  padding:60px 40px;
  text-align:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.cta-band::before{
  content:'';
  position:absolute;
  width:380px;height:380px;
  background:radial-gradient(circle, rgba(212,169,55,0.25), transparent 70%);
  top:-150px; left:-100px;
}
.cta-band h2{color:var(--gold-bright); margin-bottom:14px; position:relative; z-index:1;}
.cta-band p{color:rgba(255,255,255,0.8); margin-bottom:28px; position:relative; z-index:1;}
.cta-band .btn{position:relative; z-index:1;}
