/* ================================================================
   FRICTIVO — static styles
   White bg • Black ink • Electric blue accent • Manrope
   ================================================================ */
:root{
    --brand:#007bff;
    --brand-dark:#0062cc;
    --ink:#0a0a0a;
    --ink-soft:#404040;
    --muted:#737373;
    --line:#e5e5ea;
    --surface:#f9f9fb;
    --surface-2:#f5f5f7;
    --radius:1rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    color:var(--ink);
    background:#fff;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.5;
}
img,svg{display:block;max-height:100%;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--brand);color:#fff}

/* ---------- Layout ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container{padding:0 3rem}}
@media(min-width:1024px){.container{padding:0 4rem}}
.container-tight{max-width:880px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container-tight{padding:0 3rem}}

.section{padding:4rem 0}
@media(min-width:768px){.section{padding:6rem 0}}
.section-soft{background:var(--surface-2)}
.hairline{height:1px;background:linear-gradient(to right,transparent,var(--line) 20%,var(--line) 80%,transparent)}

.section-head{max-width:760px}
.section-head .eyebrow{margin-bottom:1rem}
.section-head .sub{margin-top:1.25rem;font-size:1.125rem;color:var(--ink-soft);max-width:640px;line-height:1.6}

/* ---------- Type ---------- */
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--brand)}
.eyebrow-muted{color:var(--muted)}
.eyebrow-dot{display:inline-block;width:6px;height:6px;background:var(--brand);border-radius:99px;margin-right:.5rem;vertical-align:middle}
.h1{font-size:clamp(2.5rem,7vw,3.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin:2rem 0 0;text-wrap:balance;max-width:1000px}
.h2{font-size:clamp(2rem,4.5vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:1rem 0 0;text-wrap:balance}
.h2-sm{font-size:clamp(1.75rem,3.5vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:1rem 0 0}
.h3{font-size:clamp(1.4rem,2.5vw,1.875rem);font-weight:600;letter-spacing:-.02em;margin:0}
.muted{color:#525252;line-height:1.6}

.lede{font-size:1.125rem;color:var(--ink-soft);margin:1.75rem 0 0;max-width:620px;line-height:1.6}
@media(min-width:640px){.lede{font-size:1.25rem}}

/* ---------- Buttons ---------- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    border-radius:999px;font-weight:600;font-size:.95rem;
    padding:.85rem 1.5rem;border:1px solid transparent;
    transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease;
    white-space:nowrap;
}
.btn-lg{padding:1rem 1.75rem;font-size:1rem}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{box-shadow:0 10px 30px -10px rgba(0,123,255,.45)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.btn-outline{background:#fff;color:var(--ink);border-color:rgba(10,10,10,.15)}
.btn-outline:hover{border-color:rgba(10,10,10,.4)}

.link-btn{background:none;border:0;color:var(--brand);font-weight:600;font-size:.9rem;padding:.5rem 0;text-decoration:underline;text-underline-offset:3px}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease}
.nav.scrolled{background:rgba(255,255,255,.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:4rem}
@media(min-width:768px){.nav-inner{height:5rem}}
.logo{
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
}
.logo img{
    height:28px;
    width:auto;
    display:block;
    object-fit:contain;
}
@media(min-width:768px){.logo img{height:32px}}
.dot{color:var(--brand)}
.nav-links{display:none;gap:2rem}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{display:none}
@media(min-width:768px){.nav-cta{display:inline-flex;padding:.6rem 1.25rem;font-size:.875rem}}
.menu-toggle{display:inline-flex;background:none;border:0;padding:.5rem;color:var(--ink);align-items:center;justify-content:center}
@media(min-width:768px){.menu-toggle{display:none}}
.mobile-menu{display:none;flex-direction:column;gap:1rem;padding:1.5rem;background:#fff;border-top:1px solid var(--line)}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:1rem;font-weight:500}
.mobile-menu .btn{align-self:flex-start;margin-top:.5rem}

/* ---------- HERO ---------- */
.hero{position:relative;padding:8rem 0 6rem;overflow:hidden}
@media(min-width:768px){.hero{padding:10rem 0 8rem}}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-image{position:absolute;inset:0;background:url('./banner1.png') center/cover no-repeat;opacity:0.3}
.hero-wash{position:absolute;inset:0;}
.hero-ctas{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem}
@media(min-width:640px){.hero-ctas{flex-direction:row;gap:1rem}}
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem;margin-top:5rem;max-width:720px}
@media(min-width:768px){.trust{grid-template-columns:repeat(4,1fr)}}
.trust-k{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.trust-v{margin-top:.25rem;font-weight:600;font-size:1rem;color:var(--ink)}

/* ---------- Problem grid ---------- */
.grid{display:grid;gap:1.25rem}
@media(min-width:768px){.grid{gap:1.5rem}}
.grid-2{grid-template-columns:1fr}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-3{grid-template-columns:1fr;margin-top:3.5rem}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}

.card{
    background:var(--surface);
    border:1px solid #eeeef1;
    border-radius:1.5rem;
    padding:1.75rem;
    transition:transform .3s,box-shadow .3s;
}
@media(min-width:768px){.card{padding:2rem}}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 60px -30px rgba(0,0,0,.18)}
.card .ic{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:#fff;border:1px solid var(--line);color:var(--brand);transition:background .2s,color .2s}
.card:hover .ic{background:var(--brand);color:#fff}
.card h3{margin:1.5rem 0 .5rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.card p{margin:0;color:#525252;font-size:.9375rem;line-height:1.6}

/* ---------- Equation ---------- */
.equation{display:flex;flex-direction:column;gap:1.25rem;align-items:stretch;margin-top:4rem}
@media(min-width:1024px){.equation{flex-direction:row;align-items:center;gap:.75rem}}
.factor,.result{flex:1;border-radius:1.5rem;padding:2rem;text-align:center}
.factor{background:#fff;border:1px solid var(--line)}
.factor-icon{margin:0 auto;width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;background:rgba(0,123,255,.1);color:var(--brand)}
.factor-label{margin-top:1.25rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.factor-desc{margin-top:.375rem;font-size:.875rem;color:var(--muted)}
.op{font-size:1.5rem;font-weight:600;color:rgba(10,10,10,.4);text-align:center}
@media(min-width:1024px){.op{font-size:1.75rem}}
.result{background:var(--ink);color:#fff}
.result-eyebrow{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--brand)}
.result-label{margin-top:1rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.result-desc{margin-top:.375rem;font-size:.875rem;color:rgba(255,255,255,.6)}

/* ---------- Product ---------- */
.product{margin-top:4rem;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:1024px){.product{grid-template-columns:1fr 1fr;gap:4rem}}
.product-copy{order:1}
.product-mockup{order:2}
@media(min-width:1024px){.product-copy{order:1}.product-mockup{order:2}}
.product-copy .muted{margin-top:.75rem;max-width:30rem}
.benefits,.wash-benefits{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem}
.wash-benefits{grid-template-columns:1fr;margin-top:2rem}
@media(min-width:640px){.wash-benefits{grid-template-columns:1fr 1fr}}
.benefits li,.wash-benefits li{display:flex;align-items:center;gap:.75rem;font-weight:500;font-size:1rem}
.check{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:99px;color:#fff;font-weight:800;font-size:.75rem;flex:0 0 auto}
.check-blue{background:var(--brand)}
.check-dark{background:var(--ink);width:1.25rem;height:1.25rem;font-size:.65rem}
.wash-benefits li{font-size:.9375rem}

/* ---------- Product mockup ---------- */
.mockup{position:relative;aspect-ratio:4/5;border-radius:2rem;background:linear-gradient(135deg,var(--surface-2),#e9e9ee);border:1px solid var(--line);overflow:hidden}
.mockup-sm{aspect-ratio:1/1;background:#fff}
.badge{position:absolute;top:1.25rem;left:1.25rem;display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.4rem .85rem;font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.badge-dot{width:6px;height:6px;background:var(--brand);border-radius:99px}
.bottle{position:absolute;top:11%;left:50%;transform:translateX(-50%);width:42%;height:78%}
.bottle-sm{width:38%;height:72%;top:14%}
.bottle-body{position:absolute;inset-inline:0;top:14%;bottom:0;border-radius:2.5rem;background:linear-gradient(180deg,#fff,#fff 60%,#f0f0f4);border:1px solid #dcdce2;box-shadow:0 30px 60px -20px rgba(0,0,0,.18)}
.bottle-cap{position:absolute;left:18%;right:18%;top:0;height:18%;border-radius:99px 99px 0 0;background:linear-gradient(180deg,#0a0a0a,#1a1a1a)}
.bottle-cap-sm{left:28%;right:28%;height:10%;border-radius:.375rem .375rem 0 0;background:#0a0a0a}
.bottle-ring{position:absolute;left:18%;right:18%;top:16%;height:3%;background:var(--brand);border-radius:.125rem}
.bottle-label{position:absolute;left:50%;top:42%;transform:translateX(-50%);text-align:center;width:80%}
.label-brand{font-size:.625rem;letter-spacing:.3em;font-weight:700;color:rgba(10,10,10,.8)}
.label-sub{margin-top:.25rem;font-size:.5rem;letter-spacing:.18em;color:var(--muted)}
.label-bar{margin:.75rem auto 0;width:2rem;height:2px;background:var(--brand)}

/* ---------- Wash ---------- */
.wash{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:1024px){.wash{grid-template-columns:5fr 7fr;gap:3rem}}
.wash-copy .h2-sm{margin-top:1rem}
.wash-copy .muted{margin-top:1rem;max-width:32rem}

/* ---------- Form ---------- */
.form-card{
    margin-top:3rem;
    background:#fff;
    border:1px solid var(--line);
    border-radius:1.5rem;
    padding:1.75rem;
    box-shadow:0 30px 80px -40px rgba(0,0,0,.15);
}
@media(min-width:768px){.form-card{padding:3rem}}
.field{display:flex;flex-direction:column;gap:.5rem}
.field>span{font-size:.875rem;font-weight:600;color:var(--ink)}
.field input,.field select{
    Width:100%;height:2.75rem;border:1px solid var(--line);border-radius:.75rem;padding:0 .875rem;
    font-family:inherit;font-size:.95rem;background:#fff;color:var(--ink);
    transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,123,255,.15)}
.field.invalid input,.field.invalid select{border-color:#dc2626}
.err{display:none;font-style:normal;font-size:.75rem;color:#dc2626}
.field.invalid .err,.question.invalid .err{display:block}

.question{margin-top:2rem}
.q-label{font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.75rem}
@media(min-width:768px){.q-label{font-size:1.125rem}}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pills button{
    padding:.6rem 1rem;border:1px solid var(--line);background:#fff;
    border-radius:99px;font-size:.875rem;font-weight:600;color:var(--ink);
    transition:all .2s;
}
.pills button:hover{border-color:rgba(10,10,10,.4)}
.pills button.active{background:var(--ink);color:#fff;border-color:var(--ink)}

.form-footer{margin-top:3rem;display:flex;flex-direction:column-reverse;gap:1rem}
@media(min-width:640px){.form-footer{flex-direction:row;align-items:center;justify-content:space-between}}
.form-note{font-size:.875rem;color:var(--muted);max-width:24rem;margin:0}

/* ---------- Success ---------- */
.success-card{
    margin-top:3rem;background:#fff;border:1px solid var(--line);border-radius:1.5rem;
    padding:2.5rem;text-align:center;box-shadow:0 30px 80px -40px rgba(0,0,0,.18);
    animation:successIn .5s cubic-bezier(.16,1,.3,1) both;
}
@keyframes successIn{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}
@media(min-width:768px){.success-card{padding:3.5rem}}
.success-check{
    margin:0 auto;width:5rem;height:5rem;border-radius:50%;
    background:linear-gradient(135deg,#e8f5e9,#c8e6c9);
    color:#2e7d32;display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 0 8px rgba(46,125,50,.08);
}
.count-badge{
    display:inline-flex;flex-direction:column;align-items:center;
    margin:1.5rem auto 0;background:var(--ink);color:#fff;
    border-radius:1.25rem;padding:1rem 2rem;
    animation:badgePop .4s cubic-bezier(.34,1.56,.64,1) .15s both;
}
@keyframes badgePop{
    from{opacity:0;transform:scale(.8)}
    to{opacity:1;transform:scale(1)}
}
.count-label{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.55)}
.count-num{font-size:2rem;font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-top:.2rem;color:#fff}
.success-card .h3{margin-top:1.75rem}
.success-card .muted{margin:.75rem auto 0;max-width:28rem}
.success-note{margin:1.25rem auto 0;max-width:26rem;font-size:.9rem;color:var(--muted);line-height:1.6}
.btn-wa{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    margin-top:1.5rem;background:#25D366;color:#fff;
    border-radius:999px;font-weight:600;font-size:.9rem;
    padding:.75rem 1.5rem;border:none;text-decoration:none;
    transition:transform .2s,box-shadow .2s;
}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.4)}
.btn-wa svg{display:inline;flex-shrink:0}
.success-card .link-btn{display:block;margin-top:1.25rem}
.hidden{display:none!important}

/* ---------- Closed Card ---------- */
.closed-card {
    margin-top: 3rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 1.5rem;
    padding: 2.5rem;
    text-align: center;
    box-shadow: 0 30px 80px -40px rgba(0,0,0,0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}
@media(min-width:768px){
    .closed-card {
        padding: 4rem 3rem;
    }
}
.closed-icon {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: #fef2f2;
    color: #dc2626;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 8px rgba(220, 38, 38, 0.05);
    margin-bottom: 0.5rem;
}
.closed-badge {
    position: static;
    margin-bottom: 0.5rem;
    border-color: #fca5a5;
    color: #dc2626;
    background: #fef2f2;
}
.closed-badge .badge-dot {
    background: #dc2626;
}
.closed-card .h3 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
}
.closed-card .lead-text {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--ink-soft);
    margin: 0;
}
.closed-card .divider {
    width: 3rem;
    height: 2px;
    background: var(--line);
    margin: 0.5rem 0;
}
.closed-card .muted-text {
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
    max-width: 32rem;
}
.missed-box {
    margin-top: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 1rem;
    padding: 1.5rem;
    width: 100%;
    max-width: 32rem;
    text-align: center;
}
.missed-box h4 {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--ink);
}
.missed-box p {
    font-size: 0.95rem;
    color: var(--ink-soft);
    margin: 0 0 0.5rem;
}
.missed-box .thanks-note {
    font-size: 0.9rem;
    color: var(--muted);
    font-style: italic;
    margin: 0;
}
.closed-card .tagline {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    padding: 0.5rem 1rem;
    border: 1px solid var(--line);
    border-radius: 99px;
    background: #fff;
}

/* ---------- Story ---------- */
.story{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.65;color:#262626}
@media(min-width:768px){.story{font-size:1.25rem}}
.story-bold{font-weight:600;color:var(--ink)}

/* ---------- FAQ ---------- */
.faq{margin-top:2.5rem}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;
    width:100%;background:none;border:0;padding:1.5rem 0;
    font-family:inherit;font-size:1.125rem;font-weight:600;text-align:left;color:var(--ink);
}
@media(min-width:768px){.faq-q{font-size:1.25rem}}
.faq-icon{display:inline-flex;width:1.25rem;height:1.25rem;flex:0 0 auto;transition:transform .25s}
.faq-item.open .faq-icon{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--ink-soft);font-size:1rem;line-height:1.65}
.faq-a-inner{padding:0 0 1.5rem}

/* ---------- Footer ---------- */
.footer{background:#fff;border-top:1px solid var(--line);padding-top:5rem;padding-bottom:2.5rem}
.footer-top{display:grid;grid-template-columns:1fr;gap:2rem;align-items:end}
@media(min-width:768px){.footer-top{grid-template-columns:7fr 5fr}}
.footer-tag{margin-top:.5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}
@media(min-width:768px){.footer-tag{font-size:2.25rem}}
.socials{display:flex;gap:.75rem}
@media(min-width:768px){.socials{justify-content:flex-end}}
.socials a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:99px;border:1px solid var(--line);color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.socials a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.wordmark{margin-top:4rem;overflow:hidden}
.wordmark-logo{
    display:inline-block;
    line-height:0;
}
.wordmark-logo img{
    height:auto;
    max-width:100%;
    display:block;
    object-fit:contain;
    opacity:0.88;
    transition:opacity .2s;
}
.wordmark-logo:hover img{opacity:1}

.footer-bottom{margin-top:2.5rem;display:flex;flex-direction:column;gap:.75rem;justify-content:space-between;font-size:.875rem;color:var(--muted)}
@media(min-width:768px){.footer-bottom{flex-direction:row}}
.footer-links{display:flex;gap:1.5rem}
.footer-links a:hover{color:var(--ink)}

/* ---------- Toast ---------- */
.toast{
    position:fixed;top:1.5rem;left:50%;transform:translate(-50%,-150%);
    background:var(--ink);color:#fff;padding:.85rem 1.25rem;border-radius:.75rem;
    font-size:.9rem;font-weight:600;box-shadow:0 20px 40px -10px rgba(0,0,0,.3);
    transition:transform .35s ease;z-index:100;max-width:90vw;
}
.toast.show{transform:translate(-50%,0)}
.toast.error{background:#dc2626}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ---------- WhatsApp Float ---------- */
.wa-float{
    position:fixed;
    bottom:1.75rem;
    right:1.75rem;
    z-index:200;
    display:flex;
    align-items:center;
    gap:.65rem;
    text-decoration:none;
    animation:waSlideIn .5s cubic-bezier(.16,1,.3,1) .8s both;
}
@keyframes waSlideIn{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}

.wa-tooltip{
    background:var(--ink);
    color:#fff;
    font-size:.8rem;
    font-weight:600;
    white-space:nowrap;
    padding:.45rem .85rem;
    border-radius:99px;
    pointer-events:none;
    opacity:0;
    transform:translateX(6px);
    transition:opacity .2s ease,transform .2s ease;
    box-shadow:0 4px 20px rgba(0,0,0,.18);
}

.wa-float:hover .wa-tooltip{
    opacity:1;
    transform:translateX(0);
}

.wa-btn{
    width:3.5rem;
    height:3.5rem;
    border-radius:50%;
    background:#25D366;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 6px 24px rgba(37,211,102,.45);
    transition:transform .25s ease,box-shadow .25s ease;
    flex-shrink:0;
    position:relative;
}

.wa-btn::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:50%;
    background:#25D366;
    opacity:.35;
    animation:waPulse 2.2s ease-out infinite;
}
@keyframes waPulse{
    0%{transform:scale(1);opacity:.35}
    70%{transform:scale(1.65);opacity:0}
    100%{transform:scale(1.65);opacity:0}
}

.wa-float:hover .wa-btn{
    transform:scale(1.1);
    box-shadow:0 10px 32px rgba(37,211,102,.55);
}

.wa-btn svg{
    width:1.75rem;
    height:1.75rem;
    fill:#fff;
    position:relative;
    z-index:1;
}

@media(max-width:480px){
    .wa-float{bottom:1.25rem;right:1.25rem}
    .wa-tooltip{display:none}
}
