
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#060607; --card:#202224; --backface:#2d4126; --text:#e6eaec;
  --muted:#54585e; --accent:#7cff2f; --on-acc:#141414; --border:rgba(230,234,236,0.12);
  --soft:rgba(230,234,236,0.06); --accsoft:rgba(124,255,47,0.16); --shadow:rgba(0,0,0,0.28); --shadow2:rgba(124,255,47,0.30);
  --rad:8px; --pad:20px;
}
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); font-family:Tahoma, Verdana, sans-serif; line-height:1.6;
  background:radial-gradient(120% 70% at 50% -5%, var(--accsoft), transparent 55%), var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3 { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; line-height:1.1; letter-spacing:-.02em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.flip-page { max-width:1160px; margin:0 auto; padding:0 20px 40px; }

.fnav { position:sticky; top:0; z-index:40; display:flex; align-items:center; gap:20px;
  padding:16px 4px; backdrop-filter:blur(10px); }
.brand { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-weight:800; font-size:20px;
  display:flex; align-items:center; gap:10px; }
.brand-flip { width:14px; height:14px; background:var(--accent); border-radius:4px;
  transform:perspective(60px) rotateY(38deg); }
.flinks { display:flex; gap:6px; margin-left:auto; }
.flinks a { padding:9px 15px; border-radius:999px; color:var(--muted); font-size:15px;
  transition:background .15s, color .15s; }
.flinks a:hover { background:var(--soft); color:var(--text); }

.btn { display:inline-block; border-radius:999px; padding:12px 24px; font-weight:600;
  font-size:15px; cursor:pointer; border:1px solid transparent; font-family:inherit;
  transition:transform .14s, filter .14s; }
.primary { background:var(--accent); color:var(--on-acc); box-shadow:0 12px 26px var(--shadow2); }
.primary:hover { transform:translateY(-3px); filter:brightness(1.05); }
.ghost { background:transparent; color:var(--text); border:1px solid var(--border); }
.ghost:hover { background:var(--soft); transform:translateY(-3px); }

/* ---- flip core ---- */
.flip { perspective:1200px; }
.flip-in { position:relative; width:100%; height:100%; transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.3,.7,.2,1); }
.flip.flipped .flip-in, .svc-flip:hover .flip-in, .svc-flip:focus .flip-in,
.gal-flip:hover .flip-in, .gal-flip:focus .flip-in { transform:rotateY(180deg); }
.flip-face { position:absolute; inset:0; backface-visibility:hidden;
  border-radius:var(--rad); overflow:hidden; }
.f-back { transform:rotateY(180deg); }

/* ---- hero flip ---- */
.fhero { padding:34px 0 12px; }
.fhero-flip { height:min(58vh,440px); }
.fhero-front { background:var(--card); border:1px solid var(--border);
  padding:var(--pad); display:flex; flex-direction:column; justify-content:center;
  box-shadow:0 26px 60px var(--shadow); }
.kicker { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.fhero-front h1 { font-size:clamp(34px,5.4vw,60px); margin-bottom:16px; max-width:20ch; }
.fhero-front p { color:var(--muted); font-size:18px; max-width:50ch; margin-bottom:26px; }
.fh-actions { display:flex; gap:12px; flex-wrap:wrap; }
.fhero-back img { width:100%; height:100%; object-fit:cover; }

.sec-head { text-align:center; margin:44px 0 26px; }
.face-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent); background:var(--accsoft);
  padding:6px 12px; border-radius:999px; margin-bottom:10px; }
.sec-head h2 { font-size:clamp(26px,3.4vw,42px); }

/* ---- services ---- */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc-flip { height:220px; outline:none; }
.svc-front, .svc-back { padding:26px; display:flex; flex-direction:column;
  border:1px solid var(--border); box-shadow:0 12px 30px var(--shadow); }
.svc-front { background:var(--card); justify-content:space-between; }
.svc-back { background:var(--backface); justify-content:center; }
.svc-ico { display:inline-flex; align-items:center; justify-content:center;
  width:50px; height:50px; border-radius:14px; background:var(--accsoft);
  color:var(--accent); font-size:22px; }
.svc-front h3 { font-size:20px; margin-top:auto; }
.svc-more { font-size:13px; color:var(--muted); margin-top:6px; }
.svc-back h3 { font-size:19px; margin-bottom:8px; color:var(--accent); }
.svc-back p { color:var(--text); font-size:15px; }

/* ---- gallery ---- */
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gal-flip { aspect-ratio:1/1; outline:none; }
.gal-front img { width:100%; height:100%; object-fit:cover; }
.gal-back { background:var(--backface); border:1px solid var(--border);
  padding:24px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.gal-back b { font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif; font-size:22px; color:var(--accent); }
.gal-back span { color:var(--text); font-size:14px; }

/* ---- contact ---- */
.fcontact { padding:48px 0 10px; }
.fc-inner { background:var(--card); border:1px solid var(--border);
  border-radius:calc(var(--rad) + 6px); padding:var(--pad);
  box-shadow:0 22px 54px var(--shadow); }
.fc-inner h2 { font-size:clamp(24px,3vw,36px); margin:8px 0 22px; }
.fc-form { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
.fc-form input { flex:1 1 200px; background:var(--bg); border:1px solid var(--border);
  border-radius:12px; padding:13px 15px; font:inherit; color:var(--text); }
.fc-form input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--accsoft); }
.fc-info { list-style:none; display:flex; gap:26px; flex-wrap:wrap; font-size:14px; }
.fc-info li span { color:var(--muted); margin-right:6px; }

.ffoot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:30px 4px 0; margin-top:36px; border-top:1px solid var(--border); font-size:14px; }
.muted { color:var(--muted); }

.reveal { opacity:0; transform:translateY(30px) rotateX(18deg); transform-origin:50% 0;
  transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * 70ms); }
.reveal.in { opacity:1; transform:none; }

@media (max-width:860px) {
  .svc-grid, .gal-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .flinks { display:none; }
  .svc-grid, .gal-grid { grid-template-columns:1fr; }
  .fhero-flip { height:auto; min-height:380px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .flip-in { transform:none !important; transition:none; }
  .f-back { display:none; }
  .btn:hover { transform:none; }
  .reveal { opacity:1; transform:none; transition:none; }
}


.xq{box-sizing:border-box;font-family:Tahoma, Verdana, sans-serif;color:#e6eaec;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#7cff2f;margin-bottom:10px;font-weight:700}

.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(230,234,236,0.14)}
.xq-tl-item{position:relative;padding:0 0 26px 26px}
.xq-tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#7cff2f;box-shadow:0 0 0 4px rgba(230,234,236,0.05)}
.xq-tl-item time{font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;font-weight:800;color:#7cff2f;display:block;margin-bottom:4px}
.xq-tl-item p{color:#54585e;max-width:58ch}


.xq-steplist{counter-reset:xqs;list-style:none;padding:0;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.xq-step{counter-increment:xqs;position:relative;padding:18px 18px 18px 20px;border-left:3px solid #7cff2f;background:rgba(230,234,236,0.05);border-radius:0 0px 0px 0}
.xq-step::before{content:"0" counter(xqs);display:block;font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#7cff2f;font-weight:800;margin-bottom:8px}
.xq-step h3{font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;font-size:1.02rem;margin-bottom:6px}
.xq-step p{font-size:.9rem;color:#54585e}


/* =====================================================
   DESIGN DNA: candy-bubble
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Ccircle cx='30' cy='30' r='9' fill='%237cff2f'/%3E%3Ccircle cx='100' cy='90' r='14' fill='%234e9d20'/%3E%3Ccircle cx='60' cy='120' r='6' fill='%237cff2f'/%3E%3C/svg%3E");opacity:.10;}
h1,h2,h3{font-family:'Trebuchet MS', Tahoma, sans-serif !important;letter-spacing:-0.01em !important;font-weight:800 !important}
img{border-radius:34% !important;aspect-ratio:1;object-fit:cover;border:4px solid rgba(124,255,47,.7) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:999px !important;border:3px solid #ebeef0 !important;font-weight:800;box-shadow:0 8px 0 rgba(235,238,240,.8) !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:32px !important;border:3px solid rgba(124,255,47,.7) !important;box-shadow:0 10px 0 rgba(124,255,47,.35) !important}
