*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body),sans-serif;background:var(--s);color:var(--p);overflow-x:hidden;margin:0}
h1,h2,h3,.fd{font-family:var(--font-heading),sans-serif}

.rv{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.rv.s1{transition-delay:.12s}.rv.s2{transition-delay:.24s}.rv.s3{transition-delay:.36s}
.rv.on{opacity:1;transform:none}

.btn-c{position:relative;overflow:hidden;background:var(--a);transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center}
.btn-c::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-120%);transition:transform .5s}
.btn-c:hover::before{transform:translateX(120%)}
.btn-c:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(var(--a-rgb),.45)}

.ch{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.ch:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(var(--p-rgb),.13)}

.al{position:relative}
.al::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--a);transition:width .3s}
.al:hover::after{width:100%}

/* Service row alternating */
.sr-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* Stats banner */
.stat-big{font-family:var(--font-heading),sans-serif;font-size:clamp(42px,5.5vw,72px);font-weight:700;color:var(--a);line-height:1}

/* Testimonial stacked */
.t-left{border-left:3px solid var(--a)}

#nav{transition:background .3s,box-shadow .3s}
#nav.sc{background:var(--p)!important;box-shadow:0 2px 20px rgba(0,0,0,.25)}

#mmenu{transform:translateX(100%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .3s}
#mmenu.op{transform:translateX(0);opacity:1;pointer-events:all}

input:focus,select:focus,textarea:focus{outline:2px solid var(--a);outline-offset:1px}
