:root{
  --red:#d63a2f;
  --red-dark:#b82c23;
  --pink:#fce4e4;
  --pink-deep:#f8d0cf;
  --ink:#3a1512;
  --white:#fff;
  --radius:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:var(--pink);color:var(--ink);line-height:1.6;font-size:17px}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:min(1180px,92%);margin-inline:auto}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--red);color:var(--white);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 4px 18px rgba(90,20,15,.35)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.75rem}
.brand-logo{height:46px;width:auto}
.brand-name{font-weight:700;font-size:1.15rem;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:1.6rem;font-weight:500}
.nav a:not(.btn){padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:not(.btn):hover,.nav a.active{border-bottom-color:var(--white)}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem}
.menu-toggle span{display:block;width:26px;height:3px;background:var(--white);margin:5px 0;border-radius:2px;transition:.25s}

/* Buttons */
.btn{display:inline-block;font:600 1rem 'Outfit',sans-serif;padding:.7rem 1.4rem;border-radius:var(--radius);border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s}
.btn-light{background:var(--white);color:var(--red)}
.btn-light:hover{background:var(--pink)}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-dark)}

/* Sections */
.section{padding-block:4rem}
.section-tint{background:var(--pink-deep)}
.section-title{font-size:clamp(1.6rem,3.5vw,2.3rem);font-weight:700;color:var(--red);margin-bottom:1.5rem}
.section p{margin-bottom:1rem;max-width:60ch}

/* Video */
.video-frame{border-radius:14px;overflow:hidden;background:#000;box-shadow:0 12px 32px rgba(120,30,25,.28);aspect-ratio:16/9}
.video-frame video{width:100%;height:100%;object-fit:cover}

/* Banner */
.hero{position:relative;display:flex;align-items:center;background-size:cover;background-position:center;background-color:var(--red-dark)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(150,25,18,.88) 0%,rgba(214,58,47,.55) 55%,rgba(214,58,47,.15) 100%)}
.hero-content{position:relative;color:var(--white);padding-block:4rem}
.hero-short{min-height:320px}
.hero-short h2{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.1;max-width:16ch;margin-bottom:.8rem}
.hero-short p{margin-bottom:1.4rem}
.hero-short .btn-red{background:var(--white);color:var(--red)}
.hero-short .btn-red:hover{background:var(--pink)}

/* Service rows: content left, image right */
.ticks{margin-bottom:1.6rem}
.ticks li{position:relative;padding-left:1.8rem;margin-bottom:.5rem;font-weight:500}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:.9rem;height:.5rem;border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
#all-services .svc-row{padding-block:2.2rem;border-bottom:1px solid var(--pink-deep)}
#all-services .svc-row:last-child{border-bottom:0}
.svc-text{order:1}
.svc-img{order:2;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--pink-deep);box-shadow:0 12px 30px rgba(120,30,25,.22)}
.svc-num{display:inline-block;font-weight:800;color:var(--red);letter-spacing:.08em;margin-bottom:.3rem}
.svc-text h3{font-size:clamp(1.5rem,3vw,2rem);color:var(--red);margin-bottom:.6rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}

/* Call to action */
.cta{background:var(--red);color:var(--white);text-align:center;padding-block:4rem}
.cta h2{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:.5rem}
.cta p{margin:0 auto 1.5rem}

/* Footer */
.site-footer{background:var(--red);color:var(--white);padding-top:3rem;border-top:1px solid rgba(255,255,255,.3)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem}
.footer-logo{height:54px;width:auto;margin-bottom:.8rem}
.site-footer h3{margin-bottom:.5rem}
.site-footer a:hover{text-decoration:underline}
.copy{text-align:center;padding:1.5rem 1rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.3);font-size:.9rem}

/* WhatsApp button */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;background:#25d366;color:#fff;font-weight:700;padding:.75rem 1.2rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.wa-float:hover{background:#1ebe5a}

/* Mobile */
@media (max-width:900px){
  .menu-toggle{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--red-dark);flex-direction:column;align-items:flex-start;padding:1.2rem 4%;gap:1rem;display:none}
  .nav.open{display:flex}
  .brand-name{font-size:1rem}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
@media (max-width:800px){
  .svc-row{grid-template-columns:1fr;gap:1.4rem}
  .svc-img{order:-1}
}
@media (max-width:480px){.brand-name{display:none}.hero-short{min-height:280px}}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}