/* Сайты-приглашения ARTDEMENTIEV — общий слой. Тема задаётся на <html data-theme="…">, акцент можно переопределить в данных. */
:root{--bg:#f6f3ec;--bg2:#efe9dc;--ink:#2d3529;--muted:#6f776a;--acc:#7d8f69;--line:rgba(45,53,41,.14);--card:#fffdf8;--on-acc:#fff;
  --f-names:"Cormorant Garamond",Georgia,serif;--f-head:"Cormorant Garamond",Georgia,serif;--f-body:"Manrope",-apple-system,"Segoe UI",Arial,sans-serif;
  --names-style:italic;--names-w:500;--names-size:clamp(54px,15vw,124px);--r:22px;--tr:cubic-bezier(.22,.8,.24,1)}
[data-theme=barhat]{--bg:#170d10;--bg2:#21131a;--ink:#f2e7d3;--muted:#b4a28c;--acc:#c9a45c;--line:rgba(201,164,92,.22);--card:#22141a;--on-acc:#1a0f12;
  --f-names:"Playfair Display",Georgia,serif;--f-head:"Playfair Display",Georgia,serif;--names-size:clamp(48px,13vw,112px)}
[data-theme=len]{--bg:#efe5d8;--bg2:#e6d8c6;--ink:#4b3427;--muted:#8a6f5d;--acc:#b5643c;--line:rgba(75,52,39,.16);--card:#f7efe4;
  --f-names:"Marck Script",cursive;--f-head:"Lora",Georgia,serif;--names-style:normal;--names-w:400;--names-size:clamp(58px,17vw,138px)}
[data-theme=noch]{--bg:#0c0c0f;--bg2:#15151a;--ink:#f5f5f7;--muted:#9a9aa3;--acc:#d6ff3d;--line:rgba(255,255,255,.12);--card:#16161b;--on-acc:#0c0c0f;
  --f-names:"Unbounded",Arial,sans-serif;--f-head:"Unbounded",Arial,sans-serif;--names-style:normal;--names-w:700;--names-size:clamp(40px,12vw,104px);--r:28px}
[data-theme=sky]{--bg:#eef3f8;--bg2:#e1eaf3;--ink:#1f2f45;--muted:#5d6f86;--acc:#3c6fb0;--line:rgba(31,47,69,.14);--card:#fbfdff;
  --f-names:"Cormorant Garamond",Georgia,serif;--f-head:"Cormorant Garamond",Georgia,serif}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.iv-locked{overflow:hidden}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* --- конверт: фото, монограмма на сургуче, наезд камеры и вспышка --- */
.iv-env{position:fixed;inset:0;z-index:50;overflow:hidden;background:#000;cursor:pointer;outline:0;transition:opacity 1.1s var(--tr),visibility 1.1s}
.iv-env.gone{opacity:0;visibility:hidden}
.iv-env-stage{position:absolute;left:50%;top:50%;width:max(100vw,56.25svh);aspect-ratio:9/16;translate:-50% -50%;transform-origin:var(--sx) var(--sy);
  transition:transform 1.6s cubic-bezier(.6,0,.2,1),filter 1.6s;animation:iv-breath 7s ease-in-out infinite}
.iv-env-img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.iv-mono{position:absolute;left:var(--sx);top:var(--sy);width:var(--sd,24%);aspect-ratio:1;translate:-50% -50%;display:grid;place-items:center;border-radius:50%;container-type:inline-size}
.iv-mono b{max-width:82%;text-align:center}
/* логотип компании, выдавленный в сургуч: силуэт логотипа маской, тёмный тон воска + свет снизу и тень сверху */
.iv-mono--logo i{width:80%;height:80%;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;background:var(--seal-ink,rgba(60,30,10,.55))}
.iv-mono--logo{filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 -1px 1px rgba(0,0,0,.4))}
.iv-mono b{font:italic 600 31cqw/1 var(--f-head);letter-spacing:.02em;white-space:nowrap;
  color:#9c8f78;mix-blend-mode:multiply;opacity:.9;
  text-shadow:0 1px 0 rgba(255,255,255,.55),0 -1px 0 rgba(0,0,0,.25);animation:iv-stamp 1.4s .5s var(--tr) both}
[data-theme=barhat] .iv-mono b{color:#4a2a06;mix-blend-mode:normal;opacity:1;text-shadow:0 1px 0 rgba(255,230,170,.6),0 -1px 1px rgba(0,0,0,.5)}
[data-theme=len] .iv-mono b{color:#7a2e12;mix-blend-mode:normal;text-shadow:0 1px 0 rgba(255,190,150,.5),0 -1px 1px rgba(0,0,0,.4)}
[data-theme=noch] .iv-mono b{color:#4a5e00;mix-blend-mode:normal;font-family:var(--f-names);font-style:normal;text-shadow:0 1px 0 rgba(240,255,170,.7),0 -1px 1px rgba(0,0,0,.35)}
[data-theme=sky] .iv-mono b{color:#8f8a80}
.iv-bloom{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,var(--bg) 0,var(--bg) 30%,transparent 70%);transform:scale(.2);transition:opacity 1s .5s,transform 1.4s .4s cubic-bezier(.5,0,.2,1)}
.iv-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.iv-env.film .iv-film{opacity:1}
.iv-env-ui{position:absolute;left:0;right:0;bottom:0;padding:60px 20px max(26px,env(safe-area-inset-bottom));text-align:center;
  background:linear-gradient(transparent,rgba(0,0,0,.34));color:#fff;transition:opacity .5s}
.iv-env-to{font:var(--names-style) var(--names-w) clamp(26px,7vw,38px)/1.15 var(--f-names);text-shadow:0 2px 14px rgba(0,0,0,.35)}
[data-theme=noch] .iv-env-to{font-size:clamp(18px,5vw,24px);text-transform:uppercase}
.iv-env-tap{margin-top:10px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.85;display:flex;align-items:center;justify-content:center;gap:10px}
.iv-env-tap i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:iv-ping 1.8s infinite}
.iv-env.open .iv-env-stage{transform:scale(2.4);filter:brightness(1.15) blur(1px);animation:none}
.iv-env.open .iv-mono b{animation:iv-press .5s var(--tr) both}
.iv-env.open .iv-bloom{opacity:1;transform:scale(2.6)}
.iv-env.open .iv-env-ui{opacity:0}
@keyframes iv-breath{50%{transform:scale(1.025)}}
@keyframes iv-stamp{0%{opacity:0;transform:scale(1.4)}100%{opacity:.9;transform:none}}
@keyframes iv-press{40%{transform:scale(.86)}100%{transform:scale(1.05);opacity:0}}
@keyframes iv-ping{70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* --- общие --- */
.iv-sec{max-width:720px;margin:0 auto;padding:clamp(72px,14vw,120px) 22px;text-align:center}
.iv-sec+.iv-sec{border-top:1px solid var(--line)}
.iv-h{font:500 clamp(30px,8vw,46px)/1.15 var(--f-head);margin-bottom:28px;letter-spacing:-.005em}
[data-theme=noch] .iv-h{font-weight:600;font-size:clamp(24px,6.4vw,36px);text-transform:uppercase;letter-spacing:.02em}
.iv-lead p,.iv-lead-s{font-size:17px;color:var(--ink);max-width:540px;margin:0 auto 12px}
.iv-lead-s{color:var(--muted)}
.rv{opacity:0;transform:translateY(22px);transition:opacity 1s var(--tr),transform 1s var(--tr)}
.rv.in{opacity:1;transform:none}
.iv-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.iv-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;border:1px solid var(--acc);background:var(--acc);color:var(--on-acc);
  font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.iv-btn:active{transform:scale(.97)}
.iv-btn svg{width:18px;height:18px}
.iv-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
@media (hover:hover){.iv-ghost:hover{border-color:var(--acc);color:var(--acc)}.iv-btn:not(.iv-ghost):hover{filter:brightness(1.07)}}
.iv-big{width:100%;justify-content:center;min-height:56px;font-size:16px;margin-top:8px}

/* --- первый экран --- */
.iv-hero{min-height:100svh;display:grid;place-items:center;position:relative;padding:40px 20px 90px;text-align:center;overflow:hidden;
  background:radial-gradient(120% 70% at 50% 0%,var(--bg2),transparent 70%)}
.iv-hero-in{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.iv-hero.iv-has-art{background:var(--bg);padding:12svh 20px 20svh}
.iv-hero-art{position:absolute;inset:0;background:var(--bg) center/auto 100% no-repeat;transform:scale(1.08);filter:blur(6px);opacity:0;transition:transform 2.2s var(--tr),filter 1.6s var(--tr),opacity 1.2s}
.iv-hero.in .iv-hero-art{transform:none;filter:none;opacity:1}
@media (min-aspect-ratio:9/16){.iv-hero-art{-webkit-mask-image:linear-gradient(90deg,transparent calc(50% - 56.25vh/2 - 2px),#000 calc(50% - 56.25vh/2 + 60px),#000 calc(50% + 56.25vh/2 - 60px),transparent calc(50% + 56.25vh/2 + 2px));mask-image:linear-gradient(90deg,transparent calc(50% - 56.25vh/2 - 2px),#000 calc(50% - 56.25vh/2 + 60px),#000 calc(50% + 56.25vh/2 - 60px),transparent calc(50% + 56.25vh/2 + 2px))}}
.iv-has-art .iv-down{z-index:1;background:color-mix(in srgb,var(--bg) 60%,transparent)}
.iv-flour{display:block;width:150px;height:16px;margin:-12px auto 30px;color:var(--acc);stroke-width:1.1;opacity:.85}
.iv-orn{color:var(--acc);width:min(64vw,260px);margin-bottom:26px;opacity:.9}
.iv-sprig{width:100%;height:auto;stroke-width:1.3}
.iv-orn .iv-sprig path{stroke-dasharray:400;stroke-dashoffset:400;animation:iv-draw 2.6s .3s var(--tr) forwards}
@keyframes iv-draw{to{stroke-dashoffset:0}}
.iv-photo{width:min(62vw,280px);aspect-ratio:3/4;border-radius:999px 999px 18px 18px;overflow:hidden;margin-bottom:28px;box-shadow:0 20px 50px rgba(0,0,0,.14)}
.iv-photo img{width:100%;height:100%;object-fit:cover}
.iv-kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.iv-names{font:var(--names-style) var(--names-w) var(--names-size)/.95 var(--f-names);display:flex;flex-direction:column;align-items:center;letter-spacing:-.01em}
[data-theme=noch] .iv-names{text-transform:uppercase;letter-spacing:-.02em}
.iv-amp{font-size:.5em;color:var(--acc);margin:.08em 0 .02em;font-style:italic;font-family:var(--f-head)}
.iv-date{display:flex;align-items:center;gap:14px;margin-top:30px;font:500 clamp(22px,6vw,30px)/1 var(--f-head);letter-spacing:.06em}
.iv-date i{width:5px;height:5px;border-radius:50%;background:var(--acc)}
.iv-city{margin-top:14px;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.iv-down{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:50%;width:28px;height:44px;margin-left:-14px;border:1.5px solid var(--line);border-radius:14px}
.iv-down::after{content:"";position:absolute;left:50%;top:9px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--acc);animation:iv-scroll 1.8s infinite}
@keyframes iv-scroll{60%{transform:translateY(12px);opacity:0}}

/* --- обращение --- */
.iv-dear{font:var(--names-style) var(--names-w) clamp(34px,9vw,54px)/1.1 var(--f-names);margin-bottom:24px;color:var(--acc)}
[data-theme=noch] .iv-dear{font-size:clamp(24px,7vw,40px);text-transform:uppercase}
.iv-seats{display:inline-block;margin-top:14px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--muted)}
.iv-sign{margin-top:22px;font:italic 500 20px/1.3 var(--f-head);color:var(--muted)}

/* --- таймер --- */
.iv-cd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:480px;margin:0 auto}
.iv-cd-c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 4px 14px}
.iv-cd b{display:block;font:500 clamp(30px,9vw,48px)/1 var(--f-head);font-variant-numeric:tabular-nums}
.iv-cd span{display:block;margin-top:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.iv-when{margin-top:22px;color:var(--muted)}.iv-when::first-letter{text-transform:uppercase}

/* --- история и программа --- */
.iv-story,.iv-prog{list-style:none;text-align:left;max-width:520px;margin:0 auto;position:relative}
.iv-story::before,.iv-prog::before{content:"";position:absolute;left:62px;top:8px;bottom:8px;width:1px;background:var(--line)}
.iv-story li,.iv-prog li{display:grid;grid-template-columns:62px 1fr;gap:26px;padding:14px 0;position:relative}
.iv-story li::before,.iv-prog li::before{content:"";position:absolute;left:58px;top:24px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--acc)}
.iv-y,.iv-prog time{font:500 20px/1.4 var(--f-head);color:var(--acc);font-variant-numeric:tabular-nums}
.iv-prog b{display:block;font:500 21px/1.3 var(--f-head)}
[data-theme=noch] .iv-prog b{font-size:16px;font-weight:600}
.iv-prog p,.iv-story p{color:var(--muted);margin-top:4px}
.iv-story p{color:var(--ink)}

/* --- места --- */
.iv-place{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 20px 24px;margin-top:16px}
.iv-pl-l{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}
.iv-place h3,.iv-card h3{font:500 26px/1.2 var(--f-head)}
[data-theme=noch] .iv-place h3,[data-theme=noch] .iv-card h3{font-size:18px;font-weight:600}
.iv-addr{color:var(--muted);margin-top:6px}
.iv-pl-n{margin-top:10px;font-size:14px}
.iv-map{margin-top:18px}
.iv-map.on{height:260px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.iv-map iframe{width:100%;height:100%;border:0}

/* --- дресс-код --- */
.iv-sw{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.iv-sw span{width:56px;height:56px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 6px 14px rgba(0,0,0,.08);transition-delay:calc(var(--i)*90ms)}

/* --- карточки --- */
.iv-cards{display:grid;gap:14px}
@media (min-width:640px){.iv-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.iv-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 20px;text-align:center}
.iv-card p{color:var(--muted);margin-top:8px}
.iv-ct .iv-row{margin-top:16px}

/* --- анкета --- */
.iv-form{text-align:left;max-width:480px;margin:0 auto;display:grid;gap:16px}
.iv-f{display:grid;gap:6px;border:0}
.iv-f>span,.iv-f legend{font-size:13px;color:var(--muted)}
.iv-f input,.iv-f select,.iv-f textarea{width:100%;min-height:52px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:16px;outline:0;transition:border-color .2s}
.iv-f textarea{resize:vertical}
.iv-f input:focus,.iv-f select:focus,.iv-f textarea:focus{border-color:var(--acc)}
.iv-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.iv-seg label,.iv-chips label{position:relative;cursor:pointer}
.iv-seg input,.iv-chips input,.iv-check input{position:absolute;opacity:0;pointer-events:none}
.iv-seg span{display:grid;place-items:center;min-height:56px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-align:center;font-weight:600;font-size:15px;line-height:1.25;transition:.2s}
.iv-seg input:checked+span{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.iv-seg input:focus-visible+span,.iv-chips input:focus-visible+span,.iv-check input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.iv-chips{display:flex;flex-wrap:wrap;gap:8px}
.iv-chips span{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:15px;transition:.2s}
.iv-chips input:checked+span{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 16%,var(--card))}
.iv-check{display:flex;cursor:pointer;position:relative}
.iv-check span{padding-left:36px;position:relative;min-height:26px;line-height:26px}
.iv-check span::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border:1px solid var(--line);border-radius:7px;background:var(--card)}
.iv-check input:checked+span::before{background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--acc)}
.iv-if-yes{display:grid;gap:16px}
.iv-if-yes[hidden]{display:none}
.iv-hp{position:absolute;left:-9999px;width:1px;height:1px}
.iv-msg{min-height:20px;color:#c0392b;font-size:14px;text-align:center}
.iv-done{max-width:440px;margin:0 auto;padding:34px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.iv-done-ic{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/30px no-repeat;animation:iv-pop .6s var(--tr)}
[data-theme=noch] .iv-done-ic,[data-theme=barhat] .iv-done-ic{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}
.iv-done h3{font:500 26px/1.2 var(--f-head);margin-bottom:8px}
@keyframes iv-pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.08)}}

/* --- подвал, док --- */
.iv-foot{padding:90px 22px calc(110px + env(safe-area-inset-bottom));text-align:center;background:var(--bg2)}
.iv-fin{font-size:17px;max-width:480px;margin:0 auto}
.iv-fnames{margin-top:18px;font:var(--names-style) var(--names-w) clamp(36px,10vw,60px)/1.1 var(--f-names);color:var(--acc)}
[data-theme=noch] .iv-fnames{font-size:clamp(22px,6vw,34px);text-transform:uppercase}
.iv-made{display:inline-block;margin-top:48px;font-size:12px;letter-spacing:.06em;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.iv-dock{position:fixed;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:20;display:flex;gap:8px;align-items:center}
.iv-lang{display:flex;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:3px}
.iv-lang button{border:0;background:none;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;color:var(--muted)}
.iv-lang button[aria-current]{background:var(--acc);color:var(--on-acc)}
.iv-mus{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;display:grid;place-items:center}
.iv-mus svg{width:20px;height:20px}
.iv-mus i{display:none}
.iv-mus.on{border-color:var(--acc);color:var(--acc)}
.iv-mus.on svg{animation:iv-spin 6s linear infinite}
@keyframes iv-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
@media (max-width:360px){.iv-cd{gap:6px}.iv-story li,.iv-prog li{grid-template-columns:54px 1fr;gap:20px}.iv-story::before,.iv-prog::before{left:54px}.iv-story li::before,.iv-prog li::before{left:50px}}
[data-theme=len] .iv-names,[data-theme=len] .iv-dear,[data-theme=len] .iv-fnames,[data-theme=len] .iv-env-to{letter-spacing:0}
[data-theme=noch] .iv-names br+*,[data-theme=noch] .iv-names{color:var(--ink)}

/* календарь месяца: день события обведён «от руки» */
.iv-calm{max-width:360px;margin:0 auto 34px}
.iv-calm-h{display:flex;align-items:center;justify-content:center;gap:14px;font:italic 500 26px/1 var(--f-head);margin-bottom:18px}
.iv-calm-h i{width:28px;height:1px;background:currentColor;opacity:.4}
.iv-calm-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 0;text-align:center;font-size:15px}
.iv-calm-g em{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.55;padding-bottom:6px}
.iv-calm-g em.we{opacity:.8}
.iv-calm-g span{position:relative;display:grid;place-items:center;height:38px;opacity:.75}
.iv-calm-g span.on{opacity:1;font-weight:600}
.iv-calm-g span.on b{position:relative;z-index:1;font-size:18px}
.iv-calm-g svg{position:absolute;left:50%;top:50%;width:58px;height:58px;translate:-50% -50%;overflow:visible}
.iv-ring{fill:none;stroke:var(--acc,#b08d57);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset 1.8s .4s var(--tr)}
.iv-heart{fill:var(--acc,#b08d57);opacity:0;transform:scale(.4);transform-origin:50px 13px;transition:opacity .5s 2s,transform .6s 2s var(--tr)}
.iv-calm.in .iv-ring,.iv-sec.in .iv-ring{stroke-dashoffset:0}
.iv-calm.in .iv-heart,.iv-sec.in .iv-heart{opacity:1;transform:none}
/* иконки программы */
.iv-pi{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;opacity:.8;margin-top:-4px}
.iv-pi svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.iv-pt{display:flex;gap:14px;align-items:flex-start}
/* фото */
.iv-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.iv-gal figure{margin:0;border-radius:14px;overflow:hidden;position:relative}
.iv-gal figure:first-child{grid-column:1/-1}
.iv-gal img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}
.iv-gal figure:first-child img{aspect-ratio:3/2}
.iv-gal figcaption{position:absolute;left:12px;bottom:10px;color:#fff;font-size:12px;letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:reduce){.iv-ring{stroke-dashoffset:0;transition:none}.iv-heart{opacity:1;transform:none;transition:none}}
/* цвет тиснения логотипа — в тон воску темы */
[data-theme=barhat] .iv-mono--logo i{--seal-ink:rgba(58,30,4,.8)}
[data-theme=len] .iv-mono--logo i{--seal-ink:rgba(98,32,8,.75)}
[data-theme=noch] .iv-mono--logo i{--seal-ink:rgba(52,66,0,.8)}
[data-theme=sad] .iv-mono--logo i,[data-theme=sky] .iv-mono--logo i{--seal-ink:rgba(110,100,82,.7)}
