/* PULTEVENT · Онлайн-приглашения — оформление страницы приглашения.
   Все цвета — из переменных палитры (--bg, --paper, --ink, --muted, --accent,
   --accent2, --env, --seal), шрифты — --fh (заголовки) и --fb (текст).
   Тема добавляет только декор: класс .t-<тема> на корне. */
.inv{--r:18px;position:relative;min-height:100vh;min-height:100svh;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.inv *,.inv *::before,.inv *::after{box-sizing:border-box}
.inv img{max-width:100%;display:block}
.inv :where(a){color:inherit}
.inv h1,.inv h2,.inv h3{font-family:var(--fh);font-weight:var(--fhw);margin:0;line-height:1.1;letter-spacing:.01em}
.inv p{margin:0}
.inv-main{position:relative;z-index:1}
.inv-wrap{width:min(560px,100%);margin:0 auto;padding:0 22px}

/* ── Заголовки разделов ── */
.inv-sec{position:relative;padding:72px 0;text-align:center}
.inv-sec+.inv-sec{padding-top:24px}
.inv-h{font-size:calc(34px * var(--fbig));margin-bottom:10px;color:var(--ink)}
.inv-orn{display:flex;justify-content:center;margin:0 auto 22px;color:var(--accent);opacity:.9}
.inv-orn svg{width:140px;height:26px}
.inv-txt{color:var(--ink);opacity:.92;font-size:16.5px}
.inv-sub{color:var(--muted);font-size:14px;letter-spacing:.02em}

/* ── Появление при прокрутке ── */
.inv .rv{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.inv .rv.in{opacity:1;transform:none}
.inv.no-motion .rv{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.inv .rv{opacity:1;transform:none;transition:none}}

/* ── Обложка ── */
.inv-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 22px 110px;overflow:hidden;isolation:isolate}
.inv-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transform:scale(1.06);animation:invKen 18s ease-in-out infinite alternate}
.inv-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent) 0%,color-mix(in srgb,var(--bg) 62%,transparent) 50%,var(--bg) 100%)}
.inv-hero.has-ph .inv-names,.inv-hero.has-ph .inv-date,.inv-hero.has-ph .inv-small{text-shadow:0 2px 18px color-mix(in srgb,var(--bg) 85%,transparent)}
@keyframes invKen{to{transform:scale(1.14) translateY(-10px)}}
.inv-decor{position:absolute;inset:0;z-index:-1;pointer-events:none}
.inv-hero-in{position:relative;max-width:620px}
.inv-small{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.inv-names{font-size:calc(clamp(44px,12vw,84px) * var(--fbig));line-height:1.02;word-break:break-word}
.inv-date{margin-top:26px;font-family:var(--fh);font-size:calc(26px * var(--fbig));letter-spacing:.14em;color:var(--accent)}
.inv-herotext{margin-top:14px;color:var(--muted);font-size:15px}
.inv-scroll{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 35%,transparent);display:grid;place-items:center;color:var(--ink);animation:invBob 2.2s ease-in-out infinite;cursor:pointer;background:transparent}
@keyframes invBob{50%{transform:translate(-50%,7px)}}

/* ── Таймер ── */
.inv-cd{display:flex;justify-content:center;gap:10px;margin-top:6px}
.inv-cd div{min-width:70px;padding:14px 6px 10px;border-radius:14px;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.inv-cd b{display:block;font-family:var(--fh);font-size:calc(34px * var(--fbig));line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:var(--fhw)}
.inv-cd span{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.inv-cd-done{font-family:var(--fh);font-size:26px;color:var(--accent)}

/* ── Календарь ── */
.inv-cal{margin:6px auto 0;max-width:360px;padding:22px 18px 18px;border-radius:var(--r);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.inv-cal-m{font-family:var(--fh);font-size:calc(26px * var(--fbig));margin-bottom:12px;text-transform:capitalize}
.inv-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:14px}
.inv-cal-g i{font-style:normal;font-size:11px;color:var(--muted);letter-spacing:.08em;padding-bottom:6px}
.inv-cal-g span{position:relative;height:38px;display:grid;place-items:center;color:var(--ink);opacity:.8}
.inv-cal-g span.x{opacity:1;color:var(--accent);font-weight:700;font-size:17px}
.inv-cal-g span.x svg{position:absolute;inset:-6px -4px;width:calc(100% + 8px);height:calc(100% + 12px);overflow:visible}
.inv-cal-g span.x svg path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:140;stroke-dashoffset:140}
.inv-cal.in .inv-cal-g span.x svg path,.inv.no-motion .inv-cal-g span.x svg path{animation:invDraw 1.4s .4s ease forwards}
@keyframes invDraw{to{stroke-dashoffset:0}}
.inv-cal-when{margin-top:12px;font-size:14px;color:var(--muted)}
.inv-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.inv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:999px;border:0;background:var(--accent);color:var(--bg);font:600 14.5px/1.2 var(--fb);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s}
.inv-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.inv-btn.ghost{background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.inv-btn.pulse{animation:invPulse 2.4s ease-in-out infinite}
@keyframes invPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 12px transparent}}

/* ── Программа ── */
.inv-tl{position:relative;margin:10px auto 0;max-width:460px}
.inv-tl svg.path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.inv-tl svg.path path{fill:none;stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:1.5;stroke-dasharray:3 7;stroke-linecap:round}
.inv-tl-heart{position:absolute;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;color:var(--accent);filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--accent) 50%,transparent));transition:transform .08s linear;z-index:2}
.inv-tl-it{position:relative;height:118px;display:flex;align-items:center}
.inv-tl-it .c{width:46%;text-align:right;padding-right:6px}
.inv-tl-it.r{justify-content:flex-end}
.inv-tl-it.r .c{text-align:left;padding:0 0 0 6px}
.inv-tl-t{display:block;font-family:var(--fh);font-size:calc(26px * var(--fbig));color:var(--accent);line-height:1}
.inv-tl-l{display:block;margin-top:6px;font-size:15.5px;font-weight:600}
.inv-tl-n{display:block;font-size:13px;color:var(--muted);margin-top:2px}

/* ── Места ── */
.inv-place{margin:0 auto 22px;border-radius:var(--r);overflow:hidden;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);text-align:center}
.inv-place-ph{aspect-ratio:4/3;background-size:cover;background-position:center}
.inv-place-b{padding:22px 20px 24px}
.inv-place-n{font-family:var(--fh);font-size:calc(28px * var(--fbig))}
.inv-place-t{margin-top:6px;color:var(--accent);font-weight:600;letter-spacing:.06em}
.inv-place-a{margin-top:8px;color:var(--muted);font-size:15px}
.inv-place-x{margin-top:8px;font-size:14px}

/* ── Дресс-код ── */
.inv-sw{display:flex;justify-content:center;margin:26px 0 8px;padding-left:18px}
.inv-sw span{width:66px;height:66px;border-radius:50%;margin-left:-18px;border:3px solid var(--bg);box-shadow:0 8px 20px rgba(0,0,0,.18);transform:scale(.6);opacity:0;transition:transform .6s cubic-bezier(.2,1.4,.3,1),opacity .6s}
.inv-sec.in .inv-sw span,.inv.no-motion .inv-sw span{transform:none;opacity:1}

/* ── Галерея ── */
.inv-gal{position:relative;margin-top:8px}
.inv-vids{display:grid;gap:18px;margin-top:8px}
.inv-vid{margin:0}
.inv-vid video{display:block;width:100%;max-height:78vh;border-radius:var(--r);background:#000;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.inv-vid figcaption{margin-top:8px;text-align:center;color:var(--muted);font-size:14px}
.inv-gal-tr{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 22px 12px;margin:0 -22px}
.inv-gal-tr::-webkit-scrollbar{display:none}
.inv-gal-tr img{flex:0 0 86%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);scroll-snap-align:center}
.inv-dots{display:flex;justify-content:center;gap:7px;margin-top:6px}
.inv-dots i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--ink) 25%,transparent);transition:all .3s}
.inv-dots i.on{background:var(--accent);width:22px;border-radius:4px}

/* ── Детали / важное ── */
.inv-list{list-style:none;margin:0 auto;padding:0;max-width:460px;text-align:center;display:grid;gap:16px}
.inv-list li{padding:18px 20px;border-radius:var(--r);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 9%,transparent)}
.inv-list li::before{content:"";display:block;width:26px;height:2px;margin:0 auto 12px;background:var(--accent);opacity:.7}
.inv-note{max-width:460px;margin:0 auto;padding:24px 22px;border-radius:var(--r);border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}

/* ── Анкета ── */
.inv-form{max-width:440px;margin:14px auto 0;text-align:left;display:grid;gap:14px;padding:24px 20px;border-radius:var(--r);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.inv-form label{display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
.inv-form input[type=text],.inv-form input[type=number],.inv-form textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:var(--bg);color:var(--ink);font:16px var(--fb)}
.inv-form textarea{min-height:84px;resize:vertical}
.inv-chips{display:flex;gap:8px;flex-wrap:wrap}
.inv-chips button{flex:1;min-height:46px;padding:10px 12px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--ink) 20%,transparent);background:transparent;color:var(--ink);font:600 15px var(--fb);cursor:pointer}
.inv-chips button.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.inv-agree{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-size:12.5px!important}
.inv-agree input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
.inv-form .inv-btn{width:100%}
.inv-form-ok{text-align:center;padding:26px 10px}
.inv-form-ok b{display:block;font-family:var(--fh);font-size:calc(28px * var(--fbig));color:var(--accent);margin-bottom:6px}
.inv-form-err{color:#e5484d;font-size:13.5px;min-height:1em}
.inv-gform{margin:14px auto 0;max-width:640px;border-radius:var(--r);overflow:hidden;background:#fff}
.inv-gform iframe{width:100%;height:1100px;border:0;display:block}

/* ── Контакты ── */
.inv-cts{display:grid;gap:12px;max-width:440px;margin:0 auto}
.inv-ct{padding:18px;border-radius:var(--r);background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.inv-ct small{display:block;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11.5px}
.inv-ct b{display:block;font-size:18px;margin:4px 0 10px}
.inv-ct .inv-btns{margin-top:0}

/* ── Финал ── */
.inv-fin{padding:90px 0 60px}
.inv-fin-ph{position:relative;max-width:460px;margin:0 auto 28px;border-radius:calc(var(--r) * 1.4);overflow:hidden;aspect-ratio:4/5;background-size:cover;background-position:center}
.inv-fin h2{font-size:calc(clamp(40px,11vw,64px) * var(--fbig))}
.inv-fin-n{margin-top:14px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:13px}
.inv-foot{padding:26px 22px 40px;text-align:center;font-size:12.5px;color:var(--muted)}
.inv-foot a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}

/* ── Музыка ── */
.inv-mus[hidden]{display:none}
.inv-mus{position:fixed;right:16px;bottom:16px;z-index:40;width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:var(--bg);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.inv-mus .eq{display:flex;gap:3px;align-items:flex-end;height:18px}
.inv-mus .eq i{width:3px;background:currentColor;border-radius:2px;height:5px}
.inv-mus.on .eq i{animation:invEq .9s ease-in-out infinite}
.inv-mus.on .eq i:nth-child(2){animation-delay:.2s}.inv-mus.on .eq i:nth-child(3){animation-delay:.4s}.inv-mus.on .eq i:nth-child(4){animation-delay:.1s}
@keyframes invEq{0%,100%{height:5px}50%{height:18px}}

/* ════ Заставки ════ */
.inv-intro{position:fixed;inset:0;z-index:50;overflow:hidden;background:var(--env);transition:opacity .9s ease .9s,visibility 0s 1.8s}
.inv-intro.open{opacity:0;visibility:hidden}
.inv-preview .inv-intro{position:absolute}
/* Конверт */
.env-flap{position:absolute;inset:0;transition:transform 1.4s cubic-bezier(.6,0,.2,1)}
.env-l{clip-path:polygon(0 0,54% 50%,0 100%);background:linear-gradient(90deg,color-mix(in srgb,var(--env) 70%,#000),color-mix(in srgb,var(--env) 92%,#000));z-index:2}
.env-r{clip-path:polygon(100% 0,46% 50%,100% 100%);background:linear-gradient(270deg,color-mix(in srgb,var(--env) 70%,#000),color-mix(in srgb,var(--env) 92%,#000));z-index:2}
.env-bot{clip-path:polygon(0 100%,50% 47%,100% 100%);background:linear-gradient(0deg,color-mix(in srgb,var(--env) 86%,#fff) 0%,color-mix(in srgb,var(--env) 94%,#fff) 100%);z-index:3}
.env-top{clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(180deg,color-mix(in srgb,var(--env) 78%,#000) 0%,color-mix(in srgb,var(--env) 92%,#000) 100%);z-index:4}
.env-edge{position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity .6s}
.env-edge svg{width:100%;height:100%}
.env-paper{position:absolute;inset:0;opacity:.07;background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 70% 80%,#000 0 1px,transparent 1.5px);background-size:7px 7px,11px 11px;z-index:6;pointer-events:none}
.env-title{position:absolute;left:0;right:0;top:13%;text-align:center;z-index:7;color:color-mix(in srgb,var(--env) 25%,#fff);font-family:var(--fh);font-size:calc(30px * var(--fbig));padding:0 24px;transition:opacity .5s}
.env-title small{display:block;font-family:var(--fb);font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;opacity:.8;margin-bottom:10px}
.env-seal{position:absolute;left:50%;top:56%;width:150px;height:150px;margin:-75px 0 0 -75px;z-index:8;cursor:pointer;border:0;padding:0;background:none;animation:invSeal 2.6s ease-in-out infinite;transition:transform .9s cubic-bezier(.6,0,.2,1),opacity .6s}
.env-seal svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}
.env-hint{position:absolute;left:0;right:0;bottom:9%;text-align:center;z-index:7;color:color-mix(in srgb,var(--env) 30%,#fff);font-size:12px;letter-spacing:.3em;text-transform:uppercase;opacity:.75}
@keyframes invSeal{50%{transform:scale(1.06)}}
.inv-intro.open .env-top{transform:translateY(-100%)}
.inv-intro.open .env-bot{transform:translateY(100%)}
.inv-intro.open .env-l{transform:translateX(-100%)}
.inv-intro.open .env-r{transform:translateX(100%)}
.inv-intro.open .env-edge{opacity:0}
.inv-intro.open .env-seal{transform:scale(1.6);opacity:0;animation:none}
.inv-intro.open .env-title,.inv-intro.open .env-hint{opacity:0}
.inv-intro.open .env-paper{opacity:0;transition:opacity .6s}
/* Билет */
.intro-bilet{display:grid;place-items:center;background:var(--bg)}
.tk{position:relative;display:flex;width:min(560px,92vw);max-width:92vw;min-height:230px;filter:drop-shadow(0 22px 40px rgba(0,0,0,.25));transition:transform 1.1s cubic-bezier(.6,0,.2,1) .35s,opacity .8s .5s;cursor:pointer}
.tk-main,.tk-stub{background:var(--paper);color:var(--ink);position:relative}
.tk-main{flex:1;min-width:0;border-radius:18px 0 0 18px;padding:22px 22px 20px;text-align:left;--m:radial-gradient(circle at 100% 0,transparent 12px,#000 12.5px) top right/100% 51% no-repeat,radial-gradient(circle at 100% 100%,transparent 12px,#000 12.5px) bottom right/100% 51% no-repeat;-webkit-mask:var(--m);mask:var(--m)}
.tk-stub{width:28%;flex:none;min-width:84px;border-radius:0 18px 18px 0;padding:22px 14px;border-left:2px dashed color-mix(in srgb,var(--ink) 25%,transparent);display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;transition:transform 1s cubic-bezier(.5,0,.3,1),opacity .8s;transform-origin:0 100%;--m:radial-gradient(circle at 0 0,transparent 12px,#000 12.5px) top left/100% 51% no-repeat,radial-gradient(circle at 0 100%,transparent 12px,#000 12.5px) bottom left/100% 51% no-repeat;-webkit-mask:var(--m);mask:var(--m)}
.tk-lbl{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.tk-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--accent);font-weight:700;letter-spacing:.2em;font-size:11.5px}
.tk-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--fh);font-size:calc(clamp(18px,5.4vw,30px) * var(--fbig));line-height:1}
.tk-route svg{width:44px;height:20px;color:var(--accent);flex:none}
.tk-names{margin-top:14px;font-family:var(--fh);font-size:calc(22px * var(--fbig))}
.tk-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.tk-row b{display:block;font-size:15px}
.tk-bar{width:100%;height:56px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px,var(--ink) 9px 12px,transparent 12px 14px);opacity:.85;border-radius:3px}
.tk-tear{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;animation:invBob2 1.8s ease-in-out infinite}
@keyframes invBob2{50%{transform:translateX(4px)}}
.inv-intro.open .tk-stub{transform:rotate(28deg) translate(40px,120px);opacity:0}
.inv-intro.open .tk{transform:translateY(-120vh) rotate(-6deg)}
/* Створки */
.intro-stvorki{perspective:1600px;background:var(--bg)}
.dr{position:absolute;top:0;bottom:0;width:50.5%;background:var(--env);transition:transform 1.5s cubic-bezier(.6,0,.2,1);overflow:hidden}
.dr-l{left:0;transform-origin:0 50%;box-shadow:inset -18px 0 30px rgba(0,0,0,.25)}
.dr-r{right:0;transform-origin:100% 50%;box-shadow:inset 18px 0 30px rgba(0,0,0,.25)}
.dr svg{position:absolute;inset:0;width:100%;height:100%}
.inv-intro.open .dr-l{transform:rotateY(-105deg)}
.inv-intro.open .dr-r{transform:rotateY(105deg)}
.dr-med{position:absolute;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;z-index:5;border:0;cursor:pointer;background:var(--paper);color:var(--accent);display:grid;place-items:center;box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 0 6px color-mix(in srgb,var(--seal) 70%,transparent),0 0 0 7px var(--env),0 0 0 9px color-mix(in srgb,var(--seal) 50%,transparent);transition:transform .8s,opacity .6s;animation:invSeal 2.6s ease-in-out infinite}
.dr-med b{font-family:var(--fh);font-size:calc(46px * var(--fbig));line-height:1;font-weight:var(--fhw)}
.dr-med small{display:block;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.inv-intro.open .dr-med{transform:scale(.4);opacity:0;animation:none}

/* ════ Темы: декор ════ */
/* Полночь — фирменная: неон, звёзды, свечение */
.t-polnoch .inv-names,.t-polnoch .inv-h{background:linear-gradient(95deg,var(--ink) 10%,var(--accent) 55%,var(--accent2) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.t-polnoch .inv-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:invFloat 14s ease-in-out infinite alternate}
@keyframes invFloat{to{transform:translate(30px,-40px) scale(1.15)}}
.t-polnoch .inv-btn{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 35%,transparent)}
.t-polnoch .inv-btn.ghost{background:transparent;box-shadow:none;color:var(--ink)}
.t-polnoch .inv-cd div,.t-polnoch .inv-cal,.t-polnoch .inv-place,.t-polnoch .inv-list li,.t-polnoch .inv-form,.t-polnoch .inv-ct{background:color-mix(in srgb,var(--paper) 80%,transparent);border-color:color-mix(in srgb,var(--accent) 22%,transparent);backdrop-filter:blur(6px)}
.t-polnoch .inv-cd b{text-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent)}
.t-polnoch .inv-main{background:radial-gradient(1200px 600px at 110% 20%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 60%),radial-gradient(900px 500px at -20% 60%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 60%)}
.t-polnoch .inv-mus{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
/* Крафт — бумага и рамки */
.t-konvert .inv-main{background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--ink) 5%,transparent) 0 1px,transparent 1.4px);background-size:9px 9px}
.t-konvert .inv-frame{position:absolute;inset:26px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:6px;border-radius:4px}
.t-konvert .inv-names{color:var(--accent)}
/* Ботаника */
.t-botanika .inv-names{color:var(--accent)}
.t-botanika .inv-list li,.t-botanika .inv-place,.t-botanika .inv-cal,.t-botanika .inv-form{border-radius:28px}
/* Журнал */
.t-minimal .inv-small{color:var(--accent2)}
.t-minimal .inv-hero{align-items:flex-end;text-align:left;justify-content:flex-start}
.t-minimal .inv-hero-in{width:100%;max-width:none}
.t-minimal .inv-names{font-size:calc(clamp(56px,16vw,120px) * var(--fbig));letter-spacing:-.02em}
.t-minimal .inv-date{color:var(--ink);letter-spacing:.3em;border-top:1px solid var(--ink);padding-top:14px;display:inline-block}
.t-minimal .inv-big{position:absolute;right:-4vw;top:6vh;font-family:var(--fh);font-weight:700;font-size:62vw;line-height:.8;color:color-mix(in srgb,var(--ink) 6%,transparent);letter-spacing:-.05em}
.t-minimal .inv-sec{text-align:left}
.t-minimal .inv-orn{justify-content:flex-start}
.t-minimal .inv-list,.t-minimal .inv-note{text-align:left}
.t-minimal .inv-list li::before{margin:0 0 12px}
.t-minimal .inv-cd{justify-content:flex-start}
.t-minimal .inv-btns{justify-content:flex-start}
.t-minimal .inv-sw{justify-content:flex-start}
.t-minimal .inv-cd div,.t-minimal .inv-cal,.t-minimal .inv-place,.t-minimal .inv-list li,.t-minimal .inv-form,.t-minimal .inv-ct{border-radius:0;border-width:1px 0 0;background:transparent;border-color:var(--ink)}
.t-minimal .inv-btn{border-radius:0}
.t-minimal .inv-place{text-align:left}
/* Билет */
.t-bilet .inv-list li,.t-bilet .inv-place,.t-bilet .inv-cal,.t-bilet .inv-form,.t-bilet .inv-ct{border-radius:14px;border-style:dashed}
.t-bilet .inv-names{color:var(--ink)}
.t-bilet .inv-date{color:var(--accent)}
.t-bilet .inv-board{margin:0 auto 26px;display:inline-flex;gap:14px;align-items:center;padding:10px 18px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--ink) 35%,transparent);font-size:12px;letter-spacing:.24em;color:var(--muted)}
/* Ар-деко */
.t-zoloto .inv-names,.t-zoloto .inv-h,.t-zoloto .inv-date{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 60%,#fff) 0%,var(--accent) 45%,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.t-zoloto .inv-cd div,.t-zoloto .inv-cal,.t-zoloto .inv-place,.t-zoloto .inv-list li,.t-zoloto .inv-form,.t-zoloto .inv-ct{border-radius:0;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:-6px}
.t-zoloto .inv-btn{border-radius:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 70%,#fff),var(--accent) 50%,var(--accent2));color:#111;letter-spacing:.14em;text-transform:uppercase;font-size:12.5px}
.t-zoloto .inv-btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.t-zoloto .inv-small{letter-spacing:.5em;color:var(--accent)}
/* Конфетти */
.t-prazdnik .inv-names{color:var(--accent);text-shadow:4px 4px 0 color-mix(in srgb,var(--accent2) 60%,transparent)}
.t-prazdnik .inv-cd div,.t-prazdnik .inv-cal,.t-prazdnik .inv-place,.t-prazdnik .inv-list li,.t-prazdnik .inv-form,.t-prazdnik .inv-ct{border-radius:26px;border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.t-prazdnik .inv-btn{border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:#fff}
.t-prazdnik .inv-btn.ghost{color:var(--ink)}
.t-prazdnik .inv-h{color:var(--ink)}
.t-prazdnik .inv-bln{animation:invBln 5s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes invBln{to{transform:translateY(-14px) rotate(3deg)}}

@media (min-width:900px){
  .inv-names{font-size:calc(96px * var(--fbig))}
  .inv-gal-tr img{flex-basis:62%}
}
.t-polnoch .inv-hero.has-ph .inv-names,.t-zoloto .inv-hero.has-ph .inv-names,.t-zoloto .inv-hero.has-ph .inv-date{text-shadow:none;filter:drop-shadow(0 2px 14px color-mix(in srgb,var(--bg) 90%,transparent))}

/* Водяной знак черновика — поверх всего, клики проходят насквозь */
.inv-wm{position:fixed;inset:0;z-index:70;pointer-events:none;color:var(--ink);user-select:none}
.inv-wm svg{position:absolute;inset:0;opacity:.13}
.inv-wm-bar{position:fixed;left:0;right:0;bottom:0;padding:10px 14px;text-align:center;font:700 12.5px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.06em;background:rgba(229,72,77,.92);color:#fff}
@media print{.inv-wm svg{opacity:.35}}
.inv-wm ~ .inv-mus{bottom:58px}
