*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--focus,#f90);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:#fff;color:#000;padding:12px 16px;z-index:100;font-weight:700}
.skip:focus{top:8px}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:700;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.ic{width:40px;height:40px;flex:none}
.ic svg,.btn svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn svg{width:20px;height:20px}
/* before/after */
.ba{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;--p:50%;background:#222;touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-before img{filter:grayscale(.9) contrast(.8) brightness(.72) sepia(.25)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);pointer-events:none}
.ba-line::after{content:"\2194";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:20px;font-weight:700}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba:focus-within{outline:3px solid var(--focus,#f90);outline-offset:3px}
.ba-tag{position:absolute;top:12px;padding:6px 12px;background:rgba(0,0,0,.78);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.ba-tag.b{left:12px}.ba-tag.a{right:12px}
/* forms */
.qform label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.qform input,.qform select{width:100%;min-height:48px;padding:0 14px;font:inherit;border:2px solid currentColor;background:#fff;color:#111;border-radius:0}
.qform .row{margin-bottom:14px}
.qnote{margin-top:12px;font-weight:600}
.fine{font-size:.8rem;opacity:.85;margin-top:12px;line-height:1.5}
/* marquee */
.marquee{overflow:hidden;white-space:nowrap}
.marquee>div{display:inline-flex;animation:mq 28s linear infinite}
.marquee span{padding:0 28px}
@keyframes mq{to{transform:translateX(-50%)}}
/* sticky cta + whatsapp */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;grid-template-columns:repeat(3,1fr);box-shadow:0 -4px 18px rgba(0,0,0,.25)}
.cta-bar a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:56px;font-weight:800;text-decoration:none;font-size:.95rem}
.cta-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wa{position:fixed;right:14px;bottom:78px;z-index:61;width:56px;height:56px;border-radius:50%;background:#1a7f43;color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.35);text-decoration:none}
.wa svg{width:30px;height:30px;fill:currentColor}
@media(max-width:820px){.cta-bar{display:grid}body{padding-bottom:56px}}
@media(min-width:821px){.wa{bottom:20px}}
/* map */
.map{position:relative;min-height:280px;display:grid;place-items:center;text-align:center;padding:24px;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(128,128,128,.25) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(128,128,128,.25) 39px 40px)}
.map b{display:block;font-size:1.2rem}
.pin{width:44px;height:44px;margin:0 auto 10px}
.pin svg{width:100%;height:100%;fill:currentColor}
.nav-toggle{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
