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

    :root {
      --ink:   #06080f;
      --ink2:  #0d1220;
      --ink3:  #141926;
      --gold:  #c9a227;
      --gold2: #e2bb50;
      --gold3: rgba(201,162,39,0.12);
      --white: #ffffff;
      --mist:  rgba(255,255,255,0.55);
      --line:  rgba(201,162,39,0.22);
      --red:   #c0392b;
      --fb:    #f7f5f0;
      --fbr:   #d9d0be;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'DM Sans', sans-serif;
      color: var(--white);
      background: var(--ink);
      line-height: 1.7;
      overflow-x: hidden;
    }

    /* grain */
    body::before {
      content: '';
      position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: 0.025;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    /* scroll reveal */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
    .reveal.visible { opacity:1; transform:none; }
    .reveal-d1{transition-delay:.1s} .reveal-d2{transition-delay:.2s}
    .reveal-d3{transition-delay:.3s} .reveal-d4{transition-delay:.4s}

    /* ── NAV ──────────────────────────────────────────── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      background:rgba(6,8,15,.93); backdrop-filter:blur(14px);
      display:flex; align-items:center; justify-content:space-between;
      padding:0 3.5rem; height:70px;
      border-bottom:1px solid var(--line); transition:border-color .3s;
    }
    .nav-logo { text-decoration:none; display:flex; align-items:center; }
    .nav-logo img { height:44px; width:auto; }
    .nav-links { display:flex; align-items:center; gap:2.2rem; list-style:none; }
    .nav-links a {
      color:rgba(255,255,255,.65); text-decoration:none;
      font-size:.7rem; font-weight:500; letter-spacing:2px; text-transform:uppercase;
      transition:color .2s; position:relative;
    }
    .nav-links a::after {
      content:''; position:absolute; bottom:-3px; left:0; right:0;
      height:1px; background:var(--gold);
      transform:scaleX(0); transform-origin:left; transition:transform .3s;
    }
    .nav-links a:hover { color:var(--white); }
    .nav-links a:hover::after { transform:scaleX(1); }
    .nav-cta { background:var(--gold)!important; color:var(--ink)!important; padding:9px 22px!important; font-weight:700!important; }
    .nav-cta::after { display:none!important; }
    .nav-cta:hover { background:var(--gold2)!important; }
    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
    .hamburger span { width:24px; height:2px; background:var(--white); transition:.3s; }

    /* ── HERO ─────────────────────────────────────────── */
    .hero {
      min-height:100vh; display:flex; flex-direction:column;
      align-items:center; justify-content:center;
      padding:120px 4rem 0; position:relative; overflow:hidden;
      background:radial-gradient(ellipse 80% 60% at 50% 60%, #0e1628 0%, var(--ink) 70%);
    }
    .hero::after {
      content:''; position:absolute;
      width:600px; height:600px; border-radius:50%;
      background:radial-gradient(circle, rgba(201,162,39,.07) 0%, transparent 70%);
      top:50%; left:50%; transform:translate(-50%,-60%); pointer-events:none;
    }
    .hero-inner { text-align:center; position:relative; z-index:1; max-width:900px; }

    /* Visually styled H1 for SEO + design */
    .hero-h1 {
      display:inline-flex; align-items:center; gap:10px;
      font-family:'DM Sans',sans-serif; font-size:.6rem; font-weight:600;
      letter-spacing:4px; text-transform:uppercase; color:var(--gold);
      margin-bottom:2.5rem;
      opacity:0; animation:fadeUp .8s .2s cubic-bezier(.22,1,.36,1) forwards;
    }
    .hero-h1::before,.hero-h1::after { content:''; width:30px; height:1px; background:var(--gold); opacity:.5; }

    .hero-logo { opacity:0; animation:fadeUp .9s .4s cubic-bezier(.22,1,.36,1) forwards; }
    .hero-logo img { height:clamp(90px,15vw,170px); width:auto; display:block; margin:0 auto; }

    .hero-diamond {
      color:var(--gold); font-size:.9rem; letter-spacing:12px;
      margin:2rem auto; display:block;
      opacity:0; animation:fadeUp .8s .6s cubic-bezier(.22,1,.36,1) forwards;
    }
    .hero-tagline {
      font-family:'Cormorant Garamond',serif; font-size:clamp(1rem,2.5vw,1.35rem);
      font-weight:300; color:rgba(255,255,255,.6); letter-spacing:.5px;
      line-height:1.85; max-width:560px; margin:0 auto 2.8rem;
      opacity:0; animation:fadeUp .8s .7s cubic-bezier(.22,1,.36,1) forwards;
    }
    .hero-actions {
      display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
      opacity:0; animation:fadeUp .8s .85s cubic-bezier(.22,1,.36,1) forwards;
    }
    .btn-gold {
      background:var(--gold); color:var(--ink);
      padding:14px 38px; font-size:.7rem; letter-spacing:2.5px;
      text-transform:uppercase; font-weight:700; border:none;
      cursor:pointer; text-decoration:none; display:inline-block;
      transition:background .2s, transform .15s;
    }
    .btn-gold:hover { background:var(--gold2); transform:translateY(-2px); }
    .btn-ghost {
      background:transparent; color:rgba(255,255,255,.7);
      padding:14px 38px; font-size:.7rem; letter-spacing:2.5px;
      text-transform:uppercase; font-weight:500;
      border:1px solid rgba(255,255,255,.2); cursor:pointer;
      text-decoration:none; display:inline-block;
      transition:border-color .2s, color .2s;
    }
    .btn-ghost:hover { border-color:var(--gold); color:var(--gold2); }

    .hero-stats {
      width:100%; display:flex; justify-content:center;
      margin-top:5rem; border-top:1px solid var(--line);
      opacity:0; animation:fadeIn 1s 1.1s forwards;
    }
    .hero-stat { flex:1; max-width:220px; text-align:center; padding:2rem 1rem; border-right:1px solid var(--line); }
    .hero-stat:last-child { border-right:none; }
    .hero-stat strong { display:block; font-family:'Playfair Display',serif; font-size:2.6rem; font-weight:700; color:var(--gold2); line-height:1; }
    .hero-stat span { font-size:.6rem; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,.35); margin-top:6px; display:block; }

    /* ── TICKER ───────────────────────────────────────── */
    .ticker-wrap { background:var(--gold); overflow:hidden; padding:12px 0; }
    .ticker-track { display:flex; width:max-content; animation:ticker 30s linear infinite; }
    .ticker-item { font-size:.65rem; letter-spacing:3px; text-transform:uppercase; font-weight:700; color:var(--ink); padding:0 2.5rem; white-space:nowrap; }
    .ticker-dot { opacity:.4; }
    @keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

    /* ── CTA BAND ─────────────────────────────────────── */
    .cta-band {
      background:var(--ink3);
      border-top:1px solid var(--line); border-bottom:1px solid var(--line);
      padding:2.2rem 4rem;
      display:flex; align-items:center; justify-content:center;
      gap:2rem; flex-wrap:wrap; text-align:center;
    }
    .cta-band p { font-size:.85rem; color:rgba(255,255,255,.6); letter-spacing:.3px; }
    .cta-band .cta-phone {
      font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700;
      color:var(--gold2); text-decoration:none; letter-spacing:1px;
      transition:color .2s;
    }
    .cta-band .cta-phone:hover { color:var(--white); }
    .cta-band .btn-gold { padding:11px 28px; font-size:.67rem; }

    /* ── SECTIONS ─────────────────────────────────────── */
    .section-wrap { padding:110px 4rem; }

    .eyebrow {
      display:inline-flex; align-items:center; gap:10px;
      font-size:.6rem; letter-spacing:3.5px; text-transform:uppercase;
      color:var(--gold); font-weight:600; margin-bottom:1.2rem;
    }
    .eyebrow::before { content:'◆'; font-size:.55rem; }

    .display-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(2.2rem,4.5vw,3.4rem); font-weight:700;
      line-height:1.15; color:var(--white); margin-bottom:1.5rem;
    }
    .display-title em { font-style:italic; color:var(--gold2); }

    .gold-rule { width:50px; height:2px; background:linear-gradient(90deg,var(--gold),transparent); margin-bottom:2rem; }

    /* ── NOSOTROS ─────────────────────────────────────── */
    #nosotros { background:var(--ink2); }
    .about-layout { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
    .about-card { position:relative; background:var(--ink3); padding:3rem; border:1px solid var(--line); }
    .about-card::before { content:''; position:absolute; top:-1px; left:-1px; width:18px; height:18px; border-top:2px solid var(--gold); border-left:2px solid var(--gold); }
    .about-card::after  { content:''; position:absolute; bottom:-1px; right:-1px; width:18px; height:18px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold); }
    .about-card-logo { margin-bottom:2rem; padding-bottom:1.8rem; border-bottom:1px solid var(--line); }
    .about-card p { font-size:.84rem; line-height:1.95; color:rgba(255,255,255,.6); margin-bottom:1rem; }
    .about-card p:last-child { margin-bottom:0; }
    .tray-badge { display:inline-flex; align-items:center; gap:10px; margin-top:1.8rem; background:var(--gold3); border:1px solid var(--line); padding:10px 18px; }
    .tray-badge strong { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; color:var(--gold2); line-height:1; }
    .tray-badge span { font-size:.65rem; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.5); line-height:1.4; }
    .about-highlights { display:flex; flex-direction:column; }
    .highlight-item { display:flex; align-items:flex-start; gap:1.2rem; padding:1.8rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
    .highlight-item:last-child { border-bottom:none; padding-bottom:0; }
    .hi-num { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:var(--gold); opacity:.35; line-height:1; min-width:32px; margin-top:2px; }
    .highlight-item h3 { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--white); margin-bottom:4px; }
    .highlight-item p { font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.7; }

    /* ── AREAS ────────────────────────────────────────── */
    #areas { background:var(--ink); }
    .areas-header { max-width:640px; margin:0 auto 4rem; text-align:center; }
    .areas-grid { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); }
    .area-card { background:var(--ink2); padding:3rem 2.8rem; position:relative; overflow:hidden; cursor:default; transition:background .35s; }
    .area-card::before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(201,162,39,.08) 0%,transparent 60%); opacity:0; transition:opacity .4s; }
    .area-card:hover::before { opacity:1; }
    .area-card:hover { background:#0f1422; }
    .area-card::after { content:''; position:absolute; left:0; top:20%; bottom:20%; width:2px; background:var(--gold); transform:scaleY(0); transform-origin:bottom; transition:transform .4s cubic-bezier(.22,1,.36,1); }
    .area-card:hover::after { transform:scaleY(1); }
    .area-number { font-family:'Playfair Display',serif; font-size:5rem; font-weight:900; color:rgba(201,162,39,.08); line-height:1; margin-bottom:.5rem; letter-spacing:-2px; }
    .area-icon { width:48px; height:48px; margin-bottom:1.2rem; color:var(--gold); opacity:.85; }
    .area-card h3 { font-family:'Playfair Display',serif; font-size:1.45rem; font-weight:700; color:var(--white); margin-bottom:.8rem; }
    .area-card p { font-size:.8rem; color:rgba(255,255,255,.5); line-height:1.85; }
    .area-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:1.4rem; }
    .area-tag { font-size:.6rem; letter-spacing:1px; text-transform:uppercase; color:rgba(201,162,39,.8); border:1px solid rgba(201,162,39,.2); padding:4px 10px; }

    /* ── TESTIMONIOS ──────────────────────────────────── */
    #testimonios { background:var(--ink2); }
    .testimonios-header { max-width:560px; margin:0 auto 4rem; text-align:center; }
    .testimonios-grid { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
    .testimonial-card {
      background:var(--ink3); border:1px solid var(--line);
      padding:2.2rem 2rem; position:relative;
      transition:border-color .3s;
    }
    .testimonial-card:hover { border-color:rgba(201,162,39,.5); }
    .testimonial-card::before { content:'\201C'; font-family:'Playfair Display',serif; font-size:5rem; line-height:1; color:var(--gold); opacity:.15; position:absolute; top:.8rem; left:1.5rem; }
    .stars { display:flex; gap:3px; margin-bottom:1.2rem; }
    .star { color:var(--gold); font-size:.9rem; }
    .testimonial-card blockquote { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-style:italic; color:rgba(255,255,255,.75); line-height:1.8; margin-bottom:1.5rem; position:relative; z-index:1; }
    .testimonial-author { display:flex; align-items:center; gap:10px; border-top:1px solid var(--line); padding-top:1.2rem; }
    .author-avatar { width:38px; height:38px; background:var(--gold3); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .author-avatar svg { width:18px; height:18px; color:var(--gold2); }
    .author-name { font-size:.78rem; font-weight:600; color:var(--white); }
    .author-area { font-size:.68rem; letter-spacing:.5px; color:rgba(255,255,255,.4); margin-top:2px; }

    /* ── PROCESO ──────────────────────────────────────── */
    #proceso { background:var(--ink); }
    .proceso-inner { max-width:1000px; margin:0 auto; }
    .proceso-steps { display:grid; grid-template-columns:repeat(4,1fr); position:relative; margin-top:4rem; }
    .proceso-line { position:absolute; top:28px; left:14%; right:14%; height:1px; background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent); opacity:.3; }
    .paso { text-align:center; padding:0 1.2rem; }
    .paso-marker { width:56px; height:56px; border:1px solid var(--gold); background:var(--ink); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; z-index:1; position:relative; transition:background .3s; }
    .paso:hover .paso-marker { background:var(--gold3); }
    .paso-num { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; color:var(--gold2); }
    .paso h3 { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:600; color:var(--white); margin-bottom:.5rem; }
    .paso p { font-size:.74rem; color:rgba(255,255,255,.42); line-height:1.75; }

    /* ── FAQ ──────────────────────────────────────────── */
    #faq { background:var(--ink2); }
    .faq-inner { max-width:780px; margin:0 auto; }
    .faq-list { margin-top:3rem; display:flex; flex-direction:column; gap:0; border:1px solid var(--line); }
    .faq-item { border-bottom:1px solid var(--line); }
    .faq-item:last-child { border-bottom:none; }
    .faq-q {
      width:100%; background:none; border:none; cursor:pointer;
      display:flex; align-items:center; justify-content:space-between;
      padding:1.4rem 1.8rem; gap:1rem; text-align:left;
      font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:500;
      color:rgba(255,255,255,.85); transition:color .2s, background .2s;
    }
    .faq-q:hover { color:var(--gold2); background:rgba(201,162,39,.04); }
    .faq-q[aria-expanded="true"] { color:var(--gold2); background:rgba(201,162,39,.06); }
    .faq-icon { width:22px; height:22px; min-width:22px; border:1px solid rgba(201,162,39,.4); display:flex; align-items:center; justify-content:center; transition:transform .3s, border-color .2s; }
    .faq-q[aria-expanded="true"] .faq-icon { transform:rotate(45deg); border-color:var(--gold); }
    .faq-icon svg { width:10px; height:10px; color:var(--gold2); }
    .faq-a {
      max-height:0; overflow:hidden;
      transition:max-height .4s cubic-bezier(.22,1,.36,1), padding .3s;
      padding:0 1.8rem;
      font-size:.83rem; color:rgba(255,255,255,.55); line-height:1.85;
    }
    .faq-a.open { max-height:300px; padding:0 1.8rem 1.4rem; }

    /* ── CONTACTO ─────────────────────────────────────── */
    #contacto { background:var(--ink); }
    .contact-layout { max-width:860px; margin:0 auto; }
    .form-container { margin-top:3rem; }
    .form-intro { background:var(--ink3); border:1px solid var(--line); border-bottom:none; padding:1.8rem 2.5rem; display:flex; align-items:flex-start; gap:1rem; }
    .form-intro-icon { width:34px; height:34px; min-width:34px; background:var(--gold); display:flex; align-items:center; justify-content:center; margin-top:2px; }
    .form-intro h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--white); margin-bottom:4px; }
    .form-intro p { font-size:.76rem; color:rgba(255,255,255,.5); line-height:1.6; }
    .form-body { background:var(--fb); padding:2.5rem; border:1px solid var(--fbr); border-top:none; }
    .form-section-title { font-size:.6rem; letter-spacing:3px; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:1.2rem; padding-bottom:.6rem; border-bottom:1px solid var(--fbr); }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.5rem; }
    .form-grid.full { grid-template-columns:1fr; }
    .form-group { display:flex; flex-direction:column; gap:6px; }
    .form-group.span2 { grid-column:span 2; }
    .form-group label { font-size:.7rem; font-weight:600; letter-spacing:.3px; color:#1a1f2e; }
    .form-group label .req { color:var(--red); margin-left:3px; }
    .form-group input,.form-group select,.form-group textarea { border:1px solid var(--fbr); padding:10px 14px; font-family:'DM Sans',sans-serif; font-size:.82rem; color:#1a1f2e; background:#fff; outline:none; transition:border-color .2s,box-shadow .2s; border-radius:0; }
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,39,.12); }
    .form-group input.error,.form-group select.error,.form-group textarea.error { border-color:var(--red); }
    .form-group .error-msg { font-size:.66rem; color:var(--red); display:none; }
    .form-group.has-error .error-msg { display:block; }
    .form-group textarea { resize:vertical; min-height:100px; }
    .radio-group { display:flex; flex-direction:column; gap:8px; }
    .radio-option { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
    .radio-option input[type="radio"] { width:15px; height:15px; min-width:15px; margin-top:3px; accent-color:var(--gold); }
    .radio-option span { font-size:.79rem; color:#1a1f2e; line-height:1.4; }
    .checkbox-option { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
    .checkbox-option input[type="checkbox"] { width:15px; height:15px; min-width:15px; margin-top:3px; accent-color:var(--gold); }
    .checkbox-option span { font-size:.79rem; color:#1a1f2e; line-height:1.4; }
    .form-separator { border:none; border-top:1px solid var(--fbr); margin:1.8rem 0; }
    .form-footer { background:#eee8da; padding:1.4rem 2.5rem; border:1px solid var(--fbr); border-top:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
    .form-footer p { font-size:.72rem; color:#5a5040; line-height:1.5; max-width:500px; }
    .form-footer strong { color:#1a1f2e; }
    #submit-btn { background:var(--gold); color:var(--ink); border:none; padding:13px 36px; font-family:'DM Sans',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .15s; white-space:nowrap; }
    #submit-btn:hover { background:var(--gold2); transform:translateY(-1px); }
    #submit-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }
    #form-success { display:none; background:var(--ink3); border:1px solid var(--line); padding:4rem 2.5rem; text-align:center; }
    .success-icon { width:68px; height:68px; border:1px solid var(--gold); background:var(--gold3); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; }
    #form-success h3 { font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--white); margin-bottom:.5rem; }
    #form-success p { color:rgba(255,255,255,.55); font-size:.84rem; line-height:1.75; }

    /* ── FOOTER ───────────────────────────────────────── */
    footer { background:#030507; color:rgba(255,255,255,.45); padding:5rem 4rem 3rem; border-top:1px solid var(--line); }
    .footer-inner { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:4rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.05); }
    .footer-brand p { font-size:.78rem; line-height:1.85; margin-top:1.2rem; max-width:320px; }
    .footer-contact-item { display:flex; align-items:center; gap:9px; font-size:.76rem; margin-top:.7rem; }
    .footer-contact-item svg { width:13px; height:13px; color:var(--gold); min-width:13px; }
    .footer-contact-item a { color:rgba(255,255,255,.45); text-decoration:none; transition:color .2s; }
    .footer-contact-item a:hover { color:var(--gold2); }
    .footer-col h4 { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:600; color:var(--white); margin-bottom:1.2rem; letter-spacing:1px; }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
    .footer-col ul li a { color:rgba(255,255,255,.4); text-decoration:none; font-size:.74rem; transition:color .2s; }
    .footer-col ul li a:hover { color:var(--gold2); }
    .footer-bottom { max-width:1140px; margin:2rem auto 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
    .footer-bottom p { font-size:.68rem; }
    .footer-badge { font-size:.6rem; letter-spacing:2px; text-transform:uppercase; border:1px solid rgba(201,162,39,.3); color:rgba(201,162,39,.7); padding:5px 14px; }

    /* ── WHATSAPP FLOAT ───────────────────────────────── */
    .wsp-btn {
      position:fixed; bottom:28px; right:28px; z-index:999;
      width:58px; height:58px; border-radius:50%;
      background:#25d366; color:#fff;
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 4px 24px rgba(37,211,102,.4);
      text-decoration:none;
      transition:transform .2s, box-shadow .2s;
      animation:wsp-pulse 3s ease-in-out infinite;
    }
    .wsp-btn:hover { transform:scale(1.1); box-shadow:0 6px 32px rgba(37,211,102,.55); animation:none; }
    .wsp-btn svg { width:30px; height:30px; fill:#fff; }
    .wsp-tooltip {
      position:absolute; right:70px; top:50%; transform:translateY(-50%);
      background:rgba(6,8,15,.92); color:#fff; font-size:.68rem; font-weight:600;
      letter-spacing:.5px; padding:6px 12px; white-space:nowrap;
      pointer-events:none; opacity:0; transition:opacity .2s;
    }
    .wsp-btn:hover .wsp-tooltip { opacity:1; }
    @keyframes wsp-pulse {
      0%,100% { box-shadow:0 4px 24px rgba(37,211,102,.4); }
      50% { box-shadow:0 4px 32px rgba(37,211,102,.7), 0 0 0 8px rgba(37,211,102,.1); }
    }

    /* ── SCROLLBAR ────────────────────────────────────── */
    ::-webkit-scrollbar { width:5px; }
    ::-webkit-scrollbar-track { background:var(--ink); }
    ::-webkit-scrollbar-thumb { background:var(--gold); }

    /* ── KEYFRAMES ────────────────────────────────────── */
    @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
    @keyframes fadeIn { from{opacity:0} to{opacity:1} }

    /* ── RESPONSIVE ───────────────────────────────────── */
    @media (max-width:960px){
      nav { padding:0 1.5rem; }
      .nav-links { display:none; }
      .nav-links.open { display:flex; flex-direction:column; position:fixed; top:70px; left:0; right:0; background:rgba(6,8,15,.98); padding:1.5rem; gap:0; border-top:1px solid var(--line); }
      .nav-links.open a { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:.8rem; }
      .hamburger { display:flex; }
      .section-wrap { padding:70px 1.5rem; }
      .hero { padding:120px 1.5rem 0; }
      .about-layout { grid-template-columns:1fr; gap:3rem; }
      .areas-grid { grid-template-columns:1fr; }
      .testimonios-grid { grid-template-columns:1fr; }
      .proceso-steps { grid-template-columns:1fr 1fr; gap:2.5rem; margin-top:2.5rem; }
      .proceso-line { display:none; }
      .cta-band { padding:2rem 1.5rem; }
      .form-grid { grid-template-columns:1fr; }
      .form-group.span2 { grid-column:span 1; }
      .form-body { padding:1.5rem; }
      .form-footer { flex-direction:column; align-items:stretch; }
      .footer-inner { grid-template-columns:1fr; gap:2rem; }
      footer { padding:3rem 1.5rem 2rem; }
    }
    @media (max-width:580px){
      .hero-stats { flex-direction:column; }
      .hero-stat { border-right:none; border-bottom:1px solid var(--line); max-width:100%; }
      .proceso-steps { grid-template-columns:1fr; }
      .wsp-btn { bottom:20px; right:20px; width:52px; height:52px; }
    }
