
/* Base styles */
:root{
  --bg: #f8f5e9;
  --text: #111111;
  --muted: #6b7280;
  --accent: #1b7f5f;
  --accent-contrast: #ffffff;
  --card: #ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;line-height:1.6}

img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.9}

.container{width:min(1100px, 92%);margin:0 auto}

header.site-header{
  position:sticky;top:0;z-index:50;background:rgba(248,245,233,.85);backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid rgba(0,0,0,.06)
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.4px}
.brand .logo{width:36px;height:36px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow)}
.nav a{margin-left:18px;color:var(--text);font-weight:600}
.nav a.btn{margin-left:24px}

h1,h2,h3,h4{color:var(--text);margin:0 0 10px 0;line-height:1.2}
h1{font-size:clamp(32px, 5vw, 54px)}
h2{font-size:clamp(24px, 3.5vw, 36px)}
h3{font-size:20px}

p.lead{font-size:1.1rem;color:var(--muted)}

.section{padding:64px 0;border-bottom:1px dashed rgba(0,0,0,.06)}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}

.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 900px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid transparent;
  background:linear-gradient(180deg, var(--accent), #14644b);
  color:var(--accent-contrast);font-weight:700;box-shadow:0 6px 16px rgba(27,127,95,.3);
  transform:translateY(0);transition:transform .15s ease, box-shadow .2s ease, filter .2s ease
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(27,127,95,.35)}
.btn.ghost{
  background:transparent;border-color:var(--accent);color:var(--accent)
}
.btn.ghost:hover{filter:brightness(1.1)}

/* Hero */
.hero{display:grid;gap:28px;align-items:center;padding:48px 0}
.hero-visual{position:relative;isolation:isolate}
.photo-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-stack img{border-radius:14px;box-shadow:var(--shadow);object-fit:cover;height:220px}
.photo-stack img:nth-child(1){animation:float 6s ease-in-out infinite}
.photo-stack img:nth-child(2){animation:float 7s ease-in-out infinite .2s}
.photo-stack img:nth-child(3){animation:float 5.8s ease-in-out infinite .4s}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1;transform:none}

/* Footer */
footer.site-footer{padding:40px 0}
.socials{display:flex;flex-wrap:wrap;gap:12px}
.socials a{
  display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#ffffff;
  border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);color:var(--text);font-weight:600
}
.small{font-size:.9rem;color:var(--muted)}

/* Blog list */
.post-list{display:grid;gap:20px}
.post{padding:18px;border:1px solid rgba(0,0,0,.06);border-radius:14px;background:#fff}

/* Simple table */
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}
.table th{color:var(--muted);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
/* === SECCIÓN NUTRICIÓN (versión mejorada) === */

#nutricion {
  scroll-margin-top: 100px; /* espacio si hay menú fijo */
}

/* Cuadrícula flexible y ordenada */
.features {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: 24px;
}

/* Tarjeta principal */
.feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.25s ease;
  height: 100%;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

/* Icono dentro de cada tarjeta */
.feature-icon {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.feature-icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

/* Texto dentro de las tarjetas */
.feature-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  color: var(--text);
}

.feature-card p.small {
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
  font-size: 0.95rem;
}

/* Tabla de planes */
.table-wrap {
  overflow-x: auto;
  margin-top: 20px;
}

.table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.95rem;
}

.table th,
.table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.table th {
  color: var(--muted);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

/* Botones en la parte inferior */
.nut-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}/* ——— Ajustes finos móvil ——— */
@media (max-width: 640px){
  .container{ width: 92%; }
  .section{ padding: 44px 0; }

  /* Hero */
  .hero{ padding: 32px 0; }
  .photo-stack img{ height: 150px; }

  /* Navegación: que no se corte */
  header .nav{ flex-wrap: wrap; gap: 8px; }
  header .nav a{ margin-left: 12px; }

  /* Cards: menos sombra para rendimiento */
  .card{ box-shadow: 0 6px 14px rgba(0,0,0,.06); }

  /* Grids genéricos a 1 columna */
  .grid-2,.grid-3,.grid-4{ grid-template-columns: 1fr !important; }

  /* Botones: tap target cómodo */
  .btn{ padding: 12px 18px; font-size: 1rem; }

  /* Nutrición */
  #nutricion .features{
    grid-template-columns: repeat(auto-fill, minmax(300px,1fr)) !important;
  }
  #nutricion .feature-card{ padding: 18px; }
}

/* Evitar que el botón flotante tape el pie */
@media (max-width: 640px){
  footer.site-footer{ padding-bottom: 72px; }
}
/* === Galería Sobre Nosotros (fotos cuadradas más pequeñas) === */
.about-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.about-gallery img {
  width: 260px;              /* tamaño reducido */
  height: 260px;             /* mantiene cuadrado */
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-gallery img:hover {
  transform: scale(1.04);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

/* En móvil se apilan con menos espacio */
@media (max-width: 640px) {
  .about-gallery {
    gap: 14px;
  }
  .about-gallery img {
    width: 90%;
    height: auto;
    border-radius: 12px;
  }
}.title-sweep{
  position: relative;
  display: inline-block;
  font-weight: 800;
  opacity: 0;
  transform: translateY(18px);
  animation: title-in .8s ease forwards;
}
.title-sweep::after{
  content:"";
  position:absolute;
  left:0; bottom:-8px;
  height:4px; width:0;
  background:#111;            /* subrayado negro */
  border-radius:999px;
  animation: sweep .9s .4s ease forwards;
  box-shadow:0 3px 12px rgba(0,0,0,.15);
}
@keyframes title-in{to{opacity:1; transform:translateY(0)}}
@keyframes sweep{to{width:100%}}
.title-sweep{
  position:relative;
  display:inline-block;
  font-weight:800;
  opacity:0;
  transform:translateY(14px);
  animation:ns-title-in .7s ease forwards;
}
.title-sweep::after{
  content:"";
  position:absolute;
  left:0; bottom:-10px;
  height:4px; width:0;
  background:#111;            /* subrayado negro */
  border-radius:999px;
  box-shadow:0 3px 12px rgba(0,0,0,.15);
  animation:ns-sweep .8s .35s ease forwards;
}
@keyframes ns-title-in{to{opacity:1; transform:translateY(0)}}
@keyframes ns-sweep{to{width:100%}}
.title-sweep{
  position:relative; display:inline-block; font-weight:800;
  opacity:0; transform:translateY(14px);
  animation:nut-in .7s ease forwards;
}
.title-sweep::after{
  content:""; position:absolute; left:0; bottom:-10px; height:4px; width:0;
  background:#111; border-radius:999px; box-shadow:0 3px 12px rgba(0,0,0,.15);
  animation:nut-sweep .8s .35s ease forwards;
}
@keyframes nut-in{to{opacity:1; transform:translateY(0)}}
@keyframes nut-sweep{to{width:100%}}
/* Título con barrido elegante */
.tst-title-sweep{
  position:relative; display:inline-block; font-weight:800;
  opacity:0; transform:translateY(14px);
  animation:tst-in .7s ease forwards;
}
.tst-title-sweep::after{
  content:""; position:absolute; left:0; bottom:-10px;
  height:4px; width:0; background:#111; border-radius:999px;
  box-shadow:0 3px 12px rgba(0,0,0,.15);
  animation:tst-sweep .8s .35s ease forwards;
}
@keyframes tst-in{to{opacity:1; transform:translateY(0)}}
@keyframes tst-sweep{to{width:100%}}
/* Animación elegante para título "Precios" */
.precios-title-sweep {
  position: relative;
  display: inline-block;
  font-weight: 800;
  opacity: 0;
  transform: translateY(14px);
  animation: precios-in 0.8s ease forwards;
}
.precios-title-sweep::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  height: 4px;
  width: 0;
  background: #111;
  border-radius: 999px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  animation: precios-sweep 0.9s 0.3s ease forwards;
}
@keyframes precios-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes precios-sweep {
  to {
    width: 100%;
  }
}/* === Oferta especial animada === */
.offer-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:32px;
  background:#fff;
  box-shadow: var(--shadow);
  isolation:isolate;
}

/* Borde/halo animado */
.offer-card::before{
  content:"";
  position:absolute; inset:-2px;
  background: conic-gradient(from 0deg,
    rgba(27,127,95,.00),
    rgba(27,127,95,.20),
    rgba(27,127,95,.00));
  animation: offerGlow 6s linear infinite;
  filter: blur(14px);
  z-index:-1;
}
@keyframes offerGlow{to{transform:rotate(360deg)}}

/* Cinta superior */
.offer-badge{
  display:inline-block;
  font-weight:700;
  letter-spacing:.02em;
  background: #111; color:#fff;
  padding:8px 12px; border-radius:999px;
  box-shadow:0 6px 16px rgba(0,0,0,.15);
  animation: popIn .6s ease both;
}
@keyframes popIn{0%{transform:scale(.9);opacity:0}100%{transform:scale(1);opacity:1}}

.offer-title{
  margin:14px 0 4px 0;
  font-size:clamp(24px,3vw,36px);
  font-weight:800;
  position:relative;
}
.offer-title::after{
  content:""; position:absolute; left:0; bottom:-8px; height:4px; width:0;
  background:#111; border-radius:999px;
  animation: sweepTitle .9s .2s ease forwards;
}
@keyframes sweepTitle{to{width:100%}}

.offer-sub{ color:var(--muted); margin-top:14px; }

.offer-row{
  display:flex; align-items:flex-end; gap:16px; margin:18px 0 8px 0; flex-wrap:wrap;
}
.offer-price{ display:flex; align-items:baseline; gap:10px }
.offer-price .old{
  text-decoration:line-through; color:var(--muted); font-weight:600;
}
.offer-price .now{
  font-size:clamp(28px,4vw,40px); font-weight:800; color:#111;
}
.offer-saving{
  background:rgba(27,127,95,.10);
  color:#14644b; font-weight:700; padding:6px 10px; border-radius:10px;
}

.offer-list{ margin:14px 0 18px 18px }
.offer-list li{ margin:6px 0 }

.offer-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:8px }

.offer-note{ margin-top:10px; font-size:.9rem; color:var(--muted) }

/* Responsive */
@media (max-width:640px){
  .offer-card{ padding:22px; border-radius:18px }
}/* ===== Cumpleaños animado ===== */
.bday-card{
  position:relative; overflow:hidden; isolation:isolate;
  background:#fff; border-radius:24px; padding:32px;
  box-shadow:var(--shadow);
}

/* halo animado sutil */
.bday-card::before{
  content:""; position:absolute; inset:-2px; z-index:-1;
  background: conic-gradient(from 0deg, rgba(27,127,95,0), rgba(27,127,95,.18), rgba(27,127,95,0));
  filter: blur(16px); animation: bdayGlow 8s linear infinite;
}
@keyframes bdayGlow{to{transform:rotate(360deg)}}

/* badge y títulos */
.bday-badge{
  display:inline-block; background:#111; color:#fff; font-weight:700;
  padding:8px 12px; border-radius:999px; box-shadow:0 6px 16px rgba(0,0,0,.15);
  animation: bdayPop .6s ease both;
}
@keyframes bdayPop{0%{opacity:0; transform:scale(.9)}100%{opacity:1; transform:scale(1)}}

.bday-title{ margin:14px 0 6px; font-weight:800; font-size:clamp(24px,3.2vw,36px) }
.bday-sub{ color:var(--muted); margin:0 0 12px }

.bday-list{ margin:10px 0 16px 18px }
.bday-list li{ margin:6px 0 }

.bday-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:6px }
.bday-note{ margin-top:10px; color:var(--muted); font-size:.9rem }

/* confeti (sutil) */
.confetti{
  pointer-events:none; position:absolute; inset:0; overflow:hidden; z-index:0;
}
.confetti span{
  position:absolute; top:-12px; width:8px; height:12px; border-radius:2px;
  background: #1b7f5f; opacity:.9; filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
  animation: fall 6s linear infinite;
}
.confetti span:nth-child(2){ left:15%; background:#3d8f75; animation-duration:7s; animation-delay:.3s }
.confetti span:nth-child(3){ left:30%; background:#14644b; animation-duration:5.6s; animation-delay:.6s }
.confetti span:nth-child(4){ left:45%; background:#2d7a60; animation-duration:6.4s; animation-delay:.9s }
.confetti span:nth-child(5){ left:60%; background:#1b7f5f; animation-duration:7.2s; animation-delay:1.2s }
.confetti span:nth-child(6){ left:75%; background:#3d8f75; animation-duration:6.1s; animation-delay:1.5s }
.confetti span:nth-child(7){ left:85%; background:#14644b; animation-duration:7.4s; animation-delay:1.8s }
.confetti span:nth-child(8){ left:5%;  background:#2d7a60; animation-duration:6.6s; animation-delay:2.1s }
.confetti span:nth-child(9){ left:52%; background:#1b7f5f; animation-duration:5.8s; animation-delay:2.4s }
.confetti span:nth-child(10){left:92%; background:#3d8f75; animation-duration:7.6s; animation-delay:2.7s }

@keyframes fall{
  0%{ transform: translateY(-20px) rotate(0deg) }
  100%{ transform: translateY(120%) rotate(360deg) }
}

/* responsive */
@media (max-width:640px){
  .bday-card{ padding:22px; border-radius:18px }
}/* Título FAQ con barrido elegante */
.faq-title-sweep{
  position:relative; display:inline-block; font-weight:800;
  opacity:0; transform:translateY(14px);
  animation:faqIn .7s ease forwards;
}
.faq-title-sweep::after{
  content:""; position:absolute; left:0; bottom:-10px; height:4px; width:0;
  background:#111; border-radius:999px; box-shadow:0 3px 12px rgba(0,0,0,.15);
  animation:faqSweep .8s .35s ease forwards;
}
@keyframes faqIn{to{opacity:1; transform:translateY(0)}}
@keyframes faqSweep{to{width:100%}}
/* ===== FOOTER ===== */
.footer {
  background:#f6f3ea;
  padding:60px 20px 20px;
  color:#111;
  font-size:0.95rem;
  border-top:1px solid rgba(0,0,0,0.05);
}
.footer-container {
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
  gap:32px;
  margin-bottom:32px;
}
.footer h3 {
  font-weight:800;
  font-size:1.4rem;
  margin-bottom:10px;
}
.footer h4 {
  font-weight:700;
  margin-bottom:10px;
  font-size:1rem;
}
.footer p, .footer li {
  color:#444;
  line-height:1.6;
}
.footer ul {
  list-style:none;
  margin:0; padding:0;
}
.footer a {
  color:#1b7f5f;
  text-decoration:none;
}
.footer a:hover {
  text-decoration:underline;
}

/* Social icons */
.social-links {
  display:flex;
  gap:14px;
  margin-top:8px;
}
.social {
  font-size:1.4rem;
  color:#fff;
  background:#1b7f5f;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  transition:transform .2s ease, background .2s ease;
}
.social:hover {
  background:#14644b;
  transform:scale(1.1);
}

/* Bottom bar */
.footer-bottom {
  text-align:center;
  font-size:0.9rem;
  border-top:1px solid rgba(0,0,0,0.05);
  padding-top:12px;
  color:#555;
}
.footer-bottom a {
  color:#1b7f5f;
  text-decoration:none;
  margin:0 4px;
}
.footer-bottom a:hover {
  text-decoration:underline;
}

/* Responsive */
@media(max-width:640px){
  .footer { text-align:center; }
  .footer-container { grid-template-columns:1fr; }
  .social-links { justify-content:center; }
}.impulso-anim {
  font-weight: 800;
  font-size: clamp(42px, 6vw, 72px);
  background: linear-gradient(90deg, #111, #1b7f5f, #111);
  background-size: 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shineMove 3s linear infinite;
}
@keyframes shineMove {
  to { background-position: 300%; }
}/* ==== Ajustes finos móvil y tablet ==== */
@media (max-width: 640px){
  .container{ width:92%; }
  .section{ padding:44px 0; }
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr !important; }
  .card{ box-shadow:0 6px 14px rgba(0,0,0,.06); }
  .btn{ padding:12px 18px; font-size:1rem; }
  header .nav{ flex-wrap:wrap; gap:8px; }
  footer.site-footer{ padding-bottom:72px; } /* que no tape el botón flotante */
}

@media (min-width:641px) and (max-width:1024px){
  .container{ width:90%; }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  h1{ font-size:clamp(36px,5vw,64px); }
  h2{ font-size:clamp(24px,3.2vw,40px); }
  .card{ padding:22px; }
  #nutricion .features{ grid-template-columns:repeat(2,minmax(300px,1fr)); }
}/* ==== SECCIÓN VÍDEOS DEL CENTRO ==== */
.videos-flex {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap; /* importante para que se adapten en móvil */
  margin-top: 24px;
}

.video-item {
  flex: 1 1 48%;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.video-item video {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.video-caption {
  padding: 12px 16px 16px;
  font-size: 0.95rem;
  color: #555;
  text-align: center;
}

/* ✅ Móvil */
@media (max-width: 768px) {
  .videos-flex {
    flex-direction: column;
    gap: 16px;
  }
  .video-item {
    flex: 1 1 100%;
  }
}/* BRAND HEADER - TEXTO CHULO */
.site-header .brand a {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
  transition: color 0.3s ease, transform 0.2s ease;
}

.site-header .brand a:hover {
  color: #1b7f5f;
  transform: translateY(-1px);
}/* BRAND HEADER - TEXTO CHULO */
.site-header .brand a {
  font-family: 'Oswald', sans-serif;
  font-weight: ;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
  transition: color 0.3s ease, transform 0.2s ease;
}

.site-header .brand a:hover {
  color: #1b7f5f;
  transform: translateY(-1px);
}.section-title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  margin-bottom: 24px;
  position: relative;
  display: inline-block;
}

.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 4px;
  background: #111;
  border-radius: 4px;
}/* 🔧 ARREGLAR TAMAÑO IMÁGENES ACTIVIDADES OUTDOOR */
.service-card img {
  width: 100%;
  height: 160px;        /* ← cambia aquí si las quieres más pequeñas */
  object-fit: cover;
  border-radius: 16px 16px 0 0;
  display: block;
}/* === OFERTA CON IMAGEN === */
.offer-card {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  align-items: center;
}

.offer-image img {
  width: 100%;
  height: 100%;
  max-height: 320px;
  object-fit: cover;
  border-radius: 18px;
}

/* Responsive */
@media (max-width: 900px) {
  .offer-card {
    grid-template-columns: 1fr;
  }

  .offer-image img {
    max-height: 220px;
  }
}.vip-section {
  background-color: #f7f5ef;
  padding: 80px 20px;
}

.vip-container {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.vip-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.vip-subtitle {
  font-size: 1.1rem;
  color: #555;
  margin-bottom: 50px;
}

.vip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 25px;
}

.vip-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 30px 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  text-align: left;
}

.vip-card h3 {
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.vip-card p {
  font-size: 0.95rem;
  color: #666;
}

.vip-button {
  display: inline-block;
  margin-top: 50px;
  padding: 15px 40px;
  background-color: #1f6f5c;
  color: #fff;
  text-decoration: none;
  border-radius: 50px;
  font-weight: 600;
  transition: background 0.3s ease;
}

.vip-button:hover {
  background-color: #155b4b;
}