﻿/* =========================
   HOMEPAGE REFINEMENTS
========================= */
:root{
  --home-font-sans:"Manrope","Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --home-font-serif:"Playfair Display","Cormorant Garamond","Times New Roman",serif;
  --home-glass:linear-gradient(135deg,rgba(79,195,255,.2),rgba(79,242,195,.1));
  --home-card:linear-gradient(180deg,rgba(12,18,30,.95),rgba(7,10,18,.9));
  --home-ring:rgba(79,242,195,.45);
  --home-transition:cubic-bezier(.22,1,.36,1);
}

body{
  font-family:var(--home-font-sans);
  line-height:1.65;
}

.headline{
  font-family:var(--home-font-serif);
  letter-spacing:.01em;
  text-transform:none;
}

.section-title{
  font-family:var(--home-font-serif);
  letter-spacing:.02em;
  color:#fefefe;
}

.section-sub{ color:var(--text-soft); }

.section-eyebrow{
  font-family:var(--home-font-sans);
  font-weight:600;
  animation:tagPulse 5s ease-in-out infinite alternate;
}

.btn{
  font-family:var(--home-font-sans);
  letter-spacing:.08em;
  gap:10px;
}

.btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(4,18,22,1),0 0 0 6px var(--home-ring);
}

/* =========================
   HERO ENHANCEMENTS
========================= */
.hero.hero--feature{
  padding:80px 20px 120px;
  position:relative;
}
.hero.hero--feature::before,
.hero.hero--feature::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  filter:blur(50px);
  opacity:.6;
  pointer-events:none;
}
.hero.hero--feature::before{
  top:60px;
  left:-120px;
  background:radial-gradient(circle,rgba(79,195,255,.18),transparent 70%);
}
.hero.hero--feature::after{
  right:-80px;
  bottom:20px;
  background:radial-gradient(circle,rgba(244,185,127,.18),transparent 70%);
}
.hero--feature .hero-inner{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:48px;
  align-items:center;
}
.hero--feature .hero-copy{
  grid-column:1 / span 7;
  display:grid;
  gap:18px;
  position:relative;
}
.hero--feature .hero-copy::after{
  content:"";
  position:absolute;
  left:0;
  right:20%;
  bottom:-28px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(79,242,195,.55),rgba(255,255,255,.05));
}
.hero-badges{ gap:14px; }
.hero-badges .badge{
  border:1px solid rgba(255,255,255,.15);
  background:rgba(7,12,22,.65);
  backdrop-filter:blur(8px);
}
.hero-cta{ gap:16px; }
.hero-pills span,
.hero-pills a{
  backdrop-filter:blur(10px);
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.hero-pills a:hover{ background:rgba(255,255,255,.08); }
.hero-meta strong{ color:#fff; }
.hero-meta a{ color:var(--accent-secondary); border-bottom-color:rgba(244,185,127,.4); }

.hero--feature .hero-media{
  grid-column:8 / span 5;
  display:grid;
  gap:20px;
}
.hero--feature .hero-card{
  background:var(--home-card);
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
  max-width:360px;
}
.hero--feature .hero-card::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:calc(var(--radius) - 16px);
  border:1px solid rgba(79,242,195,.25);
  opacity:.4;
  pointer-events:none;
}
.hero--feature .hero-card img{ height:280px; }
.hero-card figcaption{ font-size:.9rem; }
.hero-stats li{
  background:var(--home-glass);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  position:relative;
  overflow:hidden;
}
.hero-stats li::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(79,242,195,.15),rgba(79,195,255,.02));
  opacity:0;
  transition:opacity .45s var(--home-transition);
}
.hero-stats li:hover::after{ opacity:1; }
.stat-value{ font-size:2rem; }

/* =========================
   FEATURED CARDS
========================= */
.service-card,
.package-card,
.testimonial-card{
  backdrop-filter:blur(18px);
  background:var(--home-card);
  border-color:rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
}
.service-card::before,
.package-card::before,
.testimonial-card::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.04);
  pointer-events:none;
}
.package-card::after,
.testimonial-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  opacity:0;
  background:linear-gradient(140deg,rgba(79,242,195,.12),rgba(244,185,127,.08));
  transition:opacity .4s var(--home-transition);
}
.package-card:hover::after,
.testimonial-card:hover::after{ opacity:.65; }
.testimonial-stars{ color:var(--accent-secondary); }

/* =========================
   CTA RIBBON
========================= */
.cta-inner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
}
.cta-inner::before{
  content:"";
  position:absolute;
  inset:-40% 30% auto -10%;
  height:260%;
  background:linear-gradient(120deg,rgba(79,242,195,.25),rgba(79,195,255,.05));
  opacity:.35;
  transform:skewX(-18deg);
  pointer-events:none;
}
.cta-inner > *{ position:relative; }
.cta-copy h2{ font-family:var(--home-font-serif); }
.cta-action{ gap:14px; }
.cta-action .btn-outline{ border-color:rgba(255,255,255,.25); }

/* =========================
   FOOTER TOUCHES
========================= */
.footer-about{ max-width:32ch; color:var(--text-soft); }
.footer-cta{ margin-top:18px; }

/* =========================
   SCROLL REVEAL
========================= */
[data-animate]{
  opacity:0;
  transform:translateY(42px) scale(.97);
  filter:blur(8px);
  transition:
    transform .9s var(--home-transition),
    opacity .9s var(--home-transition),
    filter .9s var(--home-transition);
  transition-delay:var(--stagger-delay,0s);
}
[data-animate].is-visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:1100px){
  .hero--feature .hero-inner{ gap:32px; }
  .hero--feature .hero-media{ grid-column:1 / -1; }
  .hero--feature .hero-card img{ height:300px; }
}
@media (max-width:720px){
  .hero--feature .hero-inner{ grid-template-columns:1fr; }
  .hero--feature .hero-copy,
  .hero--feature .hero-media{ grid-column:1 / -1; }
  .hero--feature .hero-copy::after{ display:none; }
  .hero--feature .hero-card img{ height:220px; }
  .hero.hero--feature::before,
  .hero.hero--feature::after{
    display:none;
  }
  .cta-inner{ padding:28px; }
  .cta-action{ width:100%; }
  .cta-action .btn{ flex:1; justify-content:center; }
}

@media (prefers-reduced-motion:reduce){
  [data-animate]{ opacity:1 !important; transform:none !important; filter:none !important; }
}

/* =========================
   KEYFRAMES
========================= */
@keyframes tagPulse{
  0%{ box-shadow:0 0 0 rgba(79,242,195,0); }
  100%{ box-shadow:0 0 16px rgba(79,242,195,.35); }
}
