/* Base: variables, reset, buttons, animations */
:root{--g:#0b5d4b;--gd:#074437;--gl:#e9f1ec;--cream:#f6f4ee;--ink:#1d2b26;--mut:#6b7a74;--gold:#d9a21b;--r:6px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden;line-height:1.5}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
h1,h2,h3,.serif{font-family:'Playfair Display',serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#fff;border:0;padding:12px 24px;font:500 13px 'Poppins';letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border-radius:3px;transition:.3s}
.btn:hover{background:var(--gd);transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,93,75,.3)}
.btn svg{transition:.3s}
.btn:hover svg{transform:translateX(4px)}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.img-fb{background:linear-gradient(135deg,#bcd6c8,#7fa894)}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .3s,color .3s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,letter-spacing .3s}
.btn::after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg)}
.btn:hover::after{left:130%;transition:left .7s ease}
.btn:hover{letter-spacing:1.8px;box-shadow:0 10px 22px rgba(11,93,75,.35)}
.btn:active{transform:translateY(0) scale(.96);box-shadow:none}
.btn:focus-visible,.arr:focus-visible,.join button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sway{50%{transform:rotate(14deg) translateY(-2px)}}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes float{50%{transform:translateY(-10px)}}
.js .rv-in{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}
.js .rv-in.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.js .rv-in{opacity:1;transform:none}
}
