/* SYNTHAZY — дизайн-кит сайта v1.2 «Свет и звук»: визуальный слой поверх css/site.css (разметка, тексты и SEO страниц не меняются).
   Откат: убрать подключение этого файла (<link … v12.css>) — сайт вернётся к прежнему виду. */
:root{--g3:#fff1cf;--glass:rgba(14,12,10,.55);--hh:92px;--r-card:26px;--r-pill:30px}
@media(max-width:1020px){:root{--hh:78px}}

/* ---- шапка-капсула */
.hd{inset:auto;left:0;right:0;top:14px;margin-inline:auto;width:min(1240px,calc(100% - 32px));height:64px;border:1px solid rgba(255,255,255,.12);border-radius:40px;background:rgba(10,9,8,.55);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .3s,border-color .3s,box-shadow .3s}
.hd .wrap{width:100%;padding:0 12px 0 26px}
.hd.sc{background:rgba(7,7,6,.88);border-color:rgba(241,210,154,.35);box-shadow:0 10px 50px rgba(215,180,119,.12)}
.logo img{width:140px}
.nav{gap:26px}.nav a{border-bottom:0;padding:8px 0;position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold2);transform:scaleX(0);transition:transform .3s;transform-origin:left}.nav a:hover:after,.nav a[aria-current]:after{transform:scaleX(1)}
.burger{border-radius:50%}
@media(max-width:1020px){.hd{top:10px;width:calc(100% - 20px);height:60px;border-radius:32px;background:rgba(10,9,8,.96);-webkit-backdrop-filter:none;backdrop-filter:none}.hd .wrap{padding:0 8px 0 20px}.nav{inset:0;top:0;border-radius:0;padding-top:96px}.nav a{font-size:30px;line-height:1.3}}

/* ---- кнопки: золотой градиент с бегущим бликом, стеклянная «ghost» */
.btn{border-radius:var(--r-pill);min-height:48px;padding:0 28px;border:0;color:#1a1409;background:linear-gradient(120deg,var(--gold2),var(--gold) 50%,var(--gold2));background-size:200% 100%;box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 8px 40px rgba(215,180,119,.32);animation:sheen 4s linear infinite;transition:transform .2s,box-shadow .2s}
.btn:hover{background:linear-gradient(120deg,var(--gold2),var(--gold) 50%,var(--gold2));background-size:200% 100%;transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 12px 46px rgba(215,180,119,.5)}
.btn.ghost{background:rgba(255,255,255,.04);color:var(--text);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset;animation:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn.ghost:hover{background:rgba(255,255,255,.08);box-shadow:0 0 0 1px var(--gold2) inset;color:var(--gold2)}
@keyframes sheen{to{background-position:-200% 0}}
.hd .btn{min-height:44px}
.more{border-bottom:0;padding-bottom:0}.more:hover{color:#fff}

/* ---- типографика */
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-weight:500;letter-spacing:.26em;color:var(--gold2)}.eyebrow:before{content:"";width:46px;height:1px;background:var(--gold);flex:none}
h2{font-weight:300;font-size:clamp(34px,4.8vw,64px);letter-spacing:-.025em}
.hero h1{font-weight:300;font-size:clamp(42px,6.2vw,92px);line-height:1.02;letter-spacing:.01em}
.hero h1 em{text-shadow:0 0 50px rgba(215,180,119,.55)}
.home .hero h1{font-size:clamp(60px,11vw,156px);line-height:.9;letter-spacing:.04em;margin:22px 0 8px;background:linear-gradient(100deg,#fff 0%,var(--gold2) 35%,var(--gold) 50%,#fff 65%,var(--gold2) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen2 7s ease-in-out infinite alternate;filter:drop-shadow(0 0 40px rgba(215,180,119,.3))}
.home .hero h1 em{display:block;margin-top:.12em;font-size:clamp(26px,3.5vw,50px);line-height:1.15;letter-spacing:0;-webkit-text-fill-color:var(--gold2);color:var(--gold2);text-shadow:0 0 30px rgba(215,180,119,.5)}
@keyframes sheen2{to{background-position:100% 0}}
.hero .lead{max-width:520px}

/* ---- первый экран: медленное приближение, лучи, пыль, эквалайзер */
.hero{min-height:min(100svh,920px)}
.hero>img{animation:kb 24s ease-in-out infinite alternate;filter:brightness(.8)}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1%,1%)}}
.hero:before{background:linear-gradient(90deg,rgba(7,7,6,.6),rgba(7,7,6,.08) 72%),radial-gradient(900px 600px at 28% 55%,rgba(7,7,6,.1),rgba(7,7,6,.9) 75%),linear-gradient(180deg,rgba(7,7,6,.7),transparent 30%,rgba(7,7,6,.2) 60%,var(--bg))}
.hero:after{content:"";position:absolute;left:50%;top:-25%;width:1500px;height:1500px;margin-left:-750px;z-index:0;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 8%,rgba(241,210,154,.2) 10%,transparent 12% 30%,rgba(241,210,154,.15) 32%,transparent 34% 58%,rgba(241,210,154,.18) 60%,transparent 62% 80%,rgba(241,210,154,.13) 82%,transparent 84%);mix-blend-mode:screen;animation:spin 40s linear infinite;-webkit-mask:radial-gradient(circle,#000 20%,transparent 66%);mask:radial-gradient(circle,#000 20%,transparent 66%)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero.compact:after,.hero.nobeams:after{display:none}
.eq{opacity:.85;gap:5px}.eq i{border-radius:3px 3px 0 0;box-shadow:0 0 14px rgba(215,180,119,.35)}
.hero .np{display:none}
.hero:not(.compact) .btns{margin-top:34px}
@media(max-width:820px){.hero:before{background:linear-gradient(180deg,rgba(7,7,6,.72),rgba(7,7,6,.62) 45%,var(--bg))}.hero:after{width:900px;height:900px;margin-left:-450px}}

/* ---- плеер в первом экране (сеты с зеркала dj.synthazy.ru, звук только по нажатию) */
.hp{position:absolute;right:max(20px,calc((100% - 1240px)/2 + 20px));bottom:170px;width:318px;padding:20px;border:1px solid rgba(241,210,154,.3);border-radius:22px;background:rgba(14,12,10,.5);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 0 80px rgba(215,180,119,.18),0 30px 80px rgba(0,0,0,.5);z-index:3}
.hp[hidden]{display:none}
.hp-top{display:flex;gap:16px;align-items:center}
.hp-btn{position:relative;flex:none;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--g3),var(--gold));box-shadow:0 0 40px rgba(241,210,154,.55);display:grid;place-items:center}
.hp-btn:before,.hp-btn:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--gold2);animation:ring 2.6s ease-out infinite;pointer-events:none}.hp-btn:after{animation-delay:1.3s}
.hp.on .hp-btn:before,.hp.on .hp-btn:after{animation-duration:1.6s}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(2);opacity:0}}
.hp-btn i{width:0;height:0;border-left:16px solid #1a1409;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px}
.hp.on .hp-btn i{width:16px;height:20px;border:0;margin:0;background:linear-gradient(90deg,#1a1409 0 5px,transparent 5px 11px,#1a1409 11px)}
.hp-top small{display:block;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.hp-top b{display:block;font-weight:400;font-size:17px;line-height:1.3;color:var(--text)}
.hp-top span{font-size:12px;color:var(--muted)}
.hp-wave{display:flex;align-items:center;gap:3px;height:60px;margin:18px 0 6px;cursor:pointer}
.hp-wave i{flex:1;min-width:2px;border-radius:2px;background:rgba(255,255,255,.22);height:var(--h)}
.hp-wave i.on{background:var(--gold2);box-shadow:0 0 8px rgba(241,210,154,.6)}
.hp-list{list-style:none;margin:0;padding:0}
.hp-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:var(--muted);cursor:pointer}
.hp-list li.a{color:var(--text)}.hp-list li:hover{color:var(--gold2)}
.hp-list li span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1020px){.hp{position:relative;right:auto;bottom:auto;width:auto;margin:34px 20px 150px;z-index:3}.hero{display:block;padding-bottom:0}.hero .wrap{padding-bottom:0}}

/* ---- бегущая строка и цифры */
.mq{border-block:1px solid rgba(255,255,255,.12);overflow:hidden;padding:26px 0;background:#0a0908;white-space:nowrap}
.mq div{display:inline-flex;gap:48px;animation:mq 40s linear infinite;font-weight:300;font-size:56px;line-height:1;text-transform:uppercase;letter-spacing:.06em}
.mq span{color:transparent;-webkit-text-stroke:1px rgba(241,210,154,.7)}.mq span.f{color:var(--gold2);-webkit-text-stroke:0;text-shadow:0 0 30px rgba(215,180,119,.5)}.mq b{color:var(--gold);font-weight:400}
@keyframes mq{to{transform:translateX(-50%)}}
@media(max-width:820px){.mq div{font-size:34px}.mq{padding:18px 0}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:70px 0}
.stats>div{padding:0 30px;border-left:1px solid rgba(255,255,255,.12)}
.stats b{display:block;white-space:nowrap;font-weight:300;font-size:clamp(30px,3.6vw,54px);line-height:1.1;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(215,180,119,.35))}
.stats span{display:block;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;row-gap:30px;padding:40px 0}.stats>div{padding:0 14px}}

/* ---- секции и карточки */
section{padding:clamp(72px,9vw,112px) 0}
section.alt{background:linear-gradient(180deg,#0a0908,#0b0a09)}
.cards{grid-template-columns:1.3fr 1fr 1fr;gap:18px;counter-reset:ev}
.card{border-radius:var(--r-card);min-height:560px;counter-increment:ev;transition:border-color .3s,box-shadow .4s}
.card:before{background:linear-gradient(180deg,rgba(7,7,6,0) 22%,rgba(7,7,6,.82) 55%,rgba(7,7,6,.97))}
.card:after{content:"0" counter(ev);position:absolute;right:26px;top:22px;font-size:15px;letter-spacing:.2em;color:var(--gold2)}
.card:first-child{border-color:rgba(241,210,154,.7);box-shadow:0 0 70px rgba(215,180,119,.25),inset 0 0 60px rgba(215,180,119,.08)}
.card:hover{border-color:rgba(241,210,154,.8);box-shadow:0 0 70px rgba(215,180,119,.28)}
.card img{filter:brightness(.78)}
.card p{color:#d8d1c6}
@media(max-width:900px){.cards{grid-template-columns:1fr}.card{min-height:380px}}
.tile,.gives>div,.doubt>div{border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .4s,box-shadow .4s,transform .4s}
.tile:hover,.gives>div:hover,.doubt>div:hover{border-color:rgba(241,210,154,.6);box-shadow:0 0 50px rgba(215,180,119,.2);transform:translateY(-3px)}
.person{border-radius:var(--r-card)}
.person:hover{border-color:rgba(241,210,154,.7);box-shadow:0 0 70px rgba(215,180,119,.22)}
.facts div{border-top:1px solid rgba(255,255,255,.12)}
.facts b{background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(215,180,119,.35))}
.chip{border-radius:24px}

/* ---- шаги: горизонтальная линия со световым импульсом */
@media(min-width:901px){
.steps{grid-auto-flow:column;grid-auto-columns:1fr;grid-template-columns:none;gap:20px;border-top:0;position:relative;margin-top:60px}
.steps:before{content:"";position:absolute;left:5%;right:5%;top:27px;height:1px;background:rgba(255,255,255,.18)}
.steps:after{content:"";position:absolute;top:24px;width:90px;height:7px;border-radius:7px;background:radial-gradient(closest-side,var(--g3),transparent);box-shadow:0 0 30px var(--gold);animation:run 6s linear infinite}
@keyframes run{from{left:0}to{left:calc(100% - 90px)}}
.steps li{display:block;text-align:center;padding:0;border:0;position:relative}
.steps li:before{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin:0 auto 18px;padding:0;background:#0b0a09;border:1px solid rgba(241,210,154,.5);box-shadow:0 0 24px rgba(215,180,119,.25);font-size:18px;font-weight:300;letter-spacing:0;color:var(--gold2);position:relative;z-index:1}
.steps h3{font-size:17px;font-weight:400;margin-bottom:6px;letter-spacing:0}.steps p{font-size:13px;margin:0 auto;max-width:220px}
}

/* ---- галерея: шахматный порядок */
.gal{gap:14px;padding-bottom:40px}.gal a{border-radius:18px;border:1px solid rgba(255,255,255,.12);transition:transform .5s,border-color .3s,box-shadow .4s}
@media(min-width:561px){.gal a:nth-child(even){transform:translateY(34px)}}
.gal a:hover{transform:translateY(-6px) scale(1.03);border-color:var(--gold);box-shadow:0 0 40px rgba(215,180,119,.35)}
.strip a{border-radius:18px;overflow:hidden}
.faq summary{font-weight:400}

/* ---- финал */
.final{margin:0 40px 40px;border-radius:34px;border:1px solid rgba(241,210,154,.3);text-align:center;padding:clamp(80px,11vw,140px) 0}
.final>img{filter:brightness(.34) saturate(.9)}
.final:before{background:radial-gradient(600px 300px at 50% 100%,rgba(215,180,119,.38),transparent 70%),linear-gradient(0deg,rgba(7,7,6,.3),rgba(7,7,6,.1))}
.final h2{font-size:clamp(38px,6vw,86px);line-height:1;margin-inline:auto;text-shadow:0 2px 30px rgba(0,0,0,.8)}
.final .lead{margin-inline:auto}.final .btns{justify-content:center}.final .eyebrow{justify-content:center}
@media(max-width:700px){.final{margin:0 14px 24px;border-radius:26px}}

/* ---- подвал, окна, cookies */
.ft{background:#050504}
.ft h4{letter-spacing:.22em;color:var(--gold2)}
.panel .box,.pop-bar{border-radius:26px}
.panel .box{background:rgba(14,12,10,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:rgba(241,210,154,.35)}
.pop-bar{border-radius:0}
.ch a{border-radius:var(--r-pill)}
.ck{border-radius:26px;background:rgba(10,9,8,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.lb img{border-radius:14px}
.photo,.pageh .photo{border-radius:var(--r-card)}

/* ---- появление блоков */
.js .rv{transform:translateY(28px)}

@media(prefers-reduced-motion:reduce){.hero>img,.home .hero h1,.hero:after,.btn,.mq div,.steps:after,.hp-btn:before,.hp-btn:after{animation:none!important}}

/* ================= свадьбы: воздушный жемчужный вариант (body.wd) ================= */
.wd{--pearl:#fbf3e4;--blush:#f2cfc6;--rose:#e9b7ad;background:#0b0908}
.wd section.alt{background:linear-gradient(180deg,#0c0a09,#0e0b0a)}
.wd section{background-image:radial-gradient(760px 380px at 12% 0,rgba(251,243,228,.07),transparent 70%),radial-gradient(640px 320px at 92% 100%,rgba(242,207,198,.06),transparent 70%)}
.wd .hero{min-height:min(100svh,880px);align-items:center}
.wd .hero>picture img,.wd .hero>img{filter:brightness(.34) saturate(.9);animation:none}
.wd .hero:before{background:radial-gradient(1000px 760px at 74% 38%,rgba(251,243,228,.3),transparent 68%),radial-gradient(800px 600px at 8% 95%,rgba(242,207,198,.17),transparent 70%),linear-gradient(180deg,rgba(20,16,13,.88),rgba(11,9,8,.95))}
.wd .hero:after{display:block;left:75%;top:-30%;width:1300px;height:1300px;margin-left:-650px;mix-blend-mode:normal;background:conic-gradient(from 200deg,transparent 0 6%,rgba(251,243,228,.16) 9%,transparent 13% 24%,rgba(242,207,198,.12) 27%,transparent 31%);filter:blur(24px);animation:sway 14s ease-in-out infinite alternate;-webkit-mask:none;mask:none}
@keyframes sway{from{transform:rotate(-4deg)}to{transform:rotate(7deg)}}
.wd .hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding-top:30px}
.wd .hero .hc3>p.eyebrow{margin-bottom:6px}
.wd .hero h1{font-size:clamp(38px,5.1vw,76px)}
.wd .hero h1 em{color:var(--blush);-webkit-text-fill-color:var(--blush);text-shadow:0 0 50px rgba(242,207,198,.6)}
.wd .halo{position:absolute;right:max(20px,calc((100% - 1240px)/2));top:110px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(251,243,228,.3),transparent 68%);filter:blur(10px);animation:fl 10s ease-in-out infinite alternate;z-index:0;pointer-events:none}
@keyframes fl{to{transform:translateY(-18px)}}
.wd .rib{position:absolute;left:0;top:44%;width:100%;height:340px;z-index:0;pointer-events:none;opacity:.8}
.wd .rib path{fill:none;stroke:url(#rg);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:14 12;animation:flow 18s linear infinite;filter:drop-shadow(0 0 8px rgba(241,210,154,.6))}
.wd .rib path.b{stroke-dasharray:none;opacity:.45;stroke-width:1;animation:none}
@keyframes flow{to{stroke-dashoffset:-520}}
.petal{position:absolute;top:-40px;width:var(--s);height:calc(var(--s)*1.35);border-radius:150% 0 150% 0;background:linear-gradient(135deg,var(--blush),var(--rose));opacity:.5;animation:fall var(--d) linear infinite;animation-delay:var(--l);pointer-events:none}
@keyframes fall{0%{transform:translate(0,-40px) rotate(0)}50%{transform:translate(60px,60vh) rotate(200deg)}100%{transform:translate(-30px,120vh) rotate(420deg)}}
.fixp{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.fixp .petal{opacity:.38}
.arches{position:relative;height:620px}
.arch2{position:absolute;border-radius:999px 999px 28px 28px;overflow:hidden;border:1px solid rgba(251,243,228,.45);box-shadow:0 0 90px rgba(251,243,228,.2)}
.arch2 img{width:100%;height:100%;object-fit:cover}
.arch2.a{left:130px;top:0;width:290px;height:480px;animation:fl 9s ease-in-out infinite alternate}
.arch2.b{left:0;top:200px;width:190px;height:310px;animation:fl 7s ease-in-out infinite alternate-reverse}
.arch2.c{left:330px;top:300px;width:200px;height:320px;animation:fl 8s ease-in-out infinite alternate}
.arches .rings{position:absolute;left:300px;top:420px;z-index:3;filter:drop-shadow(0 0 30px rgba(241,210,154,.8));animation:fl 6s ease-in-out infinite alternate}
@media(max-width:1020px){.wd .hero .wrap{grid-template-columns:1fr}.arches{height:440px;transform:scale(.8);transform-origin:top left;margin:20px 0 -80px}.arches .rings{display:none}.wd .halo{right:-120px;top:380px;width:420px;height:420px}.wd .hero{align-items:flex-start;padding-top:calc(var(--hh) + 30px)}}
.thin{display:flex;gap:34px;justify-content:center;padding:34px 20px;border-block:1px solid rgba(255,255,255,.12);font-weight:300;font-size:15px;letter-spacing:.34em;text-transform:uppercase;color:var(--pearl,#fbf3e4);white-space:nowrap;overflow:hidden;position:relative;z-index:2}
.thin b{color:var(--gold2);font-weight:400}
@media(max-width:820px){.thin{gap:18px;font-size:11px;letter-spacing:.2em;justify-content:flex-start}}
.flow{position:relative;max-width:980px;margin:56px auto 0;padding:10px 0}
.flow:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(241,210,154,.7) 10%,rgba(242,207,198,.7) 90%,transparent);box-shadow:0 0 14px rgba(241,210,154,.6)}
.flow .it{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin:0 0 70px;position:relative}
.flow .it:before{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;border-radius:50%;background:var(--pearl);box-shadow:0 0 0 6px rgba(251,243,228,.15),0 0 30px var(--gold2)}
.flow .tx{text-align:right}.flow .it:nth-child(even) .tx{order:2;text-align:left}
.flow time{font-weight:500;font-size:12px;letter-spacing:.26em;color:var(--gold2)}
.flow h3{font-weight:300;font-size:32px;line-height:1.15;margin:10px 0}.flow p{color:var(--muted);line-height:1.7}
.flow .ph3{height:220px;border-radius:999px 999px 24px 24px;border:1px solid rgba(251,243,228,.3);width:70%;box-shadow:0 0 60px rgba(251,243,228,.12);overflow:hidden}
.flow .ph3 img{width:100%;height:100%;object-fit:cover}
.flow .it:nth-child(even) .ph3{justify-self:end}
.flow .ic3{display:flex;align-items:center;justify-content:center;height:220px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);width:70%}
.flow .it:nth-child(even) .ic3{justify-self:end}
@media(max-width:820px){.flow:before{left:12px}.flow .it{grid-template-columns:1fr;gap:20px;padding-left:40px;margin-bottom:50px}.flow .it:before{left:12px;top:8px}.flow .tx,.flow .it:nth-child(even) .tx{order:0;text-align:left}.flow .ph3,.flow .ic3{width:100%;height:200px}.flow .it:nth-child(even) .ph3,.flow .it:nth-child(even) .ic3{justify-self:start}}
.wd .tile,.wd .gives>div,.wd .doubt>div{border-color:rgba(251,243,228,.2);background:linear-gradient(180deg,rgba(251,243,228,.09),rgba(251,243,228,.02))}
.wd .tile:hover,.wd .gives>div:hover,.wd .doubt>div:hover{border-color:rgba(251,243,228,.6);box-shadow:0 0 60px rgba(251,243,228,.18)}
.wd #gallery .gal a{border-radius:999px 999px 18px 18px;border-color:rgba(251,243,228,.28);aspect-ratio:3/5;animation:fl 8s ease-in-out infinite alternate}
.wd #gallery .gal a:nth-child(2n){animation-delay:-3s}.wd #gallery .gal a:nth-child(3n){animation-delay:-5s}
.wd #gallery .gal a:hover{box-shadow:0 0 50px rgba(251,243,228,.35)}
.wd .final{border-radius:44px;border-color:rgba(251,243,228,.35)}
.wd .final>img{filter:brightness(.62) saturate(1.05)}
.wd .final:before{background:radial-gradient(800px 420px at 50% 100%,rgba(251,243,228,.45),transparent 70%),linear-gradient(180deg,rgba(11,9,8,.15),rgba(11,9,8,.5))}
.wd .final h2 em{font-style:normal;color:var(--blush)}
.btn.pearl{background:linear-gradient(120deg,#fff,var(--pearl,#fbf3e4) 50%,var(--blush,#f2cfc6));background-size:200% 100%;box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 8px 50px rgba(251,243,228,.35)}
@media(prefers-reduced-motion:reduce){.petal,.arch2,.halo,.wd .rib path,.wd .hero:after,.wd #gallery .gal a{animation:none!important}}

/* ================= общие приёмы направлений ================= */
.glass{border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(14,12,10,.55);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:30px}
.glass.hot{border-color:rgba(241,210,154,.5);box-shadow:0 0 70px rgba(215,180,119,.2)}
.hero .hc3{position:relative;z-index:2}
.hero .side{position:relative;z-index:2}
.pagehero .wrap,.corp .hero .wrap,.pv .hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:center}
@media(max-width:1020px){.corp .hero .wrap,.pv .hero .wrap{grid-template-columns:1fr;gap:30px}}
.tl{padding:22px;border:1px solid rgba(241,210,154,.3);border-radius:22px;background:rgba(14,12,10,.5);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 0 80px rgba(215,180,119,.18),0 30px 80px rgba(0,0,0,.5)}
.tl .t{font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:14px}
.tl div.r{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:var(--muted)}
.tl div.r.a{color:var(--text)}
.corp .hero:after{display:block;background:conic-gradient(from 0deg,transparent 0 8%,rgba(190,220,255,.2) 10%,transparent 12% 30%,rgba(241,210,154,.16) 32%,transparent 34% 58%,rgba(190,220,255,.18) 60%,transparent 62% 80%,rgba(241,210,154,.14) 82%,transparent 84%)}
.pv .hero:after{display:block}
.bk{position:absolute;border-radius:50%;filter:blur(22px);opacity:.5;animation:bk 9s ease-in-out infinite alternate;z-index:1;pointer-events:none}
@keyframes bk{to{transform:translate(30px,-50px) scale(1.2)}}
.cyc-line{margin-top:14px;font-size:clamp(22px,2.6vw,34px);font-weight:300;color:var(--text);line-height:1.3}
.cyc{display:inline-grid;vertical-align:top;height:1.3em;overflow:hidden;line-height:1.3}
.cyc span{white-space:nowrap;grid-area:1/1;opacity:0;transform:translateY(60%);animation:cyc 12s infinite;color:var(--gold2);text-shadow:0 0 50px rgba(215,180,119,.65)}
.cyc span:nth-child(2){animation-delay:3s}.cyc span:nth-child(3){animation-delay:6s}.cyc span:nth-child(4){animation-delay:9s}
@keyframes cyc{0%{opacity:0;transform:translateY(60%)}4%,22%{opacity:1;transform:none}26%,100%{opacity:0;transform:translateY(-60%)}}
.en{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:40px 40px 30px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));overflow:hidden;margin-top:var(--gh,40px)}
.en svg{width:100%;height:260px;display:block;overflow:visible}
.en .p{stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 5s ease-out .3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.nodes{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:10px}
.nodes div{position:relative;padding-top:26px}
.nodes div:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--gold2);box-shadow:0 0 18px var(--gold)}
.nodes b{display:block;font-weight:500;font-size:12px;letter-spacing:.2em;color:var(--gold2)}
.nodes span{display:block;font-size:17px;margin:6px 0 4px}
.nodes small{color:var(--muted);font-size:13px;line-height:1.5;display:block}
.occ{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:var(--gh,40px)}
.occ>div{padding:30px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);transition:.4s}
.occ>div:hover{border-color:var(--gold2);box-shadow:0 0 50px rgba(215,180,119,.25);transform:translateY(-4px)}
.occ svg{filter:drop-shadow(0 0 12px rgba(215,180,119,.5))}
.occ b{display:block;font-weight:400;font-size:22px;margin:16px 0 6px}.occ span{font-size:14px;color:var(--muted)}
.chk{display:grid;gap:16px}
.chk div{display:flex;gap:16px;align-items:flex-start;font-size:17px;line-height:1.5}
.chk i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--gold2);display:grid;place-items:center;color:var(--gold2);font-style:normal;box-shadow:0 0 16px rgba(215,180,119,.35)}
.two-glass{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:var(--gh,40px)}
.glass h3{font-size:28px;margin-bottom:6px}.glass p{color:var(--muted);margin-bottom:22px}
@media(max-width:900px){.nodes{grid-template-columns:1fr 1fr;row-gap:22px}.occ{grid-template-columns:1fr}.two-glass{grid-template-columns:1fr;gap:30px}.en{padding:22px 16px}}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:16px;margin-top:var(--gh,40px)}
.bento>div{border-radius:26px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;background:#12100d;transition:.5s}
.bento>div:hover{border-color:var(--gold2);box-shadow:0 0 50px rgba(215,180,119,.25)}
.bento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:.8s}
.bento>div:hover img{transform:scale(1.07)}
.bento>div:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(7,7,6,.9))}
.bento>div>*:not(img){position:relative;z-index:2}
.bento b{font-weight:300;font-size:26px;line-height:1.1}.bento small{color:#d2cbc0;margin-top:6px}
.bento .w2{grid-column:span 2;grid-row:span 2}
.mood{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--gh,40px)}
.mood .chip{height:48px;padding:0 26px;font-size:15px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.12);color:var(--muted);background:rgba(255,255,255,.03);cursor:pointer;transition:.3s}
.mood .chip:hover,.mood .chip.on{border-color:var(--gold2);color:var(--g3);background:rgba(215,180,119,.12);box-shadow:0 0 24px rgba(215,180,119,.25)}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.bento .w2{grid-column:span 2;grid-row:span 1}}
.pr{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:var(--gh,40px)}
.pr>div{padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.pr i{font-weight:300;font-size:52px;line-height:1;font-style:normal;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.pr b{display:block;font-weight:400;font-size:19px;margin:12px 0 8px}.pr span{color:var(--muted);font-size:14px;line-height:1.6}
@media(max-width:900px){.pr{grid-template-columns:1fr}}
.bubs{display:grid;gap:18px;max-width:760px;margin-top:var(--gh,40px)}
.bub{padding:22px 26px;border-radius:24px 24px 24px 6px;border:1px solid rgba(241,210,154,.35);background:rgba(215,180,119,.07);font-size:18px;line-height:1.55}
.bub:nth-child(even){border-radius:24px 24px 6px 24px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);margin-left:60px}
@media(max-width:700px){.bub:nth-child(even){margin-left:20px}}
.vwrap.hv .photo,.vwrap.dv .photo{position:relative;z-index:1}
.vwrap.hv .photo{border-radius:300px 300px 30px 30px;border:1px solid rgba(241,210,154,.5);box-shadow:0 0 100px rgba(215,180,119,.3)}
.mic{position:absolute;right:-18px;bottom:60px;width:120px;height:120px;display:grid;place-items:center;z-index:3;pointer-events:none}
.mic i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold2);animation:ring 3s ease-out infinite}.mic i:nth-child(2){animation-delay:1s}.mic i:nth-child(3){animation-delay:2s}
.mic u{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#fff1cf,#d7b477);box-shadow:0 0 40px rgba(241,210,154,.6);display:grid;place-items:center;text-decoration:none}
.vwrap{position:relative}
.vwrap.dv{aspect-ratio:1;max-width:520px;width:100%;margin-left:auto}
.vin{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 0 15%,#050505 15.2% 100%),repeating-radial-gradient(circle at 50% 50%,#111 0 2px,#1b1a17 2px 4px);border:1px solid rgba(241,210,154,.35);box-shadow:0 0 120px rgba(215,180,119,.25);animation:spin 14s linear infinite;z-index:0}
.vin:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 12%,rgba(241,210,154,.22) 16%,transparent 22% 55%,rgba(241,210,154,.18) 60%,transparent 66%)}
.vin:after{content:"SYNTHAZY";position:absolute;inset:32%;border-radius:50%;background:radial-gradient(circle,#050505 0 7%,var(--gold) 7.5%);display:grid;place-items:center;font-weight:600;font-size:13px;letter-spacing:.3em;color:#1a1409;text-indent:.3em}
.vwrap.dv .photo{position:absolute;left:-8%;bottom:-6%;width:50%;aspect-ratio:1;margin:0;border-radius:50%;border:1px solid rgba(241,210,154,.6);box-shadow:0 0 60px rgba(215,180,119,.4);z-index:2}
.vwrap.dv .photo img{height:100%;object-fit:cover}
.bpm{display:flex;gap:30px;align-items:flex-end;margin-top:26px}
.bpm b{font-weight:300;font-size:96px;line-height:1;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(215,180,119,.5))}
.bpm span{font-weight:500;font-size:12px;letter-spacing:.22em;color:var(--muted);padding-bottom:14px}
.mix{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;padding:30px 22px;border-radius:30px;border:1px solid rgba(241,210,154,.3);background:linear-gradient(180deg,#14110d,#0a0908);box-shadow:0 0 80px rgba(215,180,119,.12)}
.mix>div{display:flex;flex-direction:column;align-items:center;gap:18px}
.mix small{font-size:11px;letter-spacing:.2em;color:#8d867c}
.knob{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3b362d,#15130f);border:1px solid rgba(241,210,154,.4);position:relative;box-shadow:0 0 18px rgba(215,180,119,.2)}
.knob:after{content:"";position:absolute;left:50%;top:4px;width:2px;height:13px;background:var(--gold2);box-shadow:0 0 8px var(--gold);transform-origin:1px 17px;transform:rotate(var(--r,0deg))}
.fd{width:8px;height:160px;border-radius:6px;background:#050505;border:1px solid rgba(255,255,255,.12);position:relative}
.fd:after{content:"";position:absolute;left:50%;margin-left:-16px;width:32px;height:18px;border-radius:5px;top:var(--t,40%);background:linear-gradient(180deg,var(--g3),var(--gold));box-shadow:0 0 20px rgba(215,180,119,.6);animation:fade var(--d,3s) ease-in-out infinite alternate}
@keyframes fade{to{top:calc(var(--t) + 20%)}}
.crate{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:var(--gh,40px)}
.crate>div{padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.crate b{font-weight:500;font-size:12px;letter-spacing:.22em;color:var(--gold2)}
.crate span{display:block;font-weight:300;font-size:26px;line-height:1.2;margin:10px 0}.crate small{color:var(--muted);font-size:14px;line-height:1.6}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:var(--gh,40px)}
@media(max-width:900px){.mix{grid-template-columns:repeat(4,1fr);padding:20px;gap:12px}.crate{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr}.bpm b{font-size:64px}.vwrap.dv{max-width:360px;margin:20px auto 40px}.mic{right:0}}
@media(prefers-reduced-motion:reduce){.bk,.cyc span,.en .p,.mic i,.vin,.fd:after{animation:none!important}.en .p{stroke-dashoffset:0}.cyc span:first-child{opacity:1;transform:none}}

/* ---- защита от горизонтальной прокрутки на узких экранах */
h1,h2,h3{overflow-wrap:anywhere}
.incl-col,.incl-col *{min-width:0}
.bpm{flex-wrap:wrap;gap:12px 30px}
.two-glass>*{min-width:0}
@media(max-width:420px){.stats b{white-space:normal;font-size:26px}.stats>div{padding:0 10px}.mix{gap:8px;padding:14px}.knob{width:40px;height:40px}.knob:after{height:12px;transform-origin:1px 16px}.fd{height:110px}.final{margin:0 10px 20px}}
@media(max-width:420px){.crate{grid-template-columns:1fr}.eyebrow{max-width:100%;letter-spacing:.2em}.eyebrow span,.eyebrow{white-space:normal}}
@media(max-width:420px){.eyebrow span{white-space:normal!important}}
html,body{overflow-x:clip}

/* ---- кнопки-ссылки форматов: «пилюли», FAQ в две колонки */
.mlinks .more{border-radius:var(--r-pill);border-color:rgba(241,210,154,.35);padding:0 24px}
@media(min-width:901px){.wrap:has(>.faq){display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start}.wrap:has(>.faq) .faq{margin-top:0;max-width:none}}
@media(max-width:420px){.mix{gap:6px;padding:16px 10px}.knob{width:32px;height:32px}.knob:after{height:10px;transform-origin:1px 13px}}

/* ---- «Это нормально»: карточки-строки с отступами и ровными колонками */
.doubt{border-top:0;display:grid;gap:12px}
.doubt>div{padding:24px 28px}
@media(min-width:901px){.doubt>div{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 210px}.doubt .more{justify-content:flex-end;text-align:right}}

/* ---- кольцо фокуса: только при управлении с клавиатуры (Tab); после мыши, касания и закрытия окна по Esc рамки нет */
:focus-visible{outline:0}
body.kbd :focus-visible{outline:2px solid var(--gold2);outline-offset:3px}

/* ================= календарь «Проверьте дату» и карта «География» (декор, без интерактива) ================= */
.cal{width:min(310px,100%);padding:20px 20px 18px;border:1px solid rgba(241,210,154,.3);border-radius:22px;background:rgba(14,12,10,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 60px rgba(215,180,119,.14);pointer-events:none;user-select:none}
.cal-h{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px}
.cal-h b{font-weight:300;font-size:26px;color:var(--text)}
.cal-h span{font-weight:500;font-size:10px;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase;color:var(--gold2)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:5px 4px;text-align:center;font-size:13px}
.cal-g i{font-style:normal;font-size:10px;letter-spacing:.08em;color:var(--muted);padding-bottom:4px}
.cal-g u{text-decoration:none;aspect-ratio:1;max-height:34px;display:grid;place-items:center;border-radius:50%;color:var(--soft)}
.cal-g u.b{color:#6a645a;text-decoration:line-through}
.cal-g u.s{position:relative;background:linear-gradient(135deg,var(--g3),var(--gold));color:#1a1409;font-weight:600;box-shadow:0 0 22px rgba(241,210,154,.6)}
.cal-g u.s:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--gold2);animation:ring 2.6s ease-out infinite}
@media(min-width:1021px){.cta-date{grid-template-columns:minmax(0,1fr) auto auto;gap:36px}}
@media(max-width:1020px){.cta-date .cal{width:min(300px,100%)}}
.geo{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,64px);align-items:center}
.map{position:relative;border:1px solid rgba(241,210,154,.28);border-radius:var(--r-card);overflow:hidden;background:#0a0908;box-shadow:0 0 70px rgba(215,180,119,.12);pointer-events:none;user-select:none}
.map svg{display:block;width:100%;height:auto}
.map .land{fill:#0d0c0a}.map .grid{fill:none;stroke:rgba(255,255,255,.05);stroke-width:1}
.map .water{fill:url(#mw);stroke:rgba(190,220,255,.32);stroke-width:1.2}
.map .neva{fill:none;stroke:rgba(190,220,255,.35);stroke-width:5;stroke-linecap:round}
.map .zone{fill:rgba(215,180,119,.10);stroke:rgba(241,210,154,.5);stroke-width:1.2;stroke-dasharray:5 6}
.map .road{fill:none;stroke:var(--gold2);stroke-width:1.4;stroke-dasharray:3 7;stroke-linecap:round;opacity:.75;animation:mapflow 3s linear infinite}
@keyframes mapflow{to{stroke-dashoffset:-40}}
.map .pt{fill:var(--gold2)}.map .pt.c{fill:#fff1cf;filter:drop-shadow(0 0 8px rgba(241,210,154,.9))}
.map .pr{fill:none;stroke:var(--gold2);stroke-width:1.3;transform-box:fill-box;transform-origin:center;animation:mapring 2.8s ease-out infinite}
@keyframes mapring{from{transform:scale(1);opacity:.9}to{transform:scale(4.2);opacity:0}}
.map text{font-family:Montserrat,Arial,sans-serif;fill:var(--soft);font-size:17px}
.map text.c{font-size:20px;font-weight:500;fill:#fff1cf}
.map text.z{font-size:12px;letter-spacing:.22em;fill:var(--gold2);font-weight:500}
.map text.n{font-size:13px;fill:var(--muted)}
.map .cap{position:absolute;left:16px;bottom:12px;font-size:12px;letter-spacing:.06em;color:var(--muted)}
@media(max-width:900px){.geo{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cal-g u.s:after,.map .road,.map .pr{animation:none!important}}

/* ---- окна «О DJ» и «О ведущем»: никакой горизонтальной прокрутки и «езды» вбок */
.pop{overflow-x:hidden;touch-action:pan-y;overscroll-behavior-x:none}
.pop .strip,.pop .cmpw{touch-action:pan-x pan-y}
.vwrap.dv{width:min(100%,520px)}
@media(max-width:900px){.vwrap.dv{max-width:min(360px,calc(100% - 24px))}.vwrap.hv{max-width:calc(100% - 12px)}}
#popBody{overflow-x:clip}
/* заголовок окна SYNTHAZY AI: не h2, чтобы не попадать в структуру страницы */
.panel .ptitle{font-weight:300;font-size:clamp(26px,3.4vw,36px);line-height:1.04;letter-spacing:-.025em;overflow-wrap:anywhere}
.lead a{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(241,210,154,.45);text-underline-offset:3px}
.lead a:hover{text-decoration-color:var(--gold2)}
/* открытое меню: на весь экран, страница под ним не прокручивается */
@media(max-width:1020px){.nav{height:100vh;height:100dvh;bottom:auto;overscroll-behavior:contain}html.lock,html.lock body{overflow:hidden;overscroll-behavior:none}}
/* плашка «Вернуться к ведущему» — капсула кита вместо текста поверх фото */
.hb{top:calc(var(--hh) + 14px);gap:0;padding:2px 4px 2px 16px;border:1px solid rgba(241,210,154,.38);border-radius:999px;background:rgba(10,9,8,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.45)}
.hb-a{padding:8px 8px 8px 0;font-size:14px;text-shadow:none}
.hb-x{width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;text-shadow:none;background:rgba(255,255,255,.06)}
