/* ============================================================
   INFINITY CONSULTORES — LANDING
   Réplica exacta de la estética del sitio principal
   (warm cream + dorado · radius 15/7 · Poppins)
============================================================ */

/* ------- TOKENS (mismos que el sitio principal) ------- */
:root{
  --gold:      #C2985A;
  --gold-lt:   #D4AE7A;
  --gold-dim:  rgba(194,152,90,.10);
  --gold-line: rgba(194,152,90,.25);

  --ink:       #1C1C1C;
  --ink-2:     #141414;
  --muted:     #888880;
  --muted-2:   #B4B1A8;

  --surface:   #F7F5F2;
  --surface-2: #EFECEA;
  --surface-3: #E8E3DA;
  --white:     #FFFFFF;

  --border:    rgba(0,0,0,.09);
  --border-2:  rgba(0,0,0,.14);
  --border-dk: rgba(255,255,255,.08);

  --font: 'Poppins', system-ui, sans-serif;

  --r-sm:15px;
  --r-md:15px;
  --r-lg:15px;

  --max:1240px;
  --pad:clamp(20px,4vw,44px);

  --t-fast:.22s cubic-bezier(.4,0,.2,1);
  --t-med:.45s cubic-bezier(.4,0,.2,1);
}

/* ------- RESET + BASE ------- */
*{margin:0;padding:0;box-sizing:border-box;}
*::selection{background:var(--gold);color:var(--white);}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;background:var(--white);overflow-x:clip;}
html,body{margin:0;padding:0;width:100%;max-width:100vw;}
body{
  font-family:var(--font);
  font-size:15px;
  line-height:1.65;
  background:var(--white);
  color:var(--ink);
  overflow-x:clip;
}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color var(--t-fast);}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
em{font-style:normal;}

.container{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);}
.eyebrow.on-dark{color:var(--gold-lt);}
.eyebrow.on-dark::before{background:var(--gold-lt);}

.it{color:var(--gold);}
.muted{color:var(--muted);}

/* ------- BOTONES ------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 32px;
  font-size:14px;font-weight:500;letter-spacing:.02em;
  border-radius:7px;
  transition:all var(--t-fast);
  white-space:nowrap;line-height:1;
}
.btn-gold{background:var(--gold);color:var(--white);}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-1px);box-shadow:0 10px 28px rgba(194,152,90,.3);}
.btn-dark{background:var(--ink);color:var(--white);}
.btn-dark:hover{background:#000;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--border-2);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-block{width:100%;padding:16px 32px;}
.btn svg{width:14px;height:14px;}

/* ------- NAV ------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--border);
  transition:background .45s cubic-bezier(.4,0,.2,1), border-color .45s cubic-bezier(.4,0,.2,1);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--pad);
  max-width:var(--max);margin:0 auto;
}
.logo{display:flex;align-items:center;gap:12px;}
.logo-image{height:40px;width:auto;}
.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-tel{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:500;color:var(--ink);
  letter-spacing:.08em;
}
.nav-tel svg{width:14px;height:14px;color:var(--gold);}
.nav-cta{
  background:var(--gold);color:var(--white);
  padding:11px 22px;border-radius:7px;
  font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  transition:all var(--t-fast);
}
.nav-cta:hover{background:var(--gold-lt);}

/* ------- HERO (dark, grid pattern + glass form) ------- */
.hero{
  position:relative;
  width:100%;
  background:var(--ink);
  color:var(--white);
  overflow:hidden;
  isolation:isolate;
  padding:90px 0 100px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hero-grid-bg{
  position:absolute;inset:0;z-index:1;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 80%);
          mask-image:radial-gradient(ellipse 70% 80% at 50% 40%, #000 30%, transparent 80%);
  pointer-events:none;
}
.hero-glow{
  position:absolute;border-radius:50%;
  filter:blur(80px);pointer-events:none;z-index:1;
}
.hero-glow-1{
  top:-15%;left:-10%;width:520px;height:520px;
  background:radial-gradient(circle, rgba(194,152,90,.20), transparent 70%);
}
.hero-glow-2{
  bottom:-15%;right:-10%;width:480px;height:480px;
  background:radial-gradient(circle, rgba(194,152,90,.12), transparent 70%);
}

.hero-grid{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1.1fr 440px;gap:64px;align-items:center;
}

.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 18px;border-radius:7px;
  border:1px solid rgba(194,152,90,.45);background:rgba(28,28,28,.4);
  backdrop-filter:blur(6px);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-lt);font-weight:600;
  margin-bottom:24px;
}
.hero-badge .pulse{
  width:6px;height:6px;border-radius:50%;background:var(--gold-lt);
  box-shadow:0 0 0 0 rgba(212,174,122,.6);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(212,174,122,.6);}
  70%{box-shadow:0 0 0 10px rgba(212,174,122,0);}
  100%{box-shadow:0 0 0 0 rgba(212,174,122,0);}
}

h1.hero-title{
  font-weight:700;
  font-size:clamp(34px,5vw,68px);
  line-height:1.04;letter-spacing:-.025em;
  color:var(--white);
  text-transform:uppercase;
  margin-bottom:22px;
}
h1.hero-title .it{
  color:var(--gold);
  text-transform:none;
  font-weight:600;
  letter-spacing:-.015em;
}
h1.hero-title .dash{
  color:var(--gold);
  font-weight:400;
}

.hero-lead{
  font-size:clamp(14px,1.15vw,16px);line-height:1.75;
  color:rgba(255,255,255,.65);max-width:540px;font-weight:300;
  margin-bottom:28px;
}
.hero-lead strong{color:var(--gold-lt);font-weight:500;}

.hero-trust{
  display:flex;align-items:center;gap:14px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.10);
}
.ht-stars{display:flex;gap:2px;color:var(--gold-lt);}
.ht-text{font-size:13px;color:rgba(255,255,255,.55);}
.ht-text strong{color:var(--white);font-weight:500;}

/* ------- FORM GLASS (transparente, igual que la referencia) ------- */
.form-glass{
  position:relative;
  background:linear-gradient(155deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:36px 32px 30px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:
    0 30px 80px -20px rgba(0,0,0,.55),
    0 0 0 1px rgba(194,152,90,.10) inset;
  overflow:hidden;
}
.form-glass::before{
  content:"";position:absolute;
  top:-80px;right:-80px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(194,152,90,.18), transparent 70%);
  pointer-events:none;
}
.form-glass > *{position:relative;z-index:1;}

.fg-icon{
  width:54px;height:54px;border-radius:15px;
  background:var(--gold);color:var(--ink);
  display:grid;place-items:center;
  margin-bottom:22px;
  box-shadow:0 8px 24px -6px rgba(194,152,90,.45);
}
.fg-title{
  font-weight:600;font-size:24px;letter-spacing:-.015em;
  color:var(--white);margin-bottom:10px;
}
.fg-sub{
  font-size:14px;line-height:1.65;
  color:rgba(255,255,255,.62);margin-bottom:22px;
}
.fg-sub strong{color:var(--gold-lt);font-weight:500;}

.fg-pills{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;
}
.fg-pill{
  display:inline-flex;align-items:center;
  padding:7px 12px;border-radius:7px;
  border:1px solid rgba(194,152,90,.45);
  background:rgba(28,28,28,.4);
  color:var(--gold-lt);
  font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
}

.fg-form{display:grid;gap:12px;}
.fg-form input,
.fg-form select{
  width:100%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  padding:16px 18px;border-radius:12px;
  color:var(--white);
  font-size:14px;font-family:inherit;
  outline:none;
  transition:border-color var(--t-fast), background var(--t-fast);
}
.fg-form input::placeholder{color:rgba(255,255,255,.38);}
.fg-form select{cursor:pointer;color:rgba(255,255,255,.78);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;background-size:14px;padding-right:42px;
  -webkit-appearance:none;appearance:none;
}
.fg-form select option{background:var(--ink);color:var(--white);}
.fg-form input:focus,
.fg-form select:focus{
  border-color:var(--gold);
  background:rgba(255,255,255,.05);
}
.fg-form .btn{width:100%;margin-top:6px;padding:16px 24px;}

/* Honeypot anti-spam — invisible para humanos, visible para bots tontos */
.hp-field{
  position:absolute !important;
  left:-9999px !important;top:auto !important;
  width:1px !important;height:1px !important;
  overflow:hidden !important;opacity:0 !important;
  pointer-events:none !important;
}

/* Error inline del formulario */
.form-error{
  margin:12px 0 0;padding:10px 14px;
  background:rgba(201,113,113,.08);
  border:1px solid rgba(201,113,113,.30);
  border-radius:10px;
  font-size:13px;line-height:1.5;color:#C97171;
  text-align:center;
}

.fg-fine{
  font-size:11px;color:rgba(255,255,255,.42);text-align:center;
  margin-top:10px;line-height:1.5;
}

/* Form success — sobre el glass */
.form-success{
  text-align:center;padding:24px 12px;
  animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes scaleIn{
  from{opacity:0;transform:scale(.9);}
  to{opacity:1;transform:scale(1);}
}
.form-glass .success-icon{
  width:60px;height:60px;margin:0 auto 14px;
  border-radius:50%;background:rgba(194,152,90,.15);color:var(--gold-lt);
  display:grid;place-items:center;border:1px solid rgba(194,152,90,.35);
}
.form-glass .form-success h3{font-size:20px;font-weight:600;color:var(--white);margin-bottom:8px;}
.form-glass .form-success p{font-size:13px;color:rgba(255,255,255,.58);margin-bottom:18px;}
.btn-wa{background:#25D366;color:#fff;}
.btn-wa:hover{background:#128C7E;}

/* ------- HERO FEATURES (line-stroke gold + white animados) ------- */
.hero-features{
  background:var(--ink);
  padding:32px 0 70px;
  position:relative;
}
.hf-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;
}
.hf-item{
  display:flex;align-items:center;gap:16px;
  padding:18px 20px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  border-radius:15px;
  transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);
  cursor:default;
}
.hf-item:hover{
  border-color:rgba(194,152,90,.40);
  background:rgba(255,255,255,.045);
  transform:translateY(-2px);
}
.hf-icon{
  flex-shrink:0;
  width:48px;height:48px;
  display:grid;place-items:center;
  color:var(--gold);
  background:none;border:none;border-radius:0;box-shadow:none;
}
.hf-icon svg{ width:44px; height:44px; display:block; overflow:visible; }
.hf-item:hover .hf-icon{ background:none;border:none;box-shadow:none; }

.hf-text strong{
  display:block;font-size:13px;font-weight:500;
  color:var(--white);line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.hf-text span{
  display:block;font-size:12px;
  color:rgba(255,255,255,.5);margin-top:4px;
  font-weight:300;
}

/* === Iconos hero estilo Dribbble two-tone — sin fondo, animaciones suaves al hover === */
.hf-icon svg *{
  transform-box:fill-box;transform-origin:center;
  transition:transform .7s cubic-bezier(.34,1.2,.64,1), opacity .7s ease;
}
.hf-icon .hf-fill{ transition:opacity .5s ease, transform .7s cubic-bezier(.34,1.2,.64,1); }

@keyframes hfDot{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.7);opacity:.55;}
}
@keyframes hfSparkTwinkle{
  0%,100%{transform:scale(.6) rotate(0);opacity:.4;}
  50%{transform:scale(1.4) rotate(90deg);opacity:1;}
}
@keyframes hfPinPulse{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.7);opacity:.55;}
}
@keyframes hfFlashPulse{
  0%,80%,100%{opacity:.4;transform:scale(1);}
  40%{opacity:1;transform:scale(2.2);}
}
@keyframes hfWandShake{
  0%,100%{transform:rotate(0);}
  25%{transform:rotate(-10deg);}
  75%{transform:rotate(10deg);}
}
@keyframes hfSpin{
  from{transform:rotate(0);}
  to{transform:rotate(360deg);}
}
@keyframes hfDraw{
  from{stroke-dashoffset:18;}
  to{stroke-dashoffset:0;}
}
@keyframes hfFillIn{
  0%,100%{opacity:.22;transform:scale(1);}
  50%{opacity:.45;transform:scale(1.08);}
}

/* fill suave que palpita en todos */
.hf-item:hover .hf-icon .hf-fill{ animation:hfFillIn 1.6s ease-in-out infinite; }

/* 1. Tasación — los dots pulsan en cascada */
.hf-i-calc:hover .hf-icon .hf-dot{ animation:hfDot 1s ease-in-out infinite; }
.hf-i-calc:hover .hf-icon .d1{ animation-delay:.0s; }
.hf-i-calc:hover .hf-icon .d2{ animation-delay:.1s; }
.hf-i-calc:hover .hf-icon .d3{ animation-delay:.2s; }
.hf-i-calc:hover .hf-icon .d4{ animation-delay:.3s; }
.hf-i-calc:hover .hf-icon .d5{ animation-delay:.4s; }

/* 2. Cámara — flash brilla, lente captura */
.hf-i-cam:hover .hf-icon .hf-flash{ animation:hfFlashPulse .9s ease-in-out infinite; }
.hf-i-cam:hover .hf-icon .hf-lens{ animation:hfDot 1.1s ease-in-out infinite; }

/* 3. Decoración — varita se mueve, sparkles brillan */
.hf-i-wand:hover .hf-icon .hf-wand{ animation:hfWandShake 1.2s ease-in-out infinite;transform-origin:5px 27px; }
.hf-i-wand:hover .hf-icon .hf-spark{ animation:hfSparkTwinkle 1.1s ease-in-out infinite; }
.hf-i-wand:hover .hf-icon .hf-spark.s2{ animation-delay:.3s; }
.hf-i-wand:hover .hf-icon .hf-spark.s3{ animation-delay:.6s; }

/* 4. Tour 360° — órbita rota */
.hf-i-360:hover .hf-icon .hf-orbit{ animation:hfSpin 5s linear infinite; }

/* 5. Portales — pins pulsan en secuencia */
.hf-i-net:hover .hf-icon .hf-pin{ animation:hfPinPulse 1.2s ease-in-out infinite; }
.hf-i-net:hover .hf-icon .p1{ animation-delay:.0s; }
.hf-i-net:hover .hf-icon .p2{ animation-delay:.25s; }
.hf-i-net:hover .hf-icon .p3{ animation-delay:.5s; }

/* 6. Gestión — el check se dibuja */
.hf-icon .hf-check{ stroke-dasharray:18; stroke-dashoffset:0; }
.hf-i-brief:hover .hf-icon .hf-check{ animation:hfDraw .9s cubic-bezier(.4,0,.2,1) infinite alternate; }

/* ------- FORM CARD (legacy — usado en sección contact) ------- */
.form-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:15px;
  padding:36px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.10);
}
.form-card-title{
  font-weight:600;font-size:22px;line-height:1.25;letter-spacing:-.015em;
  color:var(--ink);margin-bottom:8px;
}
.form-card-sub{
  font-size:13px;color:var(--muted);line-height:1.6;
  margin-bottom:22px;
}
.form-grid{display:grid;gap:14px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-field{display:flex;flex-direction:column;}
.form-field label{
  display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin-bottom:7px;
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  background:var(--surface);
  border:1px solid var(--border);
  padding:13px 16px;border-radius:7px;
  color:var(--ink);font-size:14px;outline:none;
  transition:all var(--t-fast);
  font-family:inherit;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--gold);background:var(--white);
  box-shadow:0 0 0 3px var(--gold-dim);
}
.form-field select{cursor:pointer;}
.form-field textarea{min-height:80px;resize:vertical;}
.form-card .btn{width:100%;margin-top:6px;}
.form-fine{
  font-size:11px;color:var(--muted);text-align:center;
  margin-top:14px;line-height:1.5;
  display:flex;align-items:center;justify-content:center;gap:6px;
}

/* ------- MARQUEE (no usado, mantengo por compatibilidad) ------- */
.marquee{
  background:var(--ink);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  overflow:hidden;padding:14px 0;
}
.marquee-track{
  display:flex;gap:28px;white-space:nowrap;
  animation:scroll 32s linear infinite;
  font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.marquee-track span:nth-child(odd){color:var(--gold-lt);}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ------- SECCIONES ------- */
section{position:relative;}
.sec-pad{padding:clamp(80px,9vw,128px) 0;}
.sec-head{display:flex;flex-direction:column;gap:18px;margin-bottom:56px;max-width:720px;}
.sec-head.center{align-items:center;text-align:center;margin-left:auto;margin-right:auto;}
.sec-head h2{
  font-weight:600;
  font-size:clamp(30px,4.2vw,52px);line-height:.98;letter-spacing:-.025em;
  text-transform:uppercase;color:var(--ink);
}
.sec-head h2 .it{text-transform:none;letter-spacing:-.015em;}
.sec-head.on-dark h2{color:var(--white);}
.sec-head p{font-size:15px;line-height:1.75;color:var(--muted);max-width:580px;}
.sec-head.on-dark p{color:rgba(255,255,255,.6);}

/* ------- PROCESO (combinada) ------- */
.proceso{background:var(--surface);border-top:1px solid var(--border);}
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.proc-step{
  position:relative;
  padding:28px 26px 30px;
  background:var(--white);
  border:1px solid var(--border);border-radius:18px;
  display:flex;flex-direction:column;
  transition:all var(--t-fast);
  overflow:hidden;
}
.proc-step:hover{
  border-color:var(--gold-line);
  transform:translateY(-4px);
  box-shadow:0 18px 50px -20px rgba(28,28,28,.16);
}
.proc-illust{
  width:100%;aspect-ratio:200/170;margin-bottom:18px;
  background:linear-gradient(160deg,#F5F1EA 0%,#EFE9DC 100%);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.proc-step:hover .proc-illust{transform:scale(1.02);}
.proc-illust svg{width:90%;height:90%;display:block;}
.proc-num{
  position:absolute;top:18px;right:22px;
  font-size:32px;font-weight:700;letter-spacing:-.03em;
  color:var(--gold);opacity:.85;line-height:1;
  text-shadow:0 2px 0 rgba(255,255,255,.6);
}
.proc-step h4{
  font-weight:600;font-size:18px;margin:4px 0 8px;letter-spacing:-.015em;
  color:var(--ink);text-transform:uppercase;
}
.proc-step > p{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:18px;flex:1;}
.proc-vs{
  display:flex;flex-direction:column;gap:6px;
  padding-top:14px;border-top:1px dashed var(--border);
}
.vs-bad,.vs-good{
  font-size:12px;line-height:1.5;display:flex;align-items:flex-start;gap:8px;
  letter-spacing:.005em;
}
.vs-bad{color:#A89A8B;text-decoration:line-through;text-decoration-color:rgba(168,154,139,.4);}
.vs-bad::before{content:"✕";color:#C97171;font-weight:600;flex-shrink:0;text-decoration:none;display:inline-block;}
.vs-good{color:var(--ink);font-weight:500;}
.vs-good::before{content:"✓";color:#4FB97D;font-weight:700;flex-shrink:0;}
.proc-cta{text-align:center;margin-top:42px;}

/* animaciones de ilustraciones — todas paradas, se activan en hover */
/* Transición por defecto para suavizar el regreso al estado inicial al salir del hover */
.proc-illust svg g, .proc-illust svg path, .proc-illust svg circle, .proc-illust svg rect{
  transition:transform .9s cubic-bezier(.34,1.2,.64,1), opacity .9s ease;
  transform-box:fill-box;
}

/* STEP 01 — chat */
@keyframes il1Bubble{
  0%,100%{transform:translateY(0) rotate(0);}
  25%{transform:translateY(-3px) rotate(-1.5deg);}
  75%{transform:translateY(2px) rotate(1.5deg);}
}
@keyframes il1Tick{
  0%{transform:scale(.85);}
  50%{transform:scale(1.15);}
  100%{transform:scale(1);}
}
@keyframes il1Spark{
  0%,100%{transform:scale(.6) rotate(0);opacity:.5;}
  50%{transform:scale(1.5) rotate(120deg);opacity:1;}
}
@keyframes il1Dot{
  0%,100%{transform:scale(1);opacity:.8;}
  50%{transform:scale(2.4);opacity:1;}
}
@keyframes il1Line{
  0%{transform:scaleX(.3);transform-origin:left;}
  100%{transform:scaleX(1);transform-origin:left;}
}
.proc-step:hover .proc-il-1 .il1-bubble{animation:il1Bubble 1.5s ease-in-out infinite;}
.proc-step:hover .proc-il-1 .il1-tick{animation:il1Tick .8s ease-in-out infinite;}
.proc-step:hover .proc-il-1 .il1-s1{animation:il1Spark 1.2s ease-in-out infinite;}
.proc-step:hover .proc-il-1 .il1-s2{animation:il1Spark 1.2s ease-in-out infinite .4s;}
.proc-step:hover .proc-il-1 .il1-dot{animation:il1Dot 1s ease-in-out infinite;}
.proc-step:hover .proc-il-1 .il1-line-1{animation:il1Line .6s cubic-bezier(.4,0,.2,1) both;}
.proc-step:hover .proc-il-1 .il1-line-2{animation:il1Line .6s cubic-bezier(.4,0,.2,1) .15s both;}
.proc-step:hover .proc-il-1 .il1-line-3{animation:il1Line .6s cubic-bezier(.4,0,.2,1) .3s both;}

/* STEP 02 — cámara + portales */
@keyframes il2CardL{
  0%,100%{transform:translate(0,0) rotate(0);}
  50%{transform:translate(-6px,-4px) rotate(-3deg);}
}
@keyframes il2CardR{
  0%,100%{transform:translate(0,0) rotate(0);}
  50%{transform:translate(6px,-4px) rotate(3deg);}
}
@keyframes il2Cam{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}
@keyframes il2Lens{
  0%,100%{transform:scale(1);}
  50%{transform:scale(.85);}
}
@keyframes il2Flash{
  0%,90%,100%{opacity:.4;transform:scale(1);}
  45%{opacity:1;transform:scale(2.4);}
}
@keyframes il2Spark{
  0%,100%{transform:scale(.6) rotate(0);opacity:.4;}
  50%{transform:scale(1.4) rotate(180deg);opacity:1;}
}
.proc-step:hover .proc-il-2 .il2-card-l{animation:il2CardL 1.4s ease-in-out infinite;}
.proc-step:hover .proc-il-2 .il2-card-r{animation:il2CardR 1.4s ease-in-out infinite .2s;}
.proc-step:hover .proc-il-2 .il2-cam{animation:il2Cam 1.2s ease-in-out infinite;}
.proc-step:hover .proc-il-2 .il2-lens{animation:il2Lens 1.2s ease-in-out infinite;}
.proc-step:hover .proc-il-2 .il2-flash{animation:il2Flash .9s ease-in-out infinite;}
.proc-step:hover .proc-il-2 .il2-s1{animation:il2Spark 1.1s ease-in-out infinite;}
.proc-step:hover .proc-il-2 .il2-s2{animation:il2Spark 1.1s ease-in-out infinite .35s;}

/* STEP 03 — llave + tick + confeti */
@keyframes il3Key{
  0%{transform:translate(0,0) rotate(0);}
  25%{transform:translate(-4px,-6px) rotate(-12deg);}
  50%{transform:translate(0,-10px) rotate(0);}
  75%{transform:translate(4px,-6px) rotate(12deg);}
  100%{transform:translate(0,0) rotate(0);}
}
@keyframes il3Tick{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.18);}
}
@keyframes il3Doc{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}
@keyframes il3Conf{
  0%{transform:translateY(0) rotate(0);opacity:1;}
  100%{transform:translateY(20px) rotate(360deg);opacity:.5;}
}
.proc-step:hover .proc-il-3 .il3-key{animation:il3Key 1.6s ease-in-out infinite;}
.proc-step:hover .proc-il-3 .il3-tick{animation:il3Tick .9s ease-in-out infinite;}
.proc-step:hover .proc-il-3 .il3-doc{animation:il3Doc 2s ease-in-out infinite;}
.proc-step:hover .proc-il-3 .il3-c1{animation:il3Conf 1.4s ease-in infinite;}
.proc-step:hover .proc-il-3 .il3-c2{animation:il3Conf 1.4s ease-in infinite .25s;}
.proc-step:hover .proc-il-3 .il3-c3{animation:il3Conf 1.4s ease-in infinite .5s;}
.proc-step:hover .proc-il-3 .il3-c4{animation:il3Conf 1.4s ease-in infinite .75s;}

/* ------- GARANTÍA (dark) ------- */
.guarantee{
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(194,152,90,.1), transparent),
    var(--ink);
  border-top:1px solid var(--border-dk);
  border-bottom:1px solid var(--border-dk);
  overflow:hidden;position:relative;
}
.guarantee::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 60% 60% at 50% 50%, black, transparent);
  pointer-events:none;
}
.guarantee-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:2;}
.guarantee-inner h2{
  font-weight:600;
  font-size:clamp(30px,4.5vw,52px);line-height:.98;letter-spacing:-.025em;
  text-transform:uppercase;color:var(--white);margin-bottom:22px;
}
.guarantee-inner h2 .it{color:var(--gold);text-transform:none;}
.guarantee-inner > div:first-child > p{
  font-size:15px;line-height:1.8;color:rgba(255,255,255,.6);
  margin-bottom:32px;max-width:520px;
}
.gp-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px;}
.gp{display:flex;align-items:flex-start;gap:13px;font-size:14px;color:rgba(255,255,255,.78);line-height:1.6;}
.gp-ico{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-weight:500;font-size:11px;margin-top:1px;
}

/* Tarjeta hero del 30 días */
.guar-hero{
  position:relative;
  width:100%;max-width:480px;margin-left:auto;
  background:linear-gradient(155deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:38px 36px 30px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.5), 0 0 0 1px rgba(194,152,90,.08) inset;
  overflow:hidden;
}
.guar-hero::before{
  content:"";position:absolute;
  top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(194,152,90,.18), transparent 70%);
  pointer-events:none;
}
.guar-hero > *{position:relative;z-index:1;}
.gh-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-lt);font-weight:600;margin-bottom:18px;
}
.gh-eyebrow::before{content:"";width:18px;height:1px;background:var(--gold);}
.gh-number{
  display:flex;align-items:flex-start;gap:14px;
  margin-bottom:24px;line-height:1;
}
.gh-num{
  font-size:clamp(72px,10vw,110px);
  font-weight:600;
  color:var(--white);
  letter-spacing:-.045em;line-height:.85;
}
.gh-unit{
  font-size:18px;font-weight:500;
  color:rgba(255,255,255,.65);
  margin-top:14px;letter-spacing:.01em;
}
.gh-pledge{
  font-size:14px;color:rgba(255,255,255,.78);line-height:1.65;
}
.gh-pledge strong{color:var(--gold-lt);font-weight:500;}

/* ------- TESTIMONIOS ------- */
.testimonios{background:var(--surface);border-top:1px solid var(--border);}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.t-card{
  padding:32px 28px;
  background:var(--white);
  border:1px solid var(--border);border-radius:15px;
  display:flex;flex-direction:column;
  transition:all var(--t-fast);
}
.t-card:hover{transform:translateY(-2px);border-color:var(--gold-line);}
.t-card.feat{background:var(--ink);border-color:var(--ink);position:relative;overflow:hidden;}
.t-card.feat::before{
  content:'"';position:absolute;top:-12px;right:24px;
  font-size:96px;line-height:1;color:var(--gold);opacity:.35;font-weight:600;
}
.t-stars{display:flex;gap:2px;color:var(--gold);margin-bottom:14px;}
.t-quote{font-size:14px;line-height:1.7;color:var(--ink);margin-bottom:22px;flex:1;}
.t-card.feat .t-quote{color:rgba(255,255,255,.85);}
.t-quote strong{color:var(--gold);font-weight:600;}
.t-card.feat .t-quote strong{color:var(--gold-lt);}
.t-author{
  display:flex;align-items:center;gap:12px;
  padding-top:16px;border-top:1px solid var(--border);
}
.t-card.feat .t-author{border-top-color:rgba(255,255,255,.12);}
.t-avatar{
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--gold);color:var(--white);
  font-weight:500;font-size:13px;flex-shrink:0;
}
.t-card.feat .t-avatar{background:var(--gold);color:var(--ink);}
.t-author strong{display:block;font-size:13px;font-weight:500;letter-spacing:-.005em;}
.t-card.feat .t-author strong{color:var(--white);}
.t-author span{display:block;font-size:11px;color:var(--muted);margin-top:2px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;}
.t-card.feat .t-author span{color:rgba(255,255,255,.45);}

/* ------- HEADER TESTIMONIOS PROTAGONISTA ------- */
.t-head{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;
  margin-bottom:48px;
}
.t-head-meta .eyebrow{
  display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:14px;
}
.t-head-meta h2{
  font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1;letter-spacing:-.025em;
  text-transform:uppercase;color:var(--ink);margin:0 0 18px;
}
.t-head-meta h2 .it{text-transform:none;letter-spacing:-.015em;}
.t-head-sub{font-size:15px;line-height:1.75;color:var(--muted);max-width:520px;margin:0;}

.t-rating-card{
  display:flex;align-items:center;gap:18px;
  padding:22px 24px;background:var(--white);
  border:1px solid var(--border);border-radius:18px;
  text-decoration:none;color:var(--ink);
  box-shadow:0 14px 38px -18px rgba(28,28,28,.16);
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.t-rating-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px -20px rgba(28,28,28,.22);
  border-color:var(--gold-line);
}
.t-rc-logo{
  width:54px;height:54px;border-radius:50%;
  background:#F7F8FA;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 0 0 1px var(--border) inset;
}
.t-rc-logo svg{width:30px;height:30px;}
.t-rc-body{display:flex;flex-direction:column;gap:4px;}
.t-rc-top{display:flex;align-items:baseline;gap:10px;}
.t-rc-top strong{
  font-size:30px;font-weight:600;letter-spacing:-.025em;color:var(--ink);line-height:1;
}
.t-rc-stars{display:inline-flex;gap:1px;}
.t-rc-stars svg{width:14px;height:14px;}
.t-rc-meta{font-size:12.5px;color:var(--muted);font-weight:500;}

/* link discreto bajo testimonios */
.t-google-link{
  display:inline-flex;align-items:center;gap:8px;
  margin:36px auto 0;justify-content:center;width:100%;
  font-size:14px;font-weight:500;color:var(--gold);
  text-decoration:none;letter-spacing:.005em;
  transition:gap .25s,color .25s;
}
.t-google-link svg{width:16px;height:16px;transition:transform .25s;}
.t-google-link:hover{gap:14px;color:var(--ink);}
.t-google-link:hover svg{transform:translateX(2px);}

/* ------- EQUIPO — CONSTELACIÓN ------- */
.team-strip{
  background:linear-gradient(180deg,var(--surface) 0%,#F2EEE7 100%);
  padding:90px 0;border-top:1px solid var(--border);overflow:hidden;
}
.team-constellation{
  display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;
  max-width:1180px;margin:0 auto;
}
.tc-text .eyebrow{
  display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:14px;
}
.tc-text h2{
  font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.02;letter-spacing:-.025em;
  text-transform:uppercase;color:var(--ink);margin:0 0 18px;
}
.tc-text h2 .it{text-transform:none;letter-spacing:-.015em;}
.tc-text p{
  font-size:15px;line-height:1.75;color:var(--muted);max-width:480px;margin:0;
}

.tc-stage{
  position:relative;width:100%;aspect-ratio:1/.92;min-height:440px;
}

/* glows de fondo */
.tc-glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;}
.tc-glow-a{width:280px;height:280px;background:#D4DEEF;top:14%;left:18%;}
.tc-glow-b{width:240px;height:240px;background:#E8DDC8;bottom:8%;right:10%;}
.tc-glow-c{width:200px;height:200px;background:#E3D7E8;top:42%;right:30%;opacity:.4;}

/* avatares — todos al mismo tamaño y proporción */
.tc-avatar{
  position:absolute;width:92px;height:92px;border-radius:50%;
  background-size:115% auto;background-position:center 22%;
  background-repeat:no-repeat;
  border:3px solid var(--white);
  box-shadow:0 10px 28px rgba(28,28,28,.12),0 0 0 1px rgba(194,152,90,.10);
  transition:
    background-size .55s cubic-bezier(.34,1.4,.64,1),
    border-color .45s,
    box-shadow .45s;
  cursor:pointer;
  will-change:transform;
}
.tc-avatar:hover{
  background-size:155% auto;
  border-color:var(--gold);
  box-shadow:0 14px 36px rgba(28,28,28,.16),0 0 0 1px rgba(194,152,90,.30);
  z-index:6;
  animation-play-state:paused;
}

/* Posiciones — Said (Fundador) y Andreina (Directora) en el centro,
   los 6 consultores/diseño rodeándolos. Drift sutil continuo. */
.tc-av-1{top:38%; left:55%; animation:drift1 14s ease-in-out infinite;}        /* Andreina · Directora — centro derecha */
.tc-av-2{top:38%; left:30%; animation:drift2 16s ease-in-out infinite;}        /* Said · Fundador — centro izquierda */
.tc-av-3{top:6%;  left:14%; animation:drift3 17s ease-in-out infinite -3s;}    /* Nati */
.tc-av-4{top:6%;  left:62%; animation:drift4 18s ease-in-out infinite -7s;}    /* Jesús */
.tc-av-5{top:64%; left:6%;  animation:drift5 15s ease-in-out infinite -2s;}    /* Jorge */
.tc-av-6{top:68%; left:62%; animation:drift6 19s ease-in-out infinite -5s;}    /* Samir */
.tc-av-7{top:8%;  left:42%; animation:drift7 16s ease-in-out infinite -9s;}    /* Santiago */
.tc-av-8{top:70%; left:32%; animation:drift8 17s ease-in-out infinite -4s;}    /* Khalid */

/* Cada drift es un círculo/elipse pequeña (8-12px), suave y continua */
@keyframes drift1{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(8px,-6px);}
}
@keyframes drift2{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-7px,6px);}
}
@keyframes drift3{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(10px,8px);}
}
@keyframes drift4{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-8px,9px);}
}
@keyframes drift5{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(9px,-7px);}
}
@keyframes drift6{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-9px,-8px);}
}
@keyframes drift7{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-6px,10px);}
}
@keyframes drift8{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(7px,-9px);}
}

/* badge de rol — uno por avatar, en la esquina inferior derecha */
.tc-role{
  position:absolute;bottom:-3px;right:-5px;
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:0 4px 12px rgba(28,28,28,.18),0 0 0 3px var(--surface);
  transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s;
  z-index:3;
}
.tc-role svg{width:15px;height:15px;}
.tc-avatar:hover .tc-role{
  transform:scale(1.12) rotate(-6deg);
  box-shadow:0 8px 20px rgba(28,28,28,.25),0 0 0 3px var(--surface);
}
.tc-role-gold{background:linear-gradient(135deg,var(--gold-lt),var(--gold));}
.tc-role-blue{background:linear-gradient(135deg,#7B97DD,#3F5DBF);}
.tc-role-green{background:linear-gradient(135deg,#65C994,#3A9C66);}
.tc-role-orange{background:linear-gradient(135deg,#F0AC68,#D27B2C);}

/* sparkles */
.tc-spark{position:absolute;pointer-events:none;animation:tcSpark 3.5s ease-in-out infinite;}
.tc-spark-1{width:18px;height:18px;color:#5B7BD8;top:30%;left:32%;animation-delay:0s;}
.tc-spark-2{width:14px;height:14px;color:#E89B4D;top:18%;left:54%;animation-delay:.7s;}
.tc-spark-3{width:16px;height:16px;color:#4FB97D;top:54%;right:40%;animation-delay:1.4s;}
.tc-spark-4{width:12px;height:12px;color:var(--gold);bottom:28%;left:22%;animation-delay:2.1s;}

@keyframes tcSpark{
  0%,100%{transform:scale(.8) rotate(0);opacity:.5;}
  50%{transform:scale(1.15) rotate(45deg);opacity:1;}
}

/* ------- CONTACT (CTA final) ------- */
.contact{background:var(--surface);border-top:1px solid var(--border);}
.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;}
.contact-text h2{
  font-weight:600;
  font-size:clamp(30px,4.2vw,52px);line-height:.98;letter-spacing:-.025em;
  text-transform:uppercase;margin:14px 0 22px;color:var(--ink);
}
.contact-text h2 .it{text-transform:none;}
.contact-text > p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:28px;}

.info-list{display:flex;flex-direction:column;gap:2px;margin-top:28px;}
.info-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center;}
.info-item:last-child{border-bottom:0;}
.ii-ico{
  width:42px;height:42px;flex-shrink:0;border-radius:15px;
  background:var(--gold-dim);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gold-line);
}
.ii-ico svg{width:18px;height:18px;}
.ii-lab{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:3px;}
.ii-val{font-size:14px;color:var(--ink);line-height:1.5;font-weight:500;}

.contact-card{
  background:var(--white);border:1px solid var(--border);border-radius:15px;
  padding:40px;box-shadow:0 30px 80px -30px rgba(0,0,0,.08);
}

/* ------- FAQ ------- */
.faq{background:var(--white);border-top:1px solid var(--border);}
.faq-list{display:flex;flex-direction:column;gap:8px;max-width:820px;margin:0 auto;}
.faq-item{
  background:var(--surface);
  border:1px solid var(--border);border-radius:15px;
  overflow:hidden;transition:all var(--t-fast);
}
.faq-item:hover{border-color:var(--gold-line);}
.faq-item[open]{
  background:var(--white);
  border-color:var(--gold);
  box-shadow:0 0 0 3px var(--gold-dim);
}
.faq-item summary{
  list-style:none;
  padding:22px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  cursor:pointer;
  font-weight:500;font-size:15px;letter-spacing:-.005em;
  color:var(--ink);
  transition:color var(--t-fast);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--gold);}
.faq-icon{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  background:var(--white);color:var(--ink);border:1px solid var(--border);
  display:grid;place-items:center;
  font-size:18px;font-weight:400;
  transition:all var(--t-fast);
}
.faq-item[open] .faq-icon{
  transform:rotate(45deg);
  background:var(--gold);color:var(--white);border-color:var(--gold);
}
.faq-content{
  padding:0 26px 24px;
  font-size:14px;line-height:1.7;color:var(--muted);
}
.faq-content strong{color:var(--ink);font-weight:500;}

/* ------- FOOTER ------- */
footer{background:var(--ink);padding:64px 0 28px;color:var(--white);}
.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;
  padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);
}
.foot-brand .logo-image{filter:brightness(0) invert(1);height:36px;}
.foot-brand p{color:rgba(255,255,255,.45);font-size:13px;line-height:1.7;margin:16px 0 20px;max-width:320px;}
.foot-social{display:flex;gap:10px;}
.foot-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);
  transition:all var(--t-fast);
}
.foot-social a:hover{border-color:var(--gold);color:var(--gold);}
.foot-social svg{width:16px;height:16px;}
.foot-col h5{
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--white);margin-bottom:20px;font-weight:500;
}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.foot-col a{font-size:13px;color:rgba(255,255,255,.45);transition:color var(--t-fast);}
.foot-col a:hover{color:var(--gold);}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:22px;flex-wrap:wrap;gap:14px;
}
.foot-bottom p,.foot-bottom a{font-size:12px;color:rgba(255,255,255,.3);}
.foot-bottom a:hover{color:var(--gold);}
.foot-legal{display:flex;gap:22px;flex-wrap:wrap;}

/* ------- WhatsApp flotante ------- */
.wa-float{
  position:fixed;bottom:20px;right:20px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 12px 28px -6px rgba(37,211,102,.55);
  transition:transform var(--t-fast);
}
.wa-float:hover{transform:scale(1.08);}
.wa-pulse{
  position:absolute;inset:0;border-radius:50%;
  background:#25D366;z-index:-1;
  animation:waPulse 2.2s ease-out infinite;
}
@keyframes waPulse{0%{transform:scale(1);opacity:.6;}100%{transform:scale(1.6);opacity:0;}}

/* ------- REVEAL ------- */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal:nth-child(2){transition-delay:.07s;}
.reveal:nth-child(3){transition-delay:.14s;}
.reveal:nth-child(4){transition-delay:.21s;}

/* ------- RESPONSIVE ------- */
@media (max-width:1024px){
  .hero{padding:60px 0 70px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero-form-wrap{max-width:520px;}
  .form-card{max-width:520px;}
  .hf-grid{grid-template-columns:repeat(2,1fr);}
  .proc-grid{grid-template-columns:1fr;gap:18px;}
  .t-grid{grid-template-columns:1fr;}
  .t-head{grid-template-columns:1fr;gap:24px;text-align:center;}
  .t-head-sub{margin-left:auto;margin-right:auto;}
  .t-rating-card{justify-self:center;}
  .contact-inner{grid-template-columns:1fr;gap:40px;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px;}
  .team-constellation{grid-template-columns:1fr;gap:40px;text-align:center;}
  .tc-text p{margin:0 auto;}
}

@media (max-width:640px){
  .sec-pad{padding:60px 0;}
  .nav-actions .nav-tel{display:none;}
  .hero{padding:50px 0 60px;}
  .form-glass{padding:28px 24px 24px;}
  .form-card{padding:26px 22px;}
  .form-row-2{grid-template-columns:1fr;}
  .hf-grid{grid-template-columns:1fr;}
  .contact-card{padding:28px 22px;}
  .team-strip{padding:60px 0;}
  .tc-stage{min-height:380px;aspect-ratio:1/1;}
  .tc-avatar{width:74px;height:74px;}
  .tc-role{width:26px;height:26px;bottom:-3px;right:-4px;}
  .tc-role svg{width:13px;height:13px;}
  .t-rating-card{padding:18px 18px;gap:14px;}
  .t-rc-logo{width:46px;height:46px;}
  .t-rc-top strong{font-size:24px;}
  .foot-grid{grid-template-columns:1fr;}
  .wa-float{width:54px;height:54px;bottom:16px;right:16px;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .reveal{opacity:1;transform:none;}
  .hero-particles{display:none;}
  .hero-slide{transition:opacity .3s ease;transform:none;}
}
