/*
 * Party Animals — Custom Styles
 * WordPress: enqueue via functions.php → wp_enqueue_style()
 * Requires Google Fonts in <head> (add via WordPress theme or plugin):
 * https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap
 */

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --pink: #FF1654; --pink-light: #FF4577; --pink-glow: rgba(255,22,84,0.22);
  --yellow: #FFD60A; --dark: #080810; --dark-2: #0E0E1C; --dark-3: #141428;
  --dark-card: #12121F; --white: #FAFAFA; --muted: rgba(250,250,250,0.45);
  --border: rgba(255,255,255,0.08); --radius: 20px; --radius-sm: 12px;
}
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family:'DM Sans',sans-serif; background:var(--dark); color:var(--white); overflow-x:hidden; }
img, video, iframe { max-width: 100%; height: auto; }

/* Cursor — standard */

/* Typography */
h1,h2,h3,h4 { font-family:'Bricolage Grotesque',sans-serif; line-height:1.05; letter-spacing:-.02em; }


/* Noise */
body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"); pointer-events:none; z-index:1000; opacity:.35; }

/* Scroll progress */
#scroll-prog { position:fixed; top:0; left:0; height:3px; width:0%; background:var(--pink); z-index:10000; box-shadow:0 0 10px var(--pink); transition:width .08s linear; }

/* Section dots */
#section-dots { position:fixed; right:18px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px; z-index:500; }
.sdot { width:6px; height:6px; border-radius:3px; background:rgba(255,255,255,.2); cursor:none; transition:all .3s ease; }
.sdot.active { height:18px; background:var(--pink); box-shadow:0 0 8px var(--pink); }


/* ===== NAV ===== */
nav { position:sticky; top:0; z-index:200; padding:0 40px; display:flex; align-items:center; justify-content:space-between; height:70px; background:rgba(8,8,16,.88); backdrop-filter:blur(20px) saturate(180%); border-bottom:1px solid var(--border); transition:height .3s,background .3s,box-shadow .3s; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--white); }
.logo img.logo-img { height:44px; object-fit:contain; }
.nav-links { display:flex; gap:6px; list-style:none; }
.nav-links a { text-decoration:none; color:rgba(250,250,250,.7); font-size:14px; font-weight:500; padding:8px 15px; border-radius:8px; transition:all .2s; }
.nav-links a:hover,.nav-links a.active { color:var(--white); background:rgba(255,255,255,.07); }
.nav-cta { background:var(--pink)!important; color:white!important; border-radius:10px!important; font-weight:700!important; box-shadow:0 4px 16px var(--pink-glow); }
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 8px 24px var(--pink-glow)!important; background:var(--pink-light)!important; }

/* ===== HERO ===== */
.hero { position:relative; min-height:calc(100vh - 70px); display:flex; align-items:center; overflow:hidden; padding:80px 40px 60px; }
.hero-parallax { position:absolute; inset:-20% 0; background:radial-gradient(ellipse 70% 80% at 65% 50%,rgba(255,22,84,.13) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 20% 80%,rgba(255,214,10,.06) 0%,transparent 50%),var(--dark); will-change:transform; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%); will-change:transform; pointer-events:none; }
.hero-content { position:relative; z-index:2; max-width:620px; flex:1; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,22,84,.12); border:1px solid rgba(255,22,84,.3); border-radius:100px; padding:6px 16px; font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--pink); text-transform:uppercase; margin-bottom:28px; }
.badge-dot { width:6px; height:6px; background:var(--pink); border-radius:50%; animation:pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }
.hero h1 { font-size:clamp(52px,7vw,92px); font-weight:800; line-height:1.0; margin-bottom:24px; }
.hero h1 em { font-style:normal; color:var(--pink); position:relative; display:inline-block; }
.hero h1 em::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:4px; background:var(--pink); border-radius:2px; animation:underline-in .5s ease .9s forwards; transform:scaleX(0); transform-origin:left; }
@keyframes underline-in { to{transform:scaleX(1)} }
.hero p { font-size:17px; line-height:1.7; color:var(--muted); max-width:480px; margin-bottom:40px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* Buttons */
.btn-primary { display:inline-flex; align-items:center; gap:10px; background:var(--pink); color:white; text-decoration:none; padding:12px 28px; border-radius:100px; font-weight:600; font-size:15px; font-family:'Bricolage Grotesque',sans-serif; transition:all .25s; box-shadow:0 6px 22px var(--pink-glow); border:none; cursor:pointer; letter-spacing:.01em; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 36px var(--pink-glow); background:var(--pink-light); }
.btn-primary svg { transition:transform .2s; }
.btn-primary:hover svg { transform:translateX(4px); }
.btn-ghost { display:inline-flex; align-items:center; gap:10px; background:transparent; color:var(--white); text-decoration:none; padding:11px 26px; border-radius:100px; font-weight:400; font-size:15px; border:1px solid rgba(255,255,255,.18); transition:all .25s; cursor:pointer; letter-spacing:.01em; }
.btn-ghost:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.32); }

/* Hero right */
.hero-right { position:relative; flex:1; max-width:580px; min-height:580px; display:flex; align-items:center; justify-content:center; }
.hero-booth-img { width:260px; border-radius:24px; position:relative; z-index:2; box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06); transition:transform .3s; }
.hero-booth-img:hover { transform:scale(1.02) rotate(1deg); }

/* Floating event photos */
.float-photo { position:absolute; border-radius:16px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.5); border:2px solid rgba(255,255,255,.08); }
.float-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.float-photo-label { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(0,0,0,.8),transparent); padding:12px 14px 10px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:13px; }
.fp1 { width:148px; height:210px; top:-10px; left:-30px; animation:floatA 6s ease-in-out infinite; z-index:3; }
.fp2 { width:138px; height:195px; top:-20px; right:-20px; animation:floatB 7.5s ease-in-out .4s infinite; z-index:1; }
.fp3 { width:152px; height:218px; bottom:-20px; left:-25px; animation:floatC 8s ease-in-out 1.2s infinite; z-index:3; }
.fp4 { width:144px; height:200px; bottom:-15px; right:-25px; animation:floatD 6.8s ease-in-out .7s infinite; z-index:1; }
/* Each anim starts & ends at same rotation so there's no jump on load */
@keyframes floatA { 0%,100%{transform:translateY(0) rotate(-8deg)} 50%{transform:translateY(-16px) rotate(-6deg)} }
@keyframes floatB { 0%,100%{transform:translateY(0) rotate(11deg)} 50%{transform:translateY(-13px) rotate(13deg)} }
@keyframes floatC { 0%,100%{transform:translateY(0) rotate(5deg)} 50%{transform:translateY(-18px) rotate(3deg)} }
@keyframes floatD { 0%,100%{transform:translateY(0) rotate(-12deg)} 50%{transform:translateY(-14px) rotate(-10deg)} }

/* Color ring */
.hero-ring { position:absolute; width:340px; height:340px; border-radius:50%; background:conic-gradient(from 0deg,#FF1654,#FFD60A,#FF6B9D,#A855F7,#FF1654); animation:spin 10s linear infinite; z-index:1; opacity:.85; filter:blur(2px); }
.hero-ring-inner { width:298px; height:298px; background:var(--dark); border-radius:50%; position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; cursor:pointer; user-select:none; }
@keyframes spin { to{transform:rotate(360deg)} }

/* ── CSS tablet inside the ring ── */
.ipad-wrap {
  width: 158px; height: 250px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.09) 0%, transparent 18%),
    linear-gradient(175deg, #464648 0%, #323234 30%, #202022 70%, #141416 100%);
  box-shadow:
    0 0 0 1px #0a0a0c,
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.55),
    inset 1px 0 0 rgba(255,255,255,.06),
    inset -1px 0 0 rgba(0,0,0,.3),
    0 28px 70px rgba(0,0,0,.95);
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  padding: 16px 9px 20px;
}
.ipad-wrap::before { /* camera pill */
  content:''; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:28px; height:4px; border-radius:2px;
  background:#0d0d0f; box-shadow:inset 0 1px 2px rgba(0,0,0,.8);
}
.ipad-wrap::after { /* home bar */
  content:''; position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
  width:46px; height:3.5px; border-radius:2px;
  background:rgba(255,255,255,.25);
}
.ipad-screen {
  flex:1; width:100%; border-radius:8px;
  background:#050508; overflow:hidden; position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1);
}
.ipad-screen::before { /* pink glow */
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 55% at 50% 60%, rgba(255,22,84,.13) 0%, transparent 68%);
  pointer-events:none;
}
.ipad-screen::after { /* glass glare */
  content:''; position:absolute;
  top:-20%; left:-30%; width:70%; height:120%;
  background:linear-gradient(105deg, rgba(255,255,255,.045) 0%, transparent 55%);
  transform:skewX(-12deg); pointer-events:none;
}
.ipad-tap {
  font-family:'DM Sans',sans-serif; font-size:8px; font-weight:400;
  letter-spacing:.26em; text-transform:uppercase;
  color:rgba(255,255,255,.38); position:relative; z-index:1;
  transition:letter-spacing .3s, color .3s;
}
.ipad-start {
  font-family:'Bricolage Grotesque',sans-serif; font-size:17px; font-weight:800;
  letter-spacing:.03em; text-transform:uppercase;
  color:#fff; position:relative; z-index:1; transition:color .3s;
}
.ipad-touch {
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(255,22,84,.55);
  position:relative; z-index:1;
  animation:touchPulse 2.4s ease-in-out infinite;
}
.ipad-touch::after {
  content:''; position:absolute; inset:6px; border-radius:50%;
  background:rgba(255,22,84,.15);
}
@keyframes touchPulse {
  0%,100%{transform:scale(.95);opacity:.5}
  50%{transform:scale(1.25);opacity:.95}
}
.hero-ring-inner:hover .ipad-tap  { letter-spacing:.32em; color:rgba(255,255,255,.6); }
.hero-ring-inner:hover .ipad-start { color:var(--pink); }

/* hero-ipad-wrap + screen-text (real photo approach — unused) */
.hero-ipad-wrap { position:absolute; z-index:3; cursor:pointer; }
.hero-ipad-screen-text { position:absolute; top:15%; left:50%; transform:translateX(-50%); text-align:center; }
.its-tap { display:block; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.its-start { display:block; font-size:18px; font-weight:900; color:#fff; }

/* Camera flash */
.flash-overlay { position:fixed; inset:0; background:white; opacity:0; pointer-events:none; z-index:99999; transition:opacity .05s; }
.flash-overlay.flashing { animation:cameraFlash .5s ease-out forwards; }
@keyframes cameraFlash { 0%{opacity:0} 10%{opacity:1} 30%{opacity:.8} 100%{opacity:0} }

/* Contact popup modal */
.popup-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.75); backdrop-filter:blur(8px); z-index:9000; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; }
.popup-backdrop.open { opacity:1; pointer-events:all; }
.popup-box { background:var(--dark-card); border:1px solid rgba(255,22,84,.3); border-radius:28px; padding:32px 36px; max-width:520px; width:90%; position:relative; transform:translateY(30px) scale(.96); transition:transform .35s cubic-bezier(.2,0,.2,1); box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04); }
.popup-backdrop.open .popup-box { transform:translateY(0) scale(1); }
.popup-close { position:absolute; top:18px; right:20px; background:rgba(255,255,255,.07); border:none; color:var(--white); width:36px; height:36px; border-radius:50%; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.popup-close:hover { background:rgba(255,22,84,.3); }
.popup-box h3 { font-size:26px; font-weight:800; margin-bottom:6px; }
.popup-box .popup-sub { color:var(--muted); font-size:15px; margin-bottom:16px; }
.popup-field { margin-bottom:16px; }
.popup-field label { display:block; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.popup-field input, .popup-field textarea, .popup-field select { width:100%; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:12px; padding:14px 18px; color:var(--white); font-family:'DM Sans',sans-serif; font-size:15px; outline:none; transition:border-color .2s; }
.popup-field input:focus, .popup-field textarea:focus, .popup-field select:focus { border-color:rgba(255,22,84,.5); background:rgba(255,22,84,.04); }
.popup-field textarea { resize:vertical; min-height:100px; }
.popup-field select option { background:var(--dark-card); }
.popup-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.popup-submit { width:100%; padding:16px; background:var(--pink); border:none; border-radius:14px; color:white; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:16px; cursor:pointer; transition:all .25s; margin-top:8px; box-shadow:0 8px 28px var(--pink-glow); }
.popup-submit:hover { background:var(--pink-light); transform:translateY(-2px); }
.popup-success { text-align:center; padding:20px 0; display:none; }
.popup-success .check { font-size:64px; margin-bottom:16px; }
.popup-success h4 { font-size:22px; font-weight:800; margin-bottom:8px; }
.popup-success p { color:var(--muted); }

/* Stats */
.stat-label { font-size:13px; color:var(--muted); }

/* Sections */
section { padding:100px 40px; }
.container { max-width:1160px; margin:0 auto; }
.section-header { text-align:center; margin-bottom:64px; }
.section-header h2 { font-size:clamp(36px,5vw,58px); font-weight:800; margin-bottom:14px; }
.section-header p { font-size:17px; color:var(--muted); max-width:520px; margin:0 auto; line-height:1.7; }

/* Features */
.features { background:var(--dark-2); }
.features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:60px; }
.feature-card { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius); padding:36px 28px; transition:all .3s; position:relative; overflow:hidden; }
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--pink); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.feature-card:hover { border-color:rgba(255,22,84,.3); transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,.3); }
.feature-card:hover::before { transform:scaleX(1); }
.feature-icon { width:64px; height:64px; margin-bottom:20px; border-radius:14px; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; transform:translateZ(0); }
.feature-icon img { display:block; width:64px; height:64px; object-fit:cover; }
.feature-icon svg { display:block; flex-shrink:0; width:56%; height:56%; }
.feature-card h3 { font-size:19px; font-weight:700; margin-bottom:10px; }
.feature-card p { font-size:14px; line-height:1.65; color:var(--muted); }

/* About */
.about { background:var(--dark); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-image-wrap { position:relative; }
.about-main-img { width:100%; max-width:480px; border-radius:32px; box-shadow:0 30px 80px rgba(0,0,0,.5); display:block; object-fit:cover; aspect-ratio:4/5; }
.about-badge { position:absolute; bottom:-16px; right:-16px; background:var(--pink); border-radius:16px; padding:18px 24px; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:13px; line-height:1.4; box-shadow:0 8px 32px var(--pink-glow); }
.about-badge-big { font-size:34px; display:block; margin-bottom:4px; }
.about-content h2 { font-size:clamp(34px,4vw,52px); font-weight:800; margin-bottom:24px; }
.about-content h2 span { color:var(--pink); }
.about-content p { font-size:16px; line-height:1.75; color:rgba(250,250,250,.65); margin-bottom:16px; }
.about-content p strong { color:var(--white); font-weight:600; }
.about-tagline { font-family:'Bricolage Grotesque',sans-serif; font-size:19px; font-weight:600; font-style:italic; color:var(--pink); margin-top:28px; padding-top:28px; border-top:1px solid var(--border); }

/* How */
.how { background:var(--dark-2); }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.steps-grid::before { content:''; position:absolute; top:38px; left:calc(12.5% + 20px); right:calc(12.5% + 20px); height:2px; background:linear-gradient(90deg,var(--pink),rgba(255,22,84,.15)); }
.step-card { text-align:center; padding:36px 22px; background:var(--dark-card); border-radius:var(--radius); border:1px solid var(--border); transition:all .3s; }
.step-card:hover { border-color:rgba(255,22,84,.3); transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,.3); }
.step-num { width:64px; height:64px; border-radius:50%; background:var(--pink); color:white; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:22px; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; box-shadow:0 8px 24px var(--pink-glow); transition:transform .3s; }
.step-card:hover .step-num { transform:scale(1.1); }
.step-card h3 { font-size:17px; font-weight:700; margin-bottom:10px; }
.step-card p { font-size:14px; color:var(--muted); line-height:1.65; }

/* Events showcase */
.events { background:var(--dark); }
.ev-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 320px 320px;
  gap: 14px;
  margin-top: 56px;
}
.ev-card { position:relative; border-radius:22px; overflow:hidden; cursor:pointer; background:var(--dark-card); }
.ev-card:nth-child(1) { grid-row: span 2; }
/* parallax image — taller than card so it can shift */
.ev-img {
  position: absolute; inset: -15% 0;
  width: 100%; height: 130%;
  object-fit: cover; object-position: center 20%;
  transition: transform .6s cubic-bezier(.2,0,.2,1);
  will-change: transform;
}
.ev-card:hover .ev-img { transform: scale(1.06); }
/* overlays */
.ev-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.3) 50%, transparent 100%);
  transition: background .4s;
}
.ev-card:hover .ev-overlay {
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.5) 60%, rgba(255,22,84,.08) 100%);
}
/* content at bottom */
.ev-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 28px 26px 26px;
  z-index: 2;
}
.ev-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,22,84,.18); border: 1px solid rgba(255,22,84,.35);
  border-radius: 100px; padding: 4px 12px;
  font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: #ff6b9d;
  margin-bottom: 10px;
}
.ev-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 22px; font-weight: 800; color: #fff;
  margin-bottom: 6px; line-height: 1.2;
}
.ev-card:nth-child(1) .ev-title { font-size: 30px; }
.ev-desc {
  font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.6;
  max-height: 0; overflow: hidden;
  transition: max-height .4s ease, opacity .4s;
  opacity: 0;
}
.ev-card:hover .ev-desc { max-height: 80px; opacity: 1; }
.ev-more {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 14px; font-size: 13px; font-weight: 600;
  color: var(--pink); opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s .1s, transform .3s .1s;
}
.ev-card:hover .ev-more { opacity: 1; transform: translateY(0); }
.ev-more svg { transition: transform .2s; }
.ev-card:hover .ev-more svg { transform: translateX(4px); }

/* Event popup modal */
.ev-popup-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.78); backdrop-filter: blur(10px);
  z-index: 8000; display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .3s;
}
.ev-popup-backdrop.open { opacity: 1; pointer-events: all; }
.ev-popup {
  background: var(--dark-card); border: 1px solid rgba(255,255,255,.08);
  border-radius: 28px; max-width: 560px; width: 90%;
  overflow: hidden; position: relative;
  transform: translateY(28px) scale(.97);
  transition: transform .35s cubic-bezier(.2,0,.2,1);
  box-shadow: 0 40px 100px rgba(0,0,0,.7);
}
.ev-popup-backdrop.open .ev-popup { transform: translateY(0) scale(1); }
.ev-popup-hero {
  width: 100%; height: 220px; object-fit: cover; display: block;
}
.ev-popup-body { padding: 32px 36px 36px; }
.ev-popup-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,22,84,.15); border: 1px solid rgba(255,22,84,.3);
  border-radius: 100px; padding: 4px 14px;
  font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--pink); margin-bottom: 14px;
}
.ev-popup-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 26px; font-weight: 800; margin-bottom: 12px;
}
.ev-popup-text { font-size: 15px; color: rgba(250,250,250,.65); line-height: 1.75; margin-bottom: 24px; }
.ev-popup-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--pink); color: white; text-decoration: none;
  padding: 12px 26px; border-radius: 100px;
  font-weight: 600; font-size: 15px; cursor: pointer; border: none;
  transition: background .2s, transform .2s;
  box-shadow: 0 6px 22px var(--pink-glow);
}
.ev-popup-cta:hover { background: var(--pink-light); transform: translateY(-2px); }
.ev-popup-close {
  position: absolute; top: 14px; right: 14px;
  background: rgba(0,0,0,.5); border: none; color: #fff;
  width: 34px; height: 34px; border-radius: 50%; font-size: 16px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(4px); transition: background .2s;
}
.ev-popup-close:hover { background: rgba(255,22,84,.4); }
.event-label { position:absolute; bottom:18px; left:22px; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:21px; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.event-note { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius); padding:30px; display:flex; align-items:center; justify-content:center; text-align:center; }
.event-note p { font-size:15px; line-height:1.7; color:rgba(250,250,250,.7); font-style:italic; }
.event-note strong { color:var(--pink); font-style:normal; }

/* Packages */
.packages { background:var(--dark-2); }
.packages-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
.pkg { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius); padding:38px 34px; position:relative; transition:all .3s; overflow:hidden; }
.pkg::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--border); transition:background .3s; }
.pkg:hover { border-color:rgba(255,22,84,.2); transform:translateY(-4px); box-shadow:0 20px 60px rgba(0,0,0,.3); }
.pkg:hover::before { background:var(--pink); }
.pkg.featured { border-color:rgba(255,22,84,.4); background:linear-gradient(180deg,rgba(255,22,84,.06) 0%,var(--dark-card) 55%); }
.pkg.featured::before { background:var(--pink); }
.pkg-badge { position:absolute; top:18px; right:18px; background:var(--pink); color:white; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 12px; border-radius:100px; }
.pkg h3 { font-size:25px; font-weight:800; margin-bottom:6px; }
.pkg-price { font-family:'Bricolage Grotesque',sans-serif; font-size:50px; font-weight:800; color:var(--pink); line-height:1; margin-bottom:4px; }
.pkg-price span { font-size:20px; font-weight:500; color:var(--muted); }
.pkg-note { font-size:13px; color:var(--muted); margin-bottom:28px; }
.pkg-div { height:1px; background:var(--border); margin:24px 0; }
.pkg-features { list-style:none; display:flex; flex-direction:column; gap:0; margin-bottom:32px; }
.pkg-features li {
  display:flex; align-items:center; gap:12px;
  font-size:14px; line-height:1.5;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pkg-features li:last-child { border-bottom:none; }
.chk { width:22px; height:22px; background:rgba(255,22,84,.12); border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.chk svg { width:11px; height:11px; }
.btn-pkg { display:block; width:100%; text-align:center; padding:12px 20px; border-radius:100px; font-weight:600; font-size:15px; font-family:'Bricolage Grotesque',sans-serif; text-decoration:none; transition:all .25s; cursor:pointer; border:none; letter-spacing:.01em; }
.btn-pkg-out { background:transparent; border:1px solid rgba(255,255,255,.18); color:var(--white); }
.btn-pkg-out:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.32); }
.btn-pkg-fill { background:var(--pink); color:white; box-shadow:0 6px 22px var(--pink-glow); }
.btn-pkg-fill:hover { background:var(--pink-light); transform:translateY(-2px); box-shadow:0 12px 36px var(--pink-glow); }

/* Addons */
.addons { background:var(--dark-3); }
.addons-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:56px; }
.addon { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius-sm); padding:28px 24px; transition:all .3s; }
.addon:hover { border-color:rgba(255,22,84,.25); transform:translateY(-3px); }
.addon-price { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:28px; color:var(--pink); margin-bottom:8px; }
.addon h3 { font-size:17px; font-weight:700; margin-bottom:10px; }
.addon p { font-size:13px; color:var(--muted); line-height:1.6; }

/* Why */
.why { background:var(--dark); }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:56px; }
.why-card { padding:30px; background:var(--dark-2); border:1px solid var(--border); border-radius:var(--radius-sm); transition:all .3s; display:flex; gap:18px; align-items:flex-start; }
.why-card:hover { border-color:rgba(255,22,84,.2); background:rgba(255,22,84,.04); }
.why-icon { width:52px; height:52px; flex-shrink:0; border-radius:12px; overflow:hidden; transform:translateZ(0); }
.why-icon img { display:block; width:52px; height:52px; object-fit:cover; }
.why-icon svg { display:block; width:100%; height:100%; }
.why-card h3 { font-size:17px; font-weight:700; margin-bottom:8px; }
.why-card p { font-size:14px; color:var(--muted); line-height:1.6; }

/* Tech */
.tech { background:var(--dark-2); padding:80px 40px; }
.tech-inner { border-radius:28px; background:linear-gradient(135deg,var(--dark-3) 0%,#0a0a18 100%); border:1px solid var(--border); padding:70px 60px; text-align:center; }
.tech-inner h2 { font-size:clamp(34px,4vw,50px); font-weight:800; margin-bottom:14px; }
.tech-inner > p { font-size:16px; color:var(--muted); margin-bottom:56px; }
.tech-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.tech-spec { display:flex; flex-direction:column; align-items:center; gap:14px; padding:34px 22px; border-radius:var(--radius-sm); border:1px solid var(--border); background:rgba(255,255,255,.02); transition:all .3s; }
.tech-spec:hover { border-color:rgba(255,22,84,.2); background:rgba(255,22,84,.04); }
.tech-spec-icon { width:52px; height:52px; background:rgba(255,22,84,.1); border:1px solid rgba(255,22,84,.2); border-radius:14px; display:flex; align-items:center; justify-content:center; }
.tech-spec-icon svg { width:26px; height:26px; stroke:var(--pink); }
.tech-spec-val { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:28px; color:var(--pink); }
.tech-spec p { font-size:14px; color:var(--muted); line-height:1.6; text-align:center; }

/* Backdrops */
.backdrops { background:var(--dark); }
.backdrops-scroll-wrap { overflow-x:auto; overflow-y:hidden; padding-bottom:12px; cursor:grab; scrollbar-width:thin; scrollbar-color:var(--pink) rgba(255,255,255,.05); -webkit-overflow-scrolling:touch; }
.backdrops-scroll-wrap:active { cursor:grabbing; }
.backdrops-grid { display:grid; grid-template-columns:repeat(15,220px); grid-auto-rows:290px; grid-template-rows:290px; gap:16px; padding:6px 4px 8px; width:max-content; }
.backdrop-card { border-radius:4px; overflow:hidden; width:220px; height:290px; position:relative; border:1px solid var(--border); transition:transform .3s,border-color .3s; cursor:pointer; }
.backdrop-card:hover { transform:scale(1.05) translateY(-4px); border-color:rgba(255,22,84,.5); z-index:2; box-shadow:0 20px 50px rgba(0,0,0,.4); }
.backdrop-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.backdrop-card:hover img { transform:scale(1.08); }
.backdrop-name { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(0,0,0,.85),transparent); padding:20px 14px 12px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.backdrops-arrows { display:flex; gap:12px; justify-content:center; margin-top:20px; }
.bd-arrow { background:rgba(255,22,84,.12); border:1px solid rgba(255,22,84,.3); color:var(--pink); width:44px; height:44px; border-radius:50%; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.bd-arrow:hover { background:rgba(255,22,84,.25); transform:scale(1.1); }
.backdrops-cta { margin-top:40px; padding:40px; background:rgba(255,22,84,.06); border:1px solid rgba(255,22,84,.2); border-radius:var(--radius); text-align:center; }
.backdrops-cta h3 { font-size:26px; font-weight:800; margin-bottom:10px; }
.backdrops-cta p { color:var(--muted); margin-bottom:22px; font-size:16px; }

/* Props / rekvizity */
.props-wrap { margin-top:56px; }
.props-title { font-family:'Bricolage Grotesque',sans-serif; font-size:22px; font-weight:800; margin-bottom:20px; }

/* Testimonials */
.testimonials { background:var(--dark-2); }
.test-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:60px; }
.test-card { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius); padding:38px; position:relative; transition:all .3s; overflow:hidden; }
.test-card:hover { border-color:rgba(255,22,84,.2); transform:translateY(-4px); }
.test-card::before { content:'"'; font-family:'Bricolage Grotesque',sans-serif; font-size:110px; font-weight:800; color:var(--pink); opacity:.12; position:absolute; top:-15px; left:28px; line-height:1; }
.test-stars { color:var(--yellow); font-size:15px; margin-bottom:18px; letter-spacing:2px; }
.test-card p { font-size:16px; line-height:1.72; color:rgba(250,250,250,.75); font-style:italic; margin-bottom:26px; position:relative; }
.test-author { display:flex; align-items:center; gap:14px; }
.test-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--pink),#A855F7); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; flex-shrink:0; }
.test-name { font-weight:700; font-size:15px; }
.test-role { font-size:13px; color:var(--muted); }

/* FAQ */
.faq { background:var(--dark); }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:60px; align-items:start; }
.faq-content h2 { font-size:clamp(32px,4vw,50px); font-weight:800; margin-bottom:14px; }
.faq-content > p { font-size:16px; color:var(--muted); line-height:1.7; margin-bottom:28px; }
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq-item { background:var(--dark-2); border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; transition:border-color .2s; }
.faq-item.open { border-color:rgba(255,22,84,.3); }
.faq-q { width:100%; background:none; border:none; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:14px; cursor:pointer; text-align:left; font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:15px; color:var(--white); transition:color .2s; }
.faq-q:hover,.faq-item.open .faq-q { color:var(--pink); }
.faq-ico { width:26px; height:26px; border-radius:7px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s,transform .3s; color:var(--muted); }
.faq-item.open .faq-ico { background:rgba(255,22,84,.15); color:var(--pink); transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease,padding .3s; padding:0 22px; }
.faq-item.open .faq-a { max-height:280px; padding:0 22px 18px; }
.faq-a p { font-size:14px; color:var(--muted); line-height:1.75; }

/* Contact */
.contact { background:var(--dark-2); }
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:70px; margin-top:60px; align-items:start; }
.contact-info h2 { font-size:clamp(32px,4vw,50px); font-weight:800; margin-bottom:14px; }
.contact-info > p { font-size:16px; color:var(--muted); line-height:1.7; margin-bottom:36px; }
.contact-items { display:flex; flex-direction:column; gap:16px; }
.ci { display:flex; align-items:center; gap:16px; padding:17px 20px; background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius-sm); text-decoration:none; color:var(--white); transition:all .2s; }
.ci:hover { border-color:rgba(255,22,84,.3); transform:translateX(4px); }
.ci-icon { width:40px; height:40px; border-radius:10px; background:var(--pink); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.ci-label { font-size:12px; color:var(--muted); margin-bottom:2px; text-transform:uppercase; letter-spacing:.08em; font-weight:500; }
.ci-val { font-weight:600; font-size:15px; }
/* IČO — iOS auto-link override */
.ci-val a, .ci-val a:link, .ci-val a:visited { color: var(--pink) !important; text-decoration: none !important; }
.contact-social { display:flex; gap:10px; margin-top:28px; }
.contact-social a { width:40px; height:40px; background:var(--dark-card); border:1px solid var(--border); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:17px; text-decoration:none; transition:all .2s; }
.contact-social a:hover { border-color:var(--pink); background:rgba(255,22,84,.1); transform:translateY(-2px); }
.contact-form { background:var(--dark-card); border:1px solid var(--border); border-radius:var(--radius); padding:42px; }
.contact-form h3 { font-size:22px; font-weight:800; margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-group { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.form-group label { font-size:13px; font-weight:600; color:rgba(250,250,250,.65); }
.form-control { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:12px 15px; color:var(--white); font-family:'DM Sans',sans-serif; font-size:15px; width:100%; transition:all .2s; outline:none; }
.form-control::placeholder { color:rgba(255,255,255,.22); }
.form-control:focus { border-color:var(--pink); background:rgba(255,22,84,.04); box-shadow:0 0 0 3px rgba(255,22,84,.1); }
textarea.form-control { resize:vertical; min-height:116px; }

/* Footer */
footer { background:var(--dark); border-top:1px solid var(--border); padding:60px 40px 28px; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:56px; padding-bottom:48px; border-bottom:1px solid var(--border); margin-bottom:28px; }
.footer-brand p { font-size:14px; color:var(--muted); line-height:1.7; margin:18px 0; }
.footer-social { display:flex; gap:10px; }
.footer-social a { width:36px; height:36px; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:15px; text-decoration:none; transition:all .2s; }
.footer-social a:hover { border-color:var(--pink); background:rgba(255,22,84,.1); }
.footer-col h4 { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(250,250,250,.45); margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer-col ul a { text-decoration:none; color:rgba(250,250,250,.6); font-size:14px; transition:color .2s; }
.footer-col ul a:hover { color:var(--white); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; font-size:13px; color:rgba(250,250,250,.3); }
.footer-bottom a { color:var(--pink); text-decoration:none; }

/* Scroll Reveal */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1{transition-delay:.1s} .reveal-delay-2{transition-delay:.2s} .reveal-delay-3{transition-delay:.3s} .reveal-delay-4{transition-delay:.4s}

/* Animations */
@keyframes fadeInUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* ===== HAMBURGER / MOBILE MENU ===== */
.nav-hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 8px; z-index: 300;
}
.nav-hamburger span { display: block; width: 24px; height: 2px; background: var(--white); border-radius: 2px; transition: all .3s; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-menu {
  display: none; position: fixed; inset: 0;
  background: rgba(8,8,16,.97); backdrop-filter: blur(20px);
  z-index: 250; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  text-decoration: none; color: var(--white);
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 26px; font-weight: 700;
  padding: 12px 40px; border-radius: 14px; transition: color .2s, background .2s;
  width: 100%; text-align: center; max-width: 340px;
}
.mobile-menu a:hover { color: var(--pink); }
.mobile-menu .nav-cta { background: var(--pink) !important; color: white !important; font-size: 18px; margin-top: 10px; box-shadow: 0 6px 22px var(--pink-glow); }
.mobile-menu-close {
  position: absolute; top: 22px; right: 22px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); color: var(--white);
  width: 40px; height: 40px; border-radius: 50%; font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: background .2s;
}
.mobile-menu-close:hover { background: rgba(255,22,84,.3); }

/* ===== TABLET LANDSCAPE (≤1024px) ===== */
@media(max-width:1024px) {
  section { padding: 70px 32px; }
  nav { padding: 0 32px; }
  .hero { padding: 48px 32px 48px; }
  .features-grid { grid-template-columns: repeat(2,1fr); }
  .addons-grid { grid-template-columns: repeat(2,1fr); }
  .steps-grid { grid-template-columns: repeat(2,1fr); }
  .steps-grid::before { display: none; }
  .why-grid { grid-template-columns: repeat(2,1fr); }
  /* Footer — 3 sloupce zachovat i na tabletu */
  .footer-top { grid-template-columns: 1.5fr 1fr 1fr; gap: 32px; }
  /* Events — nutná explicitní výška pro absolute positioned obrázky */
  .ev-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 12px; }
  .ev-card { height: 280px; }
  .ev-card:nth-child(1) { grid-row: span 1; height: 280px; }
  /* Ring shrink */
  .hero-right { max-width: 420px; min-height: 460px; }
  .hero-ring { width: 290px; height: 290px; }
  .hero-ring-inner { width: 252px; height: 252px; }
  .ipad-wrap { width: 128px; height: 202px; padding: 13px 8px 17px; }
  .fp1 { width: 122px; height: 172px; }
  .fp2 { width: 112px; height: 158px; }
  .fp3 { width: 126px; height: 178px; }
  .fp4 { width: 118px; height: 164px; }
  /* Packages — menší font ceny aby Kč nezalamovalo */
  .pkg-price { font-size: 38px; }
  .pkg-price span { font-size: 17px; }
  .packages-grid { gap: 12px; }
  .pkg { padding: 28px 22px; }
  .about-grid { gap: 48px; }
  .contact-grid { gap: 48px; }
  .tech-inner { padding: 56px 40px; }
}

/* ===== TABLET PORTRAIT (≤820px) ===== */
@media(max-width:820px) {
  section { padding: 56px 28px; }
  .hero { padding: 36px 28px 40px; flex-direction: column; gap: 36px; align-items: center; text-align: center; min-height: auto; }
  .hero-content { max-width: 100%; }
  .hero-actions { justify-content: center; }
  .hero p { max-width: 100%; }
  .hero-right { width: 340px; max-width: 340px; min-height: 380px; }
  .hero-ring { width: 256px; height: 256px; }
  .hero-ring-inner { width: 222px; height: 222px; }
  .ipad-wrap { width: 112px; height: 176px; border-radius: 17px; padding: 13px 7px 16px; }
  .ipad-start { font-size: 15px; }
  /* Hero photos — všechny 4, nad prstenem (z-index:5), do rohů mimo TAP TO START */
  .fp1 { width: 90px; height: 128px; top: 12px; left: -56px; z-index: 5; }
  .fp2 { width: 82px; height: 116px; top: 12px; right: -54px; z-index: 5; display: block; }
  .fp3 { width: 90px; height: 128px; bottom: 12px; left: -56px; z-index: 5; display: block; }
  .fp4 { width: 82px; height: 116px; bottom: 12px; right: -54px; z-index: 5; }
  /* Events — 1 sloupec na tabletu na výšku, všechny stejně velké */
  .ev-grid { grid-template-columns: 1fr; }
  .ev-card { height: 260px; }
  .ev-card:nth-child(1) { grid-row: span 1; height: 260px; }
  /* Packages — 1 sloupec */
  .packages-grid { grid-template-columns: 1fr; gap: 14px; }
  .pkg-price { font-size: 44px; }
  .pkg-price span { font-size: 20px; }
  .pkg { padding: 32px 28px; }
  /* Footer — 3 sloupce v jednom řádku */
  .footer-top { grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
  .footer-brand p { font-size: 12px; }
  .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }
  /* About — foto vycentrovat */
  .about-image-wrap { display: flex; justify-content: center; }
  /* Features — 1 sloupec */
  .features-grid { grid-template-columns: 1fr; }
  .addons-grid { grid-template-columns: repeat(2,1fr); }
  .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .test-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .tech-specs { grid-template-columns: 1fr; gap: 14px; }
  .tech-inner { padding: 40px 28px; }
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
  .contact-form { padding: 32px 24px; }
  .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }
}

/* ===== MOBILE (≤768px) ===== */
@media(max-width:768px) {
  section { padding: 60px 20px; }
  nav { padding: 0 20px; height: 62px; }
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }

  /* Hero */
  .hero { padding: 44px 20px 56px; flex-direction: column; gap: 44px; align-items: center; text-align: center; min-height: auto; }
  .hero-content { max-width: 100%; }
  .hero-actions { justify-content: center; }
  .hero p { max-width: 100%; }
  .hero-right { display: flex; width: 320px; max-width: 320px; min-height: 360px; }
  .hero-ring { width: 224px; height: 224px; }
  .hero-ring-inner { width: 194px; height: 194px; }
  .ipad-wrap { width: 100px; height: 158px; border-radius: 16px; padding: 12px 7px 15px; }
  .ipad-start { font-size: 14px; }
  .ipad-tap { font-size: 7px; }
  .ipad-touch { width: 26px; height: 26px; }
  /* Fotky — všechny 4 nad prstenem, v rozích mimo TAP TO START */
  .fp1 { width: 80px; height: 114px; top: 8px; left: -48px; z-index: 5; }
  .fp2 { width: 74px; height: 104px; top: 8px; right: -48px; z-index: 5; display: block; }
  .fp3 { width: 80px; height: 114px; bottom: 8px; left: -48px; z-index: 5; display: block; }
  .fp4 { width: 74px; height: 104px; bottom: 8px; right: -48px; z-index: 5; }
  .float-photo-label { font-size: 10px; padding: 8px 10px 6px; }
  .float-photo { border-radius: 12px; }
  .about-image-wrap { display: flex; justify-content: center; }
  /* Popup form — menší na mobilu */
  .popup-box { padding: 22px 18px !important; }
  .popup-box h3 { font-size: 20px; }
  .popup-box .popup-sub { font-size: 13px; margin-bottom: 10px; }
  /* Footer made by — zajistit viditelnost */
  footer { padding-bottom: 36px; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
  .footer-bottom span { display: block; width: 100%; }

  /* Grids → 1 column */
  .about-grid { grid-template-columns: 1fr; gap: 36px; }
  .faq-grid { grid-template-columns: 1fr; gap: 36px; }
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .packages-grid { grid-template-columns: 1fr; }
  .ev-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .ev-card:nth-child(1) { grid-row: span 1; }
  .ev-card { height: 240px; }
  .why-grid { grid-template-columns: 1fr; }
  .test-grid { grid-template-columns: 1fr; }
  .tech-specs { grid-template-columns: 1fr; gap: 16px; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }

  /* Typography */
  .about-content h2, .contact-info h2, .faq-content h2 { font-size: clamp(28px,7vw,42px); }
  .hero h1 { font-size: clamp(44px,11vw,72px); }

  /* Components */
  .tech-inner { padding: 40px 24px; border-radius: 20px; }
  .contact-form { padding: 28px 22px; }
  .popup-box { padding: 32px 22px; }
  .popup-row { grid-template-columns: 1fr; gap: 0; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .about-main-img { max-width: 100%; }
  .about-badge { bottom: -12px; right: 0; }
  .pkg { padding: 32px 24px; }
  .faq-content > p { font-size: 15px; }

  /* White-space overrides */
  p[style*="white-space:nowrap"] { white-space: normal !important; }
  [style*="white-space:nowrap"] { white-space: normal !important; }

  #section-dots { display: none; }

  /* WPForms — responsive override */
  .wpforms-form .wpforms-field-columns-2 .wpforms-field-column { width: 100% !important; float: none !important; display: block !important; }
  .wpforms-form .wpforms-field-columns-2 { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .wpforms-form table, .wpforms-form tr, .wpforms-form td { max-width: 100% !important; }
  .wpforms-form { overflow-x: hidden !important; }

  /* Feature karty — viditelnější border na mobilu */
  .feature-card { border-color: rgba(255,255,255,0.15); }

  /* Event karty na mobilu — všechny stejně velké */
  .ev-card { height: 260px; }
  .ev-card:nth-child(1) { grid-row: span 1; height: 260px; }

  /* Event nadpisy — kompaktnější, více fotky vidět */
  .ev-content { padding: 12px 18px 16px; }
  .ev-tag { font-size: 10px; padding: 3px 10px; margin-bottom: 6px; }
  .ev-title { font-size: 18px; }

  /* Features grid — 1 sloupec na mobilu pro lepší čitelnost */
  .features-grid { grid-template-columns: 1fr; }
}

/* ===== SMALL PHONE (≤480px) ===== */
@media(max-width:480px) {
  section { padding: 50px 16px; }
  nav { padding: 0 16px; }
  .hero { padding: 36px 16px 48px; gap: 36px; }
  .hero-right { width: 280px; max-width: 280px; min-height: 300px; }
  .hero-ring { width: 210px; height: 210px; }
  .hero-ring-inner { width: 182px; height: 182px; }
  .ipad-wrap { width: 88px; height: 138px; border-radius: 12px; padding: 10px 6px 13px; }
  .ipad-start { font-size: 12px; }
  .ipad-touch { width: 22px; height: 22px; }
  /* Floating photos — všechny 4, nad prstenem, v rozích */
  .fp1 { width: 72px; height: 100px; top: 8px; left: -44px; z-index: 5; }
  .fp2 { width: 66px; height: 92px; top: 8px; right: -44px; z-index: 5; display: block; }
  .fp3 { width: 72px; height: 100px; bottom: 8px; left: -44px; z-index: 5; display: block; }
  .fp4 { width: 66px; height: 92px; bottom: 8px; right: -44px; z-index: 5; }
  .features-grid, .addons-grid, .steps-grid { grid-template-columns: 1fr; }
  .ev-card { height: 200px; }
  .ev-card:nth-child(1) { grid-row: span 1; height: 200px; }
  .btn-primary, .btn-ghost { padding: 12px 22px; font-size: 14px; }
  .hero-actions { gap: 10px; }
}

/* ===== WHY IKONY — vlastní SVG ilustrace ===== */

/* ===== PROPS ARROWS — mezera od CTA ===== */
.props-wrap .backdrops-arrows { margin-bottom: 0; }
.backdrops-cta { margin-top: 56px !important; }

/* ===== FAQ — oprava overflow na mobilu ===== */
.faq-item { overflow: hidden; }
.faq-q { box-sizing: border-box; width: 100%; word-break: break-word; }
@media(max-width:768px) {
  .faq-q { font-size: 14px; padding: 16px 16px; gap: 10px; }
  .faq-a { padding: 0 16px; }
  .faq-item.open .faq-a { padding: 0 16px 16px; }
}

/* ===== FOOTER MOBIL ===== */
@media(max-width:768px) {
  .footer-brand { text-align: center; }
  .footer-brand img { margin: 0 auto 12px; }
  .footer-col h4 { margin-bottom: 12px; }
  .footer-col ul { gap: 10px; }
  .footer-top { gap: 28px; }
}
@media(max-width:480px) {
  footer { padding: 40px 16px 24px; }
  .footer-bottom { font-size: 12px; gap: 4px; }
}

/* ===== EVENT POPUP — oprava obrázku ===== */
.ev-popup-hero {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center 15%;
  display: block;
  flex-shrink: 0;
}

/* ===== WPFORMS — dark theme ===== */
.wpforms-form { width: 100% !important; }
/* Agresivní reset mezer WPForms */
.wpforms-form .wpforms-field { margin-bottom: 8px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.wpforms-form .wpforms-field-container { margin-bottom: 0 !important; }
.wpforms-form .wpforms-field-row-block { margin-bottom: 0 !important; }
.wpforms-form .wpforms-field-columns-2 .wpforms-field-column { margin-bottom: 0 !important; }
.wpforms-form .wpforms-submit-container { margin-top: 10px !important; padding-top: 0 !important; }
.wpforms-form .wpforms-recaptcha-container { margin-top: 8px !important; margin-bottom: 0 !important; }
.wpforms-recaptcha-container { margin-top: 8px !important; }
.wpforms-form .wpforms-field-label,
.wpforms-form .wpforms-field-label.wpforms-label-hide + .wpforms-field-container .wpforms-field-label,
.wpforms-form legend.wpforms-field-label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(250,250,250,.85) !important;
  margin-bottom: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.wpforms-form .wpforms-field input[type="text"],
.wpforms-form .wpforms-field input[type="email"],
.wpforms-form .wpforms-field input[type="tel"],
.wpforms-form .wpforms-field input[type="number"],
.wpforms-form .wpforms-field input[type="url"],
.wpforms-form .wpforms-field textarea,
.wpforms-form .wpforms-field select {
  width: 100% !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 10px !important;
  padding: 12px 15px !important;
  color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .2s, background .2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.wpforms-form .wpforms-field input:focus,
.wpforms-form .wpforms-field textarea:focus,
.wpforms-form .wpforms-field select:focus {
  border-color: rgba(255,22,84,.5) !important;
  background: rgba(255,22,84,.04) !important;
  box-shadow: 0 0 0 3px rgba(255,22,84,.1) !important;
}
.wpforms-form .wpforms-field input::placeholder,
.wpforms-form .wpforms-field textarea::placeholder {
  color: rgba(255,255,255,.25) !important;
}
.wpforms-form .wpforms-field textarea {
  resize: vertical !important;
  min-height: 110px !important;
}
.wpforms-form .wpforms-field select option {
  background: #12121F !important;
  color: var(--white) !important;
}
.wpforms-form .wpforms-field-columns-2 .wpforms-field-column { width: 48% !important; }
/* Submit button */
.wpforms-form .wpforms-submit-container { margin-top: 8px; }
.wpforms-form button[type="submit"],
.wpforms-form input[type="submit"],
.wpforms-form .wpforms-submit {
  display: block !important;
  width: 100% !important;
  padding: 14px 24px !important;
  background: var(--pink) !important;
  color: white !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  box-shadow: 0 8px 28px rgba(255,22,84,.35) !important;
  letter-spacing: .01em !important;
}
.wpforms-form button[type="submit"]:hover,
.wpforms-form .wpforms-submit:hover {
  background: var(--pink-light) !important;
  transform: translateY(-2px) !important;
}
/* Error & confirmation messages */
.wpforms-confirmation-container-full,
.wpforms-confirmation-scroll {
  background: rgba(255,22,84,.08) !important;
  border: 1px solid rgba(255,22,84,.3) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  color: var(--white) !important;
  font-family: 'DM Sans', sans-serif !important;
  text-align: center !important;
}
.wpforms-form label.wpforms-error {
  color: #ff6b6b !important;
  font-size: 12px !important;
  margin-top: 4px !important;
  display: block !important;
}
.wpforms-form .wpforms-field-container { position: relative; }
/* Hide WPForms native styling artifacts */
.wpforms-form .wpforms-field-sublabel { font-size: 11px; color: rgba(250,250,250,.4); margin-top: 4px; }
.wpforms-recaptcha-container { margin-top: 12px; }

/* ============================================================
   GDPR & VOP STRÁNKY — styly (sloučeno z gdpr.css)
   Použití: přidej třídy přímo do HTML na WordPress stránce
   ============================================================ */

/* NAV na GDPR/VOP stránce */
.pa-gdpr-page nav { position: sticky; top: 0; z-index: 200; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; height: 70px; background: rgba(8,8,16,.95); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border); }
.pa-gdpr-page .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--white); }
.pa-gdpr-page .logo img { height: 44px; object-fit: contain; }
.nav-back { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 500; transition: color .2s; }
.nav-back:hover { color: var(--white); }

/* Hero sekce */
.gdpr-hero { padding: 80px 40px 60px; background: var(--dark-2); border-bottom: 1px solid var(--border); }
.gdpr-hero .container { max-width: 860px; margin: 0 auto; }
.gdpr-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,22,84,.12); border: 1px solid rgba(255,22,84,.3); border-radius: 100px; padding: 6px 16px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--pink); text-transform: uppercase; margin-bottom: 24px; }
.gdpr-hero h1 { font-size: clamp(36px,5vw,60px); font-weight: 800; margin-bottom: 16px; }
.gdpr-hero h1 span { color: var(--pink); }
.gdpr-hero p { font-size: 16px; color: var(--muted); max-width: 600px; }
.gdpr-updated { margin-top: 20px; font-size: 13px; color: rgba(250,250,250,.35); }

/* Obsah */
.gdpr-content { padding: 60px 40px 100px; }
.gdpr-content .container { max-width: 860px; margin: 0 auto; }

/* Sekce */
.gdpr-section { margin-bottom: 56px; scroll-margin-top: 90px; }
.gdpr-section h2 { font-size: clamp(22px,3vw,30px); font-weight: 800; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 12px; }
.gdpr-section h2 .sec-num { font-size: 13px; font-weight: 700; color: var(--pink); background: rgba(255,22,84,.12); border: 1px solid rgba(255,22,84,.25); border-radius: 6px; padding: 3px 9px; flex-shrink: 0; }
.gdpr-section h3 { font-size: 17px; font-weight: 700; margin: 24px 0 10px; color: var(--white); }
.gdpr-section p { font-size: 15px; color: rgba(250,250,250,.7); margin-bottom: 14px; }
.gdpr-section p:last-child { margin-bottom: 0; }
.gdpr-section ul, .gdpr-section ol { padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.gdpr-section ul li, .gdpr-section ol li { font-size: 15px; color: rgba(250,250,250,.7); display: flex; align-items: flex-start; gap: 10px; }
.gdpr-section ul li::before { content: '\2014'; color: var(--pink); flex-shrink: 0; font-weight: 700; margin-top: 1px; }
.gdpr-section ol { counter-reset: ol; }
.gdpr-section ol li { counter-increment: ol; }
.gdpr-section ol li::before { content: counter(ol) '.'; color: var(--pink); flex-shrink: 0; font-weight: 700; font-size: 14px; min-width: 18px; }
.gdpr-section strong { color: var(--white); font-weight: 600; }
.gdpr-section a { color: var(--pink); text-decoration: none; }
.gdpr-section a:hover { text-decoration: underline; }

/* Info box */
.info-box { background: rgba(255,22,84,.06); border: 1px solid rgba(255,22,84,.2); border-radius: var(--radius-sm); padding: 20px 24px; margin: 20px 0; }
.info-box p { color: rgba(250,250,250,.8); margin: 0; }

/* Obsah dokumentu (TOC) */
.toc { background: var(--dark-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px 32px; margin-bottom: 48px; }
.toc h3 { font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.toc ol { list-style: none; display: flex; flex-direction: column; gap: 8px; counter-reset: toc; }
.toc ol li { counter-increment: toc; display: flex; align-items: center; gap: 10px; }
.toc ol li::before { content: counter(toc,decimal-leading-zero); font-family: 'Bricolage Grotesque',sans-serif; font-size: 11px; font-weight: 700; color: var(--pink); width: 24px; flex-shrink: 0; }
.toc a { color: rgba(250,250,250,.7); text-decoration: none; font-size: 14px; transition: color .2s; }
.toc a:hover { color: var(--pink); }

/* Cookie tabulka */
.cookie-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.cookie-table th { background: rgba(255,22,84,.1); color: var(--white); font-family: 'Bricolage Grotesque',sans-serif; font-weight: 700; padding: 12px 16px; text-align: left; border-bottom: 1px solid rgba(255,22,84,.2); }
.cookie-table td { padding: 12px 16px; border-bottom: 1px solid var(--border); color: rgba(250,250,250,.7); vertical-align: top; }
.cookie-table tr:last-child td { border-bottom: none; }
.cookie-table tr:hover td { background: rgba(255,255,255,.02); }
.cookie-cat { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 4px; }
.cookie-cat.necessary { background: rgba(34,197,94,.15); color: #4ade80; border: 1px solid rgba(34,197,94,.3); }
.cookie-cat.analytics { background: rgba(251,191,36,.12); color: #fbbf24; border: 1px solid rgba(251,191,36,.25); }
.cookie-cat.marketing { background: rgba(255,22,84,.12); color: #ff6b9d; border: 1px solid rgba(255,22,84,.25); }

/* Práva grid (GDPR) */
.rights-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin: 20px 0; }
.right-card { background: var(--dark-card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 20px 22px; transition: border-color .2s; }
.right-card:hover { border-color: rgba(255,22,84,.25); }
.right-card h4 { font-size: 15px; font-weight: 700; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.right-card h4 span { font-size: 20px; }
.right-card p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.6; }

/* Footer na GDPR/VOP stránce */
.gdpr-footer { background: var(--dark); border-top: 1px solid var(--border); padding: 40px; text-align: center; }
.gdpr-footer p { font-size: 13px; color: rgba(250,250,250,.3); }
.gdpr-footer a { color: var(--pink); text-decoration: none; }

/* Responzivní GDPR */
@media(max-width:768px) {
  .pa-gdpr-page nav { padding: 0 20px; }
  .gdpr-hero { padding: 50px 20px 40px; }
  .gdpr-content { padding: 40px 20px 60px; }
  .rights-grid { grid-template-columns: 1fr; }
  .cookie-table { font-size: 12px; }
  .cookie-table th, .cookie-table td { padding: 10px 12px; }
  .toc { padding: 22px 20px; }
  .gdpr-footer { padding: 28px 20px; }
}
@media(max-width:480px) {
  .pa-gdpr-page nav { padding: 0 16px; }
  .gdpr-hero { padding: 40px 16px 32px; }
  .gdpr-content { padding: 32px 16px 50px; }
}

/* ===== COOKIE BANNER ===== */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
  background: rgba(8,8,16,.97); backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255,22,84,.25);
  padding: 18px 40px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  transform: translateY(100%); transition: transform .45s cubic-bezier(.2,0,.2,1);
  box-shadow: 0 -8px 40px rgba(0,0,0,.4);
}
.cookie-banner.visible { transform: translateY(0); }
.cookie-banner-text { font-size: 14px; color: rgba(250,250,250,.7); line-height: 1.6; flex: 1; max-width: 680px; }
.cookie-banner-text strong { color: var(--white); }
.cookie-banner-text a { color: var(--pink); text-decoration: none; cursor: pointer; }
.cookie-banner-text a:hover { text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-btn-accept { background: var(--pink); color: white; border: none; padding: 10px 24px; border-radius: 100px; font-weight: 700; font-size: 14px; cursor: pointer; transition: all .2s; font-family: 'Bricolage Grotesque', sans-serif; box-shadow: 0 4px 16px var(--pink-glow); }
.cookie-btn-accept:hover { background: var(--pink-light); transform: translateY(-1px); }
.cookie-btn-decline { background: transparent; color: rgba(250,250,250,.55); border: 1px solid rgba(255,255,255,.15); padding: 10px 22px; border-radius: 100px; font-weight: 500; font-size: 14px; cursor: pointer; transition: all .2s; }
.cookie-btn-decline:hover { border-color: rgba(255,255,255,.35); color: var(--white); }
@media(max-width:768px) {
  .cookie-banner { flex-direction: column; padding: 16px 20px; align-items: flex-start; gap: 14px; }
  .cookie-banner-actions { align-self: stretch; width: 100%; }
  .cookie-btn-accept, .cookie-btn-decline { flex: 1; text-align: center; }
}
@media(max-width:480px) {
  .cookie-banner { padding: 14px 16px; }
  .cookie-banner-actions { flex-direction: column; }
}

/* ===== LEGAL POPUPS (GDPR & VOP) ===== */
.legal-popup-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.85); backdrop-filter: blur(12px);
  z-index: 9800; display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .3s;
  padding: 20px;
}
.legal-popup-backdrop.open { opacity: 1; pointer-events: all; }
.legal-popup-box {
  background: var(--dark-card); border: 1px solid var(--border);
  border-radius: 24px; max-width: 760px; width: 100%;
  max-height: 88vh; overflow-y: auto; position: relative;
  transform: translateY(24px) scale(.97);
  transition: transform .35s cubic-bezier(.2,0,.2,1);
  box-shadow: 0 40px 100px rgba(0,0,0,.7);
  scrollbar-width: thin; scrollbar-color: var(--pink) rgba(255,255,255,.05);
}
.legal-popup-backdrop.open .legal-popup-box { transform: translateY(0) scale(1); }
.legal-popup-header {
  position: sticky; top: 0; z-index: 10;
  background: var(--dark-card); border-bottom: 1px solid var(--border);
  padding: 18px 28px; display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.legal-popup-header h3 { font-size: 20px; font-weight: 800; margin: 0; }
.legal-popup-close {
  background: rgba(255,255,255,.07); border: none; color: var(--white);
  width: 36px; height: 36px; border-radius: 50%; font-size: 16px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: background .2s;
}
.legal-popup-close:hover { background: rgba(255,22,84,.3); }
.legal-popup-content { padding: 28px 28px 40px; }
.legal-popup-content h4 { font-size: 16px; font-weight: 700; color: var(--pink); margin: 22px 0 8px; }
.legal-popup-content h4:first-child { margin-top: 0; }
.legal-popup-content p { font-size: 14px; color: rgba(250,250,250,.7); line-height: 1.75; margin-bottom: 10px; }
.legal-popup-content ul { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; padding: 0; }
.legal-popup-content ul li { font-size: 14px; color: rgba(250,250,250,.7); display: flex; align-items: flex-start; gap: 8px; }
.legal-popup-content ul li::before { content: '—'; color: var(--pink); flex-shrink: 0; font-weight: 700; }
.legal-popup-content strong { color: var(--white); font-weight: 600; }
.legal-popup-content a { color: var(--pink); text-decoration: none; }
.legal-popup-content a:hover { text-decoration: underline; }
.legal-updated { font-size: 12px; color: rgba(250,250,250,.3); margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--border); }
@media(max-width:768px) {
  .legal-popup-header { padding: 14px 18px; }
  .legal-popup-content { padding: 18px 18px 32px; }
}

