:root{
  --ink:#0A3A66;
  --primary:#1AA74D;
  --primary-dark:#168D41;
  --secondary:#F06821;
  --secondary-dark:#D8560F;
  --tint-orange:#FDEEE3;
  --tint-blue:#E4F7EA;
  --bg:#FFFFFF;
  --bg-soft:#F6F7FA;
  --surface:#FFFFFF;
  --border:#E6E9EE;
  --text:#1B2430;
  --text-muted:#5B6472;
  --shadow: 0 1px 2px rgba(10,58,102,.04), 0 8px 24px rgba(10,58,102,.06);
  --shadow-lg: 0 12px 32px rgba(10,58,102,.14);
  --radius:16px;
  --pattern-soft: url("images/pattern-soft-site-q.png");
  --pattern: url("images/pattern-hero-footer-q.png");
  color-scheme: light;
}

*{box-sizing:border-box;}
body{background:var(--bg) var(--pattern-soft) top center/560px repeat; color:var(--text); font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.display{font-family:'Manrope',system-ui,sans-serif; font-weight:800; color:var(--text); text-wrap:balance; line-height:1.12; margin:0;}
h1.on-dark,h2.on-dark,h3.on-dark{color:#fff;}
p{margin:0; color:var(--text-muted); line-height:1.6;}
a{color:inherit;}
.wrap{max-width:1160px; margin:0 auto; padding-inline:20px;}
img{max-width:100%; display:block;}
[hidden]{display:none !important;}
::selection{background:var(--primary); color:#fff;}

.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:'Manrope',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--primary);}
.eyebrow::before{content:""; width:16px; height:2px; background:var(--primary); border-radius:2px;}
.eyebrow.on-dark{color:#FFB088;}

.h1{font-size:clamp(30px,4.4vw,46px);}
.h2{font-size:clamp(24px,3.2vw,32px);}
.h3{font-size:16.5px;}
.lead{font-size:16.5px; color:var(--text-muted);}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:'Manrope',sans-serif; font-weight:700; font-size:14.5px; padding:13px 24px; border-radius:100px; border:1px solid transparent; cursor:pointer; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--primary); color:#fff; box-shadow:0 6px 18px rgba(26,167,77,.28);}
.btn-primary:hover{background:var(--primary-dark); box-shadow:0 10px 26px rgba(26,167,77,.38); transform:translateY(-2px);}
.btn-secondary{background:transparent; color:var(--text); border-color:var(--border);}
.btn-secondary:hover{border-color:var(--primary); color:var(--primary); transform:translateY(-2px);}
.hero-inicio .btn-secondary{border-color:var(--ink); color:var(--ink);}
.hero-inicio .btn-secondary:hover{background:rgba(10,58,102,.08); border-color:var(--ink); color:var(--ink);}
.btn-onDark{background:#fff; color:var(--ink);}
.btn-onDark:hover{background:var(--tint-orange); transform:translateY(-2px);}
.btn-sm{padding:9px 16px; font-size:13px;}

.tag{display:inline-flex; align-items:center; font-family:'Manrope',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:100px;}
.tag-patrimoniales{background:var(--tint-orange); color:var(--secondary);}
.tag-mascotas{background:#DBFBE5; color:#031287;}
.tag-salud{background:#EFEAFB; color:#7C5CD6;}
.tag-odontologia{background:#EFEAFB; color:#7C5CD6;}
.tag-sepelio{background:var(--tint-orange); color:var(--secondary);}
.tag-vida{background:#DEF8FC; color:#057E8E;}
.tag-grupo{background:#F9D6D8; color:#EE4852;}

.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:transparent;}
.icon-box{width:42px; height:42px; border-radius:11px; background:var(--tint-blue); display:flex; align-items:center; justify-content:center; flex:none;}
.icon-box img{width:22px; height:22px; object-fit:contain;}

/* ---------- header ---------- */
header.site-header{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px;}
.brand{display:flex; align-items:center; gap:2px;}
.brand img{height:34px; width:auto;}
nav.main-nav{display:flex; align-items:center; gap:28px;}
nav.main-nav a{font-family:'Manrope',sans-serif; font-weight:600; font-size:14px; color:var(--text-muted); text-decoration:none; position:relative; padding-block:4px; transition:color .18s ease;}
nav.main-nav a::after{content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--primary); border-radius:2px; transition:right .22s ease;}
nav.main-nav a:hover{color:var(--text);}
nav.main-nav a.active{color:var(--text);}
nav.main-nav a.active::after{right:0;}
.header-cta{display:flex; align-items:center; gap:14px;}
.nav-toggle{display:none; background:none; border:1px solid var(--border); border-radius:10px; width:40px; height:40px; align-items:center; justify-content:center; cursor:pointer;}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:""; display:block; width:18px; height:2px; background:var(--text); position:relative; transition:.2s;}
.nav-toggle span::before{position:absolute; top:-6px;} .nav-toggle span::after{position:absolute; top:6px;}

@media (max-width:860px){
  nav.main-nav{position:fixed; inset:64px 0 0 0; background:var(--bg); flex-direction:column; align-items:flex-start; padding:24px 20px; gap:4px; transform:translateY(-8px); opacity:0; pointer-events:none; transition:.2s ease;}
  nav.main-nav a{width:100%; padding:14px 4px; border-bottom:1px solid var(--border); font-size:16px;}
  body.nav-open nav.main-nav{transform:translateY(0); opacity:1; pointer-events:auto;}
  .nav-toggle{display:flex;}
  .header-cta .btn-primary{padding:10px 16px; font-size:13px;}
}

/* ---------- hero dark band ---------- */
.hero-band{position:relative; background:var(--ink); overflow:hidden; padding-block:56px 60px;}
.hero-band::before{content:""; position:absolute; inset:0; background-image:var(--pattern); background-repeat:no-repeat; background-size:100% auto; background-position:top center; opacity:.6;}
.hero-band .wrap{position:relative;}
.hero-band .lead{color:#B7C0CC; max-width:640px; margin-top:14px;}
.hero-band .lead + .lead{margin-top:6px;}
section.page[data-page="realty"] .hero-band{
  background-image: linear-gradient(rgba(11,58,31,.82), rgba(11,58,31,.82)), url("images/photo-realty-hero-web.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
section.page[data-page="realty"] .hero-band::before{opacity:.25;}

/* ---------- inicio hero ---------- */
.hero-inicio{background:linear-gradient(180deg,#ABDBBC 0%, #ABD7BB 45%, #A1D1B2 100%); position:relative; overflow:hidden;}
.hero-bg-photo{position:absolute; inset:0; z-index:0;}
.hero-bg-photo img{width:100%; height:100%; object-fit:cover; object-position:center 42%;}
.hero-bg-tint{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, #A3D6B8 0%, #A3D6B8 46%, rgba(163,214,184,.86) 72%, rgba(163,214,184,.7) 100%); opacity:.86;}
.hero-inicio::before{content:""; position:absolute; inset:0; background-image:var(--pattern); background-repeat:no-repeat; background-size:100% auto; background-position:top center; opacity:.22; mix-blend-mode:multiply; z-index:2;}
.hero-inicio-inner{position:relative; z-index:3; padding-block:64px 56px;}
.hero-inicio .eyebrow{color:#0B7A33;}
.hero-inicio .eyebrow::before{background:#0B7A33;}
.hero-inicio h1{color:var(--ink);}
.hero-inicio .lead{color:#3A2114; max-width:560px; margin-top:16px;}
.hero-inicio .cta-row{display:flex; gap:14px; margin-top:26px; flex-wrap:wrap;}

@media (max-width:860px){
  .hero-inicio-inner{padding-block:40px;}
  .hero-bg-tint{opacity:.93;}
  .hero-bg-photo img{object-position:center 38%;}
}

/* ---------- stats bar ---------- */
.stats-bar{background:var(--ink);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-block:34px;}
.stat b{display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:26px; color:#fff;}
.stat span{display:block; font-size:13px; color:#9BA7B6; margin-top:4px;}
@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- section header row ---------- */
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; flex-wrap:wrap;}
.section-head .h2{margin-top:8px;}
.section-link{font-family:'Manrope',sans-serif; font-weight:700; font-size:14px; color:var(--primary); text-decoration:none; white-space:nowrap; display:inline-flex; gap:6px; align-items:center; transition:gap .18s ease;}
.section-link:hover{gap:10px;}
section.block{padding-block:64px;}
section.block.soft{background:var(--bg-soft) var(--pattern-soft) top center/560px repeat;}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}}

.pill-row{display:flex; flex-wrap:wrap; gap:12px;}
.pill{display:inline-flex; align-items:center; gap:8px; background:var(--tint-blue); color:var(--primary); font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; padding:10px 18px; border-radius:100px;}

/* ---------- marquee ---------- */
.marquee{background:var(--bg-soft); border-radius:20px; padding-block:30px; overflow:hidden; position:relative;}
.marquee::before,.marquee::after{content:""; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;}
.marquee::before{left:0; background:linear-gradient(90deg,var(--bg-soft),transparent);}
.marquee::after{right:0; background:linear-gradient(270deg,var(--bg-soft),transparent);}
.marquee-track{display:flex; align-items:center; gap:56px; width:max-content; animation:scrollX 32s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{height:45px; width:auto; max-width:none; object-fit:contain; opacity:.88; transition:opacity .2s ease;}
.marquee-track img:hover{opacity:1;}
@keyframes scrollX{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }

/* ---------- dark cta band ---------- */
.cta-band{background:var(--ink); position:relative; overflow:hidden; padding-block:64px; text-align:center;}
.cta-band::before{content:""; position:absolute; inset:0; background-image:var(--pattern); background-repeat:no-repeat; background-size:100% auto; background-position:top center; opacity:.6;}
.cta-band .inner{position:relative;}
.cta-band h2{color:#fff; font-size:clamp(22px,3vw,30px); max-width:680px; margin-inline:auto;}
.cta-band p{color:#AEB8C4; max-width:560px; margin:14px auto 0;}
.cta-band .btn{margin-top:26px;}

/* ---------- footer ---------- */
footer.site-footer{position:relative; background:var(--ink); overflow:hidden; padding-block:40px;}
footer.site-footer::before{content:""; position:absolute; inset:0; background-image:var(--pattern); background-repeat:no-repeat; background-size:100% auto; background-position:top center; opacity:.6;}
footer.site-footer .wrap{position:relative;}
.footer-inner{display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap;}
.footer-inner img{height:30px; margin-bottom:10px;}
.footer-inner .tagline{color:#8C96A3; font-size:13.5px; max-width:320px;}
.footer-contact b{display:block; color:#fff; font-family:'Manrope',sans-serif; font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px;}
.footer-contact div{color:#B7C0CC; font-size:14px; line-height:1.9;}
.footer-label{display:block; color:#8C96A3; font-family:'Manrope',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:2px;}
.footer-legal{position:relative; margin-top:24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:#8C96A3; font-size:12px; line-height:1.7;}
.footer-legal a{color:#B7C0CC;}

/* ---------- product / brand cards ---------- */
.prod-card h3{margin-top:14px; margin-bottom:2px;}
.prod-card p{margin-top:12px; font-size:14.5px;}
.prod-card p b{color:var(--text); font-family:'Manrope',sans-serif; font-weight:700;}
.brand-card{display:flex; flex-direction:column; gap:14px; align-items:flex-start;}
.brand-card .brand-logo{height:70px; width:auto; max-width:none; object-fit:contain; margin-top:2px;}
.brand-card p{font-size:14px;}
.logo-cloud{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:64px; padding:48px 24px;}
.logo-cloud img{height:80px; width:auto; max-width:none; object-fit:contain; opacity:.82; filter:grayscale(.15); transition:opacity .2s ease, filter .2s ease, transform .2s ease;}
@media (max-width:600px){ .logo-cloud{gap:40px; padding:32px 16px;} .logo-cloud img{height:60px; max-width:none;} }
.brand-badge{display:flex; align-items:center; justify-content:center; height:34px; padding:0 14px; margin-top:2px; border-radius:8px; background:var(--tint-orange); color:var(--secondary-dark); font-family:'Manrope',sans-serif; font-weight:800; font-size:14px; letter-spacing:.01em; white-space:nowrap;}
.tag-caucion{background:var(--tint-blue); color:var(--primary-dark);}
.tag-inmobiliaria{background:#FDEEE3; color:var(--secondary-dark);}
.tag-seguros{background:#EAEFF4; color:#4A5A6A;}

/* ---------- cartera vendida ledger ---------- */
.ledger{border-top:1px solid var(--border); margin-top:8px;}
.ledger .row{display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:18px; padding:15px 4px; border-bottom:1px solid var(--border);}
.ledger .row .ic{width:32px; height:32px; border-radius:9px; background:var(--tint-blue); display:flex; align-items:center; justify-content:center; flex:none;}
.ledger .row .ic svg{width:17px; height:17px; stroke:var(--primary); fill:none;}
.ledger .row .name{font-family:'Manrope',sans-serif; font-weight:700; font-size:14.5px; color:var(--text);}
.ledger .row .num{font-family:'Manrope',sans-serif; font-weight:800; font-size:18px; color:var(--primary-dark); text-align:right; white-space:nowrap;}
.ledger .row .num .unit{font-family:'Inter',sans-serif; font-weight:600; font-size:11.5px; color:var(--text-muted); margin-left:6px; text-transform:none;}
@media (max-width:600px){ .ledger .row{grid-template-columns:32px 1fr; grid-template-areas:"ic name" "num num"; row-gap:4px;} .ledger .row .ic{grid-area:ic;} .ledger .row .name{grid-area:name;} .ledger .row .num{grid-area:num; text-align:left;} }
.ledger .row .ic.ic-alt{background:var(--tint-orange);}
.ledger .row .ic.ic-alt svg{stroke:var(--secondary-dark);}
.soft-divider{height:1px; background:var(--border); border:none; margin:40px 0 28px;}

.step-card{position:relative;}
.step-num{font-family:'Manrope',sans-serif; font-weight:800; color:var(--primary); font-size:13px;}

/* ---------- 5-step circuit ---------- */
.flow{position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:0;}
.flow .track{position:absolute; top:36px; left:calc(100%/10); right:calc(100%/10); height:2px; background:repeating-linear-gradient(90deg, var(--primary) 0 10px, transparent 10px 18px); z-index:0;}
.flow-step{position:relative; z-index:1; padding:0 14px;}
.flow-step:first-child{padding-left:0;}
.flow-step:last-child{padding-right:0;}
.flow-icon{width:64px; height:64px; border-radius:50%; background:var(--tint-blue); border:1px solid #C9EAD3; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.flow-icon svg{width:26px; height:26px; stroke:var(--primary); fill:none;}
.flow-icon.tint-orange{background:var(--tint-orange); border-color:#F7DAC9;}
.flow-icon.tint-orange svg{stroke:var(--secondary-dark);}
.flow-step .step-num{display:block; margin-bottom:6px; letter-spacing:.04em;}
.flow-step h3{font-size:15.5px; margin:0 0 8px;}
.flow-step p{font-size:13px; line-height:1.55; margin:0;}
.flow-arrow{position:absolute; top:26px; width:18px; height:18px; z-index:2;}
.flow-arrow svg{width:100%; height:100%;}
.flow-arrow-1{left:calc(20% - 9px);} .flow-arrow-2{left:calc(40% - 9px);} .flow-arrow-3{left:calc(60% - 9px);} .flow-arrow-4{left:calc(80% - 9px);}
@media (max-width:860px){
  .flow{grid-template-columns:repeat(2,1fr); gap:28px 18px;}
  .flow .track, .flow-arrow{display:none;}
  .flow-step{padding:0 !important;}
}
@media (max-width:600px){ .flow{grid-template-columns:1fr;} }

.split{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
.split img{border-radius:18px;}
@media (max-width:860px){.split{grid-template-columns:1fr;}}

.figure-photo{border-radius:20px; overflow:hidden; margin-top:44px;}
.figure-photo img{width:100%; object-fit:cover;}
.figure-full{width:100%; display:block; aspect-ratio:1100/656; max-height:900px; object-fit:cover; object-position:center bottom;}
@media (max-width:700px){ .figure-full{max-height:520px;} }

/* ---------- form ---------- */
.contact-wrap{position:relative;}
.contact-bg{position:absolute; inset:0; z-index:0;}
.contact-bg img{width:100%; height:100%; object-fit:cover; object-position:center right;}
.contact-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 45%, transparent) 18%, transparent 34%);}
.contact-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:36px; padding-block:56px;}
.form-card{background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-lg); border-radius:20px; padding:34px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field label{font-family:'Manrope',sans-serif; font-weight:600; font-size:13px; color:var(--text);}
.field input, .field textarea, .field select{border:1px solid var(--border); background:var(--bg); color:var(--text); border-radius:10px; padding:12px 14px; font-family:'Inter',sans-serif; font-size:14.5px; transition:border-color .18s ease, box-shadow .18s ease;}
.field input:focus, .field textarea:focus, .field select:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(26,167,77,.12);}
.field textarea{resize:vertical; min-height:110px;}
.field select{appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:38px; cursor:pointer;}
.field select:invalid{color:var(--text-muted);}
.form-msg{margin-top:16px; font-size:14px; font-weight:600; color:#0F9D74; display:none;}
.form-msg.show{display:block;}
.info-card{align-self:end; background:rgba(20,32,46,.82); backdrop-filter:blur(6px); border-radius:18px; padding:28px; color:#fff;}
.info-card img{height:28px; margin-bottom:14px;}
.info-card .tagline{color:#C4CCD6; font-size:13px; margin-bottom:18px;}
.info-card dl{margin:0; display:grid; gap:10px; font-size:14px;}
.info-card dt{font-family:'Manrope',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:#8C96A3;}
.info-card dd{margin:0; color:#EAEFF4;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;} .contact-bg::after{background:linear-gradient(180deg, var(--bg) 22%, color-mix(in srgb, var(--bg) 30%, transparent) 38%, transparent 60%);}}

/* ---------- reveal / entrance animation ---------- */
.reveal{opacity:1;}
@keyframes riseIn{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);} }
.page.is-active .reveal{animation:riseIn .55s cubic-bezier(.22,.8,.36,1) both;}
.page.is-active .reveal:nth-child(1){animation-delay:0ms;}
.page.is-active .reveal:nth-child(2){animation-delay:70ms;}
.page.is-active .reveal:nth-child(3){animation-delay:140ms;}
.page.is-active .grid-3 .card:nth-child(1),.page.is-active .grid-2 .card:nth-child(1),.page.is-active .grid-4 .card:nth-child(1){animation:riseIn .5s ease both; animation-delay:80ms;}
.page.is-active .grid-3 .card:nth-child(2),.page.is-active .grid-2 .card:nth-child(2),.page.is-active .grid-4 .card:nth-child(2){animation:riseIn .5s ease both; animation-delay:140ms;}
.page.is-active .grid-3 .card:nth-child(3),.page.is-active .grid-2 .card:nth-child(3),.page.is-active .grid-4 .card:nth-child(3){animation:riseIn .5s ease both; animation-delay:200ms;}
.page.is-active .grid-3 .card:nth-child(4),.page.is-active .grid-2 .card:nth-child(4),.page.is-active .grid-4 .card:nth-child(4){animation:riseIn .5s ease both; animation-delay:260ms;}
.page.is-active .grid-3 .card:nth-child(5),.page.is-active .grid-2 .card:nth-child(5){animation:riseIn .5s ease both; animation-delay:320ms;}
.page.is-active .grid-3 .card:nth-child(6),.page.is-active .grid-2 .card:nth-child(6){animation:riseIn .5s ease both; animation-delay:380ms;}
.page.is-active .grid-2 .card:nth-child(7){animation:riseIn .5s ease both; animation-delay:440ms;}
.page.is-active .grid-2 .card:nth-child(8){animation:riseIn .5s ease both; animation-delay:500ms;}
.page.is-active .grid-2 .card:nth-child(n+9){animation:riseIn .5s ease both; animation-delay:560ms;}
@media (prefers-reduced-motion: reduce){ .page.is-active .reveal, .page.is-active .card{animation:none !important;} }

.count{font-variant-numeric:tabular-nums;}

/* ---------- WhatsApp floating button ---------- */
.whatsapp-float{
  position:fixed; right:22px; bottom:22px; z-index:999;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.whatsapp-float:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,.32);
}
@media (max-width:600px){ .whatsapp-float{width:52px; height:52px; right:16px; bottom:16px;} }