/* ==========================================================================
   DJ PIIPE — top-tier stylesheet
   Refined, editorial-grade design system.
   ========================================================================== */

/* ── DESIGN TOKENS ─────────────────────────────────────────────────────── */
:root {
  /* surfaces */
  --bg:        #07070f;
  --bg2:       #0c0c18;
  --bg3:       #11111f;
  --surface:   #161628;
  --line:      rgba(255,255,255,.07);
  --line-2:    rgba(139,92,246,.18);

  /* brand */
  --p:    #8b5cf6;
  --p-d:  #6d28d9;
  --p-l:  #a78bfa;
  --g:    #f59e0b;
  --g-l:  #fbbf24;
  --b:    #3b82f6;

  /* type */
  --ink:    #ffffff;
  --ink-2:  #cbd5e1;
  --ink-3:  #94a3b8;
  --ink-4:  #64748b;

  /* fx */
  --glow-p:  0 24px 80px rgba(139,92,246,.28);
  --glow-g:  0 24px 80px rgba(245,158,11,.28);
  --shadow:  0 18px 48px rgba(0,0,0,.45);

  /* motion */
  --ease:    cubic-bezier(.22,1,.36,1);
  --t-fast:  .18s var(--ease);
  --t:       .35s var(--ease);
  --t-slow:  .7s  var(--ease);

  /* layout */
  --w:        1240px;
  --pad-y:    7rem;
  --radius:   18px;
  --radius-l: 28px;
}

/* ── RESET & GLOBAL ────────────────────────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:'Inter','Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-feature-settings:'cv02','cv11','ss01';
  background:var(--bg); color:var(--ink); line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img, video { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input, select, textarea { font:inherit; color:inherit; }
::selection { background:var(--p); color:#fff; }

/* ── UTIL ──────────────────────────────────────────────────────────────── */
.wrap     { max-width:var(--w); margin:0 auto; padding:0 1.5rem; }
.sec      { padding:var(--pad-y) 0; position:relative; }
.center   { text-align:center; }
.accent-p { color:var(--p-l); }
.accent-g { color:var(--g); }
em        { font-style:italic; color:var(--p-l); font-weight:400; }

/* fade-in on scroll */
.fu { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.fu.on { opacity:1; transform:none; }

/* ── BUTTONS ───────────────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 1.7rem; border-radius:50px; font-weight:600; font-size:.92rem;
  letter-spacing:.3px; transition:transform var(--t), box-shadow var(--t), background var(--t), border-color var(--t);
  white-space:nowrap;
}
.btn-p { background:linear-gradient(135deg,var(--p),var(--p-d)); color:#fff; box-shadow:0 10px 30px rgba(139,92,246,.35); }
.btn-p:hover { transform:translateY(-3px); box-shadow:0 18px 50px rgba(139,92,246,.55); }
.btn-g { background:linear-gradient(135deg,var(--g-l),var(--g)); color:#1a0e00; box-shadow:0 10px 30px rgba(245,158,11,.35); }
.btn-g:hover { transform:translateY(-3px); box-shadow:0 18px 50px rgba(245,158,11,.55); }
.btn-o { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.18); backdrop-filter:blur(8px); }
.btn-o:hover { border-color:var(--p-l); background:rgba(139,92,246,.08); transform:translateY(-2px); }

/* ── SECTION HEADS ─────────────────────────────────────────────────────── */
.label {
  display:inline-block; font-size:.72rem; font-weight:700;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--p-l); margin-bottom:1rem;
  padding:.4rem .9rem; border-radius:50px;
  background:rgba(139,92,246,.12); border:1px solid var(--line-2);
}
.heading {
  font-family:'Bebas Neue','Inter',sans-serif;
  font-size:clamp(2.2rem, 5.5vw, 4rem);
  letter-spacing:-1px; line-height:1.05; margin-bottom:1rem;
  font-weight:400;
}
.sub {
  font-size:1.05rem; color:var(--ink-3); max-width:640px;
  margin:0 auto;
}
.sec-head { margin-bottom:4rem; }
.sec-head.center .sub { margin:0 auto; }

/* ── NAV ───────────────────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.1rem 0; transition:background var(--t), backdrop-filter var(--t), padding var(--t);
}
.nav.scrolled {
  background:rgba(7,7,15,.78); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line); padding:.7rem 0;
}
.nav-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.logo {
  font-family:'Bebas Neue',sans-serif; font-size:1.7rem; letter-spacing:1.5px;
  color:#fff; font-weight:700;
}
.logo span {
  background:linear-gradient(135deg,var(--p-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.nav-links { display:flex; list-style:none; gap:2rem; align-items:center; }
.nav-links a {
  font-size:.88rem; color:var(--ink-2); transition:color var(--t-fast);
  font-weight:500;
}
.nav-links a:hover { color:var(--p-l); }
.nav-right { display:flex; align-items:center; gap:.9rem; }
.lang-toggle {
  display:flex; align-items:center; gap:0; background:rgba(255,255,255,.05);
  border:1px solid var(--line); border-radius:50px; padding:3px;
}
.lang-toggle button {
  padding:.35rem .75rem; font-size:.72rem; font-weight:700; letter-spacing:1px;
  border-radius:50px; color:var(--ink-3); transition:all var(--t-fast);
}
.lang-toggle button.on { background:var(--p); color:#fff; }
.nav-book { padding:.65rem 1.3rem; font-size:.85rem; }
.ham {
  display:none; flex-direction:column; gap:5px; padding:.5rem;
}
.ham span { width:24px; height:2px; background:#fff; transition:transform var(--t), opacity var(--t); }
.ham.on span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.ham.on span:nth-child(2){ opacity:0; }
.ham.on span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mob-menu {
  position:fixed; inset:64px 0 0 0; z-index:99;
  background:rgba(7,7,15,.97); backdrop-filter:blur(20px);
  display:none; flex-direction:column; padding:2.5rem 1.5rem; gap:1rem;
  border-top:1px solid var(--line);
}
.mob-menu.open { display:flex; }
.mob-menu a {
  font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:2px;
  padding:.4rem 0; border-bottom:1px solid var(--line);
}

/* ── HERO ──────────────────────────────────────────────────────────────── */
.hero {
  min-height:100vh; position:relative;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; padding:7rem 0 4rem;
}
.hero-vid {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
  filter:brightness(.45) saturate(1.1);
}
.hero-mask {
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(circle at 20% 20%, rgba(139,92,246,.22), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(245,158,11,.16), transparent 50%),
    linear-gradient(180deg, rgba(7,7,15,.6) 0%, rgba(7,7,15,.85) 70%, var(--bg) 100%);
}
.hero-grid {
  position:absolute; inset:0; z-index:1; opacity:.18;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(circle at center, #000 30%, transparent 70%);
          mask-image:radial-gradient(circle at center, #000 30%, transparent 70%);
}
.hero-body { position:relative; z-index:2; max-width:1080px; padding:0 1.5rem; text-align:center; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem 1.1rem; border-radius:50px;
  background:rgba(255,255,255,.05); border:1px solid var(--line-2);
  font-size:.78rem; font-weight:600; letter-spacing:1.2px; color:var(--p-l);
  margin-bottom:1.6rem;
}
.hero-badge::before {
  content:''; width:7px; height:7px; border-radius:50%;
  background:#10b981; box-shadow:0 0 12px #10b981;
  animation:pulse 1.6s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

.hero-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(3rem, 9vw, 7.5rem);
  line-height:.95; letter-spacing:-2px;
  font-weight:400; margin-bottom:1.5rem;
  color:#fff;
}
.hero-title .gt {
  background:linear-gradient(135deg,var(--p-l) 0%,var(--g) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:inline-block;
}
.hero-sub {
  font-size:clamp(1rem, 1.6vw, 1.2rem);
  color:var(--ink-2); max-width:640px; margin:0 auto 2.4rem;
  font-weight:300;
}
.hero-btns {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  margin-bottom:4rem;
}
.hero-stats {
  display:grid; grid-template-columns:repeat(4, 1fr);
  max-width:780px; margin:0 auto;
  gap:1rem; padding-top:2.5rem;
  border-top:1px solid var(--line);
}
.hero-stats > div { text-align:center; }
.stat-n {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem, 5vw, 3.2rem);
  letter-spacing:-1px; line-height:1;
  background:linear-gradient(135deg,var(--p-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.stat-l {
  font-size:.72rem; color:var(--ink-4); letter-spacing:1.5px;
  text-transform:uppercase; margin-top:.4rem; font-weight:600;
}
.scroll-hint {
  position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%);
  font-size:.7rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink-4); display:flex; flex-direction:column; align-items:center; gap:.5rem;
  z-index:2;
}
.scroll-hint i { animation:hint 1.8s infinite; }
@keyframes hint { 0%,100%{transform:translateY(0); opacity:.4} 50%{transform:translateY(6px); opacity:1} }

/* ── MARQUEE ───────────────────────────────────────────────────────────── */
.marquee {
  background:linear-gradient(90deg, var(--bg2), var(--bg3));
  border-block:1px solid var(--line);
  overflow:hidden; padding:1.4rem 0;
}
.marquee-track {
  display:flex; gap:3rem; white-space:nowrap;
  animation:mq 38s linear infinite; will-change:transform;
  font-family:'Bebas Neue',sans-serif; font-size:1.2rem;
  letter-spacing:4px; color:var(--ink-3);
}
.marquee-track span { color:var(--p-l); padding:0 1rem; }
@keyframes mq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── ABOUT ─────────────────────────────────────────────────────────────── */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.about-vis {
  position:relative; aspect-ratio:4/5;
  border-radius:var(--radius-l); overflow:hidden;
  border:1px solid var(--line-2); box-shadow:var(--glow-p);
}
.about-vis img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.about-vis:hover img { transform:scale(1.04); }
.about-vis::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(7,7,15,.6) 100%);
}
.about-tag {
  position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem;
  display:flex; align-items:center; gap:.7rem;
  padding:.7rem 1rem; border-radius:50px;
  background:rgba(7,7,15,.7); backdrop-filter:blur(12px);
  border:1px solid var(--line); font-size:.78rem; color:var(--ink-2);
  z-index:1;
}
.about-tag i { color:var(--g); }
.about-bullets {
  list-style:none; margin-top:2rem;
  display:grid; grid-template-columns:1fr 1fr; gap:.85rem;
}
.about-bullets li {
  display:flex; align-items:center; gap:.65rem;
  font-size:.92rem; color:var(--ink-2);
}
.about-bullets i { color:var(--p-l); }

/* ── SERVICES ──────────────────────────────────────────────────────────── */
.s-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.s-card {
  background:linear-gradient(160deg, var(--bg2) 0%, var(--bg3) 100%);
  border:1px solid var(--line);
  border-radius:var(--radius-l);
  padding:2.4rem 2rem;
  transition:transform var(--t), border-color var(--t), box-shadow var(--t);
  position:relative; overflow:hidden;
}
.s-card::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 80% 0%, rgba(139,92,246,.14), transparent 60%);
  opacity:0; transition:opacity var(--t);
}
.s-card:hover { transform:translateY(-6px); border-color:var(--p); box-shadow:var(--glow-p); }
.s-card:hover::before { opacity:1; }
.s-icon {
  width:56px; height:56px; border-radius:14px;
  background:linear-gradient(135deg, var(--p), var(--p-d));
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:#fff; margin-bottom:1.2rem;
  box-shadow:0 10px 26px rgba(139,92,246,.35);
}
.s-card:nth-child(2) .s-icon { background:linear-gradient(135deg, var(--g-l), var(--g)); box-shadow:0 10px 26px rgba(245,158,11,.35); color:#1a0e00; }
.s-card:nth-child(3) .s-icon { background:linear-gradient(135deg, var(--b), #1d4ed8); }
.s-card:nth-child(4) .s-icon { background:linear-gradient(135deg, #ec4899, #be185d); }
.s-name {
  font-family:'Bebas Neue',sans-serif; font-size:1.7rem;
  letter-spacing:1px; margin-bottom:.5rem; font-weight:400;
}
.s-desc { color:var(--ink-3); font-size:.95rem; margin-bottom:1.4rem; line-height:1.65; }
.s-feats { list-style:none; display:grid; gap:.55rem; }
.s-feats li {
  font-size:.86rem; color:var(--ink-2);
  display:flex; align-items:center; gap:.55rem;
}
.s-feats li::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--p-l);
}

/* ── MEDIA / GALLERY ───────────────────────────────────────────────────── */
.gallery-grid {
  display:grid; grid-template-columns:repeat(12,1fr);
  grid-auto-rows:240px; gap:1rem;
}
.g-item {
  position:relative; border-radius:var(--radius); overflow:hidden;
  cursor:pointer; border:1px solid var(--line);
}
.g-item:nth-child(1){ grid-column:1/8;  grid-row:1/3; }
.g-item:nth-child(2){ grid-column:8/13; grid-row:1; }
.g-item:nth-child(3){ grid-column:8/13; grid-row:2; }
.g-item:nth-child(4){ grid-column:1/5;  grid-row:3; }
.g-item:nth-child(5){ grid-column:5/9;  grid-row:3; }
.g-item:nth-child(6){ grid-column:9/13; grid-row:3; }
.g-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s var(--ease);
}
.g-item:hover img { transform:scale(1.06); }
.g-item::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(7,7,15,.7) 0%, transparent 60%);
  opacity:.6; transition:opacity var(--t);
}
.g-item:hover::after { opacity:.85; }

.reels-head {
  margin:5rem 0 1.5rem; text-align:center;
  font-family:'Bebas Neue',sans-serif; letter-spacing:2px; font-size:1.8rem;
}
.reels-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.reel-item {
  position:relative; border-radius:var(--radius); overflow:hidden;
  aspect-ratio:9/16; background:#000;
  border:1px solid var(--line); transition:transform var(--t), border-color var(--t), box-shadow var(--t);
}
.reel-item:hover { transform:translateY(-6px); border-color:var(--p); box-shadow:0 22px 50px rgba(139,92,246,.3); }
.reel-item video { width:100%; height:100%; object-fit:cover; }
.reel-play {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.7) 100%);
  pointer-events:none;
}
.reel-play i {
  font-size:2.5rem; color:#fff;
  text-shadow:0 4px 16px rgba(0,0,0,.5);
}

/* ── WHY US ────────────────────────────────────────────────────────────── */
.why { background:linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%); }
.why-grid {
  display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; align-items:center;
}
.f-list { display:grid; gap:1rem; }
.f-item {
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.2rem 1.4rem; border-radius:var(--radius);
  background:rgba(255,255,255,.02); border:1px solid var(--line);
  transition:border-color var(--t), transform var(--t);
}
.f-item:hover { border-color:var(--p-l); transform:translateX(5px); }
.f-ic {
  flex:0 0 auto; width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg, var(--p), var(--p-d));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.05rem;
}
.f-txt h4 { font-size:1rem; margin-bottom:.25rem; font-weight:600; }
.f-txt p { font-size:.85rem; color:var(--ink-3); line-height:1.5; }

.why-card {
  text-align:center; padding:3rem 2rem;
  background:linear-gradient(160deg, var(--bg3), var(--surface));
  border:1px solid var(--line-2);
  border-radius:var(--radius-l);
  box-shadow:var(--glow-p);
}
.why-emoji { font-size:3rem; margin-bottom:.5rem; }
.why-num {
  font-family:'Bebas Neue',sans-serif; font-size:5rem;
  background:linear-gradient(135deg,var(--p-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  letter-spacing:-2px; line-height:1;
}
.why-numl { color:var(--ink-3); font-size:.85rem; letter-spacing:2px; text-transform:uppercase; margin-top:.5rem; }
.fl-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-top:2rem; }
.fl-b {
  font-size:.78rem; padding:.4rem .9rem; border-radius:50px;
  background:rgba(139,92,246,.1); border:1px solid var(--line-2); color:var(--p-l);
}

/* ── PROCESS ───────────────────────────────────────────────────────────── */
.proc-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1.2rem; counter-reset:step;
}
.proc-card {
  position:relative; padding:2rem 1.6rem;
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line); border-radius:var(--radius);
  transition:border-color var(--t), transform var(--t);
}
.proc-card:hover { border-color:var(--p-l); transform:translateY(-4px); }
.proc-card::before {
  counter-increment:step; content:"0" counter(step);
  font-family:'Bebas Neue',sans-serif; font-size:3.2rem;
  background:linear-gradient(135deg,var(--p-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:block; line-height:1; margin-bottom:.6rem;
}
.proc-card h4 { font-size:1.1rem; margin-bottom:.4rem; font-weight:600; }
.proc-card p { font-size:.86rem; color:var(--ink-3); line-height:1.55; }

/* ── PRICING ───────────────────────────────────────────────────────────── */
.p-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; align-items:stretch;
}
.p-card {
  position:relative; padding:2.4rem 2rem;
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line); border-radius:var(--radius-l);
  display:flex; flex-direction:column;
  transition:transform var(--t), border-color var(--t), box-shadow var(--t);
}
.p-card:hover { transform:translateY(-5px); border-color:var(--p); }
.p-card.feat {
  border-color:var(--p);
  box-shadow:var(--glow-p);
  transform:scale(1.04);
}
.p-card.feat:hover { transform:scale(1.04) translateY(-5px); box-shadow:0 30px 70px rgba(139,92,246,.4); }
.pop {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,var(--g-l),var(--g));
  color:#1a0e00; padding:.4rem 1.1rem; border-radius:50px;
  font-size:.7rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  box-shadow:0 6px 20px rgba(245,158,11,.5);
}
.p-tier {
  font-size:.7rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:var(--p-l); margin-bottom:.5rem;
}
.p-name {
  font-family:'Bebas Neue',sans-serif; font-size:2.2rem;
  letter-spacing:1px; margin-bottom:1rem; font-weight:400;
}
.p-from {
  font-size:.7rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink-4); display:block; margin-bottom:.3rem;
}
.p-amt {
  font-family:'Bebas Neue',sans-serif; font-size:3rem; line-height:1;
  letter-spacing:-1px; color:#fff; font-weight:400;
}
.p-card.feat .p-amt {
  background:linear-gradient(135deg,var(--g-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.p-card:nth-child(3) .p-amt {
  background:linear-gradient(135deg,var(--p-l),var(--g));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.p-sfx {
  font-size:.85rem; color:var(--ink-3); margin-top:.4rem;
  display:block; margin-bottom:1.6rem;
}
.p-feats { list-style:none; flex:1; margin-bottom:1.6rem; }
.p-feats li {
  display:flex; align-items:center; gap:.6rem;
  padding:.5rem 0; font-size:.88rem; border-bottom:1px solid var(--line);
}
.p-feats li:last-child { border-bottom:none; }
.p-feats li i { color:#10b981; font-size:.8rem; flex:0 0 auto; }
.p-feats li.off { color:var(--ink-4); }
.p-feats li.off i { color:#475569; }

/* add-ons */
.addons {
  margin-top:4rem; padding:3rem 2rem;
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line); border-radius:var(--radius-l);
}
.addons-head { text-align:center; margin-bottom:2rem; }
.addons-head h3 {
  font-family:'Bebas Neue',sans-serif; font-size:2.2rem; letter-spacing:1px;
  font-weight:400;
}
.addons-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:.8rem;
}
.addon {
  padding:1rem 1.2rem; border-radius:14px;
  background:rgba(255,255,255,.03); border:1px solid var(--line);
  display:flex; align-items:center; gap:.7rem; font-size:.88rem;
  transition:border-color var(--t), background var(--t);
}
.addon:hover { border-color:var(--g); background:rgba(245,158,11,.08); }
.addon i { color:var(--g); }

/* ── TESTIMONIALS ──────────────────────────────────────────────────────── */
.t-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.t-card {
  padding:2rem; border-radius:var(--radius);
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line);
  position:relative; transition:transform var(--t), border-color var(--t);
}
.t-card:hover { transform:translateY(-5px); border-color:var(--p); }
.t-card::before {
  content:'"'; position:absolute; top:.5rem; right:1.4rem;
  font-family:Georgia, serif; font-size:5rem; color:var(--p);
  opacity:.2; line-height:1;
}
.stars { color:var(--g); margin-bottom:1rem; font-size:.85rem; display:flex; gap:.15rem; }
.t-text { font-size:.95rem; color:var(--ink-2); line-height:1.6; margin-bottom:1.4rem; }
.t-author { display:flex; align-items:center; gap:.85rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.t-av {
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,var(--p),var(--p-d));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.85rem; color:#fff;
  flex:0 0 auto;
}
.t-name { font-weight:600; font-size:.92rem; }
.t-ev   { font-size:.78rem; color:var(--ink-4); margin-top:.15rem; }

.venues { margin-top:4rem; text-align:center; }
.venues-l {
  font-size:.7rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink-4); margin-bottom:1.5rem;
}
.venues-row {
  display:flex; justify-content:center; flex-wrap:wrap; gap:2.2rem;
  align-items:center;
}
.v-logo {
  font-family:'Bebas Neue',sans-serif; font-size:1.1rem;
  letter-spacing:2px; color:var(--ink-3); transition:color var(--t-fast);
}
.v-logo:hover { color:#fff; }

/* ── FAQ ───────────────────────────────────────────────────────────────── */
.faq-list { max-width:820px; margin:0 auto; display:grid; gap:.8rem; }
.faq-item {
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:border-color var(--t);
}
.faq-item.open { border-color:var(--p); }
.faq-q {
  width:100%; padding:1.3rem 1.6rem; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-size:1rem; font-weight:600; transition:color var(--t-fast);
}
.faq-q:hover { color:var(--p-l); }
.faq-q .ic {
  width:30px; height:30px; border-radius:50%; flex:0 0 auto;
  background:rgba(139,92,246,.15); border:1px solid var(--line-2);
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--t), background var(--t);
}
.faq-item.open .faq-q .ic { transform:rotate(45deg); background:var(--p); border-color:var(--p); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height var(--t), padding var(--t);
  color:var(--ink-3); font-size:.93rem; line-height:1.7;
  padding:0 1.6rem;
}
.faq-item.open .faq-a { max-height:500px; padding:0 1.6rem 1.4rem; }

/* ── BOOKING ───────────────────────────────────────────────────────────── */
.booking { background:linear-gradient(180deg, var(--bg2) 0%, var(--bg) 100%); }
.bk-row { display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; }
.bk-desc { color:var(--ink-3); font-size:1rem; margin:1rem 0 2rem; line-height:1.7; }
.urgency {
  display:flex; align-items:center; gap:.8rem;
  padding:1rem 1.3rem; border-radius:14px;
  background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.3);
  margin-bottom:2rem;
}
.urgency i { color:var(--g); font-size:1.1rem; }
.urgency span { font-size:.92rem; }
.c-opts { display:grid; gap:.7rem; }
.c-opt {
  display:flex; align-items:center; gap:.9rem;
  padding:1rem 1.3rem; border-radius:14px;
  background:rgba(255,255,255,.02); border:1px solid var(--line);
  font-size:.93rem; color:var(--ink-2);
  transition:all var(--t);
}
.c-opt:hover { border-color:var(--p); transform:translateX(5px); color:#fff; }
.c-opt-ic {
  width:38px; height:38px; border-radius:10px; flex:0 0 auto;
  background:rgba(139,92,246,.12);
  display:flex; align-items:center; justify-content:center;
  color:var(--p-l);
}

.form-wrap {
  padding:2.4rem; border-radius:var(--radius-l);
  background:linear-gradient(160deg, var(--bg2), var(--bg3));
  border:1px solid var(--line-2);
  position:relative; overflow:hidden;
}
.form-wrap::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--p), var(--g));
}
.f-title {
  font-family:'Bebas Neue',sans-serif; font-size:2rem;
  letter-spacing:1px; margin-bottom:.3rem; font-weight:400;
}
.f-sub { font-size:.88rem; color:var(--ink-3); margin-bottom:1.6rem; }
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.4rem; }
.fg.full { grid-column:1/-1; }
.fg label {
  display:block; font-size:.78rem; font-weight:600;
  letter-spacing:1px; text-transform:uppercase; color:var(--ink-3);
  margin-bottom:.5rem;
}
.fg input, .fg select, .fg textarea {
  width:100%; padding:.85rem 1rem; border-radius:10px;
  background:rgba(7,7,15,.6); border:1px solid var(--line);
  color:#fff; font-size:.92rem; transition:border-color var(--t-fast);
}
.fg textarea { min-height:110px; resize:vertical; }
.fg input:focus, .fg select:focus, .fg textarea:focus {
  outline:none; border-color:var(--p);
  box-shadow:0 0 0 3px rgba(139,92,246,.18);
}
.fg select { appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2394a3b8' d='M6 8L0 0h12z'/></svg>"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.4rem; }
.f-btn { width:100%; padding:1.1rem; font-size:.95rem; }

#f-ok {
  display:none; text-align:center; padding:2rem 0;
}
.f-ok-emoji { font-size:3.4rem; margin-bottom:1rem; }
.f-ok-h { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:1px; margin-bottom:.6rem; }
.f-ok-p { color:var(--ink-3); font-size:.95rem; }

/* ── FOOTER ────────────────────────────────────────────────────────────── */
.footer {
  padding:5rem 0 2rem;
  background:#04040b;
  border-top:1px solid var(--line);
}
.foot-row {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:3rem;
  margin-bottom:3rem;
}
.foot-tag { color:var(--ink-3); font-size:.92rem; max-width:300px; margin-top:.8rem; line-height:1.6; }
.foot-soc { display:flex; gap:.6rem; margin-top:1.4rem; }
.soc {
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--ink-3); transition:all var(--t);
}
.soc:hover { background:var(--p); border-color:var(--p); color:#fff; transform:translateY(-3px); }
.foot-h {
  font-size:.78rem; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:#fff; margin-bottom:1.2rem;
}
.foot-list { list-style:none; display:grid; gap:.6rem; }
.foot-list a {
  font-size:.9rem; color:var(--ink-3); transition:color var(--t-fast);
}
.foot-list a:hover { color:var(--p-l); }
.foot-bot {
  padding-top:2rem; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.82rem; color:var(--ink-4);
}
.foot-bot a { color:var(--ink-4); }
.foot-bot a:hover { color:var(--p-l); }

/* ── FLOATING CTAS ─────────────────────────────────────────────────────── */
.wa-float {
  position:fixed; bottom:1.5rem; right:1.5rem; z-index:97;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; box-shadow:0 6px 20px rgba(37,211,102,.5);
  animation:bob 3s ease-in-out infinite;
  transition:transform var(--t);
}
.wa-float:hover { transform:scale(1.1); animation:none; }
@keyframes bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

.cb-btn {
  position:fixed; bottom:1.5rem; right:6.5rem; z-index:97;
  width:60px; height:60px; border-radius:50%;
  background:linear-gradient(135deg, var(--p), var(--p-d));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; box-shadow:0 6px 20px rgba(139,92,246,.5);
  transition:transform var(--t);
}
.cb-btn:hover { transform:scale(1.1); }

.cb-panel {
  position:fixed; bottom:6.5rem; right:1.5rem; z-index:98;
  width:340px; max-width:calc(100vw - 2rem); max-height:560px;
  background:var(--bg2); border:1px solid var(--line-2); border-radius:18px;
  display:none; flex-direction:column; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  transform:translateY(20px) scale(.96); opacity:0; transition:all .28s var(--ease);
}
.cb-panel.open { display:flex; transform:none; opacity:1; }
.cb-head {
  background:linear-gradient(135deg,var(--p),var(--p-d));
  padding:1.1rem; display:flex; justify-content:space-between; align-items:center;
}
.cb-head h4 { font-size:1rem; font-weight:600; }
.cb-head .cb-close {
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:#fff;
}
.cb-body {
  flex:1; overflow-y:auto; padding:1rem;
  display:flex; flex-direction:column; gap:.6rem;
  font-size:.9rem;
}
.cb-msg {
  padding:.75rem 1rem; border-radius:14px; max-width:85%;
  background:rgba(139,92,246,.1); border:1px solid var(--line-2);
  animation:cbIn .2s var(--ease);
}
@keyframes cbIn { from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none} }
.cb-chips { display:flex; flex-direction:column; gap:.5rem; margin-top:.4rem; }
.cb-chip {
  padding:.7rem 1rem; border-radius:12px; text-align:left;
  border:1px solid var(--line); background:rgba(255,255,255,.03);
  font-size:.88rem; transition:all var(--t-fast);
}
.cb-chip:hover { background:var(--p); border-color:var(--p); color:#fff; }
.cb-chip.gold { border-color:var(--g); }
.cb-chip.gold:hover { background:var(--g); color:#1a0e00; }

/* ── COOKIE BANNER ─────────────────────────────────────────────────────── */
.cookie {
  position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:96;
  max-width:480px; padding:1rem 1.2rem; border-radius:14px;
  background:rgba(7,7,15,.95); backdrop-filter:blur(14px);
  border:1px solid var(--line-2); display:none;
  align-items:center; gap:.9rem; flex-wrap:wrap;
  font-size:.82rem; color:var(--ink-2);
  box-shadow:0 18px 40px rgba(0,0,0,.5);
}
.cookie.show { display:flex; }
.cookie button { padding:.45rem 1rem; border-radius:50px; font-size:.78rem; font-weight:600; }
.cookie .ok { background:var(--p); color:#fff; }

/* ── RESPONSIVE ────────────────────────────────────────────────────────── */
@media (max-width:1024px) {
  :root { --pad-y:5rem; }
  .nav-links { display:none; }
  .ham { display:flex; }
  .about-grid, .why-grid, .bk-row { grid-template-columns:1fr; gap:3rem; }
  .s-grid, .t-grid, .p-grid, .proc-grid { grid-template-columns:1fr 1fr; }
  .p-card.feat { transform:none; }
  .p-card.feat:hover { transform:translateY(-5px); }
  .gallery-grid { grid-template-columns:repeat(6,1fr); grid-auto-rows:180px; }
  .g-item:nth-child(1){ grid-column:1/7; grid-row:1; }
  .g-item:nth-child(2){ grid-column:1/4; grid-row:2; }
  .g-item:nth-child(3){ grid-column:4/7; grid-row:2; }
  .g-item:nth-child(4){ grid-column:1/3; grid-row:3; }
  .g-item:nth-child(5){ grid-column:3/5; grid-row:3; }
  .g-item:nth-child(6){ grid-column:5/7; grid-row:3; }
  .reels-grid { grid-template-columns:1fr 1fr; }
  .foot-row { grid-template-columns:1fr 1fr; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .about-bullets { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  :root { --pad-y:4rem; --radius-l:18px; }
  .hero-btns { flex-direction:column; }
  .hero-btns .btn { width:100%; }
  .s-grid, .t-grid, .p-grid, .proc-grid, .f-grid { grid-template-columns:1fr; }
  .foot-row { grid-template-columns:1fr; gap:2rem; }
  .form-wrap { padding:1.6rem; }
  .lang-toggle { display:none; }
  .lang-toggle.mobile { display:flex; margin:1rem auto 0; }
}

/* ── LANDING PAGES (city / niche) ─────────────────────────────────────── */
.hero-mini {
  min-height:auto; padding:9rem 0 5rem;
  background:
    radial-gradient(circle at 20% 0%, rgba(139,92,246,.15), transparent 60%),
    radial-gradient(circle at 80% 50%, rgba(245,158,11,.10), transparent 60%),
    var(--bg);
}
.hero-mini .hero-title { font-size:clamp(2.5rem, 7vw, 5.5rem); }
.crumbs {
  display:flex; gap:.5rem; align-items:center;
  font-size:.78rem; color:var(--ink-4); margin-bottom:1.4rem;
  justify-content:center; flex-wrap:wrap;
}
.crumbs a { color:var(--p-l); }
.crumbs i { font-size:.6rem; color:var(--ink-4); }
.lp-cities {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.8rem; max-width:920px; margin:3rem auto 0;
}
.lp-city {
  padding:1rem 1.2rem; border-radius:14px;
  background:rgba(255,255,255,.02); border:1px solid var(--line);
  text-align:center; font-size:.92rem; transition:all var(--t);
}
.lp-city:hover { border-color:var(--p); background:rgba(139,92,246,.08); transform:translateY(-3px); }
.legal-doc { padding:8rem 0 5rem; max-width:820px; margin:0 auto; }
.legal-doc h1 {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(2.2rem,5vw,3.4rem);
  letter-spacing:-1px; margin-bottom:.5rem; font-weight:400;
}
.legal-doc .upd { font-size:.85rem; color:var(--ink-4); margin-bottom:2.5rem; }
.legal-doc h2 {
  font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:1px;
  margin:2.4rem 0 .8rem; font-weight:400; color:var(--p-l);
}
.legal-doc p, .legal-doc li {
  color:var(--ink-2); font-size:.95rem; line-height:1.75; margin-bottom:.8rem;
}
.legal-doc ul { padding-left:1.4rem; }

/* ── REDUCED MOTION ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; transition:none !important; }
  .fu { opacity:1; transform:none; }
}
