:root{--font:Arial,Helvetica,sans-serif;--font-display:Arial,Helvetica,sans-serif;--gold:#c8921a;--gold-2:#f0c75e;--bg:#fff;--surface:#f5f4f1;--text-1:#16191f;--text-2:#4d5563;color-scheme:light}
*,*::before,*::after{font-family:Arial,Helvetica,sans-serif!important}
h1,h2,h3{font-weight:700;letter-spacing:-.01em}
.hero-heading h1{font-weight:700;font-size:clamp(2.2rem,5.2vw + .6rem,4.6rem);line-height:1.05;max-width:16ch}
.hero-subtitle{font-weight:400!important;font-size:clamp(1.05rem,1.4vw + .6rem,1.5rem)!important;line-height:1.4;max-width:34ch}
section:nth-of-type(even){background:var(--surface)}
h2::after{content:"";display:block;width:64px;height:4px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--accent))}
.contact-top h2::after,.footer-cta h2::after{margin-inline:auto}
.eyebrow{color:var(--gold);font-weight:700}
.service-card,.trust-grid>article,.step,.faq-item,.contact-form{background:#fff;border:1px solid var(--border);box-shadow:0 14px 34px -22px rgba(20,24,31,.35);transition:transform .35s ease,box-shadow .35s,border-color .35s}
.service-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 22px 44px -22px rgba(200,146,26,.55)}
.service-icon{color:var(--gold);background:rgba(200,146,26,.12)}
.btn-primary{background:linear-gradient(135deg,#f1392e,#c51e16)!important;color:#fff!important}
.btn-ghost{border:2px solid var(--gold)!important;color:#7a5410!important}
.btn-ghost:hover{background:var(--gold);color:#fff!important}
.hero-cta{padding:14px 22px;border-radius:12px;text-decoration:none;color:#fff;font-weight:700;display:inline-flex;gap:10px;align-items:center}
.hero-cta-whatsapp{background:#148c4c}
.zone-tags span{border:1px solid var(--gold);color:#7a5410;background:#fff}
.trust-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.trust-grid>article{padding:26px;border-radius:18px;display:flex;flex-direction:column;gap:8px}
.trust-grid .btn{margin-top:auto;align-self:flex-start}
.photo-duo{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));padding-block:0}
.photo-duo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px;border:3px solid #fff;box-shadow:0 24px 50px -24px rgba(20,24,31,.55),0 0 0 1px var(--gold)}
.about-photo{width:100%;height:auto;border-radius:20px}
img{max-width:100%;height:auto}
.scroll-progress{background:linear-gradient(90deg,var(--gold),var(--accent))!important;height:4px!important}
/* Animaciones al bajar: texto sube y se enfoca, imágenes se descubren suavemente */
.reveal{opacity:0;filter:blur(6px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.16,1,.3,1),filter 1s ease,clip-path 1.3s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*110ms)}
.reveal[data-d=up]{transform:translateY(28px)}
.reveal[data-d=left]{transform:translateX(-28px)}
.reveal[data-d=right]{transform:translateX(28px)}
img.reveal{transform:scale(1.08);clip-path:inset(10% 6% 10% 6% round 20px)}
.reveal.is-visible{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0 round 20px)}
.about-left{overflow:hidden;border-radius:20px}
.about-left .about-photo{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.16,1,.3,1) .1s}
.about-left.is-visible .about-photo{transform:none}
.reveal h2::after,h2.reveal::after{transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.16,1,.3,1) .45s}
.contact-top h2::after,.footer-cta h2::after{transform-origin:center}
.reveal.is-visible h2::after{transform:none}
.step{opacity:0;transform:translateX(-22px);filter:blur(4px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1),filter 1s ease;transition-delay:calc(var(--i,0)*110ms)}
.step.is-visible{opacity:1;transform:none;filter:none}
/* Entrada del inicio */
.hero-heading>*{animation:heroIn 1s cubic-bezier(.16,1,.3,1) both}
.hero-heading>*:nth-child(1){animation-delay:.15s}.hero-heading>*:nth-child(2){animation-delay:.28s}.hero-heading>*:nth-child(3){animation-delay:.41s}.hero-heading>*:nth-child(4){animation-delay:.54s}.hero-heading>*:nth-child(n+5){animation-delay:.67s}
@keyframes heroIn{from{opacity:0;transform:translateY(24px);filter:blur(6px)}}
/* WhatsApp flotante */
.float-ui{position:fixed;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:9999;transform:translateZ(0)}
.wa-fab{position:relative;width:64px;height:64px;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35));border-radius:50%}
.wa-fab::before{content:"";position:absolute;inset:4px;border-radius:50%;border:3px solid rgba(37,211,102,.7);animation:ring 2.4s ease-out infinite;z-index:-1}
.wa-badge{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#e4271c;color:#fff;font:700 12px/22px Arial,sans-serif;text-align:center;border:2px solid #fff;animation:badgeIn .4s cubic-bezier(.34,1.56,.64,1)}
.wa-badge[hidden]{display:none}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(1.5);opacity:0}}
@keyframes badgeIn{from{transform:scale(0)}}
/* Aviso con estilo de notificación de WhatsApp */
.wa-notif{position:fixed;z-index:10000;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 80px);width:min(360px,calc(100vw - 32px));border-radius:18px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);box-shadow:0 24px 50px -16px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.06);color:#111b21;animation:notifIn .6s cubic-bezier(.16,1,.3,1);touch-action:pan-x;transition:transform .3s ease,opacity .3s ease}
.wa-notif[hidden]{display:none}
.wa-notif.is-leaving{opacity:0;transform:translateY(16px) scale(.96)}
.wa-notif-link{display:block;padding:12px 40px 12px 14px;color:inherit;text-decoration:none}
.wa-notif-head{display:flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase;color:#667781}
.wa-notif-head svg{width:18px;height:18px;flex:none}
.wa-notif-head b{color:#111b21;font-weight:700}
.wa-notif-body{display:flex;gap:12px;margin-top:10px;align-items:flex-start}
.wa-notif-body img{width:42px;height:42px;border-radius:50%;flex:none;background:#0a0a0b;object-fit:cover;box-shadow:0 0 0 2px #25d366}
.wa-notif-body div{min-width:0}
.wa-notif-name{display:block;font-size:.95rem;font-weight:700}
.wa-notif-msg{margin:2px 0 0;font-size:.9rem;line-height:1.35;color:#3b4a54}
.wa-notif-msg strong{display:block;color:#111b21}
.wa-typing{display:none;gap:4px;padding:8px 0 4px}
.wa-typing i{width:7px;height:7px;border-radius:50%;background:#25d366;animation:typing 1s infinite ease-in-out}
.wa-typing i:nth-child(2){animation-delay:.15s}.wa-typing i:nth-child(3){animation-delay:.3s}
.wa-notif.is-typing .wa-typing{display:flex}
.wa-notif.is-typing .wa-notif-msg,.wa-notif.is-typing .wa-notif-cta{display:none}
.wa-notif-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;border-radius:999px;background:#25d366;color:#fff;font-size:.85rem;font-weight:700;animation:fadeIn .4s ease}
.wa-notif-link:hover .wa-notif-cta{background:#1ebe5b}
.promo-x{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.06);font-size:1.1rem;line-height:28px;cursor:pointer;color:#54656f}
.promo-x:hover{background:rgba(0,0,0,.12)}
@keyframes notifIn{from{opacity:0;transform:translateY(24px) scale(.94)}}
@keyframes notifDown{from{opacity:0;transform:translateY(-110%)}}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes fadeIn{from{opacity:0}}
@media(max-width:640px){.wa-fab{width:56px;height:56px}.hero-heading h1{max-width:100%}.hero-cta{justify-content:center}
  /* En celular baja desde arriba, como una notificación real */
  .wa-notif{top:max(10px,env(safe-area-inset-top,0px));bottom:auto;left:10px;right:10px;width:auto;animation-name:notifDown}
  .wa-notif.is-leaving{transform:translateY(-120%)}}
@media(prefers-reduced-motion:reduce){.reveal,img.reveal,.step,.about-left .about-photo{opacity:1;transform:none;filter:none;clip-path:none;transition:none}.reveal h2::after,h2.reveal::after{transform:none;transition:none}.hero-heading>*,.wa-notif,.wa-badge,.wa-notif-cta{animation:none}.wa-fab::before,.wa-typing i{animation:none}.hero-media img{transform:none!important}}
