/* ========================================================
   Ameliya-Date — dark glass + gold + pink (v3)
   ======================================================== */
:root{
  --bg-0: #07050b;
  --bg-1: #0e0a18;
  --bg-2: #14101f;
  --ink: #fbf6ff;
  --ink-2: #d2c5e5;
  --muted: #968aa8;
  --line: rgba(255,255,255,.10);
  --gold: #d4af6a;
  --gold-2: #f0d089;
  --gold-soft: #b48a4a;
  --pink: #ff3a8a;
  --pink-2: #ff6fb3;
  --grad-1: linear-gradient(135deg, #ff3a8a 0%, #d4af6a 100%);
  --grad-2: linear-gradient(135deg, #f0d089 0%, #ff6fb3 100%);
  --grad-gold: linear-gradient(135deg, #d4af6a 0%, #f0d089 50%, #b48a4a 100%);
  --shadow-pink: 0 16px 50px rgba(255,58,138,.28);
  --shadow-gold: 0 16px 50px rgba(212,175,106,.24);
  --shadow-deep: 0 30px 80px rgba(0,0,0,.55);
  --radius-1: 14px;
  --radius-2: 22px;
  --radius-3: 32px;
  --glass-bg: rgba(255,255,255,.04);
  --glass-border: rgba(255,255,255,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg-0);color:var(--ink);font-family:'Plus Jakarta Sans','Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--pink-2);text-decoration:none;transition:opacity .2s ease}
a:hover{opacity:.85}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:'Fraunces','Playfair Display',serif;font-weight:600;line-height:1.15;color:var(--ink);margin:0 0 14px}
h1{font-size:62px;letter-spacing:-1px}
h2{font-size:42px;letter-spacing:-.5px}
h3{font-size:24px}
em{font-style:italic;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
p{color:var(--ink-2);font-size:17px;margin:0 0 14px}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-2);padding:7px 14px;border-radius:99px;background:rgba(212,175,106,.10);border:1px solid rgba(212,175,106,.30);margin-bottom:18px}

/* ============== ANIMATED BACKGROUND (hearts + glow blobs) ============== */
.bg-deep{position:fixed;inset:0;z-index:-3;background:
  radial-gradient(1200px 600px at 15% 0%, rgba(138,43,255,.18), transparent 60%),
  radial-gradient(1000px 500px at 90% 30%, rgba(255,46,138,.14), transparent 65%),
  radial-gradient(900px 600px at 50% 100%, rgba(168,85,247,.12), transparent 60%),
  linear-gradient(180deg, #06010f 0%, #0a0218 50%, #06010f 100%);
  pointer-events:none}

.bg-noise{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' seed='5'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

.bg-hearts{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-hearts svg{position:absolute;width:38px;height:38px;opacity:.55;filter:blur(.2px) drop-shadow(0 0 16px rgba(255,58,138,.7));animation:heart-rise 22s linear infinite}
.bg-hearts svg path{fill:url(#h-grad)}
@keyframes heart-rise{
  0%{transform:translate3d(var(--hx,0), 110vh, 0) scale(var(--hs,1)) rotate(var(--hr,0deg));opacity:0}
  10%{opacity:.18}
  90%{opacity:.18}
  100%{transform:translate3d(calc(var(--hx,0) + var(--hd,40px)), -10vh, 0) scale(var(--hs,1)) rotate(calc(var(--hr,0deg) + 30deg));opacity:0}
}

/* ============== HEADER ============== */
.app-header{position:sticky;top:0;z-index:50;background:rgba(7,5,11,.70);backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);border-bottom:1px solid var(--line)}
.app-header .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700}
.brand-logo{width:42px;height:42px;border-radius:12px;background:var(--grad-1);display:grid;place-items:center;box-shadow:var(--shadow-pink);transition:transform .4s ease;position:relative;overflow:hidden}
.brand-logo::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.30),transparent);background-size:220% 100%;animation:shimmer 4s linear infinite;pointer-events:none}
.brand:hover .brand-logo{transform:rotate(-8deg) scale(1.06)}
.brand-logo svg{width:24px;height:24px;fill:#fff;position:relative;z-index:2}
.brand-text{font-family:'Fraunces',serif;font-size:21px;line-height:1;letter-spacing:.2px}
.brand-text small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:500;color:var(--gold-2);letter-spacing:1.6px;text-transform:uppercase;margin-top:4px}
.nav{display:flex;align-items:center;gap:18px}
.menu-links{display:flex;align-items:center;gap:22px}
.nav a, .menu-links a, .help-link{color:var(--ink-2);font-size:14.5px;font-weight:500;cursor:pointer;background:none;border:none;padding:0;display:inline-flex;align-items:center;gap:6px;transition:color .2s ease;font-family:inherit}
.nav a:hover, .menu-links a:hover, .help-link:hover{color:var(--gold-2)}
.help-link svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none}
.age-tag{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(212,175,106,.10);border:1px solid rgba(212,175,106,.40);color:var(--gold-2);font-weight:700;font-size:13px}
.cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:14px;background:var(--grad-1);color:#fff !important;font-weight:600;font-size:15px;box-shadow:var(--shadow-pink);transition:transform .25s ease,box-shadow .25s ease;border:none;cursor:pointer}
.cta:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(255,58,138,.45);opacity:1}
.ghost{padding:10px 18px;border-radius:12px;border:1px solid var(--glass-border);color:var(--ink) !important;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:500;transition:all .2s ease}
.ghost:hover{background:rgba(255,255,255,.07);border-color:rgba(212,175,106,.40);color:var(--gold-2) !important;opacity:1}
.burger{display:none;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink);width:42px;height:42px;border-radius:12px;font-size:22px;cursor:pointer;align-items:center;justify-content:center}

/* ============== HERO — горы + закат + сердца ============== */
.hero{
  padding:90px 0 110px;position:relative;
  background:
    radial-gradient(140% 90% at 50% 5%, rgba(255,58,138,.30) 0%, transparent 55%),
    radial-gradient(110% 80% at 85% 25%, rgba(212,175,106,.22) 0%, transparent 60%),
    radial-gradient(100% 70% at 12% 12%, rgba(255,111,179,.20) 0%, transparent 55%),
    linear-gradient(180deg, #2a0e44 0%, #1a0a2e 30%, #0e0a18 60%, #07050b 100%);
  overflow:hidden;
}
/* Горы силуэтом + закатное свечение */
.hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:340px;z-index:0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(7,5,11,.4) 50%, #07050b 100%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1920' height='340' viewBox='0 0 1920 340' preserveAspectRatio='xMidYMax slice'><defs><linearGradient id='m1' x1='0' y1='0' x2='0' y2='1'><stop offset='0%25' stop-color='%23241638'/><stop offset='100%25' stop-color='%230b0814'/></linearGradient><linearGradient id='m2' x1='0' y1='0' x2='0' y2='1'><stop offset='0%25' stop-color='%23332048'/><stop offset='100%25' stop-color='%23120c1f'/></linearGradient></defs><path d='M0 340 L0 180 L120 110 L260 200 L400 90 L560 180 L720 70 L880 170 L1040 80 L1200 190 L1360 100 L1520 200 L1680 110 L1820 180 L1920 130 L1920 340 Z' fill='url(%23m1)'/><path d='M0 340 L0 240 L160 170 L340 240 L520 150 L720 230 L920 140 L1140 220 L1360 160 L1580 230 L1780 180 L1920 220 L1920 340 Z' fill='url(%23m2)' opacity='.85'/><path d='M0 340 L0 290 L200 240 L420 280 L640 220 L880 280 L1100 230 L1340 290 L1580 250 L1780 290 L1920 260 L1920 340 Z' fill='%23080611' opacity='.7'/></svg>") bottom/cover no-repeat;
  pointer-events:none;
}
/* Glow-пятно от заката */
.hero::before{
  content:'';position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);
  width:1100px;height:600px;z-index:0;
  background:radial-gradient(ellipse at center, rgba(212,175,106,.18) 0%, rgba(255,58,138,.10) 30%, transparent 65%);
  filter:blur(50px);pointer-events:none;
}
.hero>.container{position:relative;z-index:2}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero h1{font-size:64px;margin-bottom:22px}
.hero p.lead{font-size:19px;color:var(--ink-2);max-width:560px;margin-bottom:34px;line-height:1.6}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:14px;cursor:pointer;border:none;font-size:15px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;font-family:inherit}
.btn-primary{background:var(--grad-1);color:#fff;padding:16px 28px;box-shadow:var(--shadow-pink);position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.32) 50%,transparent 75%);background-size:220% 100%;animation:shimmer 3.5s linear infinite;pointer-events:none}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(255,58,138,.45)}
.btn-gold{background:var(--grad-gold);color:#1a1208;padding:16px 28px;box-shadow:var(--shadow-gold);position:relative;overflow:hidden;font-weight:700}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.45) 50%,transparent 75%);background-size:220% 100%;animation:shimmer 3.5s linear infinite;pointer-events:none}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(212,175,106,.45)}
.btn-ghost{background:var(--glass-bg);color:var(--ink);padding:16px 24px;border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(212,175,106,.40);color:var(--gold-2)}
.btn-lg{padding:17px 32px;font-size:16px}
.or{color:var(--muted);font-size:14px}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* hero-stats — glass cards */
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;max-width:560px}
.hero-stats .st{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:18px 20px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .3s ease, border-color .3s ease}
.hero-stats .st:hover{transform:translateY(-3px);border-color:rgba(212,175,106,.40)}
.hero-stats .num{font-family:'Fraunces',serif;font-size:38px;font-weight:600;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:6px}
.hero-stats .lbl{font-size:13px;color:var(--ink-2);line-height:1.35}
.or{color:var(--muted);font-size:14px}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* ============== SECTION COMMON ============== */
section{padding:90px 0;position:relative}
section h2{margin-bottom:18px}
section .sec-lead{color:var(--ink-2);font-size:18px;max-width:680px;margin-bottom:48px}

/* ============== HOW IT WORKS (steps) ============== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--radius-2);padding:28px;position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s ease}
.step:hover{transform:translateY(-4px);border-color:rgba(255,46,138,.3)}
.step .num{font-family:'Fraunces',serif;font-size:54px;background:var(--grad-1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:14px}
.step h3{margin-bottom:8px;color:var(--ink)}
.step p{font-size:15px;margin-bottom:0}

/* ============== FEATURES ============== */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{padding:28px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-2);transition:transform .3s ease,border-color .3s ease}
.feature:hover{transform:translateY(-3px);border-color:rgba(168,85,247,.35)}
.feature-icon{width:54px;height:54px;border-radius:14px;background:rgba(255,46,138,.1);border:1px solid rgba(255,46,138,.25);display:grid;place-items:center;margin-bottom:14px}
.feature-icon svg{width:26px;height:26px;stroke:var(--pink-2);fill:none;stroke-width:1.6}
.feature h3{font-size:19px;margin-bottom:8px}
.feature p{font-size:15px;margin:0}

/* ============== ABOUT (replaces human icon) ============== */
.mission{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}
.mission-art{position:relative;height:480px;border-radius:var(--radius-3);background:radial-gradient(circle at 30% 30%,rgba(255,46,138,.5),transparent 60%),radial-gradient(circle at 70% 80%,rgba(138,43,255,.5),transparent 60%),linear-gradient(180deg,#15052e,#0a0218);border:1px solid var(--line);overflow:hidden}
.mission-art::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='50' cy='50' r='30' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='.4'/><circle cx='50' cy='50' r='20' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='.4'/><circle cx='50' cy='50' r='10' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='.4'/></svg>") center/cover no-repeat;opacity:.4;animation:rotate-slow 60s linear infinite}
@keyframes rotate-slow{to{transform:rotate(360deg)}}
.mission-art .quote{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(0,0,0,.55);backdrop-filter:blur(16px);padding:18px 22px;border-radius:18px;border:1px solid var(--line);color:var(--ink-2);font-size:15px;font-style:italic;animation:msg-pop .8s ease both}
.mission-art .quote-author{display:block;color:var(--muted);font-size:13px;margin-top:8px;font-style:normal}
.mission-art .floating-heart{position:absolute;width:30px;height:30px;animation:heart-bounce 4s ease-in-out infinite}
.mission-art .floating-heart svg{width:100%;height:100%;fill:url(#h-grad-2)}
.mission-art .floating-heart.h1{top:18%;left:14%;animation-delay:0s}
.mission-art .floating-heart.h2{top:42%;right:12%;animation-delay:1s;width:22px;height:22px}
.mission-art .floating-heart.h3{top:62%;left:22%;animation-delay:2s;width:26px;height:26px}
@keyframes heart-bounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}

/* ============== REVIEWS (single) ============== */
.reviews{padding:80px 0;background:linear-gradient(180deg,transparent,rgba(168,85,247,.04) 50%,transparent)}
.review-card{max-width:760px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--radius-3);padding:42px 44px;position:relative;backdrop-filter:blur(8px)}
.review-card::before{content:"\201C";position:absolute;top:-30px;left:32px;font-family:'Fraunces',serif;font-size:140px;color:rgba(255,46,138,.2);line-height:1}
.review-text{font-size:19px;line-height:1.6;color:var(--ink);margin-bottom:24px;font-style:italic;font-family:'Fraunces',serif;font-weight:500}
.review-author{display:flex;align-items:center;gap:14px}
.review-avatar{width:56px;height:56px;border-radius:50%;background:var(--grad-1);display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;box-shadow:var(--shadow-pink)}
.review-meta{font-size:14px}
.review-name{color:var(--ink);font-weight:600}
.review-info{color:var(--muted);font-size:13px;margin-top:2px}
.review-stars{color:#ffb547;font-size:18px;letter-spacing:3px;margin-bottom:14px}

/* ============== TRUST / RULES ============== */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.trust .it{padding:22px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-1);text-align:center;transition:border-color .3s ease}
.trust .it:hover{border-color:rgba(255,46,138,.3)}
.trust .it strong{display:block;font-size:22px;background:var(--grad-2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}
.trust .it span{color:var(--muted);font-size:13px}

/* ============== FAQ ============== */
.faq{display:flex;flex-direction:column;gap:12px;max-width:780px;margin:0 auto}
.faq details{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-1);overflow:hidden;transition:border-color .3s ease}
.faq details[open]{border-color:rgba(255,46,138,.3)}
.faq summary{padding:18px 24px;cursor:pointer;color:var(--ink);font-weight:500;font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:background .25s ease}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--pink);transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{background:rgba(255,46,138,.05)}
.faq .answer{padding:0 24px 22px;color:var(--ink-2);font-size:15px;line-height:1.65}

/* ============== FINAL CTA ============== */
.final-cta{text-align:center;padding:90px 0}
.final-cta h2{margin-bottom:18px}
.final-cta p{max-width:540px;margin:0 auto 30px;color:var(--ink-2)}

/* ============== FOOTER ============== */
footer{padding:60px 0 40px;border-top:1px solid var(--line);background:rgba(0,0,0,.4);margin-top:60px}
footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
footer .col h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:10px}
footer a{color:var(--ink-2);font-size:14px}
footer a:hover{color:var(--pink-2)}
footer .legal{padding-top:28px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.7}
footer .legal strong{color:var(--ink-2)}

/* ============== SCROLL REVEAL ============== */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ============== RESPONSIVE ============== */
@media(max-width:980px){
  h1{font-size:48px}
  h2{font-size:34px}
  .hero{padding:50px 0 70px;background-attachment:scroll;background-position:center}
  .hero h1{font-size:46px}
  .hero .grid{grid-template-columns:1fr;gap:50px}
  .phone-stage{order:-1;margin-bottom:8px}
  .phone{width:280px;height:560px}
  .phone-stage::before,.phone-stage::after{width:340px;height:380px}
  .steps,.features{grid-template-columns:1fr 1fr;gap:18px}
  .mission{grid-template-columns:1fr;gap:36px}
  .mission-art{height:380px}
  .trust{grid-template-columns:1fr 1fr}
  footer .grid{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:680px){
  h1{font-size:38px}
  h2{font-size:28px}
  .hero h1{font-size:38px}
  .hero p.lead{font-size:16px}
  .menu-links a:not(.cta):not(.ghost){display:none}
  .age-tag{width:36px;height:36px;font-size:12px}
  .cta{padding:10px 16px;font-size:14px}
  .ghost{padding:8px 12px;font-size:14px}
  .burger{display:grid;place-items:center}
  .menu-links.is-open{position:absolute;top:72px;left:0;right:0;flex-direction:column;background:rgba(8,2,18,.96);backdrop-filter:blur(20px);padding:18px 24px;border-bottom:1px solid var(--line);align-items:stretch;gap:14px}
  .menu-links.is-open a{display:block !important;padding:8px 0;font-size:16px}
  .steps,.features{grid-template-columns:1fr}
  .hero-stats{gap:22px}
  .hero-stats .num{font-size:32px}
  .review-card{padding:30px 24px}
  .review-text{font-size:16px}
  .trust{grid-template-columns:1fr 1fr;gap:12px}
  footer .grid{grid-template-columns:1fr;gap:24px}
  .phone{width:260px;height:520px}
  .btn-lg{padding:14px 22px;font-size:15px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .or{text-align:center}
  section{padding:60px 0}
}
@media(max-width:380px){
  .phone{width:240px;height:480px}
  .container{padding:0 18px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0s !important;animation-delay:0s !important;transition:none !important}
}

/* ==================================================================
   IPHONE v3 — clean & realistic
   ================================================================== */
.phone{position:relative;width:312px;height:632px;border-radius:54px;
  background:linear-gradient(145deg,#2a1840 0%,#0a0218 35%,#000 60%,#0a0218 80%,#2a1840 100%);
  padding:7px;
  box-shadow:
    0 60px 100px rgba(0,0,0,.65),
    0 0 0 1.5px rgba(255,255,255,.08),
    inset 0 0 0 .5px rgba(255,255,255,.12),
    inset 0 0 30px rgba(255,46,138,.06);
  z-index:1;animation:phone-float 8s ease-in-out infinite;will-change:transform}
.phone::before{content:"";position:absolute;inset:0;border-radius:54px;padding:1.5px;
  background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 25%,rgba(0,0,0,.4) 50%,rgba(255,255,255,.04) 75%,rgba(255,255,255,.22) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;z-index:1}
.phone::after{content:"";position:absolute;inset:0;border-radius:54px;
  background:linear-gradient(135deg,rgba(255,255,255,.10) 0%,transparent 30%,transparent 70%,rgba(255,255,255,.04) 100%);
  pointer-events:none;z-index:5;mix-blend-mode:overlay}

.phone-btn{position:absolute;background:linear-gradient(180deg,#1a0c2c,#0a0218);box-shadow:inset 0 -1px 0 rgba(255,255,255,.05),inset 0 1px 0 rgba(0,0,0,.4);z-index:0}
.phone-btn.silent{left:-2px;top:120px;width:3px;height:28px;border-radius:2px 0 0 2px}
.phone-btn.vol-up{left:-3px;top:172px;width:4px;height:50px;border-radius:2px 0 0 2px}
.phone-btn.vol-down{left:-3px;top:236px;width:4px;height:50px;border-radius:2px 0 0 2px}
.phone-btn.power{right:-3px;top:170px;width:4px;height:80px;border-radius:0 2px 2px 0}

.ph-screen{width:100%;height:100%;border-radius:46px;background:linear-gradient(180deg,#0a0218 0%,#15052e 100%);overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:inset 0 0 40px rgba(0,0,0,.4)}

.ph-island{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:108px;height:32px;background:#000;border-radius:18px;z-index:10;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:space-between;padding:0 12px}
.ph-island::before{content:"";width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#1a1a1a,#000 60%);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1)}
.ph-island::after{content:"";width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#0a1f3a,#000 60%);box-shadow:inset 0 0 0 .5px rgba(80,150,255,.25),0 0 4px rgba(80,150,255,.1)}

/* Status bar — чистая текстовая версия (НЕ SVG) */
.ph-status{position:absolute;top:0;left:0;right:0;height:54px;display:flex;justify-content:space-between;align-items:center;padding:18px 28px 0;color:#fff;font-size:13px;font-weight:600;z-index:8;pointer-events:none;font-feature-settings:"tnum"}
.ph-status .time{letter-spacing:.3px}
.ph-status .icons{display:flex;gap:5px;align-items:center;font-size:11px}
.ph-status .icons .signal{display:inline-flex;gap:2px;align-items:flex-end;height:10px}
.ph-status .icons .signal i{display:block;width:3px;background:#fff;border-radius:1px}
.ph-status .icons .signal i:nth-child(1){height:4px}
.ph-status .icons .signal i:nth-child(2){height:6px}
.ph-status .icons .signal i:nth-child(3){height:8px}
.ph-status .icons .signal i:nth-child(4){height:10px}
.ph-status .icons .battery{display:inline-flex;align-items:center;gap:2px}
.ph-status .icons .battery .body{width:22px;height:11px;border:1px solid #fff;border-radius:3px;padding:1px;display:flex}
.ph-status .icons .battery .fill{height:100%;width:80%;background:#fff;border-radius:1px}
.ph-status .icons .battery .cap{width:2px;height:5px;background:#fff;border-radius:0 1px 1px 0}

.ph-top{padding:64px 18px 14px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.02)}
.ph-home{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:128px;height:5px;border-radius:3px;background:rgba(255,255,255,.5);z-index:8}

@media(max-width:980px){.phone{width:294px;height:594px}.ph-island{width:100px;height:30px;top:13px}}
@media(max-width:680px){.phone{width:270px;height:548px;border-radius:48px;padding:6px}.phone::before,.phone::after{border-radius:48px}.ph-screen{border-radius:42px}.ph-island{width:92px;height:28px;top:12px}.ph-top{padding:58px 16px 12px}}
@media(max-width:380px){.phone{width:248px;height:506px}.ph-island{width:84px;height:26px}.ph-top{padding:54px 14px 10px}}

/* ==================================================================
   SUPPORT CHAT — slide-over from right
   ================================================================== */
.help-link{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:none;border:none;color:var(--ink-2);font-size:15px;font-weight:500;font-family:inherit;padding:0;transition:color .2s ease}
.help-link:hover{color:var(--pink-2)}
.help-link svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}

#chat-overlay{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s ease;display:block !important}
#chat-overlay.is-open{opacity:1;pointer-events:auto}

#chat-panel{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;width:420px;max-width:100vw;background:linear-gradient(180deg,#0e0322 0%,#06010f 100%);border-left:1px solid rgba(255,255,255,.08);box-shadow:-30px 0 80px rgba(0,0,0,.6);z-index:9999;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex !important;flex-direction:column}
#chat-panel.is-open{transform:translateX(0)}

.cp-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.02);flex-shrink:0}
.cp-title-wrap{display:flex;align-items:center;gap:12px}
.cp-av{width:42px;height:42px;border-radius:50%;background:var(--grad-1);display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;box-shadow:var(--shadow-pink);flex-shrink:0}
.cp-head h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:600;margin:0;color:var(--ink)}
.cp-st{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:2px}
.cp-st .dot{width:6px;height:6px;border-radius:50%;background:#3ef58b;box-shadow:0 0 6px #3ef58b}
.cp-close{background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:18px;display:grid;place-items:center;transition:background .2s ease;flex-shrink:0}
.cp-close:hover{background:rgba(255,255,255,.1)}

.cp-body{flex:1;overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.cp-msg{max-width:82%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;animation:msg-pop .3s cubic-bezier(.2,.7,.2,1) both}
.cp-msg.bot{align-self:flex-start;background:rgba(255,255,255,.06);color:var(--ink);border-bottom-left-radius:6px}
.cp-msg.me{align-self:flex-end;background:var(--grad-1);color:#fff;border-bottom-right-radius:6px;box-shadow:0 8px 20px rgba(255,46,138,.25)}
.cp-msg.typing{display:flex;gap:5px;padding:14px 16px;background:rgba(255,255,255,.06)}
.cp-msg.typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-2);animation:typing-dot 1.2s infinite ease-in-out}
.cp-msg.typing span:nth-child(2){animation-delay:.15s}
.cp-msg.typing span:nth-child(3){animation-delay:.3s}

.cp-actions{padding:0 24px 12px;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}
.cp-quick{padding:9px 14px;border-radius:99px;background:rgba(255,46,138,.08);border:1px solid rgba(255,46,138,.25);color:var(--pink-2);font-size:13px;cursor:pointer;font-family:inherit}
.cp-quick:hover{background:rgba(255,46,138,.16)}

.cp-foot{padding:18px 24px 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.02);flex-shrink:0}
.cp-start-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border-radius:14px;background:var(--grad-1);color:#fff;font-weight:600;font-size:15px;border:none;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-pink)}
.cp-start-cta svg{width:18px;height:18px;fill:#fff}
.cp-hint{display:block;color:var(--muted);font-size:12px;margin-top:10px;text-align:center}
.cp-hint a{color:var(--pink-2)}

@media(max-width:680px){#chat-panel{width:100%;border-left:none}.cp-head{padding:18px}.cp-body{padding:18px}.cp-actions{padding:0 18px 10px}.cp-foot{padding:14px 18px 18px}}

#help-fab{position:fixed !important;right:24px !important;bottom:24px !important;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--grad-1);box-shadow:var(--shadow-pink);border:none;cursor:pointer;display:grid !important;place-items:center;transition:transform .25s ease}
#help-fab:hover{transform:translateY(-3px) scale(1.04)}
#help-fab svg{width:26px;height:26px;fill:#fff}
@media(max-width:680px){#help-fab{right:18px !important;bottom:18px !important;width:50px;height:50px}#help-fab svg{width:22px;height:22px}}

/* ==================================================================
   REVIEWS CAROUSEL with form
   ================================================================== */
.reviews-section{padding:90px 0;position:relative}
.reviews-wrap{display:grid;grid-template-columns:1fr;gap:30px;max-width:840px;margin:0 auto}
.review-card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--radius-3);padding:42px 44px;position:relative;backdrop-filter:blur(8px);min-height:280px}
.review-card::before{content:"\201C";position:absolute;top:-30px;left:32px;font-family:'Fraunces',serif;font-size:140px;color:rgba(255,46,138,.2);line-height:1}
.review-stage{position:relative;min-height:280px}
.review-slide{position:absolute;inset:0;opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.review-slide.is-active{opacity:1;transform:translateX(0);pointer-events:auto;position:relative}
.review-stars{color:#ffb547;font-size:18px;letter-spacing:3px;margin-bottom:14px}
.review-text{font-size:18px;line-height:1.6;color:var(--ink);margin:0 0 24px;font-style:italic;font-family:'Fraunces',serif;font-weight:500}
.review-author{display:flex;align-items:center;gap:14px}
.review-avatar{width:52px;height:52px;border-radius:50%;background:var(--grad-1);display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;box-shadow:var(--shadow-pink);flex-shrink:0}
.review-name{color:var(--ink);font-weight:600;font-size:15px}
.review-info{color:var(--muted);font-size:13px;margin-top:2px}

.reviews-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:18px;flex-wrap:wrap}
.reviews-dots{display:flex;gap:8px}
.reviews-dots button{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.15);border:none;cursor:pointer;transition:all .25s ease;padding:0}
.reviews-dots button.is-active{width:28px;border-radius:4px;background:var(--grad-1)}
.reviews-arrows{display:flex;gap:8px}
.reviews-arrows button{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:18px;transition:background .2s ease}
.reviews-arrows button:hover{background:rgba(255,255,255,.08)}
.reviews-cta{padding:12px 22px;border-radius:14px;background:var(--grad-1);color:#fff;border:none;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-pink);transition:transform .2s ease}
.reviews-cta:hover{transform:translateY(-1px)}

.review-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);z-index:9990;opacity:0;pointer-events:none;transition:opacity .25s ease;display:grid;place-items:center;padding:20px}
.review-modal-overlay.is-open{opacity:1;pointer-events:auto}
.review-modal{width:100%;max-width:480px;background:linear-gradient(180deg,#15052e 0%,#0a0218 100%);border:1px solid var(--line);border-radius:24px;padding:32px;transform:scale(.95);transition:transform .25s ease}
.review-modal-overlay.is-open .review-modal{transform:scale(1)}
.review-modal h3{margin:0 0 8px;color:var(--ink);font-size:24px}
.review-modal p.lead{color:var(--muted);font-size:14px;margin:0 0 22px}
.rm-stars{display:flex;gap:6px;margin-bottom:18px}
.rm-stars button{background:none;border:none;color:rgba(255,255,255,.2);font-size:32px;cursor:pointer;padding:0;line-height:1;transition:transform .15s ease,color .15s ease}
.rm-stars button.active,.rm-stars button:hover{color:#ffb547;transform:scale(1.1)}
.rm-form input,.rm-form textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);font-size:14px;padding:12px 16px;border-radius:12px;font-family:inherit;outline:none;margin-bottom:12px;transition:border-color .2s ease}
.rm-form input:focus,.rm-form textarea:focus{border-color:var(--pink)}
.rm-form input::placeholder,.rm-form textarea::placeholder{color:var(--muted)}
.rm-form textarea{resize:vertical;min-height:100px}
.rm-form .rm-actions{display:flex;gap:10px;margin-top:8px}
.rm-form .rm-cancel{flex:1;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);font-weight:500;cursor:pointer;font-family:inherit}
.rm-form .rm-submit{flex:2;padding:12px;border-radius:12px;background:var(--grad-1);border:none;color:#fff;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-pink)}
.rm-success{text-align:center;padding:30px 0}
.rm-success svg{width:54px;height:54px;fill:none;stroke:url(#h-grad);stroke-width:2}
.rm-success h3{margin-top:14px}

@media(max-width:680px){.review-card{padding:32px 26px}.review-text{font-size:16px}.reviews-controls{flex-direction:column;align-items:stretch}.reviews-cta{width:100%}}


/* ==================================================================
   QUIZ — interest matcher (glass-morphism, pink/violet)
   ================================================================== */
.quiz-section{padding:90px 0;position:relative}
.quiz-section .container{max-width:880px}
.quiz-shell{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:32px;padding:56px 56px 48px;position:relative;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}
.quiz-shell::before{content:"";position:absolute;inset:0;border-radius:32px;padding:1px;
  background:linear-gradient(135deg,rgba(255,46,138,.45),transparent 40%,transparent 60%,rgba(138,43,255,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none}
.quiz-shell::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,46,138,.18),transparent 60%);
  top:-100px;right:-100px;filter:blur(40px);pointer-events:none;animation:blob-drift 12s ease-in-out infinite}

.quiz-progress{position:relative;height:6px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-bottom:32px}
.quiz-progress-bar{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad-1);border-radius:99px;transition:width .55s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 12px rgba(255,46,138,.5)}
.quiz-steps-info{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin-bottom:24px;letter-spacing:.4px}
.quiz-steps-info .qsi-cur{color:var(--pink-2);font-weight:600}

.quiz-stage{position:relative;min-height:380px}
.quiz-step{position:absolute;inset:0;opacity:0;transform:translateX(40px);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.quiz-step.is-active{opacity:1;transform:translateX(0);pointer-events:auto;position:relative}
.quiz-step h3{font-family:'Fraunces',serif;font-size:30px;font-weight:600;text-align:center;margin:0 0 26px;color:var(--ink)}

.quiz-options{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.quiz-opt{display:flex;align-items:center;gap:16px;padding:18px 22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease;font-family:inherit;width:100%;text-align:left;color:var(--ink-2);font-size:15px}
.quiz-opt:hover{background:rgba(255,255,255,.07);border-color:rgba(255,46,138,.35);transform:translateX(4px)}
.quiz-opt.is-selected{background:linear-gradient(135deg,rgba(255,46,138,.18),rgba(138,43,255,.12));border-color:var(--pink);color:var(--ink);box-shadow:0 8px 30px rgba(255,46,138,.18)}
.quiz-opt .qo-icon{flex-shrink:0;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;transition:all .25s ease}
.quiz-opt.is-selected .qo-icon{background:var(--grad-1);border-color:transparent;box-shadow:0 6px 20px rgba(255,46,138,.4)}
.quiz-opt .qo-icon svg{width:22px;height:22px;stroke:var(--pink-2);fill:none;stroke-width:1.6;transition:stroke .25s ease}
.quiz-opt.is-selected .qo-icon svg{stroke:#fff}
.quiz-opt .qo-text{flex:1;line-height:1.4}

.quiz-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.quiz-back{padding:11px 20px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;transition:background .2s ease}
.quiz-back:hover{background:rgba(255,255,255,.08)}
.quiz-back:disabled{opacity:.4;cursor:not-allowed}
.quiz-next{padding:13px 28px;border-radius:14px;background:var(--grad-1);color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;box-shadow:var(--shadow-pink);transition:transform .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;gap:8px}
.quiz-next:hover:not(:disabled){transform:translateY(-2px)}
.quiz-next:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.quiz-next svg{width:16px;height:16px;fill:#fff}

/* RESULT screen */
.quiz-result{text-align:center;padding:30px 10px}
.quiz-result-icon{width:96px;height:96px;border-radius:50%;background:var(--grad-1);display:grid;place-items:center;margin:0 auto 22px;box-shadow:0 20px 60px rgba(255,46,138,.3);animation:result-pop .7s cubic-bezier(.2,.9,.2,1.05) both,beloglow 4s ease-in-out 1s infinite}
.quiz-result-icon svg{width:48px;height:48px;fill:#fff}
@keyframes result-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.quiz-result h3{font-family:'Fraunces',serif;font-size:34px;margin:0 0 12px;color:var(--ink)}
.quiz-result p.lead{color:var(--ink-2);font-size:17px;max-width:520px;margin:0 auto 26px;line-height:1.55}
.quiz-result-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 32px;max-width:540px}
.quiz-tag{padding:8px 16px;border-radius:99px;background:rgba(255,46,138,.1);border:1px solid rgba(255,46,138,.3);color:var(--pink-2);font-size:13px;font-weight:500}
.quiz-result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.quiz-result-actions .btn{min-width:200px}
.quiz-meta{margin-top:26px;color:var(--muted);font-size:13px}

@media(max-width:680px){
  .quiz-shell{padding:36px 22px 30px;border-radius:24px}
  .quiz-step h3{font-size:24px;margin-bottom:20px}
  .quiz-stage{min-height:430px}
  .quiz-opt{padding:14px 16px;gap:12px;font-size:14px}
  .quiz-opt .qo-icon{width:40px;height:40px}
  .quiz-result h3{font-size:26px}
  .quiz-result p.lead{font-size:15px}
  .quiz-result-actions .btn{width:100%;min-width:0}
}


/* ==================================================================
   FIX-4: phone sway + chat trim + age-modal + dark form pages
   ================================================================== */

/* combine sway with float */
@keyframes phone-sway-x {
  0%,100% { transform: translateX(-10px) translateY(0); }
  25%     { transform: translateX(8px)   translateY(-3px); }
  50%     { transform: translateX(10px)  translateY(0); }
  75%     { transform: translateX(-6px)  translateY(-3px); }
}
.phone {
  animation: phone-sway-x 11s ease-in-out infinite, phone-float 8s ease-in-out infinite;
}

/* messages do not overflow */
.ph-body{
  flex:1; min-height:0; overflow:hidden; padding:14px 14px 8px;
  display:flex; flex-direction:column; gap:8px; max-height:380px;
  scroll-behavior:smooth;
}
.ph-day{align-self:center;font-size:11px;color:rgba(255,255,255,.45);background:rgba(255,255,255,.05);padding:3px 10px;border-radius:99px;margin-bottom:2px}
.msg{max-width:78%;padding:9px 12px;border-radius:18px;font-size:13.5px;line-height:1.35;color:#fff;animation:msg-pop .25s ease both;word-wrap:break-word}
.msg.in{align-self:flex-start;background:rgba(255,255,255,.10);border-bottom-left-radius:6px}
.msg.out{align-self:flex-end;background:linear-gradient(135deg,#ff2e8a,#8a2bff);border-bottom-right-radius:6px;box-shadow:0 6px 14px rgba(255,46,138,.25)}
.msg.typing{display:inline-flex;gap:3px;padding:11px 14px}
.msg.typing span{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6);animation:typing-dot 1.2s ease-in-out infinite}
.msg.typing span:nth-child(2){animation-delay:.15s}
.msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes typing-dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes msg-pop{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.cursor-blink{display:inline-block;width:2px;height:14px;background:rgba(255,255,255,.7);margin-left:1px;vertical-align:-2px;animation:cur-blink 1s steps(2) infinite}
@keyframes cur-blink{50%{opacity:0}}

/* peer header inside phone */
.ph-back{color:rgba(255,255,255,.5);font-size:22px;font-weight:300}
.ph-peer{display:flex;align-items:center;gap:10px;flex:1}
.ph-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ff5fb1,#a855f7);box-shadow:0 0 0 1.5px rgba(255,255,255,.1)}
.ph-peer-name{color:#fff;font-size:14px;font-weight:600}
.ph-peer-st{color:rgba(255,255,255,.55);font-size:11px;display:flex;align-items:center;gap:4px;margin-top:1px}
.ph-peer-st .dot{width:6px;height:6px;border-radius:50%;background:#3aff8e;box-shadow:0 0 6px rgba(58,255,142,.7)}

/* input bar */
.ph-input{display:flex;align-items:center;gap:10px;padding:9px 12px 14px;border-top:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.ph-input #ph-input-text{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:8px 14px;color:rgba(255,255,255,.85);font-size:13px;min-height:32px;outline:none;cursor:text;font-family:inherit}
.ph-input #ph-input-text:empty::before{content:attr(data-ph);color:rgba(255,255,255,.4)}
.ph-input #ph-input-text:focus{border-color:rgba(255,46,138,.4);background:rgba(255,255,255,.08)}
.ph-input .send{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff2e8a,#8a2bff);box-shadow:0 4px 10px rgba(255,46,138,.35);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease}
.ph-input .send:hover{transform:scale(1.08)}
.ph-input .send::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff;margin-left:2px}

/* ============== AGE MODAL — fixed overlay ============== */
.age-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.age-modal[hidden]{display:none}
.age-modal-backdrop{position:absolute;inset:0;background:rgba(6,1,15,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.age-modal-card{position:relative;z-index:1;max-width:440px;width:100%;background:linear-gradient(180deg,rgba(20,6,44,.95),rgba(10,2,24,.98));border:1px solid rgba(255,46,138,.25);border-radius:24px;padding:36px 32px;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04) inset;animation:msg-pop .35s ease both}
.age-modal-mark{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--grad-1);color:#fff;font-weight:700;font-size:18px;margin:0 auto 16px;box-shadow:var(--shadow-pink)}
.age-modal-title{font-family:'Fraunces',serif;font-size:26px;color:var(--ink);margin:0 0 10px}
.age-modal-text{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin:0 0 8px}
.age-modal-question{color:var(--ink);font-size:15px;font-weight:600;margin:14px 0 22px}
.age-modal-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.age-modal-actions .btn{flex:1;min-width:140px}
.age-modal-note{display:block;margin-top:18px;font-size:12px;color:var(--muted);line-height:1.5}

/* ============== DARK FORM PAGES (register/login) ============== */
section.sec{padding:60px 0 90px}
section.sec-tight{padding:36px 0 60px}
.form-card{max-width:520px;margin:0 auto;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--radius-3);padding:42px 40px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 40px 100px rgba(0,0,0,.4)}
.form-card h1{font-size:34px;margin-bottom:10px;color:var(--ink);font-family:'Fraunces',serif}
.form-card .sub{color:var(--ink-2);font-size:15px;line-height:1.55;margin-bottom:24px}
.form-card .field{margin-bottom:16px}
.form-card .field label{display:block;color:var(--ink-2);font-size:13px;font-weight:500;margin-bottom:7px;letter-spacing:.2px}
.form-card .field input,
.form-card .field select,
.form-card .field textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);font-size:15px;font-family:inherit;transition:border-color .2s ease,background .2s ease;outline:none}
.form-card .field input:focus,
.form-card .field select:focus,
.form-card .field textarea:focus{border-color:rgba(255,46,138,.45);background:rgba(255,255,255,.06)}
.form-card .field input::placeholder,
.form-card .field textarea::placeholder{color:var(--muted)}
.form-card .field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23ff5fb1' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:38px}
.form-card .field input[type="date"]{color-scheme:dark}
.form-card .check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:13.5px;color:var(--ink-2);line-height:1.5;cursor:pointer}
.form-card .check input{margin-top:3px;accent-color:#ff2e8a;flex-shrink:0;width:16px;height:16px}
.form-card .check a{color:var(--pink-2);text-decoration:underline;text-decoration-color:rgba(255,95,177,.4)}
.form-card .btn-block{width:100%;margin-top:8px}
.form-card .alert{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:16px;border:1px solid rgba(255,46,138,.3);background:rgba(255,46,138,.08);color:var(--ink)}
.form-card .alert.ok{border-color:rgba(58,255,142,.3);background:rgba(58,255,142,.06)}
.form-foot{margin-top:22px;text-align:center;font-size:14px;color:var(--ink-2)}
.form-foot a{color:var(--pink-2);font-weight:600}

/* footer for register/login */
.app-footer{padding:36px 0;border-top:1px solid var(--line);margin-top:60px;background:rgba(8,2,18,.4)}
.app-footer .legal{padding-top:0;border-top:none;font-size:13px;color:var(--muted);text-align:center;line-height:1.7}
.app-footer .legal strong{color:var(--ink-2)}

/* needs-js helper */
.needs-js{display:none!important}

@media(max-width:680px){
  .form-card{padding:32px 24px;border-radius:24px}
  .form-card h1{font-size:28px}
  .age-modal-card{padding:28px 22px}
  .age-modal-actions{flex-direction:column-reverse}
  .age-modal-actions .btn{width:100%}
}


/* ============== FIX-5: doc pages typography + extras ============== */
.doc{max-width:780px;margin:0 auto;padding:8px 0 60px}
.doc h1{font-family:'Fraunces',serif;font-size:42px;line-height:1.15;margin:0 0 14px;color:var(--ink);letter-spacing:-.5px}
.doc .meta{color:var(--muted);font-size:14px;margin-bottom:32px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.doc h2{font-family:'Fraunces',serif;font-size:24px;color:var(--ink);margin:36px 0 14px;font-weight:600}
.doc p{font-size:16px;line-height:1.7;color:var(--ink-2);margin:0 0 14px}
.doc ul{padding-left:22px;margin:0 0 18px;color:var(--ink-2)}
.doc ul li{margin-bottom:8px;line-height:1.6;font-size:15.5px}
.doc strong{color:var(--ink)}
.doc a{color:var(--pink-2);text-decoration:underline;text-decoration-color:rgba(255,95,177,.35);text-underline-offset:2px}
.doc a:hover{text-decoration-color:rgba(255,95,177,.8)}
.doc .mt-24{margin-top:24px}

/* нижняя «легальная» подложка под doc-страницы */
.app-footer .legal p{margin-bottom:8px}


/* ============== Age Bar (inline, не pop-up) ============== */
.age-bar{
  position:fixed;top:0;left:0;right:0;z-index:9500;
  background:linear-gradient(90deg,#ff3a8a 0%,#d4af6a 100%);
  color:#fff;
  padding:12px 20px;
  box-shadow:0 4px 18px rgba(0,0,0,.30);
  animation:abSlideDown .35s cubic-bezier(.2,.7,.2,1);
}
@keyframes abSlideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.age-bar-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.age-bar-icon{
  flex-shrink:0;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.20);
  display:grid;place-items:center;
  font-weight:700;font-size:14px;
  border:1.5px solid rgba(255,255,255,.45);
}
.age-bar-text{flex:1;min-width:240px;font-size:14px;line-height:1.45}
.age-bar .btn{flex-shrink:0;padding:9px 22px;font-size:14px;background:#fff;color:#c026d3}
.age-bar .btn:hover{background:rgba(255,255,255,.92)}

/* ============== Age Modal Pop-up (glass) ============== */
.age-veil{
  position:fixed;inset:0;z-index:10000;
  background:rgba(7,5,11,.78);
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  display:grid;place-items:center;padding:20px;
  animation:ageFadeIn .3s ease;
}
@keyframes ageFadeIn{from{opacity:0}to{opacity:1}}
.age-card{
  background:linear-gradient(180deg, rgba(28,18,40,.92) 0%, rgba(14,10,24,.95) 100%);
  border:1px solid rgba(212,175,106,.28);
  border-radius:26px;padding:44px 38px 36px;
  max-width:480px;width:100%;text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.7), 0 0 80px rgba(255,58,138,.18);
  animation:ageSlideIn .4s cubic-bezier(.2,.7,.2,1);
  position:relative;overflow:hidden;
}
.age-card::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg, rgba(255,58,138,.10) 0%, transparent 50%, rgba(212,175,106,.10) 100%);
}
@keyframes ageSlideIn{from{transform:translateY(20px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.age-icon{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,#ff3a8a,#d4af6a);
  display:grid;place-items:center;color:#fff;
  margin:0 auto 14px;
  box-shadow:0 14px 36px rgba(255,58,138,.45),0 0 50px rgba(212,175,106,.30);
  position:relative;z-index:1;
}
.age-icon svg{width:42px;height:42px}
.age-eyebrow{
  display:inline-block;font-size:11px;letter-spacing:2.4px;font-weight:700;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:10px;
}
.age-card h2{font-size:28px;margin-bottom:14px;color:#fff;font-family:'Fraunces',serif;position:relative;z-index:1}
.age-card p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.6;margin-bottom:26px;position:relative;z-index:1}
.age-actions{display:flex;gap:12px;justify-content:center;margin-bottom:18px;flex-wrap:wrap;position:relative;z-index:1}
.age-actions .btn{min-width:170px}
.age-note{font-size:12.5px;color:rgba(255,255,255,.52);line-height:1.55;margin:14px 0 0;position:relative;z-index:1}
.age-note a{color:var(--gold-2);text-decoration:underline}
@media(max-width:680px){
  .age-bar{padding:12px 14px}
  .age-bar-inner{gap:10px}
  .age-bar-text{font-size:12.5px;min-width:160px;line-height:1.4}
  .age-bar-icon{width:32px;height:32px;font-size:12px}
  .age-bar .btn{padding:8px 16px;font-size:13px;width:100%;margin-top:6px}
}

/* ============== Cookie Banner ============== */
.cookie-bar{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:9000;
  max-width:920px;margin:0 auto;
  background:rgba(15,10,24,.92);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;padding:18px 22px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 18px 40px rgba(0,0,0,.5);
  animation:cbSlideUp .4s cubic-bezier(.2,.7,.2,1);
}
@keyframes cbSlideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie-text{flex:1;min-width:280px;font-size:13.5px;color:rgba(255,255,255,.85);line-height:1.55}
.cookie-text a{color:#ff5fb1;text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-actions .btn{padding:10px 20px;font-size:14px;border-radius:99px}
@media(max-width:680px){
  .cookie-bar{left:12px;right:12px;bottom:12px;padding:14px 16px;flex-direction:column;align-items:stretch}
  .cookie-actions{justify-content:flex-end}
  .age-card{padding:32px 24px}
  .age-card h2{font-size:22px}
  .age-actions{flex-direction:column}
  .age-actions .btn{width:100%}
}

/* ============== Юридический блок (footer info) ============== */
.legal-info{
  margin-top:40px;
  padding:28px 32px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.7;
}
.legal-info strong{color:rgba(255,255,255,.92);display:block;margin-bottom:10px}
.legal-info p{margin-bottom:6px}
.legal-info a{color:#ff5fb1;text-decoration:none}
.legal-info a:hover{text-decoration:underline}
@media(max-width:680px){
  .legal-info{padding:20px 18px;font-size:12.5px}
}

/* === FORCE FIX age-veil (overlay popup на весь экран) === */
.age-veil[hidden]{display:none !important}
.age-veil:not([hidden]){
  position:fixed !important;
  top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
  width:100vw !important;height:100vh !important;
  z-index:99999 !important;
  background:rgba(7,5,11,.82) !important;
  -webkit-backdrop-filter:blur(14px) saturate(150%) !important;
  backdrop-filter:blur(14px) saturate(150%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
}
.age-veil .age-card{
  position:relative !important;
  max-width:480px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:44px 38px 32px !important;
  background:linear-gradient(180deg, rgba(28,18,40,.96) 0%, rgba(14,10,24,.98) 100%) !important;
  border:1px solid rgba(212,175,106,.32) !important;
  border-radius:26px !important;
  text-align:center !important;
  box-shadow:0 30px 90px rgba(0,0,0,.8), 0 0 80px rgba(255,58,138,.20) !important;
}
.age-veil .age-icon{
  width:78px !important;height:78px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#ff3a8a,#d4af6a) !important;
  display:grid !important;place-items:center !important;
  color:#fff !important;
  margin:0 auto 14px !important;
  box-shadow:0 14px 36px rgba(255,58,138,.45) !important;
}
.age-veil .age-icon svg{width:42px !important;height:42px !important;display:block !important}
.age-veil .age-eyebrow{
  display:inline-block !important;
  font-size:11px !important;letter-spacing:2.4px !important;font-weight:700 !important;
  color:#d4af6a !important;
  margin-bottom:10px !important;text-align:center !important;
}
.age-veil .age-card h2{
  font-size:28px !important;margin:0 0 14px !important;
  color:#fff !important;font-family:'Fraunces',serif !important;
  text-align:center !important;
}
.age-veil .age-card p{
  color:rgba(255,255,255,.78) !important;
  font-size:15px !important;line-height:1.6 !important;
  margin:0 0 26px !important;
  text-align:center !important;
}
.age-veil .age-actions{
  display:flex !important;gap:12px !important;
  justify-content:center !important;
  margin-bottom:18px !important;flex-wrap:wrap !important;
}
.age-veil .age-actions .btn{min-width:170px !important;cursor:pointer !important}
.age-veil .age-note{
  font-size:12.5px !important;
  color:rgba(255,255,255,.55) !important;
  line-height:1.55 !important;
  margin:14px 0 0 !important;
  text-align:center !important;
}
.age-veil .age-note a{color:#d4af6a !important;text-decoration:underline !important}

/* Cookie banner НИЖЕ age-veil */
.cookie-bar{z-index:9000 !important}

/* Body lock when age-veil open */
body.age-locked{overflow:hidden !important}

/* mobile age-veil */
@media(max-width:680px){
  .age-veil .age-card{padding:32px 22px !important}
  .age-veil .age-card h2{font-size:22px !important}
  .age-veil .age-actions{flex-direction:column !important}
  .age-veil .age-actions .btn{width:100% !important;min-width:auto !important}
}

/* === FORCE FIX: убрать default details marker (огромная галочка) === */
details summary::-webkit-details-marker{display:none !important}
details summary::marker{display:none !important;content:'' !important}
details summary{list-style:none !important;cursor:pointer !important;position:relative !important}
details summary::after{
  content:'';
  position:absolute !important;right:18px !important;top:50% !important;
  width:10px !important;height:10px !important;
  border-right:2px solid #d4af6a !important;
  border-bottom:2px solid #d4af6a !important;
  transform:translateY(-70%) rotate(45deg) !important;
  transition:transform .25s ease !important;
}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg) !important}

/* === FORCE FIX: cookie-bar pointer-events + z-index === */
.cookie-bar{
  z-index:9500 !important;
  pointer-events:auto !important;
}
.cookie-bar *{pointer-events:auto !important}
.cookie-bar .btn{cursor:pointer !important;pointer-events:auto !important}

/* === Гарантия что age-veil[hidden] вообще исчезает === */
[hidden]{display:none !important}
.age-veil[hidden]{display:none !important;visibility:hidden !important;pointer-events:none !important}

/* === Cookie bar HIGH z-index + clickable === */
#cookie-bar.cookie-bar, .cookie-bar{
  z-index:99998 !important;
  pointer-events:auto !important;
}
#cookie-bar *, .cookie-bar *{pointer-events:auto !important}
#cookie-bar .btn, .cookie-bar .btn{
  cursor:pointer !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:1 !important;
}

/* === FORCE: phone chat colors — gold+pink, разные с Beloraka === */
.ph-msg.out, .msg-out, .out{
  background:linear-gradient(135deg,#ff3a8a 0%,#d4af6a 100%) !important;
  color:#fff !important;
  border-bottom-right-radius:6px !important;
  box-shadow:0 6px 20px rgba(255,58,138,.30) !important;
}
.ph-msg.in, .msg-in, .in{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border:1px solid rgba(212,175,106,.18) !important;
  border-bottom-left-radius:6px !important;
}
.ph-peer-name{color:#fff !important;font-weight:600 !important}
.ph-peer-st{color:#9caab8 !important;font-size:11px !important}
.ph-peer-st .dot{background:#3ddc84 !important;box-shadow:0 0 6px #3ddc84 !important}

/* === FINAL: cookie pointer-events guaranteed === */
.cookie-bar:not([hidden]){
  position:fixed !important;
  left:24px !important;right:24px !important;bottom:24px !important;
  max-width:920px !important;margin:0 auto !important;
  z-index:99998 !important;
  pointer-events:auto !important;
  background:rgba(15,10,24,.96) !important;
  border:1px solid rgba(212,175,106,.22) !important;
  border-radius:18px !important;
  padding:18px 22px !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  -webkit-backdrop-filter:blur(20px) !important;
  backdrop-filter:blur(20px) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.5) !important;
}
.cookie-bar[hidden]{display:none !important}
.cookie-bar *{pointer-events:auto !important}
.cookie-bar .btn{cursor:pointer !important;min-width:120px !important}
.cookie-bar .cookie-text{flex:1 !important;min-width:280px !important;font-size:13.5px !important;color:rgba(255,255,255,.85) !important;line-height:1.55 !important;margin:0 !important}
.cookie-bar .cookie-actions{display:flex !important;gap:10px !important;flex-shrink:0 !important}
@media(max-width:680px){
  .cookie-bar:not([hidden]){
    left:12px !important;right:12px !important;bottom:12px !important;
    flex-direction:column !important;align-items:stretch !important;
  }
  .cookie-bar .cookie-actions{justify-content:flex-end !important}
  .cookie-bar .btn{width:auto !important}
}
