
:root{--green:#0fbf3f;--muted:#cfeed6;--bg:#000;--white:#fff}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--white);-webkit-font-smoothing:antialiased;}
.container{max-width:1100px;margin:0 auto;padding:18px}
.header{display:flex;align-items:center;gap:18px;padding:18px 0;justify-content:center;flex-direction:column;text-align:center}
.logo-glow{width:320px;max-width:85%;display:block;margin:6px auto;filter:drop-shadow(0 10px 30px rgba(15,191,63,0.18));transition:transform .35s ease}
.logo-glow:hover{transform:scale(1.04)}
.logo-ring{position:relative;display:inline-block}
.logo-ring::after{content:'';position:absolute;inset:-14px;border-radius:14px;box-shadow:0 0 18px 6px rgba(15,191,63,0.06);animation:ring 3s infinite}
@keyframes ring{0%{transform:scale(.98);opacity:.7}50%{transform:scale(1.02);opacity:1}100%{transform:scale(.98);opacity:.7}}

.tagline{color:var(--muted);font-weight:800;font-size:26px;margin:8px 0;text-align:center}
.sub{color:#cfeed6;margin:0 0 8px}

.hero{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;justify-content:space-between}
.left{flex:1;min-width:280px}
.right{flex:1;min-width:280px;text-align:center}

.btn{display:inline-block;background:var(--green);color:#000;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:800;margin:6px}
.btn.ghost{background:transparent;border:2px solid var(--green);color:var(--green)}

.services{margin-top:12px}
.services h2{color:var(--green);margin-bottom:6px}
.services ul{list-style:none;padding:0;margin:0}
.services li{padding:8px 0;font-size:18px}

.flyer{max-width:340px;width:100%;height:auto;border-radius:10px;margin:16px auto;display:block;border:2px solid rgba(255,255,255,0.04);}

.reviews{margin-top:20px}
.reviews h2{color:var(--green);text-align:center}
.reviews-slider{display:flex;gap:12px;overflow:hidden;padding:12px 2px;scroll-behavior:smooth}
.review{min-width:300px;background:#0b0b0b;padding:14px;border-left:4px solid var(--green);border-radius:6px}
.stars{margin-top:8px;color:var(--muted)}

.gallery-preview{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.gallery-preview img{width:160px;height:110px;object-fit:cover;border-radius:8px;border:3px solid rgba(15,191,63,0.06)}

.contact{margin-top:18px;background:rgba(255,255,255,0.02);padding:14px;border-radius:10px}
.contact h2{color:var(--green)}
.contact form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact label{display:block;font-size:14px}
.contact input,.contact textarea,.contact select{width:100%;padding:10px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:#050505;color:#fff}
.contact textarea{grid-column:1/3;min-height:120px}
.contact .submit{grid-column:1/3;background:var(--green);color:#000;border:none;padding:12px;border-radius:8px;font-weight:800}

.footer{padding:18px;text-align:center;color:var(--muted);font-size:14px;margin-top:18px;border-top:1px solid rgba(255,255,255,0.04)}

.cgv-modal{display:none;position:fixed;inset:8% 6%;background:#060606;padding:18px;border-radius:10px;z-index:999;overflow:auto}
.cgv-modal .close{background:#fff;color:#000;padding:8px;border-radius:6px;border:none;cursor:pointer}

/* responsive */
@media(max-width:900px){
  .contact form{grid-template-columns:1fr}
  .contact textarea{grid-column:1}
  .hero{flex-direction:column;align-items:center}
  .reviews-slider{overflow-x:auto}
  .review{min-width:260px}
}

/* spark animation */
.logo-spark{position:relative;display:inline-block}
.logo-spark .spark{position:absolute;pointer-events:none;opacity:0.9}
@keyframes sparkMove{0%{transform:translate(-10px,-10px) scale(.6) opacity:0}30%{opacity:1}70%{opacity:1}100%{transform:translate(120px,20px) scale(.3) opacity:0}}
.spark{width:10px;height:10px;background:radial-gradient(circle,#a7ffb8 0%, rgba(167,255,184,0) 60%);border-radius:50%;box-shadow:0 0 8px 2px rgba(15,191,63,0.9)}
.spark.s1{animation:sparkMove 2.6s linear infinite}
.spark.s2{animation:sparkMove 3.2s linear infinite;animation-delay:.6s}
.spark.s3{animation:sparkMove 2.2s linear infinite;animation-delay:.9s}
