@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300..800&family=Hanken+Grotesk:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* ════════════════════════════════════════════════════════
   LADY CONCEPT — Toulouse Capitole · Design System
   Brand: magenta/pink + purple lighting · Premium
   Type: Bricolage Grotesque (display) + Hanken Grotesk (UI/body)
════════════════════════════════════════════════════════ */

:root {
  --pink:        #E6007E;
  --pink-bright: #FF2FA0;
  --pink-deep:   #B80064;
  --purple:      #8B1E9E;
  --violet:      #6D1B7B;
  --plum:        #1C0A18;
  --ink:         #1A0F16;
  --muted:       #8A6F7E;
  --cream:       #FCF7FA;
  --blush:       #FBEAF3;
  --blush-2:     #F6DCEA;
  --white:       #FFFFFF;
  --green:       #5BB12F;
  --green-deep:  #4A9826;

  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 28px;
  --r-xl: 44px;

  --shadow-soft: 0 6px 40px rgba(230,0,126,.10);
  --shadow-card: 0 12px 60px rgba(28,10,24,.10);
  --shadow-lift: 0 24px 70px rgba(230,0,126,.20);

  --f-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --f-sans:    'Hanken Grotesk', system-ui, sans-serif;
  --f-body:    'Hanken Grotesk', system-ui, sans-serif;

  --nav-h: 78px;
  --maxw: 1280px;
}

/* ───── reset ───── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--f-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.7;
  overflow-x: hidden;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* grain */
body::before {
  content:''; position: fixed; inset: 0; z-index: 9999; pointer-events: none;
  opacity: .022;
  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'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}

/* ───── reveal animations ───── */
.reveal      { opacity:0; transform: translateY(38px); transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1); }
.reveal-l    { opacity:0; transform: translateX(-44px); transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1); }
.reveal-r    { opacity:0; transform: translateX(44px);  transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1); }
.in-view     { opacity:1 !important; transform: none !important; }
.stagger > * { opacity:0; transform: translateY(30px); transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.stagger.in-view > * { opacity:1; transform:none; }
.stagger.in-view > *:nth-child(1){transition-delay:.05s}
.stagger.in-view > *:nth-child(2){transition-delay:.13s}
.stagger.in-view > *:nth-child(3){transition-delay:.21s}
.stagger.in-view > *:nth-child(4){transition-delay:.29s}
.stagger.in-view > *:nth-child(5){transition-delay:.37s}
.stagger.in-view > *:nth-child(6){transition-delay:.45s}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-l,.reveal-r,.stagger>*{transition:none;opacity:1;transform:none}
}

/* ════════ NAV ════════ */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 4vw;
  transition: background .4s, box-shadow .4s, height .4s;
}
.nav.solid {
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(28,10,24,.06), 0 8px 40px rgba(28,10,24,.06);
  height: 66px;
}
.nav.on-dark:not(.solid) .nav-link { color: rgba(255,255,255,.82); }
.nav.on-dark:not(.solid) .nav-logo-text { color: #fff; }
.nav.on-dark:not(.solid) .lang-btn { color: rgba(255,255,255,.7); }
.nav.on-dark:not(.solid) .lang-btn.active { color: #fff; }
.nav.on-dark:not(.solid) .burger span { background: #fff; }

.nav-logo { display: flex; align-items: center; gap: .6rem; }
.nav-logo svg { width: 38px; height: 32px; }
.nav-logo-text {
  font-family: var(--f-display); font-weight: 700; font-size: 1.25rem;
  letter-spacing: .02em; color: var(--ink); line-height: 1;
}
.nav-logo-text small {
  display: block; font-family: var(--f-sans); font-weight: 300;
  font-size: .58rem; letter-spacing: .42em; text-transform: uppercase;
  color: var(--pink); margin-top: 2px;
}

.nav-right { display: flex; align-items: center; gap: 2rem; }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-link {
  font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink); position: relative; transition: color .25s; opacity: .8;
}
.nav-link::after {
  content:''; position: absolute; left:0; right:100%; bottom:-6px; height:2px;
  background: var(--pink); border-radius:2px; transition: right .3s cubic-bezier(.22,1,.36,1);
}
.nav-link:hover, .nav-link.current { color: var(--pink); opacity:1; }
.nav-link:hover::after, .nav-link.current::after { right: 0; }

.lang-switch { display:flex; align-items:center; gap:.15rem; }
.lang-btn {
  font-size:.72rem; font-weight:700; letter-spacing:.08em; padding:.25rem .4rem;
  color: var(--muted); transition: color .2s; text-transform: uppercase;
}
.lang-btn.active { color: var(--pink); }
.lang-btn:hover { color: var(--pink); }
.lang-sep { color: rgba(138,111,126,.4); font-size:.7rem; }

.nav-cta {
  background: var(--pink); color:#fff !important; padding:.6rem 1.4rem; border-radius:100px;
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  transition: background .25s, transform .2s, box-shadow .25s;
  box-shadow: 0 6px 24px rgba(230,0,126,.32);
}
.nav-cta:hover { background: var(--pink-deep); transform: translateY(-2px); box-shadow:0 10px 30px rgba(230,0,126,.42); }
.nav-cta::after { display:none; }

.burger { display:none; flex-direction:column; gap:5px; padding:6px; z-index:20; }
.burger span { width:26px; height:2px; background: var(--ink); border-radius:2px; transition:.3s; }

/* mobile drawer */
.mobile-menu {
  position: fixed; inset:0; z-index:850;
  background: linear-gradient(160deg, #1C0A18, #3a0f2e);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.6rem;
  transform: translateX(100%); transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.mobile-menu.open { transform:none; }
.mobile-menu a {
  font-family: var(--f-display); font-weight:600; font-size:1.9rem; color: rgba(255,255,255,.86);
  transition: color .2s;
}
.mobile-menu a:hover { color: var(--pink-bright); }
.mobile-menu .nav-cta { font-family: var(--f-sans); font-style:normal; font-size:.85rem; }
.mobile-close {
  position:absolute; top:1.4rem; right:1.4rem; width:46px; height:46px; border-radius:50%;
  background: rgba(255,255,255,.1); color:#fff; font-size:1.3rem;
  display:flex; align-items:center; justify-content:center;
}
.mobile-lang { position:absolute; bottom:2.5rem; display:flex; gap:.5rem; }
.mobile-lang .lang-btn { color: rgba(255,255,255,.6); font-size:.85rem; }
.mobile-lang .lang-btn.active { color: var(--pink-bright); }

/* ════════ BUTTONS ════════ */
.btn {
  display:inline-flex; align-items:center; gap:.55rem; border-radius:100px;
  font-size:.85rem; font-weight:600; letter-spacing:.06em;
  padding:.95rem 2.1rem; transition: all .25s; white-space:nowrap;
}
.btn-primary { background: var(--pink); color:#fff; box-shadow:0 10px 34px rgba(230,0,126,.34); }
.btn-primary:hover { background: var(--pink-deep); transform: translateY(-3px); box-shadow:0 16px 44px rgba(230,0,126,.46); }
.btn-light { background:#fff; color: var(--pink); box-shadow:0 10px 34px rgba(0,0,0,.14); }
.btn-light:hover { transform: translateY(-3px); box-shadow:0 16px 44px rgba(0,0,0,.2); }
.btn-outline { border:1.6px solid rgba(255,255,255,.35); color:#fff; }
.btn-outline:hover { border-color:#fff; background: rgba(255,255,255,.08); }
.btn-outline-dark { border:1.6px solid rgba(230,0,126,.4); color: var(--pink); }
.btn-outline-dark:hover { background: var(--pink); color:#fff; border-color: var(--pink); }
.btn-ghost { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); color:#fff; }
.btn-ghost:hover { background: rgba(255,255,255,.2); }

/* ════════ SECTION PRIMITIVES ════════ */
section { padding: clamp(4rem, 8vw, 8rem) 4vw; position: relative; }
.container { max-width: var(--maxw); margin: 0 auto; }
.eyebrow {
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color: var(--pink); margin-bottom:.9rem;
}
.title {
  font-family: var(--f-display); font-weight:700; line-height:1.12;
  font-size: clamp(2rem, 3.6vw, 3.3rem); color: var(--ink); letter-spacing:-.01em;
}
.title em { font-style:normal; font-weight:800; color: var(--pink); }
.lead { font-size:1.06rem; color: var(--muted); max-width:600px; line-height:1.85; }
.divider { width:52px; height:3px; border-radius:3px; background: linear-gradient(90deg, var(--pink), var(--purple)); margin:1.4rem 0; }
.center { text-align:center; }
.center .lead { margin-inline:auto; }
.center .divider { margin-inline:auto; }
.grad-text { background: linear-gradient(100deg, var(--pink), var(--purple)); -webkit-background-clip:text; background-clip:text; color: transparent; }

/* ════════ HERO (home) ════════ */
.hero { position:relative; min-height: 100svh; display:flex; align-items:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background: linear-gradient(135deg, #1C0A18 0%, #3a0f2e 38%, #6d1b5a 68%, #2a0c22 100%); }
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 70% 60% at 72% 38%, rgba(230,0,126,.42), transparent 66%),
              radial-gradient(ellipse 60% 70% at 22% 82%, rgba(139,30,158,.34), transparent 62%);
  animation: glow 8s ease-in-out infinite alternate;
}
@keyframes glow { from{opacity:.75} to{opacity:1} }
.orb { position:absolute; border-radius:50%; filter: blur(90px); pointer-events:none; animation: float 13s ease-in-out infinite alternate; }
.orb-1 { width:520px;height:520px;top:-120px;right:-100px; background: rgba(230,0,126,.30); }
.orb-2 { width:380px;height:380px;bottom:-80px;left:-90px; background: rgba(139,30,158,.26); animation-delay:-4s; }
.orb-3 { width:260px;height:260px;top:42%;right:34%; background: rgba(255,47,160,.18); animation-delay:-8s; }
@keyframes float { from{transform:translate(0,0) scale(1)} to{transform:translate(34px,-30px) scale(1.08)} }

.hero-inner {
  position:relative; z-index:2; width:100%; max-width: var(--maxw); margin:0 auto;
  padding: calc(var(--nav-h) + 2rem) 4vw 3rem;
  display:grid; grid-template-columns: 1.05fr .95fr; gap:4rem; align-items:center;
}
.hero-text > * { opacity:0; animation: fadeUp .9s cubic-bezier(.22,1,.36,1) forwards; }
.hero-text > *:nth-child(1){animation-delay:.1s}
.hero-text > *:nth-child(2){animation-delay:.25s}
.hero-text > *:nth-child(3){animation-delay:.4s}
.hero-text > *:nth-child(4){animation-delay:.55s}
@keyframes fadeUp { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:none} }

.hero-badge {
  display:inline-flex; align-items:center; gap:.55rem;
  background: rgba(230,0,126,.18); border:1px solid rgba(230,0,126,.4); border-radius:100px;
  padding:.4rem 1.1rem; font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:#fff; margin-bottom:1.6rem;
}
.hero-badge::before { content:''; width:7px;height:7px;border-radius:50%;background:var(--pink-bright);animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(1.6)} }
.hero h1 {
  font-family: var(--f-display); font-weight:900; line-height:1.05;
  font-size: clamp(2.8rem, 5.2vw, 5rem); color:#fff; letter-spacing:-.015em; margin-bottom:1.5rem;
}
.hero h1 em { display:block; font-style:normal; color: var(--pink-bright); }
.hero-sub { font-size:1.1rem; color: rgba(255,255,255,.68); max-width:480px; margin-bottom:2.4rem; font-weight:300; }
.hero-actions { display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; }
.price-tag {
  display:inline-flex; align-items:baseline; gap:.3rem; background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14); border-radius:100px; padding:.45rem 1.1rem;
  color: rgba(255,255,255,.85); font-size:.85rem;
}
.price-tag strong { font-size:1.1rem; color:#fff; }

/* hero glass info card */
.hero-card {
  background: rgba(255,255,255,.06); backdrop-filter: blur(22px);
  border:1px solid rgba(255,255,255,.12); border-radius: var(--r-lg); padding:2.4rem;
  opacity:0; transform: translateY(40px); animation: fadeUp 1.1s cubic-bezier(.22,1,.36,1) .5s forwards;
}
.hc-row { display:flex; gap:1rem; align-items:flex-start; padding:1.3rem 0; border-bottom:1px solid rgba(255,255,255,.09); }
.hc-row:first-child { padding-top:0; }
.hc-row:last-child { padding-bottom:0; border-bottom:none; }
.hc-ic { width:42px;height:42px;border-radius:11px;background:rgba(230,0,126,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.hc-ic svg { width:20px;height:20px;stroke:#fff; }
.hc-label { font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.3rem; }
.hc-val { font-size:.92rem;font-weight:500;color:#fff; }
.hc-val small { display:block;font-size:.8rem;color:rgba(255,255,255,.55);font-weight:400;margin-top:.15rem; }

/* ════════ PAGE HEADER (subpages) ════════ */
.page-header {
  position:relative; padding: calc(var(--nav-h) + 4.5rem) 4vw 4.5rem; overflow:hidden;
  background: linear-gradient(135deg, #1C0A18, #3a0f2e 55%, #6d1b5a);
  text-align:center;
}
.page-header::after {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 70% at 50% 0%, rgba(230,0,126,.34), transparent 65%);
}
.page-header .ph-inner { position:relative; z-index:2; max-width:760px; margin:0 auto; }
.page-header .eyebrow { color: var(--pink-bright); }
.page-header h1 { font-family: var(--f-display); font-weight:800; font-size: clamp(2.4rem,4.5vw,3.8rem); color:#fff; line-height:1.1; letter-spacing:-.01em; }
.page-header h1 em { font-style:normal; color: var(--pink-bright); }
.page-header p { color: rgba(255,255,255,.66); font-size:1.08rem; max-width:560px; margin:1.2rem auto 0; font-weight:300; }
.crumb { display:flex;justify-content:center;gap:.5rem;align-items:center;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.4rem; }
.crumb a:hover { color:#fff; }
.crumb span { color: var(--pink-bright); }

/* ════════ PHOTO FRAMES (gym lighting) ════════ */
.ph {
  position:relative; border-radius: var(--r-lg); overflow:hidden;
  background-size:cover; background-position:center;
  box-shadow: var(--shadow-card);
}
.ph img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.ph::after { content:''; position:absolute; inset:0; }
.ph-musc   { background: linear-gradient(160deg,#2a0c22,#6d1b5a 45%,#b8197a 78%,#2a0c22); }
.ph-musc::after   { background: radial-gradient(ellipse at 50% 8%, rgba(230,0,126,.5), transparent 60%); }
.ph-cardio { background: linear-gradient(155deg,#0a0a16,#1a1438 40%,#3a1450 70%,#0a0a16); }
.ph-cardio::after { background: radial-gradient(ellipse at 80% 18%, rgba(80,180,255,.34), transparent 55%), radial-gradient(ellipse at 30% 80%, rgba(230,0,126,.34), transparent 55%); }
.ph-yoga   { background: linear-gradient(160deg,#1a1418,#3a2530 55%,#6d1b5a); }
.ph-yoga::after   { background: radial-gradient(ellipse at 70% 50%, rgba(255,210,160,.2), transparent 55%); }
.ph-coach  { background: linear-gradient(160deg,#0d0810,#241020 60%,#4a1238); }
.ph-coach::after  { background: radial-gradient(ellipse at 50% 30%, rgba(230,0,126,.3), transparent 60%); }
.ph-label {
  position:absolute; left:1.4rem; bottom:1.4rem; z-index:3;
  background: rgba(28,10,24,.5); backdrop-filter: blur(8px);
  border:1px solid rgba(255,255,255,.18); border-radius:100px;
  padding:.4rem 1rem; font-size:.74rem; font-weight:600; letter-spacing:.08em; color:#fff;
}
.ratio-45 { aspect-ratio: 4/5; }
.ratio-32 { aspect-ratio: 3/2; }
.ratio-11 { aspect-ratio: 1/1; }
.ratio-169{ aspect-ratio: 16/9; }

/* ════════ CONCEPT / SPLIT ════════ */
.split { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.split.wide-r { grid-template-columns: .9fr 1.1fr; }
.split.wide-l { grid-template-columns: 1.1fr .9fr; }
.float-badge {
  position:absolute; top:-1.4rem; right:-1.4rem; z-index:4;
  background: var(--pink); color:#fff; border-radius: var(--r-md); padding:1.1rem 1.4rem; text-align:center;
  box-shadow: 0 14px 44px rgba(230,0,126,.45);
}
.float-badge strong { display:block; font-family: var(--f-display); font-size:2rem; font-weight:700; line-height:1; }
.float-badge span { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }

.chips { display:grid; grid-template-columns: repeat(3,1fr); gap:.7rem; margin-top:2.2rem; }
.chip {
  display:flex; align-items:center; gap:.6rem; background: var(--blush); border-radius: var(--r-md);
  padding:.75rem .9rem; font-size:.82rem; font-weight:500; transition: background .2s, transform .2s;
}
.chip:hover { background: var(--blush-2); transform: translateY(-2px); }
.chip .ci { width:32px;height:32px;border-radius:9px;background: linear-gradient(135deg,var(--pink),var(--pink-deep));display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.chip .ci svg { width:16px;height:16px;stroke:#fff; }

/* ════════ CARDS GRID ════════ */
.cards { display:grid; grid-template-columns: repeat(4,1fr); gap:1.4rem; margin-top:3.4rem; }
.card {
  background:#fff; border:1px solid rgba(230,0,126,.08); border-radius: var(--r-lg); padding:2rem 1.6rem;
  transition: transform .3s, box-shadow .3s, border-color .3s; position:relative; overflow:hidden;
  box-shadow: var(--shadow-soft);
}
.card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg,var(--pink),var(--purple)); transform: scaleX(0); transform-origin:left; transition: transform .35s; }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); border-color: rgba(230,0,126,.16); }
.card:hover::before { transform: scaleX(1); }
.card-ic { width:52px;height:52px;border-radius:14px;background: var(--blush);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem; }
.card-ic svg { width:26px;height:26px;stroke: var(--pink); }
.card h3 { font-family: var(--f-display); font-size:1.18rem; font-weight:600; margin-bottom:.55rem; }
.card p { font-size:.86rem; color: var(--muted); line-height:1.7; }

/* dark variant */
.section-dark { background: linear-gradient(165deg,#1C0A18,#2e0f25,#3a1230); color:#fff; }
.section-dark .title, .section-dark h3 { color:#fff; }
.section-dark .lead { color: rgba(255,255,255,.6); }
.section-dark .eyebrow { color: var(--pink-bright); }
.section-dark .card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.08); box-shadow:none; }
.section-dark .card p { color: rgba(255,255,255,.55); }
.section-dark .card-ic { background: rgba(230,0,126,.18); }
.section-dark .card-ic svg { stroke: var(--pink-bright); }

/* ════════ GREEN SEAL ════════ */
.seal-band { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; justify-content:center; text-align:center; }
.seal { width:120px; height:120px; flex-shrink:0; animation: spinSeal 28s linear infinite; }
@keyframes spinSeal { to { transform: rotate(360deg); } }
.seal-text { max-width:440px; text-align:left; }
.seal-text h3 { font-family: var(--f-display); font-size:1.5rem; font-weight:700; margin-bottom:.4rem; }
.seal-text p { font-size:.95rem; color: var(--muted); }

/* ════════ TEASER BAND ════════ */
.teaser {
  position:relative; border-radius: var(--r-xl); overflow:hidden; margin: 0 auto; max-width: var(--maxw);
  background: linear-gradient(120deg,#1C0A18,#5a1748 55%,#b8197a); padding: clamp(2.5rem,5vw,4.5rem);
  display:grid; grid-template-columns: 1.4fr auto; gap:2rem; align-items:center;
}
.teaser::after { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 90% 10%, rgba(255,47,160,.4), transparent 55%); pointer-events:none; }
.teaser-content { position:relative; z-index:2; }
.teaser h2 { font-family: var(--f-display); font-weight:800; font-size: clamp(1.8rem,3vw,2.8rem); color:#fff; line-height:1.12; margin-bottom:.8rem; }
.teaser p { color: rgba(255,255,255,.7); max-width:520px; font-weight:300; }
.teaser .btn { position:relative; z-index:2; }

/* ════════ PRICING ════════ */
.pricing { display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; margin-top:3.4rem; align-items:stretch; }
.price-card {
  background:#fff; border-radius: var(--r-lg); padding:2.6rem 2rem; box-shadow: var(--shadow-card);
  border:1.6px solid transparent; transition: transform .3s, box-shadow .3s, border-color .3s;
  display:flex; flex-direction:column; position:relative;
}
.price-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); border-color: var(--blush-2); }
.price-card.feat { background: linear-gradient(165deg,#1C0A18,#3a1230); color:#fff; border-color: rgba(230,0,126,.45); transform: scale(1.035); }
.price-card.feat:hover { transform: scale(1.035) translateY(-6px); }
.feat-tag { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background: var(--pink); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.32rem 1rem; border-radius:100px; white-space:nowrap; }
.price-tier { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color: var(--pink); margin-bottom:.9rem; }
.price-card.feat .price-tier { color: var(--pink-bright); }
.price-num { font-family: var(--f-display); font-size:3.1rem; font-weight:700; line-height:1; color: var(--ink); }
.price-card.feat .price-num { color:#fff; }
.price-num sup { font-size:1rem; font-weight:600; vertical-align:top; margin-top:.5rem; color: var(--muted); }
.price-card.feat .price-num sup { color: rgba(255,255,255,.6); }
.price-num .cents { font-size:1.4rem; vertical-align:top; }
.price-num .per { font-size:.85rem; font-weight:400; color: var(--muted); }
.price-card.feat .price-num .per { color: rgba(255,255,255,.55); }
.price-note { font-size:.8rem; color: var(--muted); margin:.5rem 0 1.8rem; }
.price-card.feat .price-note { color: rgba(255,255,255,.5); }
.price-feats { flex:1; display:flex; flex-direction:column; gap:.8rem; margin-bottom:2rem; }
.pfeat { display:flex; align-items:center; gap:.65rem; font-size:.88rem; }
.price-card.feat .pfeat { color: rgba(255,255,255,.82); }
.pfeat::before { content:'✓'; width:21px;height:21px;border-radius:50%; background: var(--blush); color: var(--pink); display:flex;align-items:center;justify-content:center; font-size:.7rem; font-weight:800; flex-shrink:0; }
.price-card.feat .pfeat::before { background: rgba(230,0,126,.28); color:#fff; }
.btn-price { display:block; text-align:center; padding:.95rem; border-radius:100px; font-size:.85rem; font-weight:700; letter-spacing:.05em; border:1.6px solid var(--pink); color: var(--pink); transition:.25s; }
.btn-price:hover { background: var(--pink); color:#fff; }
.price-card.feat .btn-price { background: var(--pink); color:#fff; border-color: var(--pink); box-shadow:0 10px 30px rgba(230,0,126,.4); }
.price-card.feat .btn-price:hover { background: var(--pink-deep); }

/* ════════ TESTIMONIALS ════════ */
.testi-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:1.5rem; margin-top:3.4rem; }
.testi {
  background:#fff; border-radius: var(--r-lg); padding:2.3rem 2rem; box-shadow: var(--shadow-soft);
  border:1px solid rgba(230,0,126,.08); position:relative; transition: transform .3s, box-shadow .3s;
}
.testi:hover { transform: translateY(-4px); box-shadow:0 18px 54px rgba(230,0,126,.16); }
.testi .qm { font-family: var(--f-display); font-size:5rem; line-height:.5; color: var(--pink); opacity:.16; position:absolute; top:1.6rem; left:1.8rem; }
.testi-text { font-size:1rem; line-height:1.75; margin:1.4rem 0 1.7rem; font-style:italic; position:relative; z-index:1; }
.testi-author { display:flex; align-items:center; gap:.9rem; }
.avatar { width:44px;height:44px;border-radius:50%;background: linear-gradient(135deg,var(--pink),var(--pink-deep));display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;color:#fff;flex-shrink:0; }
.au-name { font-weight:600; font-size:.9rem; }
.au-meta { font-size:.78rem; color: var(--muted); display:flex; align-items:center; gap:.4rem; }
.stars { color:#FBBF24; font-size:.8rem; letter-spacing:1px; }

/* ════════ FAQ ════════ */
.faq-grid { display:grid; grid-template-columns: 1fr 1.4fr; gap:5rem; align-items:start; }
.faq-list { display:flex; flex-direction:column; gap:.7rem; }
.faq-item { border:1px solid rgba(230,0,126,.12); border-radius: var(--r-md); overflow:hidden; background:#fff; transition: border-color .25s, box-shadow .25s; }
.faq-item.open { border-color: rgba(230,0,126,.28); box-shadow: var(--shadow-soft); }
.faq-q { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.6rem; font-weight:500; font-size:.94rem; transition: color .25s; user-select:none; }
.faq-item.open .faq-q { color: var(--pink); }
.faq-ic { width:30px;height:30px;border-radius:50%;background:var(--blush);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--pink);font-size:1.2rem;transition: background .25s, transform .35s; }
.faq-item.open .faq-ic { background: var(--pink); color:#fff; transform: rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition: max-height .45s cubic-bezier(.22,1,.36,1), padding .35s; padding:0 1.6rem; font-size:.9rem; color: var(--muted); line-height:1.8; }
.faq-item.open .faq-a { max-height:340px; padding-bottom:1.4rem; }

/* ════════ FORMS ════════ */
.forms-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.form-card { background:#fff; border:1px solid rgba(230,0,126,.1); border-radius: var(--r-lg); padding:2.6rem; box-shadow: var(--shadow-soft); transition: box-shadow .3s; }
.form-card:hover { box-shadow: var(--shadow-card); }
.form-card h3 { font-family: var(--f-display); font-size:1.4rem; font-weight:600; margin-bottom:.45rem; }
.form-card > p { font-size:.86rem; color: var(--muted); margin-bottom:1.8rem; }
.fg { margin-bottom:1.1rem; }
.fg label { display:block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color: var(--muted); margin-bottom:.45rem; }
.fg input, .fg textarea {
  width:100%; background: var(--cream); border:1.5px solid rgba(230,0,126,.14); border-radius: var(--r-sm);
  padding:.8rem 1rem; font-family: var(--f-body); font-size:.9rem; color: var(--ink); outline:none;
  transition: border-color .25s, background .25s;
}
.fg input::placeholder, .fg textarea::placeholder { color: rgba(138,111,126,.55); }
.fg input:focus, .fg textarea:focus { border-color: var(--pink); background:#fff; }
.fg textarea { resize:vertical; min-height:110px; }
.consent { display:flex; align-items:flex-start; gap:.7rem; margin-bottom:1.5rem; }
.consent input { width:17px;height:17px;margin-top:.15rem;accent-color: var(--pink); flex-shrink:0; }
.consent label { font-size:.78rem; color: var(--muted); line-height:1.55; }
.btn-form { width:100%; background: var(--pink); color:#fff; padding:1rem; border-radius:100px; font-size:.88rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:.25s; box-shadow:0 10px 30px rgba(230,0,126,.3); }
.btn-form:hover { background: var(--pink-deep); transform: translateY(-2px); box-shadow:0 14px 40px rgba(230,0,126,.44); }

/* ════════ LOCATION / MAP ════════ */
.map-card {
  display:grid; grid-template-columns: .9fr 1.1fr; border-radius: var(--r-xl); overflow:hidden;
  box-shadow: var(--shadow-card); background:#fff; max-width: var(--maxw); margin:0 auto;
}
.map-info { padding: clamp(2.2rem,4vw,3.6rem); background: linear-gradient(165deg,#1C0A18,#3a1230); color:#fff; }
.map-info .eyebrow { color: var(--pink-bright); }
.map-info h2 { font-family: var(--f-display); font-weight:700; font-size: clamp(1.7rem,2.6vw,2.4rem); color:#fff; margin-bottom:1.4rem; line-height:1.15; }
.map-rows { display:flex; flex-direction:column; gap:1.3rem; margin-bottom:2rem; }
.map-row { display:flex; gap:1rem; align-items:flex-start; }
.map-row .mi { width:42px;height:42px;border-radius:11px;background:rgba(230,0,126,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.map-row .mi svg { width:20px;height:20px;stroke:#fff; }
.map-row .ml { font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.2rem; }
.map-row .mv { font-size:.92rem;font-weight:500;color:#fff; }
.map-row .mv small { display:block;font-size:.8rem;color:rgba(255,255,255,.55);font-weight:400;margin-top:.1rem; }
.map-embed { position:relative; min-height:420px; }
.map-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter: grayscale(.3) contrast(1.05); }
.map-fallback { position:absolute; inset:0; background: linear-gradient(160deg,#2a0c22,#6d1b5a,#b8197a); display:flex; align-items:center; justify-content:center; }

/* ════════ FOOTER ════════ */
.footer { background:#0c0610; color: rgba(255,255,255,.5); padding: 4.5rem 4vw 2.2rem; }
.footer-grid { max-width: var(--maxw); margin:0 auto; display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand .nav-logo { margin-bottom:1.2rem; }
.footer-brand .nav-logo-text { color:#fff; }
.footer-brand p { font-size:.86rem; line-height:1.75; max-width:300px; }
/* ════════════════════════════════════════════════════════
   v5 — signature premium: aurora, ECG heartbeat, gallery+lightbox,
        custom cursor, magnetic, parallax, page fade-in
════════════════════════════════════════════════════════ */

/* page fade-in on load */
body { opacity: 0; transition: opacity .6s ease; }
body.lc-ready { opacity: 1; }

/* aurora mesh hero background (upgrade) */
.hero-bg::before {
  content:''; position:absolute; inset:-20%; z-index:0; pointer-events:none; opacity:.65;
  background:
    radial-gradient(40% 50% at 18% 22%, rgba(230,0,126,.55), transparent 60%),
    radial-gradient(45% 55% at 82% 18%, rgba(139,30,158,.5), transparent 62%),
    radial-gradient(50% 60% at 50% 92%, rgba(255,47,160,.4), transparent 60%),
    radial-gradient(40% 50% at 90% 75%, rgba(109,27,123,.5), transparent 60%);
  filter: blur(30px); animation: aurora 18s ease-in-out infinite alternate;
}
@keyframes aurora {
  0%   { transform: translate3d(0,0,0) scale(1) rotate(0deg); }
  50%  { transform: translate3d(2%, -2%,0) scale(1.08) rotate(4deg); }
  100% { transform: translate3d(-2%, 2%,0) scale(1.04) rotate(-3deg); }
}

/* ECG heartbeat — brand signature divider */
.ecg { display:flex; align-items:center; justify-content:center; padding:1.2rem 0; }
.ecg svg { width:min(520px, 90%); height:54px; overflow:visible; }
.ecg .line { fill:none; stroke:var(--pink); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
  filter: drop-shadow(0 0 5px rgba(230,0,126,.5)); stroke-dasharray:1000; stroke-dashoffset:1000; animation: ecgdraw 3.4s ease-in-out infinite; }
.section-dark .ecg .line { stroke: var(--pink-bright); }
.ecg .blip { fill: var(--pink-bright); }
@keyframes ecgdraw { 0%{stroke-dashoffset:1000} 55%{stroke-dashoffset:0} 100%{stroke-dashoffset:0} }
@keyframes ecgpulse { 0%,100%{transform:scale(1);opacity:.9} 50%{transform:scale(1.5);opacity:1} }

/* premium photo gallery + lightbox */
.gallery { display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap:.9rem; margin-top:3.2rem; }
.gcell { position:relative; overflow:hidden; border-radius: var(--r-md); cursor:pointer; box-shadow: var(--shadow-soft); }
.gcell:nth-child(1){ grid-column: span 2; grid-row: span 2; }
.gcell:nth-child(4){ grid-row: span 2; }
.gcell img { width:100%; height:100%; object-fit:cover; transition: transform .7s cubic-bezier(.22,1,.36,1); display:block; }
.gcell::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, transparent 55%, rgba(28,10,24,.5)); opacity:0; transition: opacity .35s; }
.gcell .gcap { position:absolute; left:1rem; bottom:.9rem; z-index:2; color:#fff; font-size:.82rem; font-weight:600; transform: translateY(8px); opacity:0; transition: all .35s; }
.gcell:hover img { transform: scale(1.08); }
.gcell:hover::after, .gcell:hover .gcap { opacity:1; transform:none; }
.gcell .gplus { position:absolute; top:.8rem; right:.8rem; z-index:2; width:34px; height:34px; border-radius:50%; background: rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; opacity:0; transform: scale(.7); transition:.3s; }
.gcell:hover .gplus { opacity:1; transform:none; }
.gcell .gplus svg { width:16px; height:16px; stroke: var(--pink); }
.lightbox { position:fixed; inset:0; z-index:1200; background: rgba(12,6,16,.92); backdrop-filter: blur(8px); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition: opacity .35s, visibility .35s; }
.lightbox.open { opacity:1; visibility:visible; }
.lightbox img { max-width:90vw; max-height:86vh; border-radius: var(--r-md); box-shadow:0 30px 90px rgba(0,0,0,.6); transform: scale(.94); transition: transform .4s cubic-bezier(.22,1,.36,1); }
.lightbox.open img { transform: scale(1); }
.lb-close, .lb-prev, .lb-next { position:absolute; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition: background .2s; font-size:1.4rem; }
.lb-close:hover, .lb-prev:hover, .lb-next:hover { background: var(--pink); border-color: var(--pink); }
.lb-close { top:1.4rem; right:1.4rem; }
.lb-prev { left:1.6rem; top:50%; transform: translateY(-50%); }
.lb-next { right:1.6rem; top:50%; transform: translateY(-50%); }

/* custom cursor (desktop only) */
.cursor-glow { position:fixed; top:0; left:0; width:300px; height:300px; border-radius:50%; pointer-events:none; z-index:1100;
  background: radial-gradient(circle, rgba(230,0,126,.16), transparent 62%); transform: translate(-50%,-50%); transition: opacity .3s; mix-blend-mode: screen; opacity:0; }
.cursor-dot { position:fixed; top:0; left:0; width:8px; height:8px; border-radius:50%; background: var(--pink-bright); pointer-events:none; z-index:1101; transform: translate(-50%,-50%); transition: width .2s, height .2s, opacity .3s; opacity:0; box-shadow:0 0 10px rgba(230,0,126,.8); }
.cursor-dot.hot { width:46px; height:46px; background: rgba(230,0,126,.18); box-shadow:none; }
@media (hover:hover) and (pointer:fine){ .cursor-glow, .cursor-dot { opacity:1; } }

/* magnetic + parallax */
.btn, .nav-cta { will-change: transform; }
.parallax { will-change: transform; }

@media (max-width: 1024px){ .gallery { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){
  .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 130px; }
  .gcell:nth-child(1){ grid-column: span 2; }
  .lb-prev{ left:.6rem; } .lb-next{ right:.6rem; }
}

.footer-contact { display:flex; flex-direction:column; gap:.6rem; margin-top:1.4rem; }
.footer-contact a, .footer-contact .fc-addr { display:inline-flex; align-items:center; gap:.6rem; font-size:.86rem; color: rgba(255,255,255,.62); transition: color .2s; }
.footer-contact a:hover { color: var(--pink-bright); }
.footer-contact svg { width:17px; height:17px; stroke: var(--pink-bright); flex-shrink:0; }
.footer-social { display:flex; gap:.7rem; margin-top:1.5rem; }
.soc { width:40px;height:40px;border-radius:50%;background: rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition: background .25s, border-color .25s, transform .2s; }
.soc svg { width:18px;height:18px;fill: rgba(255,255,255,.7); }
.soc:hover { background: var(--pink); border-color: var(--pink); transform: translateY(-3px); }
.soc:hover svg { fill:#fff; }
.footer-col h4 { font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; margin-bottom:1.2rem; }
.footer-col ul { display:flex; flex-direction:column; gap:.65rem; }
.footer-col a { font-size:.85rem; transition: color .2s; }
.footer-col a:hover { color: var(--pink-bright); }
.footer-seal { width:64px; height:64px; margin-top:1.6rem; }
.footer-bottom { max-width: var(--maxw); margin:2rem auto 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.78rem; }
.footer-links { display:flex; gap:1.4rem; flex-wrap:wrap; }
.footer-links a:hover { color: var(--pink-bright); }

/* ════════ RESPONSIVE ════════ */
@media (max-width: 1024px){
  .cards { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .split, .faq-grid, .map-card { grid-template-columns: 1fr; gap:3rem; }
  .split.wide-r, .split.wide-l { grid-template-columns:1fr; }
}
@media (max-width: 768px){
  .nav-links, .lang-switch.desktop { display:none; }
  .burger { display:flex; }
  .hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .hero-card { display:none; }
  .pricing, .testi-grid, .forms-grid { grid-template-columns:1fr; }
  .price-card.feat { transform:none; }
  .price-card.feat:hover { transform: translateY(-6px); }
  .chips { grid-template-columns: 1fr 1fr; }
  .teaser { grid-template-columns:1fr; }
  .float-badge { display:none; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .seal-text { text-align:center; }
}

/* ════════════════════════════════════════════════════════
   v2 ADD-ONS — animated hero, video, social, 21st pricing, legal
════════════════════════════════════════════════════════ */

/* animated hero headline */
.hero h1 em {
  background: linear-gradient(100deg, var(--pink-bright), #ff7ac4 40%, var(--pink-bright) 70%);
  background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: shimmer 6s ease-in-out infinite;
}
@keyframes shimmer { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
.hero h1 .word { display:inline-block; opacity:0; transform: translateY(40px) rotate(2deg); animation: wordUp .9s cubic-bezier(.22,1,.36,1) forwards; }
.hero h1 .word:nth-child(1){animation-delay:.15s}
.hero h1 .word:nth-child(2){animation-delay:.27s}
.hero h1 .word:nth-child(3){animation-delay:.39s}
@keyframes wordUp { to{opacity:1;transform:none} }

/* ════ VIDEO ════ */
.video-sec { position:relative; overflow:hidden; }
.video-wrap {
  position:relative; max-width:1080px; margin:3rem auto 0; border-radius: var(--r-xl); overflow:hidden;
  box-shadow: var(--shadow-lift); border:1px solid rgba(255,255,255,.1);
  aspect-ratio:16/9; background:#0c0610;
}
.video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-badge {
  display:inline-flex; align-items:center; gap:.55rem; background: rgba(230,0,126,.14);
  border:1px solid rgba(230,0,126,.4); border-radius:100px; padding:.4rem 1.1rem;
  font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color: var(--pink-bright);
}
.video-badge .live { width:8px;height:8px;border-radius:50%;background:var(--pink-bright);animation:pulse 2s infinite; }

/* ════ SOCIAL FEED ════ */
.social-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:2.6rem; }
.social-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1.3rem; }
.post {
  position:relative; border-radius: var(--r-lg); overflow:hidden; aspect-ratio:4/5;
  box-shadow: var(--shadow-card); display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; transition: transform .35s, box-shadow .35s;
}
.post:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.post img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.post::before { content:''; position:absolute; inset:0; z-index:1; background: linear-gradient(180deg, transparent 35%, rgba(12,6,16,.85)); }
.post-bg-1 { background: linear-gradient(160deg,#2a0c22,#8b1e9e,#e6007e); }
.post-bg-2 { background: linear-gradient(160deg,#fff3c4,#ffd84a 60%,#1a1a1a); }
.post-bg-3 { background: linear-gradient(160deg,#1a3a2a,#3a6d4a,#e6007e); }
.post-net {
  position:absolute; top:1rem; left:1rem; z-index:2; width:34px; height:34px; border-radius:50%;
  background: rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center;
}
.post-net svg { width:18px; height:18px; fill: var(--pink); }
.post-body { position:relative; z-index:2; padding:1.4rem; color:#fff; }
.post-tag { font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color: var(--pink-bright); margin-bottom:.4rem; }
.post-title { font-family: var(--f-display); font-size:1.3rem; font-weight:600; line-height:1.15; }
.post-meta { font-size:.78rem; color: rgba(255,255,255,.7); margin-top:.5rem; }
.social-follow { display:flex; gap:.7rem; flex-wrap:wrap; }
.follow-btn { display:inline-flex; align-items:center; gap:.55rem; border-radius:100px; padding:.7rem 1.3rem; font-size:.82rem; font-weight:600; border:1.5px solid rgba(230,0,126,.3); color: var(--ink); transition: all .25s; }
.follow-btn svg { width:18px; height:18px; fill: var(--pink); transition: fill .25s; }
.follow-btn:hover { background: var(--pink); color:#fff; border-color: var(--pink); }
.follow-btn:hover svg { fill:#fff; }

/* ════ 21st-STYLE PRICING ════ */
.toggle-wrap { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2.4rem; }
.toggle-lab { font-size:.9rem; font-weight:600; color: var(--muted); transition: color .25s; }
.toggle-lab.on { color: var(--pink); }
.toggle {
  width:58px; height:30px; border-radius:100px; background: var(--blush-2); position:relative; cursor:pointer;
  border:1px solid rgba(230,0,126,.2); transition: background .3s; flex-shrink:0;
}
.toggle.annual { background: var(--pink); }
.toggle .knob { position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.2); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.toggle.annual .knob { transform: translateX(28px); }
.save-pill { font-size:.72rem; font-weight:700; color: var(--green-deep); background: rgba(91,177,47,.12); border-radius:100px; padding:.2rem .7rem; }

.pricing-21 { display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; margin-top:3.4rem; align-items:center; perspective:1800px; }
.pricing-21 .price-card { opacity:0; transform: translateY(40px); transition: transform 1.1s cubic-bezier(.22,1,.36,1), box-shadow .35s, border-color .35s, opacity .8s; }
.pricing-21.in-view .pc-left   { opacity:1; transform: translateX(24px) scale(.95) rotateY(7deg); }
.pricing-21.in-view .pc-right  { opacity:1; transform: translateX(-24px) scale(.95) rotateY(-7deg); }
.pricing-21.in-view .pc-center { opacity:1; transform: translateY(-18px) scale(1.03); z-index:5; }
.pricing-21 .price-card:hover  { transform: translateY(-10px) scale(1.04) rotateY(0); z-index:9; box-shadow: var(--shadow-lift); }
.star-badge {
  position:absolute; top:0; right:0; display:flex; align-items:center; gap:.35rem;
  background: var(--pink); color:#fff; padding:.35rem .8rem;
  border-radius: 0 var(--r-lg) 0 var(--r-md); font-size:.74rem; font-weight:700; letter-spacing:.04em;
}
.star-badge svg { width:14px; height:14px; fill:#fff; }
.price-num .anim { font-variant-numeric: tabular-nums; }

/* ════ SECONDARY PAGE BODY (legal / resil / recruit) ════ */
.doc { max-width: 880px; margin:0 auto; }
.doc h2 { font-family: var(--f-display); font-size:1.5rem; font-weight:600; color: var(--ink); margin:2.4rem 0 .8rem; }
.doc h2:first-child { margin-top:0; }
.doc h3 { font-family: var(--f-display); font-size:1.15rem; font-weight:600; margin:1.6rem 0 .5rem; }
.doc p { color: var(--muted); margin-bottom:1rem; font-size:.95rem; line-height:1.85; }
.doc strong { color: var(--ink); }
.doc ul.bullets { margin: .5rem 0 1.2rem; padding-left:0; }
.doc ul.bullets li { position:relative; padding-left:1.6rem; margin-bottom:.6rem; color: var(--muted); font-size:.95rem; line-height:1.8; }
.doc ul.bullets li::before { content:''; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background: var(--pink); }
.doc .callout { background: var(--blush); border-left:4px solid var(--pink); border-radius: 0 var(--r-md) var(--r-md) 0; padding:1.2rem 1.4rem; margin:1.4rem 0; color: var(--ink); font-size:.92rem; }
.doc .callout.warn { background:#FFF4E5; border-left-color:#F59E0B; }

/* recruitment steps */
.recruit-steps { display:grid; grid-template-columns: repeat(5,1fr); gap:1rem; margin-top:3.4rem; }
.rstep { background:#fff; border:1px solid rgba(230,0,126,.1); border-radius: var(--r-lg); padding:1.8rem 1.2rem; text-align:center; transition: transform .3s, box-shadow .3s; }
.rstep:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.rstep .rnum { width:48px; height:48px; margin:0 auto 1rem; border-radius:50%; background: linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#fff; font-family: var(--f-display); font-size:1.4rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.rstep h3 { font-size:.92rem; font-weight:700; letter-spacing:.02em; }
.recruit-hero-tag { display:inline-block; background: var(--pink); color:#fff; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.8rem; padding:.4rem 1rem; border-radius:100px; margin-bottom:1rem; }

@media (max-width: 1024px){
  .social-grid { grid-template-columns: 1fr 1fr; }
  .pricing-21 { grid-template-columns:1fr; perspective:none; }
  .pricing-21.in-view .pc-left, .pricing-21.in-view .pc-right, .pricing-21.in-view .pc-center { transform:none; }
  .recruit-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px){
  .social-grid { grid-template-columns: 1fr; }
  .recruit-steps { grid-template-columns: 1fr; }
  .social-head { flex-direction:column; align-items:flex-start; }
}

/* ════════════════════════════════════════════════════════
   v3 — premium type tuning, photos, funnel, quiz, urgency,
        booking, google badge, sticky mobile CTA, micro-interactions
════════════════════════════════════════════════════════ */

/* display polish for grotesque */
.title, .hero h1, .page-header h1 { letter-spacing:-.02em; }
.hero h1 { font-weight:800; }
.eyebrow { font-weight:700; }

/* inline pink links inside copy */
.ink { color: var(--pink); font-weight:700; text-decoration:none; border-bottom:2px solid rgba(230,0,126,.25); transition: border-color .25s, color .25s; white-space:nowrap; }
.ink:hover { color: var(--pink-deep); border-color: var(--pink); }

/* button micro-interactions (sheen + press) */
.btn { position:relative; overflow:hidden; transition: transform .25s cubic-bezier(.22,1,.36,1), background .25s, box-shadow .25s, color .25s, border-color .25s; }
.btn::after { content:''; position:absolute; top:0; left:-120%; width:60%; height:100%; transform:skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transition: left .6s; }
.btn:hover::after { left:140%; }
.btn:active { transform: scale(.96); }
.nav-cta { position:relative; overflow:hidden; }
.nav-cta:active { transform: scale(.96); }
.btn-form:active, .btn-price:active { transform: scale(.97); }

/* ── HERO photo card ── */
.hero-media { position:relative; }
.hero-photo { position:relative; border-radius: var(--r-xl); overflow:hidden; aspect-ratio:4/5; box-shadow: var(--shadow-lift); border:1px solid rgba(255,255,255,.12); }
.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.hero-photo .hp-grad { position:absolute; inset:0; z-index:0; background: linear-gradient(160deg,#2a0c22,#6d1b5a 50%,#b8197a 85%); }
.hero-photo::after { content:''; position:absolute; inset:0; z-index:2; background: linear-gradient(180deg, transparent 45%, rgba(12,6,16,.78)); }
.hero-photo-info { position:absolute; left:1.3rem; right:1.3rem; bottom:1.3rem; z-index:3; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.hpi { background: rgba(20,10,18,.5); backdrop-filter: blur(10px); border:1px solid rgba(255,255,255,.14); border-radius: var(--r-md); padding:.8rem .9rem; }
.hpi .l { font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color: rgba(255,255,255,.55); margin-bottom:.2rem; }
.hpi .v { font-size:.86rem; font-weight:700; color:#fff; }
.hero-rating { position:absolute; top:1.2rem; right:1.2rem; z-index:3; display:flex; align-items:center; gap:.5rem; background: rgba(255,255,255,.95); border-radius:100px; padding:.4rem .85rem; box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.hero-rating .g { font-weight:800; font-size:.95rem; color: var(--ink); }
.hero-rating .st { color:#FBBF24; font-size:.8rem; letter-spacing:1px; }
.hero-rating .src { font-size:.66rem; color: var(--muted); }

/* phone CTA */
.btn-call { display:inline-flex; align-items:center; gap:.55rem; }
.btn-call svg { width:18px; height:18px; }

/* trust chips under hero */
.hero-trust { display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; margin-top:1.8rem; }
.htag { display:inline-flex; align-items:center; gap:.5rem; font-size:.82rem; color: rgba(255,255,255,.75); }
.htag svg { width:18px; height:18px; stroke: var(--pink-bright); }

/* urgency banner */
.urgency { display:inline-flex; align-items:center; gap:.7rem; background: rgba(230,0,126,.16); border:1px solid rgba(230,0,126,.4);
  border-radius:100px; padding:.45rem 1.1rem; font-size:.8rem; font-weight:600; color:#fff; margin-bottom:1.6rem; }
.urgency .dot { width:8px; height:8px; border-radius:50%; background: var(--pink-bright); animation:pulse 1.6s infinite; }
.urgency b { color: var(--pink-bright); }

/* ── USP STRIP ── */
.usp-strip { display:grid; grid-template-columns: repeat(4,1fr); gap:1.2rem; }
.usp { background:#fff; border:1px solid rgba(230,0,126,.1); border-radius: var(--r-lg); padding:1.8rem 1.5rem; box-shadow: var(--shadow-soft);
  transition: transform .3s, box-shadow .3s, border-color .3s; }
.usp:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); border-color: rgba(230,0,126,.2); }
.usp .ic { width:50px; height:50px; border-radius:14px; background: linear-gradient(135deg, var(--blush), #fff); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
.usp .ic svg { width:26px; height:26px; stroke: var(--pink); }
.usp h3 { font-family: var(--f-display); font-size:1.05rem; font-weight:700; margin-bottom:.35rem; line-height:1.2; }
.usp p { font-size:.85rem; color: var(--muted); line-height:1.6; }

/* ── PAIN POINTS / FUNNEL ── */
.pain-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; margin-top:3rem; }
.pain { border-radius: var(--r-lg); padding:2rem 1.7rem; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); transition: transform .3s, background .3s; }
.pain:hover { transform: translateY(-5px); background: rgba(255,255,255,.08); }
.pain .q { font-family: var(--f-display); font-size:1.15rem; font-weight:700; color:#fff; margin-bottom:.7rem; line-height:1.25; }
.pain .a { font-size:.9rem; color: rgba(255,255,255,.62); line-height:1.7; }
.pain .a b { color: var(--pink-bright); font-weight:700; }

/* ── GOAL QUIZ ── */
.quiz { max-width:760px; margin:3rem auto 0; background:#fff; border-radius: var(--r-xl); box-shadow: var(--shadow-card); border:1px solid rgba(230,0,126,.1); overflow:hidden; }
.quiz-head { background: linear-gradient(135deg,#1C0A18,#3a1230); color:#fff; padding:1.8rem 2.2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.quiz-head h3 { font-family: var(--f-display); font-size:1.25rem; font-weight:700; }
.quiz-head .step-ind { font-size:.78rem; color: rgba(255,255,255,.6); letter-spacing:.08em; }
.quiz-bar { height:4px; background: rgba(255,255,255,.12); }
.quiz-bar .fill { height:100%; width:25%; background: linear-gradient(90deg,var(--pink),var(--pink-bright)); transition: width .5s cubic-bezier(.22,1,.36,1); }
.quiz-body { padding:2.2rem; }
.quiz-q { font-family: var(--f-display); font-size:1.3rem; font-weight:700; margin-bottom:1.5rem; text-align:center; }
.quiz-opts { display:grid; grid-template-columns: 1fr 1fr; gap:.9rem; }
.quiz-opt { display:flex; align-items:center; gap:.8rem; border:1.6px solid rgba(230,0,126,.18); border-radius: var(--r-md); padding:1.1rem 1.2rem; cursor:pointer; font-weight:600; font-size:.92rem; transition: border-color .2s, background .2s, transform .15s; background:#fff; text-align:left; }
.quiz-opt:hover { border-color: var(--pink); background: var(--blush); transform: translateY(-2px); }
.quiz-opt .qi { width:38px; height:38px; border-radius:10px; background: var(--blush); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.quiz-opt .qi svg { width:20px; height:20px; stroke: var(--pink); }
.quiz-result { text-align:center; padding:1rem 0; }
.quiz-result .badge-res { display:inline-block; background: var(--blush); color: var(--pink); font-weight:700; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; padding:.4rem 1rem; border-radius:100px; margin-bottom:1rem; }
.quiz-result h4 { font-family: var(--f-display); font-size:1.6rem; font-weight:700; margin-bottom:.6rem; }
.quiz-result p { color: var(--muted); margin-bottom:1.6rem; max-width:480px; margin-inline:auto; }

/* ── BOOKING (2 clics) ── */
.booking { display:grid; grid-template-columns: 1.1fr .9fr; gap:0; border-radius: var(--r-xl); overflow:hidden; box-shadow: var(--shadow-card); background:#fff; }
.booking-left { background: linear-gradient(160deg,#1C0A18,#3a1230); color:#fff; padding: clamp(2rem,4vw,3.2rem); }
.booking-left .eyebrow { color: var(--pink-bright); }
.booking-left h2 { font-family: var(--f-display); font-weight:800; font-size: clamp(1.7rem,2.6vw,2.4rem); color:#fff; margin-bottom:1rem; }
.booking-left p { color: rgba(255,255,255,.65); font-size:.95rem; }
.booking-steps { margin-top:1.6rem; display:flex; flex-direction:column; gap:.9rem; }
.bstep { display:flex; gap:.8rem; align-items:center; font-size:.9rem; color: rgba(255,255,255,.8); }
.bstep .n { width:26px; height:26px; border-radius:50%; background: rgba(230,0,126,.25); color:#fff; font-weight:700; font-size:.8rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.booking-right { padding: clamp(2rem,4vw,3.2rem); }
.booking-label { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color: var(--muted); margin-bottom:.7rem; }
.day-chips, .time-chips { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.6rem; }
.chip-sel { border:1.6px solid rgba(230,0,126,.2); border-radius:100px; padding:.55rem 1.05rem; font-size:.85rem; font-weight:600; cursor:pointer; transition: all .2s; background:#fff; }
.chip-sel:hover { border-color: var(--pink); }
.chip-sel.active { background: var(--pink); color:#fff; border-color: var(--pink); box-shadow:0 6px 20px rgba(230,0,126,.3); }
.booking-confirm { background: var(--blush); border-radius: var(--r-md); padding:1rem 1.2rem; font-size:.88rem; color: var(--ink); margin-bottom:1.3rem; display:none; }
.booking-confirm.show { display:block; }
.booking-confirm b { color: var(--pink); }

/* google reviews badge */
.gbadge { display:inline-flex; align-items:center; gap:.8rem; background:#fff; border:1px solid rgba(230,0,126,.12); border-radius:100px; padding:.7rem 1.3rem; box-shadow: var(--shadow-soft); }
.gbadge .gnum { font-family: var(--f-display); font-weight:800; font-size:1.5rem; color: var(--ink); }
.gbadge .gstars { color:#FBBF24; font-size:.9rem; letter-spacing:1px; }
.gbadge .gtxt { font-size:.78rem; color: var(--muted); }
.glogo { width:20px; height:20px; }

/* ── STICKY MOBILE CTA BAR ── */
.mobile-cta { position:fixed; left:0; right:0; bottom:0; z-index:800; display:none; gap:.6rem; padding:.7rem .9rem;
  background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-top:1px solid rgba(230,0,126,.12); box-shadow:0 -6px 30px rgba(28,10,24,.12); }
.mobile-cta a { flex:1; display:flex; align-items:center; justify-content:center; gap:.5rem; border-radius:100px; padding:.85rem; font-size:.85rem; font-weight:700; letter-spacing:.02em; }
.mobile-cta .mc-call { background: var(--blush); color: var(--pink); }
.mobile-cta .mc-essai { background: var(--pink); color:#fff; box-shadow:0 6px 20px rgba(230,0,126,.35); }
.mobile-cta svg { width:18px; height:18px; }

@media (max-width: 1024px){
  .usp-strip { grid-template-columns: 1fr 1fr; }
  .pain-grid { grid-template-columns: 1fr; }
  .booking { grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .usp-strip { grid-template-columns: 1fr; }
  .quiz-opts { grid-template-columns: 1fr; }
  .mobile-cta { display:flex; }
  body { padding-bottom: 72px; }   /* room for sticky bar */
  .hero-photo-info { grid-template-columns:1fr; }
}

/* ════ real logo image (white on dark, colour on light) ════ */
.logo-img { height:38px; width:auto; display:block; transition: height .3s ease, filter .3s ease; }
.nav.solid .logo-img { height:31px; }
.nav.on-dark:not(.solid) .logo-img { filter: brightness(0) invert(1); }
.footer .logo-img { filter: brightness(0) invert(1); height:36px; }
.nav-logo { gap:0; }

/* real green seal (static png) */
img.seal { animation: none; object-fit: contain; }
.footer-seal { width:70px; height:70px; }

/* ════ lite YouTube (poster + play → loads iframe on click) ════ */
.lite-yt { position:absolute; inset:0; cursor:pointer; }
.lite-yt img.poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.lite-yt::after { content:''; position:absolute; inset:0; z-index:2; background: linear-gradient(180deg, rgba(12,6,16,.15), rgba(12,6,16,.5)); }
.lite-yt .play { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; }
.lite-yt .play span { width:88px; height:88px; border-radius:50%; background: rgba(230,0,126,.94); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 44px rgba(230,0,126,.55); transition: transform .25s; }
.lite-yt:hover .play span { transform: scale(1.1); }
.lite-yt .play svg { width:30px; height:30px; fill:#fff; margin-left:5px; }
.lite-yt .yt-cap { position:absolute; left:1.4rem; bottom:1.3rem; z-index:3; color:#fff; font-weight:600; font-size:.9rem; text-shadow:0 2px 12px rgba(0,0,0,.5); }

/* ════ detailed pricing table ════ */
.ptable-wrap { max-width: 940px; margin: 3rem auto 0; background:#fff; border-radius: var(--r-lg); box-shadow: var(--shadow-card); overflow:hidden; border:1px solid rgba(230,0,126,.08); }
.ptable { width:100%; border-collapse: collapse; }
.ptable th, .ptable td { padding: .95rem 1.2rem; text-align:left; font-size:.88rem; border-bottom:1px solid rgba(28,10,24,.06); }
.ptable thead th { background: linear-gradient(135deg,#1C0A18,#3a1230); color:#fff; font-family: var(--f-display); font-weight:700; font-size:.92rem; text-align:center; }
.ptable thead th:first-child { background:#160812; text-align:left; }
.ptable thead th small { display:block; font-family: var(--f-sans); font-weight:400; font-size:.72rem; color: rgba(255,255,255,.6); }
.ptable tbody td:first-child { font-weight:600; color: var(--ink); }
.ptable td.val { text-align:center; color: var(--muted); }
.ptable .yes { color: var(--green-deep); font-weight:700; }
.ptable .price-cell { font-family: var(--f-display); font-weight:700; color: var(--ink); font-size:1.05rem; }
.ptable tbody tr:hover td { background: rgba(251,234,243,.5); }
.ptable .row-head td { background: var(--cream); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.72rem; color: var(--pink); }
.options-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:.8rem; max-width:940px; margin:1.6rem auto 0; }
.opt-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; background:#fff; border:1px solid rgba(230,0,126,.1); border-radius: var(--r-md); padding:.9rem 1.2rem; font-size:.88rem; }
.opt-row .opt-price { font-weight:700; color: var(--pink); white-space:nowrap; }
.opt-row .opt-price.minus { color: var(--green-deep); }
@media (max-width: 768px){
  .ptable th, .ptable td { padding:.7rem .6rem; font-size:.78rem; }
  .options-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════
   v4 — premium polish: loader, scroll progress, back-to-top,
        cookie, marquee, stats, comparison, live schedule, open-now
════════════════════════════════════════════════════════ */

/* ── intro loader ── */
.loader { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(160deg,#1C0A18,#3a0f2e); transition: opacity .6s ease, visibility .6s; }
.loader.done { opacity:0; visibility:hidden; }
.loader-inner { text-align:center; }
.loader img { width:160px; filter: brightness(0) invert(1); margin:0 auto 1.4rem; animation: loaderPulse 1.4s ease-in-out infinite; }
@keyframes loaderPulse { 0%,100%{opacity:.55;transform:scale(.97)} 50%{opacity:1;transform:scale(1.02)} }
.loader-bar { width:160px; height:3px; border-radius:3px; background: rgba(255,255,255,.15); overflow:hidden; margin:0 auto; }
.loader-bar span { display:block; height:100%; width:40%; background: linear-gradient(90deg,var(--pink),var(--pink-bright)); border-radius:3px; animation: loaderSlide 1.1s ease-in-out infinite; }
@keyframes loaderSlide { 0%{transform:translateX(-120%)} 100%{transform:translateX(360%)} }

/* ── scroll progress ── */
.scroll-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:950; background:transparent; pointer-events:none; }
.scroll-progress span { display:block; height:100%; width:0; background: linear-gradient(90deg,var(--pink),var(--purple)); box-shadow:0 0 12px rgba(230,0,126,.6); transition: width .1s linear; }

/* ── back to top ── */
.to-top { position:fixed; right:1.4rem; bottom:1.6rem; z-index:790; width:48px; height:48px; border-radius:50%;
  background: var(--pink); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(230,0,126,.4);
  opacity:0; visibility:hidden; transform: translateY(14px); transition: all .3s; }
.to-top.show { opacity:1; visibility:visible; transform:none; }
.to-top:hover { background: var(--pink-deep); transform: translateY(-3px); }
.to-top svg { width:20px; height:20px; stroke:#fff; }
@media (max-width:768px){ .to-top { bottom:84px; } }

/* ── cookie banner ── */
.cookie { position:fixed; left:1.2rem; bottom:1.2rem; z-index:805; max-width:380px; background:#fff; border:1px solid rgba(230,0,126,.14);
  border-radius: var(--r-lg); box-shadow: var(--shadow-card); padding:1.3rem 1.4rem; transform: translateY(140%); transition: transform .5s cubic-bezier(.22,1,.36,1); }
.cookie.show { transform:none; }
.cookie p { font-size:.82rem; color: var(--muted); line-height:1.6; margin-bottom:1rem; }
.cookie p b { color: var(--ink); }
.cookie-actions { display:flex; gap:.6rem; }
.cookie-actions button { flex:1; border-radius:100px; padding:.6rem; font-size:.8rem; font-weight:700; cursor:pointer; transition: all .2s; }
.ck-accept { background: var(--pink); color:#fff; } .ck-accept:hover { background: var(--pink-deep); }
.ck-refuse { background: var(--blush); color: var(--pink); } .ck-refuse:hover { background: var(--blush-2); }
@media (max-width:768px){ .cookie { left:.8rem; right:.8rem; bottom:84px; max-width:none; } }

/* ── marquee ── */
.marquee { overflow:hidden; background: linear-gradient(90deg,#1C0A18,#3a1230,#1C0A18); padding:1.1rem 0; white-space:nowrap; }
.marquee-track { display:inline-flex; gap:2.5rem; animation: marquee 26s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track span { font-family: var(--f-display); font-weight:700; font-size:1.2rem; color: rgba(255,255,255,.85); display:inline-flex; align-items:center; gap:2.5rem; }
.marquee-track span::after { content:'✦'; color: var(--pink-bright); font-size:.9rem; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── stats band ── */
.stats { display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; }
.stat { text-align:center; padding:1.5rem 1rem; }
.stat .num { font-family: var(--f-display); font-weight:800; font-size: clamp(2.4rem,4vw,3.4rem); line-height:1; background: linear-gradient(120deg,var(--pink),var(--purple)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat .lab { margin-top:.6rem; font-size:.86rem; color: var(--muted); font-weight:500; }
.section-dark .stat .lab { color: rgba(255,255,255,.6); }

/* ── comparison ── */
.compare { max-width:880px; margin:3rem auto 0; background:#fff; border-radius: var(--r-lg); overflow:hidden; box-shadow: var(--shadow-card); border:1px solid rgba(230,0,126,.08); }
.compare-row { display:grid; grid-template-columns: 1.6fr 1fr 1fr; align-items:center; }
.compare-row:not(:last-child) { border-bottom:1px solid rgba(28,10,24,.06); }
.compare-row > div { padding:1rem 1.2rem; font-size:.9rem; }
.compare-head { background: var(--cream); }
.compare-head .ch-us { background: linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#fff; font-family: var(--f-display); font-weight:700; text-align:center; font-size:1rem; }
.compare-head .ch-them { text-align:center; font-weight:600; color: var(--muted); font-size:.9rem; }
.compare-row .c-feat { font-weight:600; color: var(--ink); }
.compare-row .c-us, .compare-row .c-them { text-align:center; }
.compare .ic-yes { color: var(--green-deep); } .compare .ic-no { color:#cbb4c0; }
.compare .c-us { background: rgba(251,234,243,.45); font-weight:600; }
.compare svg { width:22px; height:22px; display:inline-block; vertical-align:middle; }

/* ── live schedule ── */
.schedule { max-width:960px; margin:3rem auto 0; }
.sched-tabs { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; margin-bottom:2rem; }
.sched-tab { border:1.5px solid rgba(230,0,126,.2); background:#fff; border-radius:100px; padding:.6rem 1.3rem; font-weight:700; font-size:.85rem; cursor:pointer; transition: all .2s; color: var(--ink); }
.sched-tab:hover { border-color: var(--pink); }
.sched-tab.active { background: var(--pink); color:#fff; border-color: var(--pink); box-shadow:0 8px 22px rgba(230,0,126,.32); }
.sched-panel { display:grid; grid-template-columns: repeat(2,1fr); gap:1rem; }
.sched-card { display:flex; align-items:center; gap:1.1rem; background:#fff; border:1px solid rgba(230,0,126,.1); border-radius: var(--r-md); padding:1.1rem 1.3rem; box-shadow: var(--shadow-soft); transition: transform .25s, box-shadow .25s; opacity:0; transform:translateY(12px); animation: schedIn .5s forwards; }
@keyframes schedIn { to{opacity:1;transform:none} }
.sched-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.sched-time { font-family: var(--f-display); font-weight:800; font-size:1.15rem; color: var(--pink); min-width:54px; }
.sched-info h4 { font-size:.98rem; font-weight:700; margin-bottom:.2rem; }
.sched-info .meta { font-size:.78rem; color: var(--muted); display:flex; gap:.5rem; align-items:center; }
.sched-lvl { display:inline-block; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:.15rem .5rem; border-radius:100px; }
.lvl-0 { background: rgba(91,177,47,.14); color: var(--green-deep); }
.lvl-1 { background: rgba(80,140,255,.14); color:#3b6fd4; }
.lvl-2 { background: rgba(230,0,126,.12); color: var(--pink); }
.sched-empty { grid-column:1/-1; text-align:center; color: var(--muted); padding:2rem; }

/* ── open-now chip ── */
.open-now { display:inline-flex; align-items:center; gap:.5rem; font-size:.82rem; font-weight:600; }
.open-now .od { width:9px; height:9px; border-radius:50%; }
.open-now.is-open .od { background:#4ade80; box-shadow:0 0 0 0 rgba(74,222,128,.6); animation: opn 1.8s infinite; }
.open-now.is-closed .od { background:#f87171; }
@keyframes opn { 0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)} 70%{box-shadow:0 0 0 8px rgba(74,222,128,0)} 100%{box-shadow:0 0 0 0 rgba(74,222,128,0)} }

@media (max-width:1024px){ .stats { grid-template-columns: repeat(2,1fr); } }
@media (max-width:768px){
  .sched-panel { grid-template-columns:1fr; }
  .compare-row { grid-template-columns: 1.4fr .8fr .8fr; }
  .compare-row > div { padding:.8rem .6rem; font-size:.82rem; }
}
