/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════
   «Фото на грин-карту онлайн» — /ru/foto-na-grin-kartu/ (вариант D «Бланк грин-карты», выбор владельца 28.10.2026).
   Макет: internal-docs/redesign-concepts-2026-09-23/step16-greencard/d.html. Язык «Чертежа» + защищённый бланк:
   мятная бумага, гильош (символы из src/greencard/gcl-art.js), микротекст, голограмма, «призрачное» фото,
   машиночитаемая строка, факел Свободы. Роли цветов сайта сохранены: тушь — текст, синь (--c-measure) — размеры и
   печать «Проверено». Главная кнопка на этой странице зелёная, в цвет бланка (владелец 29.10.2026: «кнопку можно
   сделать зелёной») — тот же «Свет», что у янтарной: освещена сверху, полоса света при наведении; одна на экран. Всё ограничено классом .gcl-page на <body>; анимации — только при html.gcl-js и без «меньше движения».
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════ */
body.gcl-page{overflow-x:clip}
.gcl-page{--gm-0:#F1F7F2;--gm-1:#E3EFE6;--gm-2:#CBE0D1;--gm-3:#93BC9F;--gm-4:#5E9471;--gm-ink:#1D5240;--gm-deep:#0E2C22;--gm-peach:#F7E7DA;
  --gcl-t3:#676D76; /* мелкий серый текст: 4,8 : 1 на бумаге и белом (--c-t3 — только значки и линии) */
  --ease:cubic-bezier(.22,.61,.36,1);--spring:cubic-bezier(.2,.9,.28,1.08);
  --font-sans:var(--id-sans,'Golos Text',system-ui,sans-serif);--font-mono:var(--id-mono,'IBM Plex Mono',ui-monospace,monospace);--wp:32px}
@media (max-width:720px){.gcl-page{--wp:20px}}
body.gcl-page.id .dp__main{width:100%;max-width:none;margin:0 auto;padding:0;background:transparent}
body.gcl-page .sticky-cta{display:none!important}
.gcl-page .breadcrumbs{position:relative;z-index:2;width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--wp)}
:where(.gcl-page .dp__main) :where(h1,h2,h3,p,ul,ol,figure,dl,dd,blockquote){margin:0}
:where(.gcl-page .dp__main) :where(ul,ol){padding:0;list-style:none}
:where(.gcl-page .dp__main) :where(a){color:inherit;text-decoration:none}
:where(.gcl-page .dp__main) :where(img){display:block;max-width:100%;height:auto}
:where(.gcl-page .dp__main) :where(button){font:inherit;color:inherit}
:where(.gcl-page .dp__main) :where(h1,h2,h3){font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em;color:var(--c-t1)}
.gcl-page .dp__main{font-family:var(--font-sans);color:var(--c-t1)}
.gcl-page .gcl-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--wp)}
.gcl-page .gcl-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gcl-page .gcl-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
.gcl-page .gcl-lbl{font-family:var(--font-mono);font-size:11.5px;font-weight:500;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--gm-ink)}
.gcl-page .gcl-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gcl-page .gcl-defs{position:absolute;width:0;height:0;overflow:hidden}
.gcl-page .gcl-tlink{display:inline-flex;align-items:center;gap:6px;font-weight:500;border-bottom:1px solid var(--c-edge-2);padding-bottom:1px;transition:border-color .2s var(--ease)}
.gcl-page .gcl-tlink:hover{border-color:var(--c-t1)}
.gcl-page .gcl-tlink .gcl-ic{width:16px;height:16px}

/* ── кнопки ── главная — зелёный «Свет» (заливка, блик сверху, тень в цвет, полоса света при наведении) */
.gcl-page{--gcl-go:#21794B;--gcl-go-fill:linear-gradient(180deg,#3C9E68 0%,#23804F 56%,#1B6A41 100%);
  --gcl-go-press:linear-gradient(180deg,#1D7046 0%,#23804F 100%);
  --gcl-go-sheen:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.38) 50%,transparent 62%);
  --gcl-go-lift:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(4,40,22,.32),0 0 0 1px rgba(10,64,38,.4),0 1px 2px rgba(10,64,38,.2),0 8px 18px -8px rgba(27,106,65,.6);
  --gcl-go-lift-h:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -1px 0 rgba(4,40,22,.32),0 0 0 1px rgba(10,64,38,.42),0 2px 3px rgba(10,64,38,.18),0 14px 26px -10px rgba(27,106,65,.66)}
.gcl-page .gcl-go{position:relative;height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 28px 0 24px;
  border:0;border-radius:12px;font-size:17px;font-weight:600;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;color:#fff;
  background-color:var(--gcl-go);background-image:var(--gcl-go-sheen),var(--gcl-go-fill);background-size:260% 100%,100% 100%;
  background-position:100% 0,0 0;background-repeat:no-repeat;box-shadow:var(--gcl-go-lift);text-shadow:0 1px 0 rgba(4,40,22,.25);
  transition:transform .22s var(--spring),box-shadow .22s var(--ease),opacity .2s ease,background-position 0s}
@media (hover:hover){.gcl-page .gcl-go:hover{transform:translateY(-1px);background-position:0 0,0 0;box-shadow:var(--gcl-go-lift-h);
  transition:transform .22s var(--spring),box-shadow .22s var(--ease),background-position .75s var(--ease)}}
.gcl-page .gcl-go:active{transform:none;background-image:none,var(--gcl-go-press);box-shadow:inset 0 2px 3px rgba(4,40,22,.35),0 0 0 1px rgba(10,64,38,.45)}
.gcl-page .gcl-go:focus-visible{outline:2px solid var(--c-t1);outline-offset:3px}
.gcl-page .gcl-go .gcl-ic{width:21px;height:21px}
.gcl-page .gcl-go--sm{height:44px;padding:0 18px 0 16px;font-size:15.5px;border-radius:11px}
.gcl-page .gcl-go--sm .gcl-ic{width:18px;height:18px}
.gcl-page .gcl-go[aria-busy="true"]{opacity:.75;pointer-events:none}
.gcl-page .gcl-ghost{height:56px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid var(--c-edge-2);
  border-radius:13px;background:var(--c-surface);font-size:16px;font-weight:500;cursor:pointer;transition:border-color .2s var(--ease)}
.gcl-page .gcl-ghost:hover{border-color:var(--c-t1)}
.gcl-page .gcl-ghost--sm{height:46px;font-size:15px;padding:0 16px;border-radius:12px}

/* ══════════ первый экран ══════════ */
.gcl-page .gcl-hero{position:relative;margin-top:-140px;padding:140px 0 76px;isolation:isolate;
  background:radial-gradient(110% 85% at 82% 42%,var(--gm-1) 0%,rgba(227,239,230,.6) 36%,rgba(245,245,243,0) 72%)}
.gcl-page .gcl-hero__bg{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.gcl-page .gcl-hero__bg .rays{fill:var(--gm-1);opacity:.85}
.gcl-page .gcl-hero__bg .band{fill:none;stroke:var(--gm-3);stroke-width:.6;opacity:.45}
.gcl-page .gcl-hero__in{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);grid-template-areas:"h card" "rest card";column-gap:64px;align-items:center}
.gcl-page .gcl-hero__h{grid-area:h;align-self:end}
.gcl-page .gcl-hero__rest{grid-area:rest;align-self:start}
.gcl-page .gcl-stage{grid-area:card}
.gcl-page .gcl-status{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin-bottom:20px;padding:8px 14px 8px 12px;border-radius:8px;
  background:var(--gm-deep);color:#E6F2EA;font-size:13.5px;line-height:1.35;box-shadow:0 10px 24px -16px rgba(14,44,34,.8)}
.gcl-page .gcl-status b{color:#fff;font-weight:600}
.gcl-page .gcl-status a{color:#BFE6CF;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.gcl-page .gcl-dot{position:relative;width:8px;height:8px;flex:none;border-radius:50%;background:#8FE0B4}
.gcl-page .gcl-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid #8FE0B4;opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-dot::after{animation:gcl-ping 2.2s var(--ease) infinite}
@keyframes gcl-ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.gcl-page .gcl-h1{font-size:56px;line-height:1.03;letter-spacing:-.03em;text-wrap:balance}
.gcl-page .gcl-hl{white-space:nowrap;text-decoration:underline wavy var(--gm-4);text-decoration-thickness:2px;text-underline-offset:.2em;text-decoration-skip-ink:none}
.gcl-page .gcl-lead{margin-top:18px;max-width:31em;font-size:18.5px;line-height:1.5;color:var(--c-t2);text-wrap:pretty}
.gcl-page .gcl-branch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:28px;padding:4px;border-radius:14px;background:rgba(16,18,20,.055)}
.gcl-page .gcl-branch button{position:relative;z-index:1;display:grid;gap:1px;padding:9px 18px 10px;border:0;border-radius:11px;background:none;cursor:pointer;text-align:left;color:var(--c-t2)}
.gcl-page .gcl-branch button b{font-size:15px;font-weight:600;color:inherit}
.gcl-page .gcl-branch button span{font-family:var(--font-mono);font-size:12px;color:var(--gcl-t3)}
.gcl-page .gcl-branch button[aria-pressed="true"]{color:var(--c-t1)}
.gcl-page .gcl-branch__pill{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 6px);border-radius:11px;background:var(--c-surface);
  box-shadow:0 1px 2px rgba(16,18,20,.08),0 0 0 1px var(--c-edge);transition:transform .35s var(--spring)}
/* плашка едет по номеру ветки (data-idx: 0 — первая, 1 — вторая), а не по её имени: у грин-карты dv/gc, у визы ds160/ds260 */
.gcl-page .gcl-branch[data-idx="1"] .gcl-branch__pill{transform:translateX(calc(100% + 4px))}
.gcl-page .gcl-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px}
.gcl-page .gcl-hint{font-size:14px;color:var(--gcl-t3)}
.gcl-page .gcl-cam{display:none}
@media (hover:none){.gcl-page .gcl-cam{display:inline-flex}.gcl-page .gcl-hint{display:none}}
.gcl-page .gcl-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:14px;color:var(--c-t2)}
.gcl-page .gcl-trust span{display:inline-flex;align-items:center;gap:7px}
.gcl-page .gcl-trust .gcl-ic{width:16px;height:16px;color:var(--c-good)}
.gcl-page .gcl-trust b{font-weight:600;color:var(--c-t1)}

/* ── бланк ── */
.gcl-page .gcl-stage{position:relative;justify-self:center;width:100%;max-width:620px;perspective:1400px}
/* розетка за бланком — своя, вокруг центра карты и целиком: прежняя стояла в фоне первого экрана и резалась его краями */
.gcl-page .gcl-stage__ro{position:absolute;z-index:-1;left:50%;top:43%;width:124%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 80%,transparent 99%);mask:radial-gradient(closest-side,#000 80%,transparent 99%)}
.gcl-page .gcl-stage__ro .ro{fill:none;stroke:var(--gm-3);stroke-width:.65;opacity:.62}
.gcl-page .gcl-stage__ro .ro2{fill:none;stroke:var(--gm-3);stroke-width:.6;opacity:.44}
.gcl-page .gcl-card{position:relative;container-type:inline-size;width:100%;aspect-ratio:85.6/54;border-radius:1.5cqw;overflow:hidden;
  background:linear-gradient(118deg,#ECF5EE 0%,#DCEDE1 40%,#E6F0E2 62%,var(--gm-peach) 100%);
  box-shadow:0 0 0 1px rgba(29,82,64,.2),inset 0 1px 0 rgba(255,255,255,.75),0 44px 70px -36px rgba(14,44,34,.55),0 12px 26px -18px rgba(14,44,34,.4);
  transform-style:preserve-3d;transition:transform .5s var(--ease)}
.gcl-page .gcl-card::before{content:"";position:absolute;inset:1.8cqw;border:1px solid rgba(29,82,64,.16);border-radius:.6cqw;pointer-events:none}
.gcl-page .gcl-card__g{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gcl-page .gcl-card__g .ro{fill:none;stroke:var(--gm-3);stroke-width:.5;opacity:.62}
.gcl-page .gcl-card__g .ro2{fill:none;stroke:var(--gm-4);stroke-width:.45;opacity:.3}
.gcl-page .gcl-card__g .band{fill:none;stroke:var(--gm-4);stroke-width:.5;opacity:.24}
.gcl-page .gcl-card__stripes{position:absolute;left:0;right:0;top:0;height:20%;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.55) 0 .55cqw,rgba(203,224,209,.35) .55cqw 1.1cqw);
  -webkit-mask:linear-gradient(90deg,transparent 30%,#000 70%);mask:linear-gradient(90deg,transparent 30%,#000 70%)}
.gcl-page .gcl-card__micro{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;font-family:var(--font-mono);font-size:1.02cqw;letter-spacing:.14em;color:var(--gm-4);opacity:.8}
.gcl-page .gcl-card__micro--t{top:16.2%;padding-left:5%}
.gcl-page .gcl-card__micro--v{top:6%;bottom:16%;left:auto;right:2.6cqw;width:1.4cqw;writing-mode:vertical-rl}
.gcl-page .gcl-card__head{position:absolute;left:5%;right:5%;top:5%;display:flex;align-items:center;gap:2.2cqw}
.gcl-page .gcl-card__head img{width:5.6cqw;height:auto;border-radius:.5cqw;box-shadow:0 0 0 1px rgba(16,18,20,.14)}
.gcl-page .gcl-card__t{font-size:4.6cqw;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gm-ink);line-height:1}
.gcl-page .gcl-card__sub{margin-top:.5cqw;font-size:1.75cqw;color:var(--gm-ink);opacity:.82;line-height:1.2}
.gcl-page .gcl-card__no{margin-left:auto;padding:.5cqw 1.2cqw;border:1px solid rgba(29,82,64,.28);border-radius:.35cqw;font-family:var(--font-mono);font-size:2.05cqw;font-weight:600;color:var(--gm-ink);letter-spacing:.06em}
.gcl-page .gcl-card__body{position:absolute;left:5%;right:5%;top:22%;bottom:19%;display:grid;grid-template-columns:36% 1fr;gap:6.5%}
.gcl-page .gcl-ph{position:relative;aspect-ratio:1;align-self:start;background:#fff;box-shadow:0 0 0 1px rgba(16,18,20,.2),0 .6cqw 1.6cqw -1cqw rgba(14,44,34,.45);overflow:hidden}
.gcl-page .gcl-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-ph__film{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;
  background:radial-gradient(120% 80% at 20% 0%,rgba(150,255,210,.55),transparent 55%),radial-gradient(120% 90% at 100% 100%,rgba(190,160,255,.45),transparent 55%)}
/* линии сканирования (бланк, разбор селфи, телефон, проверка, паспорт) едут transform-ом — браузер отдаёт их видеокарте:
   элемент во весь контейнер, сама линия — ::before у его верхнего края, сдвиг translateY(0 → 100 %) */
.gcl-page :is(.gcl-ph__scan,.gcl-ep__edge,.gcl-gen__scan,.gcl-check__ph i,.gcl-pp__beam){position:absolute;pointer-events:none;will-change:transform}
.gcl-page :is(.gcl-ph__scan,.gcl-ep__edge,.gcl-gen__scan,.gcl-check__ph i,.gcl-pp__beam)::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--c-measure);box-shadow:0 0 14px 3px rgba(45,91,216,.4)}
.gcl-page .gcl-ph__scan{inset:0;opacity:0}
.gcl-page .gcl-ph__dims{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
/* размеры на фото — языком чертежей сайта (.fdw__* в styles.css): выносные линии бледнее, размерная — тонкая, засечки 45°,
   подпись — голая синяя моноширинная строка; вертикальные подписи повёрнуты вдоль своей линии */
.gcl-page .gcl-phw{position:relative;align-self:start}
.gcl-page .gcl-ph__dims .ax{fill:none;stroke:var(--c-measure);stroke-width:.9;stroke-opacity:.7;stroke-dasharray:11 3 2 3;vector-effect:non-scaling-stroke;transition:stroke-width .25s var(--ease),stroke-opacity .25s}
.gcl-page .gcl-ph__dims .ax--c{stroke-opacity:.28}
.gcl-page .gcl-dw{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}
.gcl-page .gcl-dw path{fill:none;stroke:var(--c-measure);vector-effect:non-scaling-stroke}
.gcl-page .gcl-dw .ext{stroke-width:.75;stroke-opacity:.5}
.gcl-page .gcl-dw .dim{stroke-width:1;transition:stroke-width .25s var(--ease)}
.gcl-page .gcl-dw .tick{stroke-width:1.3;stroke-linecap:round}
.gcl-page .gcl-dw g{transition:opacity .25s var(--ease)}
.gcl-page .gcl-dl{position:absolute;z-index:2;font-family:var(--font-mono);font-size:1.6cqw;font-weight:500;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;
  color:var(--c-measure);white-space:nowrap;pointer-events:none;transition:opacity .25s var(--ease)}
.gcl-page .gcl-dl--h{left:-9.6%;top:39.75%;transform:translate(-50%,-50%) rotate(-90deg)}
.gcl-page .gcl-dl--e{left:109.6%;top:68.9%;transform:translate(-50%,-50%) rotate(-90deg)}
.gcl-page .gcl-dl--w{left:50%;top:111%;transform:translate(-50%,-50%)}
/* поле бланка ↔ его размер: при печати поля и при наведении нужный размер ярче, остальные — тише */
.gcl-page .gcl-card[data-hl] .gcl-dw g,.gcl-page .gcl-card[data-hl] .gcl-dl{opacity:.32}
.gcl-page .gcl-card[data-hl="0"] :is(.gcl-dw [data-dm="0"],.gcl-dl--w),.gcl-page .gcl-card[data-hl="2"] :is(.gcl-dw [data-dm="2"],.gcl-dl--h),
.gcl-page .gcl-card[data-hl="3"] :is(.gcl-dw [data-dm="3"],.gcl-dl--e){opacity:1;font-weight:700}
.gcl-page .gcl-card[data-hl="0"] .gcl-dw [data-dm="0"] .dim,.gcl-page .gcl-card[data-hl="2"] .gcl-dw [data-dm="2"] .dim,.gcl-page .gcl-card[data-hl="3"] .gcl-dw [data-dm="3"] .dim{stroke-width:2}
.gcl-page .gcl-card[data-hl="3"] .gcl-ph__dims [data-dm="3"]{stroke-width:1.8;stroke-opacity:1}
.gcl-page .gcl-card[data-hl="4"] .gcl-ph{box-shadow:0 0 0 2px var(--c-measure),0 .6cqw 1.6cqw -1cqw rgba(14,44,34,.45)}
.gcl-page .gcl-f>*{transition:opacity .25s var(--ease)}
.gcl-page .gcl-card[data-hl] .gcl-f>*{opacity:.42}
.gcl-page .gcl-card[data-hl="0"] .gcl-f>:nth-child(-n+2),.gcl-page .gcl-card[data-hl="1"] .gcl-f>:is(:nth-child(3),:nth-child(4)),
.gcl-page .gcl-card[data-hl="2"] .gcl-f>:is(:nth-child(5),:nth-child(6)),.gcl-page .gcl-card[data-hl="3"] .gcl-f>:is(:nth-child(7),:nth-child(8)),
.gcl-page .gcl-card[data-hl="4"] .gcl-f>:is(:nth-child(9),:nth-child(10)){opacity:1}
.gcl-page .gcl-ph__corner{position:absolute;width:7%;height:7%;border:1.5px solid var(--gm-ink);opacity:.55}
.gcl-page .gcl-ph__corner--tl{left:-1px;top:-1px;border-right:0;border-bottom:0}
.gcl-page .gcl-ph__corner--br{right:-1px;bottom:-1px;border-left:0;border-top:0}
.gcl-page .gcl-f{display:grid;grid-template-columns:auto 1fr;gap:1.1cqw 2.4cqw;align-content:start;padding-top:.4cqw}
.gcl-page .gcl-f dt{display:flex;gap:.9cqw;align-items:baseline;font-size:1.32cqw;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#3D6F52;padding-top:.45cqw;white-space:nowrap}
.gcl-page .gcl-f dt i{font-style:normal;font-family:var(--font-mono);font-weight:500;letter-spacing:0;opacity:.75}
.gcl-page .gcl-f dd{min-height:2.7cqw;font-family:var(--font-mono);font-size:2.05cqw;font-weight:500;color:var(--c-t1);white-space:nowrap}
.gcl-page .gcl-f dd b{font-weight:500;color:var(--c-measure)}
.gcl-page .gcl-f dd.is-typing::after{content:"";display:inline-block;width:.9cqw;height:2cqw;margin-left:.2cqw;vertical-align:-.3cqw;background:var(--c-t1);animation:gcl-caret .5s steps(1) infinite}
@keyframes gcl-caret{50%{opacity:0}}
.gcl-page .gcl-card__seal{position:absolute;right:20.5%;bottom:21%;width:11%;aspect-ratio:1;color:var(--gm-ink);opacity:.5}
.gcl-page .gcl-card__seal .ro{fill:none;stroke:currentColor;stroke-width:1.1}
.gcl-page .gcl-card__ghost{position:absolute;right:5.5%;bottom:21%;width:12.5%;aspect-ratio:1;filter:grayscale(1) sepia(.5) hue-rotate(90deg) contrast(.9);mix-blend-mode:multiply;transition:opacity 1s var(--ease)}
.gcl-page .gcl-card__ghost img{width:100%;height:100%;object-fit:cover;opacity:.5;-webkit-mask:radial-gradient(closest-side,#000 60%,transparent 100%);mask:radial-gradient(closest-side,#000 60%,transparent 100%)}
.gcl-page .gcl-card__torch{position:absolute;right:33%;bottom:18%;height:56%;color:var(--gm-ink);opacity:.1}
.gcl-page .gcl-mrz{position:absolute;left:0;right:0;bottom:0;height:16%;display:grid;align-content:center;gap:.5cqw;padding:0 5%;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.78));border-top:1px solid rgba(29,82,64,.14);
  font-family:var(--font-mono);font-size:2.3cqw;font-weight:500;letter-spacing:.17em;color:#2A3B34;white-space:nowrap;overflow:hidden;line-height:1.15}
.gcl-page .gcl-mrz span{display:block;min-height:1.15em}
.gcl-page .gcl-card__holo{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:0;
  background:linear-gradient(112deg,transparent 22%,rgba(140,255,200,.55) 34%,rgba(170,150,255,.5) 42%,rgba(255,190,150,.5) 50%,rgba(140,230,255,.45) 58%,transparent 70%);
  background-size:260% 100%;background-position:120% 0}
.gcl-page .gcl-card__sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;opacity:0;transition:opacity .3s;
  background:radial-gradient(40% 60% at var(--mx,50%) var(--my,50%),rgba(255,255,255,.75),transparent 70%),
    conic-gradient(from var(--ma,0deg) at var(--mx,50%) var(--my,50%),rgba(120,255,190,.35),rgba(170,150,255,.3),rgba(255,190,150,.3),rgba(120,230,255,.3),rgba(120,255,190,.35))}
.gcl-page .gcl-stage.is-hover .gcl-card__sheen{opacity:1}
.gcl-page .gcl-stamp{position:absolute;z-index:3;left:64%;top:-13%;width:52%;color:var(--c-measure);pointer-events:none;mix-blend-mode:multiply;opacity:.9;transform:rotate(-12deg)}
.gcl-page .gcl-stamp svg{display:block;width:100%;height:auto;overflow:visible}
.gcl-page .gcl-stamp .st-t{font-family:var(--font-sans);font-size:10.4px;font-weight:600;letter-spacing:.16em;fill:currentColor}
.gcl-page .gcl-stamp .st-n{font-family:var(--font-mono);font-size:9.2px;font-weight:500;fill:currentColor}
.gcl-page .gcl-under{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px;padding:0 4px}
.gcl-page .gcl-toggle{display:inline-flex;padding:3px;border-radius:9px;background:rgba(16,18,20,.06)}
.gcl-page .gcl-toggle button{border:0;background:none;padding:5px 11px;border-radius:7px;font-family:var(--font-mono);font-size:12.5px;color:var(--c-t2);cursor:pointer}
.gcl-page .gcl-toggle button[aria-pressed="true"]{background:var(--c-surface);color:var(--c-t1);box-shadow:0 0 0 1px var(--c-edge)}
.gcl-page .gcl-cap{font-size:13px;color:var(--gcl-t3)}
.gcl-page .gcl-stage.is-over .gcl-card{box-shadow:0 0 0 2px var(--c-t1),0 44px 70px -36px rgba(14,44,34,.55)}
/* в бланке с узкой карточкой (телефон) — крупнее поля, лишнее прячем */
@container (max-width:460px){
  .gcl-page .gcl-f{grid-template-columns:1fr;gap:.3cqw 0}
  .gcl-page .gcl-f dt{font-size:2.3cqw;padding-top:1.2cqw}
  .gcl-page .gcl-f dd{font-size:3.15cqw;min-height:3.8cqw}
  .gcl-page .gcl-f .xs{display:none}
  .gcl-page .gcl-card__sub,.gcl-page .gcl-card__seal{display:none}
  .gcl-page .gcl-card__t{font-size:5.6cqw}
  .gcl-page .gcl-card__no{font-size:3cqw}
  .gcl-page .gcl-mrz{font-size:2.75cqw;letter-spacing:.1em}
  .gcl-page .gcl-dl{font-size:2.75cqw}
  .gcl-page .gcl-stamp{left:68%;top:-10%;width:44%}
}
/* исходное состояние анимации — только со скриптом; без него виден готовый бланк */
/* «меньше движения»: кнопка «до» показывает селфи сразу, без анимации — готовое фото, размеры, печать и «призрак» прячутся */
html.gcl-calm .gcl-page .gcl-card.is-before :is(.gcl-ph__after,.gcl-ph__film,.gcl-ph__dims,.gcl-dw,.gcl-dl,.gcl-card__ghost,.gcl-stamp){visibility:hidden}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card:not(.s-after) .gcl-ph__after{clip-path:inset(0 0 100% 0)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card:not(.s-after) .gcl-ph__film{opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-scan .gcl-ph__after{animation:gcl-reveal 1.4s var(--ease) forwards}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-scan .gcl-ph__scan{animation:gcl-scan 1.4s var(--ease) forwards}
@keyframes gcl-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes gcl-scan{0%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(100%)}}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card:not(.s-dims) .gcl-dw .draw{stroke-dasharray:1;stroke-dashoffset:1}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card:not(.s-dims) :is(.gcl-ph__dims .ax,.gcl-dw .ext,.gcl-dw .tick,.gcl-dl){opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-dims .gcl-dw .draw{stroke-dasharray:1;animation:gcl-draw .9s var(--ease) var(--d,0s) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-dims :is(.gcl-ph__dims .ax,.gcl-dw .ext,.gcl-dw .tick){animation:gcl-fade .4s var(--ease) .35s both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-dims .gcl-dl{animation:gcl-fade .4s var(--ease) .6s both}
/* смена ветки: бланк ребром уходит и возвращается другим документом */
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.is-flip-out{animation:gcl-flip-out .24s cubic-bezier(.55,0,.8,.4) forwards}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.is-flip-in{animation:gcl-flip-in .46s var(--spring) both}
@keyframes gcl-flip-out{to{transform:rotateY(88deg) scale(.96)}}
@keyframes gcl-flip-in{from{transform:rotateY(-88deg) scale(.96)}to{transform:none}}
@keyframes gcl-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes gcl-fade{from{opacity:0}to{opacity:1}}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card:not(.s-ghost) .gcl-card__ghost{opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-holo .gcl-card__holo{animation:gcl-holo 1.8s var(--ease) forwards}
@keyframes gcl-holo{0%{opacity:0;background-position:120% 0}15%{opacity:1}100%{opacity:0;background-position:-40% 0}}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-stamp{opacity:0;transform:scale(1.45) rotate(-28deg)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-card.s-done .gcl-stamp{animation:gcl-lay .6s cubic-bezier(.3,1.3,.5,1) forwards}
@keyframes gcl-lay{0%{opacity:0;transform:scale(1.45) rotate(-28deg)}55%{opacity:.9;transform:scale(.95) rotate(-11deg)}100%{opacity:.9;transform:scale(1) rotate(-12deg)}}

@media (max-width:1020px){
  .gcl-page .gcl-hero{padding-bottom:48px}
  .gcl-page .gcl-hero__in{grid-template-columns:1fr;grid-template-areas:"h" "card" "rest"}
  .gcl-page .gcl-stage{margin-top:28px;max-width:560px}
  .gcl-page .gcl-h1{font-size:40px}
  .gcl-page .gcl-lead{font-size:16.5px;margin-top:12px}
}
@media (max-width:720px){
  .gcl-page .gcl-hero{margin-top:-120px;padding-top:120px}
  .gcl-page .gcl-status{font-size:12.5px;padding:6px 12px 6px 9px;margin-bottom:14px}
  .gcl-page .gcl-h1{font-size:34px}
  .gcl-page .gcl-lead{font-size:15.5px}
  .gcl-page .gcl-stage{margin-top:18px}
  .gcl-page .gcl-under{margin-top:12px}
  .gcl-page .gcl-branch{display:grid;width:100%;margin-top:20px}
  .gcl-page .gcl-branch button{padding:8px 12px 9px}
  .gcl-page .gcl-branch button b{font-size:14px}
  .gcl-page .gcl-acts{margin-top:16px}
  .gcl-page .gcl-acts .gcl-go{width:100%}
  .gcl-page .gcl-acts .gcl-cam{width:100%}
}

/* ══════════ разделы ══════════ */
.gcl-page .gcl-sec{position:relative;padding:92px 0}
.gcl-page .gcl-sec>.gcl-wrap{position:relative;z-index:1}
.gcl-page .gcl-sec__wave{position:absolute;left:0;right:0;top:-12px;width:100%;height:24px;pointer-events:none}
.gcl-page .gcl-sec__wave .band{fill:none;stroke:var(--gm-3);stroke-width:.7;opacity:.75}
/* чётные разделы — мятная бумага бланка */
.gcl-page .gcl-sec--paper{background:linear-gradient(180deg,var(--gm-0) 0%,rgba(241,247,242,.45) 100%)}
/* шапка: номер в гильош-кружке, рубрика с защитной микрострокой, заголовок */
.gcl-page .gcl-sec__head{display:flex;align-items:center;gap:18px;margin-bottom:36px}
.gcl-page .gcl-sec__t{flex:1;min-width:0}
.gcl-page .gcl-n{display:inline-grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;color:var(--gm-ink);font-family:var(--font-mono);font-size:14px;font-weight:600;
  background:radial-gradient(circle,var(--gm-0) 48%,transparent 49%),repeating-conic-gradient(var(--gm-3) 0 3deg,transparent 3deg 8deg);
  box-shadow:0 0 0 1px rgba(29,82,64,.18),inset 0 0 0 5px var(--c-bg)}
.gcl-page .gcl-sec--paper .gcl-n{box-shadow:0 0 0 1px rgba(29,82,64,.18),inset 0 0 0 5px var(--gm-0)}
.gcl-page .gcl-kick{display:flex;align-items:center;gap:14px;margin-bottom:8px;font-family:var(--font-mono);font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--gm-ink)}
.gcl-page .gcl-kick>span{flex:none}
.gcl-page .gcl-kick__rule{position:relative;flex:1;min-width:40px;height:10px;overflow:hidden;font-style:normal;border-top:1px solid rgba(29,82,64,.24);
  -webkit-mask:linear-gradient(90deg,#000 80%,transparent 98%);mask:linear-gradient(90deg,#000 80%,transparent 98%)}
.gcl-page .gcl-kick__rule::before{content:attr(data-micro) " · " attr(data-micro) " · " attr(data-micro);position:absolute;left:0;top:3px;white-space:nowrap;
  font-size:6.4px;line-height:1;letter-spacing:.22em;color:var(--gm-4);opacity:.8}
/* малая розетка в конце защитной строки — целиком, как печать на краю бланка */
.gcl-page .gcl-kick__ro{width:36px;height:36px;flex:none;margin:-11px 0 -11px -12px;color:var(--gm-4)}
.gcl-page .gcl-kick__ro .ro{fill:none;stroke:currentColor;stroke-width:1.3;opacity:.85}
.gcl-page .gcl-kick__ro circle{fill:var(--gm-4);opacity:.9}
.gcl-page .gcl-h2{font-size:38px;line-height:1.1;text-wrap:balance}
.gcl-page .gcl-sec__lead{margin:-18px 0 36px;max-width:40em;font-size:17.5px;color:var(--c-t2);text-wrap:pretty}
.gcl-page .gcl-card-s{position:relative;background:var(--c-surface);border-radius:16px;box-shadow:0 0 0 1px var(--c-edge);overflow:hidden}
/* микротекст бланка там, где он строкой: повторяет data-micro, на экран — только узором */
.gcl-page .gcl-stub__micro{position:absolute;overflow:hidden;font-style:normal;pointer-events:none}
.gcl-page .gcl-stub__micro::before{content:attr(data-micro) " · " attr(data-micro) " · " attr(data-micro);position:absolute;left:0;top:0;white-space:nowrap;
  font-family:var(--font-mono);font-size:6.4px;line-height:1;letter-spacing:.22em;color:var(--gm-4);opacity:.75}
@media (max-width:720px){
  .gcl-page .gcl-sec{padding:60px 0}.gcl-page .gcl-h2{font-size:27px}.gcl-page .gcl-sec__head{margin-bottom:24px;gap:12px}
  .gcl-page .gcl-n{width:40px;height:40px;font-size:12px;box-shadow:0 0 0 1px rgba(29,82,64,.18),inset 0 0 0 4px var(--c-bg)}
  .gcl-page .gcl-sec--paper .gcl-n{box-shadow:0 0 0 1px rgba(29,82,64,.18),inset 0 0 0 4px var(--gm-0)}
  .gcl-page .gcl-kick{font-size:11px;gap:10px;margin-bottom:6px}
  .gcl-page .gcl-sec__lead{margin:-8px 0 24px;font-size:16px}
}

/* оглавление под первым экраном: номера разделов и якоря (на телефоне — лентой с прокруткой) */
.gcl-page .gcl-toc{position:relative;z-index:2;margin-top:-22px}
.gcl-page .gcl-toc__list{display:flex;flex-wrap:wrap;gap:4px;width:max-content;max-width:100%;padding:5px;border-radius:14px;background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 1px rgba(29,82,64,.14),0 12px 28px -22px rgba(14,44,34,.55)}
.gcl-page .gcl-toc a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 11px;border-radius:10px;font-size:14.5px;font-weight:500;color:var(--c-t2);white-space:nowrap;transition:background .2s var(--ease),color .2s}
.gcl-page .gcl-toc a i{font-style:normal;font-family:var(--font-mono);font-size:11.5px;color:#3D6F52;transition:color .2s}
.gcl-page .gcl-toc a:hover{background:var(--gm-0);color:var(--c-t1)}
.gcl-page .gcl-toc a:hover i{color:var(--gm-ink)}
.gcl-page .gcl-toc a:focus-visible{outline:2px solid var(--c-t1);outline-offset:1px}
.gcl-page .gcl-toc+.gcl-sec{margin-top:-28px;padding-top:84px}
.gcl-page .gcl-toc+.gcl-sec .gcl-sec__wave{display:none}
@media (max-width:720px){
  .gcl-page .gcl-toc{margin-top:-10px}
  .gcl-page .gcl-toc__list{flex-wrap:nowrap;gap:6px;width:auto;max-width:none;margin-inline:calc(var(--wp) * -1);padding:4px var(--wp);overflow-x:auto;scrollbar-width:none;
    border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .gcl-page .gcl-toc__list::-webkit-scrollbar{display:none}
  .gcl-page .gcl-toc a{flex:none;height:36px;background:#fff;box-shadow:0 0 0 1px rgba(29,82,64,.14)}
  .gcl-page .gcl-toc+.gcl-sec{margin-top:-18px;padding-top:58px}
}
/* переход по якорю: 80 px под шапку даёт scroll-padding-top у html (styles.css); здесь срезаем верхний отступ раздела,
   чтобы рубрика и заголовок вставали сразу под шапкой, а не через пустые 90 px */
.gcl-page .gcl-sec{scroll-margin-top:-60px}
@media (max-width:720px){.gcl-page .gcl-sec{scroll-margin-top:-36px}}
.gcl-page [hidden]{display:none!important}
.gcl-page .gcl-nw{white-space:nowrap}

/* 01 требования: таблица «анкета DV | заявление I-485»; колонка выбранной вверху ветки подсвечена */
.gcl-page .gcl-rt-box{border-radius:16px;overflow:hidden;background:var(--c-surface);box-shadow:0 0 0 1px rgba(29,82,64,.16),0 26px 50px -42px rgba(14,44,34,.55)}
.gcl-page .gcl-rt{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15.5px;line-height:1.45}
.gcl-page .gcl-rt th,.gcl-page .gcl-rt td{padding:14px 24px;text-align:left;vertical-align:top;border-top:1px solid var(--c-edge);transition:background-color .35s var(--ease)}
.gcl-page .gcl-rt thead th,.gcl-page .gcl-rt thead td{border-top:0;padding-top:22px;padding-bottom:16px;vertical-align:bottom;background:linear-gradient(180deg,var(--gm-0),rgba(241,247,242,0))}
.gcl-page .gcl-rt__corner{width:31%}
.gcl-page .gcl-rt thead th.gcl-rt__corner>span{margin:0;font-size:11.5px;font-weight:500;color:var(--gm-ink)}
.gcl-page .gcl-rt__tag{display:inline-block;margin-bottom:8px;padding:2px 7px;border:1px solid rgba(29,82,64,.3);border-radius:5px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--gm-ink);transition:background .35s,color .35s,border-color .35s}
.gcl-page .gcl-rt thead th b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--c-t1)}
.gcl-page .gcl-rt thead th>span:last-child{display:block;margin-top:2px;font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--gcl-t3)}
.gcl-page .gcl-rt tbody th{font-size:14.5px;font-weight:500;color:var(--c-t2)}
.gcl-page .gcl-rt td{color:var(--c-t1)}
.gcl-page .gcl-rt td .gcl-num{color:var(--c-measure);font-weight:500}
.gcl-page .gcl-rt td small{display:block;margin-top:2px;font-size:13px;color:var(--gcl-t3)}
.gcl-page .gcl-rt td.is-on{background-color:rgba(227,239,230,.45)}
.gcl-page .gcl-rt thead th.is-on{background:linear-gradient(180deg,var(--gm-1),rgba(227,239,230,.45))}
.gcl-page .gcl-rt thead th.is-on .gcl-rt__tag{border-color:var(--gm-ink);background:var(--gm-ink);color:#fff}
.gcl-page .gcl-rt__src{display:flex;gap:10px;align-items:flex-start;padding:14px 24px 16px;border-top:1px dashed var(--c-edge-2);font-size:13.5px;line-height:1.5;color:var(--c-t2)}
.gcl-page .gcl-rt__src .gcl-ic{width:18px;height:18px;flex:none;margin-top:1px;color:var(--gm-ink)}
.gcl-page .gcl-rt__src a{font-weight:500;color:var(--c-t1);border-bottom:1px solid var(--c-edge-2);white-space:nowrap}
.gcl-page .gcl-rt__src a:hover{border-color:var(--c-t1)}
/* на телефоне строка таблицы — карточка: название сверху, две колонки с подписями под ним */
@media (max-width:640px){
  .gcl-page .gcl-rt,.gcl-page .gcl-rt tbody{display:block}
  .gcl-page .gcl-rt thead{display:none}
  .gcl-page .gcl-rt tr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--c-edge)}
  .gcl-page .gcl-rt tbody tr:first-child{border-top:0}
  .gcl-page .gcl-rt th,.gcl-page .gcl-rt td{border-top:0}
  .gcl-page .gcl-rt tbody th{grid-column:1/-1;padding:14px 16px 6px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--gm-ink)}
  .gcl-page .gcl-rt td{padding:6px 16px 14px;font-size:14.5px}
  .gcl-page .gcl-rt td+td{border-left:1px dashed var(--c-edge)}
  .gcl-page .gcl-rt td::before{content:attr(data-col);display:block;margin-bottom:3px;font-family:var(--font-mono);font-size:11px;color:var(--gcl-t3)}
  .gcl-page .gcl-rt__src{padding:14px 16px}
}
.gcl-page .gcl-h3{margin:48px 0 18px;font-size:23px;line-height:1.2}
.gcl-page .gcl-tag{justify-self:start;padding:4px 10px;border-radius:7px;font-family:var(--font-mono);font-size:12.5px;background:rgba(16,18,20,.06);white-space:nowrap}
.gcl-page .gcl-tag--date{background:var(--gm-ink);color:#fff}

/* что вы получите: файл для анкеты и лист для печати (числа — в таблице выше) */
.gcl-page .gcl-gets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gcl-page .gcl-get{display:flex;flex-direction:column;align-items:flex-start;padding:26px 26px 24px;transition:box-shadow .3s var(--ease)}
.gcl-page .gcl-get.is-on{box-shadow:0 0 0 1.5px var(--c-t1),0 18px 40px -24px rgba(16,18,20,.3)}
.gcl-page .gcl-get__corner{position:absolute;z-index:1;right:20px;top:20px;padding:3px 8px;border:1px solid rgba(29,82,64,.3);border-radius:5px;background:rgba(255,255,255,.8);
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--gm-ink)}
.gcl-page .gcl-get__row{display:flex;gap:22px;align-items:center;width:100%;padding-right:64px}
.gcl-page .gcl-get h4{margin:8px 0 0;font-size:21px;font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--c-t1)}
.gcl-page .gcl-get__who{margin-top:6px;color:var(--c-t2);font-size:15px}
.gcl-page .gcl-get__thumb{position:relative;width:132px;flex:none;padding:20px 0 0 20px}
.gcl-page .gcl-get__img{display:block}
.gcl-page .gcl-get__img img{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 0 0 1px var(--c-edge-2),0 10px 18px -12px rgba(16,18,20,.4)}
.gcl-page .gcl-get__note{margin:16px 0 18px;font-size:14px;color:var(--c-t2)}
.gcl-page .gcl-get .gcl-tlink{margin-top:auto;font-size:15px}
/* размерные линии чертежа: синие, с засечками на концах */
.gcl-page .gcl-dim{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--c-measure);font-family:var(--font-mono);font-size:10.5px;line-height:1;pointer-events:none}
.gcl-page .gcl-dim::before{content:"";position:absolute;background:currentColor}
.gcl-page .gcl-dim b{position:relative;font-weight:500;white-space:nowrap;background:var(--c-surface)}
.gcl-page .gcl-dim--x{left:20px;right:0;top:3px;height:11px;border-inline:1px solid}
.gcl-page .gcl-dim--x::before{left:0;right:0;top:50%;height:1px}
.gcl-page .gcl-dim--x b{padding:0 4px}
.gcl-page .gcl-dim--y{left:3px;top:20px;bottom:0;width:11px;border-block:1px solid}
.gcl-page .gcl-dim--y::before{top:0;bottom:0;left:50%;width:1px}
.gcl-page .gcl-dim--y b{writing-mode:vertical-rl;transform:rotate(180deg);padding:4px 0}
/* лист 10 × 15 см: на нём помещаются ровно два фото 51 × 51 мм — одно под другим (поле 2 мм, src/lib/print-pack.js) */
.gcl-page .gcl-sheet{position:relative;flex:none;width:96px;padding-top:20px}
.gcl-page .gcl-sheet .gcl-dim--x{left:calc(50% - 24.5px);right:auto;width:49px}
.gcl-page .gcl-sheet__p{position:relative;display:grid;justify-items:center;align-content:start;width:96px;aspect-ratio:2/3;padding-top:2px;background:#fff;
  box-shadow:0 0 0 1px var(--c-edge-2),0 12px 20px -12px rgba(16,18,20,.4)}
.gcl-page .gcl-sheet__ph{display:grid;width:51%}
.gcl-page .gcl-sheet__ph img{width:100%;aspect-ratio:1;object-fit:cover;outline:1px dashed rgba(16,18,20,.32);outline-offset:-.5px}
.gcl-page .gcl-sheet__l{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-family:var(--font-mono);font-size:9.5px;color:var(--gcl-t3);white-space:nowrap}
/* табличка файла: имя, вес — полоской до потолка 240 КБ, «проходит» */
.gcl-page .gcl-file{display:grid;grid-template-columns:auto auto minmax(48px,1fr) auto auto;grid-template-areas:"ic n bar s ok";align-items:center;gap:10px;width:100%;margin-top:18px;padding:10px 12px;
  border-radius:10px;background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.14);font-size:13px}
.gcl-page .gcl-file__ic{grid-area:ic;display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#fff;color:var(--gm-ink);box-shadow:0 0 0 1px rgba(29,82,64,.14)}
.gcl-page .gcl-file__ic .gcl-ic{width:16px;height:16px}
.gcl-page .gcl-file__n{grid-area:n;font-family:var(--font-mono);font-weight:500;letter-spacing:.02em}
.gcl-page .gcl-file__bar{grid-area:bar;height:6px;border-radius:3px;background:rgba(29,82,64,.12);overflow:hidden}
.gcl-page .gcl-file__bar i{display:block;width:89%;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gm-4),var(--c-good));transition:width 1.4s var(--ease) .2s}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-file:not(.is-in) .gcl-file__bar i{width:0}
.gcl-page .gcl-file__s{grid-area:s;font-size:12.5px;color:var(--c-t2);white-space:nowrap}
.gcl-page .gcl-file__ok{grid-area:ok;display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;border-radius:6px;background:rgba(47,122,69,.1);color:#22663A;font-size:12.5px;font-weight:500;white-space:nowrap}
.gcl-page .gcl-file__ok .gcl-ic{width:14px;height:14px}
@media (max-width:1100px){.gcl-page .gcl-file{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ic n ok" "bar bar s";row-gap:8px}}
@media (max-width:820px){.gcl-page .gcl-gets{grid-template-columns:1fr}.gcl-page .gcl-get{padding:22px 20px}.gcl-page .gcl-get__thumb{width:108px}.gcl-page .gcl-get__row{gap:18px;padding-right:0}.gcl-page .gcl-get__corner{top:14px;right:14px}.gcl-page .gcl-h3{margin-top:36px}}

/* 02 что исправит: селфи с выносками */
.gcl-page .gcl-errs{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:48px;align-items:center}
.gcl-page .gcl-ep-box{min-width:0}
.gcl-page .gcl-ep{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:repeating-linear-gradient(135deg,#EFEFEC 0 8px,#E7E7E3 8px 9px);
  box-shadow:0 0 0 1px var(--c-edge-2),0 30px 60px -36px rgba(16,18,20,.4)}
.gcl-page .gcl-ep img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* «как есть → после нейросети» (владелец 29.10: «кривая анимация до/после»): шторка ехала от широкого селфи к плотному
   кадру — посередине два лица разного размера. Теперь селфи сначала «наезжает» на кадр будущего фото — участок селфи
   15,91 % / 14,55 % / 76,36 % совпадает с готовым фото (подбор по яркости, расхождение 5,7 из 255), — и лицо встаёт на
   своё место; затем сверху вниз проходит сканер и проявляет готовое фото: фон, свет, очки. Обратно — в обратном порядке. */
.gcl-page .gcl-ep .gcl-ep__b{object-fit:contain;transform-origin:0 0;transition:transform .9s var(--ease) .25s}
.gcl-page .gcl-errs.is-fixed .gcl-ep__b{transform:scale(1.3096) translate(-15.91%,-14.55%);transition-delay:.2s}
.gcl-page .gcl-ep .gcl-ep__a{clip-path:inset(0 0 100% 0);transition:clip-path .45s var(--ease)}
.gcl-page .gcl-errs.is-fixed .gcl-ep__a{clip-path:inset(0);transition:clip-path 1.2s var(--ease) 1.1s}
.gcl-page .gcl-ep__edge{z-index:1;inset:0;opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-errs.is-fixed .gcl-ep__edge{animation:gcl-edge 1.2s var(--ease) 1.1s both}
@keyframes gcl-edge{0%{transform:translateY(0);opacity:1}90%{opacity:1}100%{transform:translateY(100%);opacity:0}}
/* уголки видоискателя */
.gcl-page .gcl-ep__vf{position:absolute;z-index:1;inset:12px;pointer-events:none;opacity:.9;filter:drop-shadow(0 0 1px rgba(0,0,0,.4));background-repeat:no-repeat;
  background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);
  background-size:22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px;
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}
.gcl-page .gcl-pin{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;background:var(--c-bad);color:#fff;
  font-family:var(--font-mono);font-size:13px;font-weight:600;box-shadow:0 0 0 3px rgba(255,255,255,.92),0 6px 14px -4px rgba(0,0,0,.4);transition:background .4s}
.gcl-page .gcl-pin::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--c-bad);opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-errs:not(.is-fixed) .gcl-pin::after{animation:gcl-ping 2.4s var(--ease) calc(var(--i,0) * .35s) infinite}
.gcl-page .gcl-pin{transition:background .4s,opacity .3s var(--ease),transform .3s var(--ease)}
.gcl-page .gcl-errs.is-fixed .gcl-pin{opacity:0;transform:scale(.6)}
.gcl-page .gcl-ep__vf{transition:opacity .4s var(--ease)}
.gcl-page .gcl-errs.is-fixed .gcl-ep__vf{opacity:0}
/* штамп на снимке: «5 ошибок» — до, «по правилам DV» — после */
.gcl-page .gcl-ep__stamp{position:absolute;z-index:3;left:18px;bottom:18px;padding:6px 12px;border:2px solid currentColor;border-radius:6px;background:rgba(255,255,255,.88);
  font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-6deg);transition:opacity .35s,transform .5s var(--spring)}
.gcl-page .gcl-ep__stamp--b{color:var(--c-bad)}
.gcl-page .gcl-ep__stamp--a{color:var(--c-good);opacity:0;transform:rotate(-6deg) scale(1.35)}
.gcl-page .gcl-errs.is-fixed .gcl-ep__stamp--b{opacity:0}
.gcl-page .gcl-errs.is-fixed .gcl-ep__stamp--a{opacity:1;transform:rotate(-6deg);transition-delay:2.3s}
.gcl-page .gcl-ep__file{display:grid;margin-top:12px;font-family:var(--font-mono);font-size:12.5px;color:var(--c-t2)}
.gcl-page .gcl-ep__file span{grid-area:1/1;display:inline-flex;align-items:center;gap:8px;transition:opacity .4s}
.gcl-page .gcl-ep__file span::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--c-bad)}
.gcl-page .gcl-ep__file .a{opacity:0}
.gcl-page .gcl-ep__file .a::before{background:var(--c-good)}
.gcl-page .gcl-errs.is-fixed .gcl-ep__file .b{opacity:0;transition-delay:1.4s}
.gcl-page .gcl-errs.is-fixed .gcl-ep__file .a{opacity:1;transition-delay:1.6s}
.gcl-page .gcl-elist{display:grid;gap:14px}
.gcl-page .gcl-elist li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start}
.gcl-page .gcl-elist .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(180,64,44,.09);color:var(--c-bad);font-family:var(--font-mono);font-size:13px;font-weight:600;transition:background .4s,color .4s}
.gcl-page .gcl-errs.is-fixed .gcl-elist .n{background:rgba(47,122,69,.1);color:var(--c-good)}
/* исправленная ошибка зачёркивается, под ней — что сделала нейросеть; по очереди сверху вниз */
.gcl-page .gcl-elist b{display:table;font-size:17px;background:linear-gradient(currentColor,currentColor) 0 58%/0 1.5px no-repeat;transition:background-size .5s var(--ease),color .4s}
.gcl-page .gcl-errs.is-fixed .gcl-elist b{background-size:100% 1.5px;color:var(--c-t2);transition-delay:calc(var(--i,0) * .12s)}
.gcl-page .gcl-elist span{font-size:15px;color:var(--c-t2)}
.gcl-page .gcl-elist .fx{display:block;margin-top:2px;color:var(--c-good);font-weight:500;opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s}
.gcl-page .gcl-errs.is-fixed .gcl-elist .fx{opacity:1;transform:none;transition-delay:calc(var(--i,0) * .12s + .2s)}
.gcl-page .gcl-etoggle{margin-top:24px;display:inline-flex;padding:4px;border-radius:12px;background:rgba(16,18,20,.06)}
.gcl-page .gcl-etoggle button{border:0;background:none;padding:9px 16px;border-radius:9px;font-size:15px;font-weight:500;color:var(--c-t2);cursor:pointer}
.gcl-page .gcl-etoggle button[aria-pressed="true"]{background:var(--c-surface);color:var(--c-t1);box-shadow:0 0 0 1px var(--c-edge)}
@media (max-width:860px){.gcl-page .gcl-errs{grid-template-columns:1fr;gap:26px}.gcl-page .gcl-ep-box{max-width:440px}}

/* 03 как сделать: шаги слева, весь путь — в одном телефоне справа (камера → сайт и нейросеть → результат) */
.gcl-page .gcl-howx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:56px;align-items:center;--dur:4.6s}
.gcl-page .gcl-howx__steps{display:grid;gap:10px;counter-reset:none}
.gcl-page .gcl-howx__st{position:relative;padding:18px 22px 20px 22px;border-radius:16px;transition:background .35s var(--ease),box-shadow .35s var(--ease)}
.gcl-page .gcl-howx__st.is-on{background:var(--c-surface);box-shadow:0 0 0 1px rgba(29,82,64,.16),0 18px 36px -28px rgba(14,44,34,.5)}
.gcl-page .gcl-howx__st h3{font-size:19px}
.gcl-page .gcl-howx__btn{display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;font:inherit;font-weight:600;color:inherit;text-align:left;cursor:pointer}
.gcl-page .gcl-howx__btn i{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;font-style:normal;font-family:var(--font-mono);font-size:12px;font-weight:600;
  color:var(--gm-ink);background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.2);transition:background .3s,color .3s}
.gcl-page .gcl-howx__st.is-on .gcl-howx__btn i{background:var(--gm-ink);color:#fff}
.gcl-page .gcl-howx__btn:focus-visible{outline:2px solid var(--c-t1);outline-offset:4px;border-radius:6px}
.gcl-page .gcl-howx__st p{margin:8px 0 0 42px;font-size:15.5px;color:var(--c-t2);transition:color .3s}
.gcl-page .gcl-howx__st:not(.is-on) p{color:var(--gcl-t3)}
.gcl-page .gcl-howx__meta{display:inline-block;margin:10px 0 0 42px;padding:3px 9px;border-radius:6px;background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.14);
  font-family:var(--font-mono);font-size:12px;color:var(--gm-ink)}
/* полоса времени шага: заполняется, пока телефон показывает его экран */
.gcl-page .gcl-howx__bar{position:absolute;left:22px;right:22px;bottom:0;height:2px;border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s}
.gcl-page .gcl-howx__bar i{display:block;height:100%;width:100%;background:var(--gm-4);transform-origin:0 50%;transform:scaleX(0)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-howx.is-play .gcl-howx__st.is-on .gcl-howx__bar{opacity:1}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-howx.is-play .gcl-howx__st.is-on .gcl-howx__bar i{animation:gcl-stepbar var(--dur) linear forwards}
@keyframes gcl-stepbar{to{transform:scaleX(1)}}
.gcl-page .gcl-howx__stage{position:relative;isolation:isolate;display:grid;place-items:center;min-height:440px;padding:24px 0;border-radius:16px;
  background:linear-gradient(160deg,var(--gm-0),#fff);box-shadow:inset 0 0 0 1px rgba(29,82,64,.12)}
.gcl-page .gcl-howx__stage::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:.6;
  background-image:linear-gradient(rgba(45,91,216,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(45,91,216,.06) 1px,transparent 1px);background-size:18px 18px}
.gcl-page .gcl-howx__ro{position:absolute;z-index:-1;left:50%;top:50%;width:440px;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 45%,transparent 97%);mask:radial-gradient(closest-side,#000 45%,transparent 97%)}
.gcl-page .gcl-howx__ro .ro{fill:none;stroke:var(--gm-3);stroke-width:.7;opacity:.55}
.gcl-page .gcl-howx__ro .ro2{fill:none;stroke:var(--gm-3);stroke-width:.6;opacity:.38}
@media (max-width:900px){
  .gcl-page .gcl-howx{grid-template-columns:1fr;gap:20px}
  .gcl-page .gcl-howx__stage{order:-1;min-height:0;padding:22px 0}
  .gcl-page .gcl-howx__ro{width:320px}
  .gcl-page .gcl-howx__st{padding:14px 16px 16px}
  .gcl-page .gcl-howx__st p,.gcl-page .gcl-howx__meta{margin-left:42px}
  .gcl-page .gcl-howx__bar{left:16px;right:16px}
}

/* телефон — всё в em от font-size (10px — базовый размер): корпус с кнопками, «остров», экран со сценами */
.gcl-page .gcl-phone{position:relative;width:11em;height:23.2em;padding:.45em;border-radius:2.3em;font-size:15px;
  background:linear-gradient(145deg,#3A3F45 0%,#1B1E22 38%,#0E1013 100%);
  box-shadow:inset 0 0 0 .1em #5B6168,0 0 0 .2em #24282C,0 2.4em 3.4em -1.8em rgba(16,18,20,.7),0 .8em 1.2em -.8em rgba(16,18,20,.45)}
.gcl-page .gcl-phone__key{position:absolute;left:-.27em;width:.28em;border-radius:.2em 0 0 .2em;background:linear-gradient(90deg,#2A2E33,#4E545B)}
.gcl-page .gcl-phone__key--act{top:4.4em;height:1.5em}
.gcl-page .gcl-phone__key--up{top:6.8em;height:2.6em}
.gcl-page .gcl-phone__key--dn{top:9.8em;height:2.6em}
.gcl-page .gcl-phone__key--pw{left:auto;right:-.27em;top:7.4em;height:4em;border-radius:0 .2em .2em 0;background:linear-gradient(270deg,#2A2E33,#4E545B)}
.gcl-page .gcl-phone__scr{position:relative;height:100%;border-radius:1.9em;overflow:hidden;background:#000;color:#fff}
.gcl-page .gcl-phone__top{position:relative;display:flex;align-items:center;justify-content:space-between;height:2.2em;padding:0 1.05em 0 1.35em}
.gcl-page .gcl-phone__top b{font-family:var(--font-sans);font-size:.78em;font-weight:600;letter-spacing:.01em}
.gcl-page .gcl-phone__top--light{color:var(--c-t1)}
.gcl-page .gcl-phone__island{position:absolute;left:50%;top:.5em;width:3.4em;height:1.05em;margin-left:-1.7em;border-radius:1em;background:#000;box-shadow:0 0 0 .07em #1C1C1C}
.gcl-page .gcl-phone__island::after{content:"";position:absolute;right:.32em;top:.3em;width:.45em;height:.45em;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3B4A6B,#0B0D14 70%)}
.gcl-page .gcl-phone__st{display:flex;align-items:center;gap:.32em}
.gcl-page .gcl-phone__sig{display:flex;align-items:flex-end;gap:.1em;height:.62em}
.gcl-page .gcl-phone__sig i{width:.15em;border-radius:.05em;background:currentColor}
.gcl-page .gcl-phone__sig i:nth-child(1){height:32%}.gcl-page .gcl-phone__sig i:nth-child(2){height:56%}.gcl-page .gcl-phone__sig i:nth-child(3){height:80%}.gcl-page .gcl-phone__sig i:nth-child(4){height:100%}
.gcl-page .gcl-phone__bat{position:relative;box-sizing:border-box;width:1.2em;height:.58em;padding:.07em;border:.07em solid currentColor;border-radius:.18em;opacity:.9}
.gcl-page .gcl-phone__bat::before{content:"";display:block;width:76%;height:100%;border-radius:.06em;background:currentColor}
.gcl-page .gcl-phone__bat::after{content:"";position:absolute;right:-.2em;top:.12em;width:.1em;height:.2em;border-radius:0 .1em .1em 0;background:currentColor;opacity:.6}
.gcl-page .gcl-phone__home{position:absolute;z-index:5;left:50%;bottom:.32em;width:3.6em;height:.22em;margin-left:-1.8em;border-radius:1em;background:rgba(255,255,255,.85);transition:background .3s}
.gcl-page .gcl-demo:not([data-stage="1"]) .gcl-phone__home{background:rgba(16,18,20,.8)}
.gcl-page .gcl-phone__glare{position:absolute;inset:.45em;border-radius:1.9em;pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 72%,rgba(255,255,255,.06) 100%)}
/* сцены: видна одна, следующая въезжает справа */
.gcl-page .gcl-ps{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(14%);transition:opacity .35s var(--ease),transform .45s var(--ease),visibility 0s .45s}
.gcl-page .gcl-demo[data-stage="1"] .gcl-ps--cam,.gcl-page .gcl-demo[data-stage="2"] .gcl-ps--gen,.gcl-page .gcl-demo[data-stage="3"] .gcl-ps--res{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .45s var(--ease)}

/* сцена 1 — камера: видоискатель 3 : 4, сетка, жёлтая рамка фокуса, режимы, затвор ~20 % ширины, как у iPhone */
.gcl-page .gcl-ps--cam{display:grid;grid-template-rows:2.2em auto 1.7em 1fr;background:#000}
.gcl-page .gcl-phone__vf{position:relative;aspect-ratio:3/4;overflow:hidden;background:#222}
.gcl-page .gcl-phone__vf img{display:block;width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-phone__grid{position:absolute;inset:0;opacity:.5;
  background:linear-gradient(90deg,transparent calc(33.3% - .5px),rgba(255,255,255,.5) 0 calc(33.3% + .5px),transparent 0 calc(66.6% - .5px),rgba(255,255,255,.5) 0 calc(66.6% + .5px),transparent 0),
    linear-gradient(transparent calc(33.3% - .5px),rgba(255,255,255,.5) 0 calc(33.3% + .5px),transparent 0 calc(66.6% - .5px),rgba(255,255,255,.5) 0 calc(66.6% + .5px),transparent 0)}
.gcl-page .gcl-phone__focus{position:absolute;left:31%;top:25%;width:38%;aspect-ratio:1;border:.1em solid #FFD60A;
  background:linear-gradient(#FFD60A,#FFD60A) 50% 0/.1em .45em,linear-gradient(#FFD60A,#FFD60A) 50% 100%/.1em .45em,
    linear-gradient(#FFD60A,#FFD60A) 0 50%/.45em .1em,linear-gradient(#FFD60A,#FFD60A) 100% 50%/.45em .1em;background-repeat:no-repeat}
.gcl-page .gcl-phone__zoom{position:absolute;left:50%;bottom:.55em;display:grid;place-items:center;width:2.9em;height:2.9em;margin-left:-1.45em;border-radius:50%;
  background:rgba(0,0,0,.42);color:#FFD60A;font-family:var(--font-sans);font-size:.6em;font-weight:700}
.gcl-page .gcl-phone__flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.gcl-page .gcl-phone__modes{display:flex;justify-content:center;align-items:center;gap:1.2em;font-family:var(--font-sans);font-size:.56em;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.gcl-page .gcl-phone__modes b{color:#FFD60A;font-weight:700}
.gcl-page .gcl-phone__ctl{display:flex;align-items:center;justify-content:space-between;padding:0 1.25em 1.1em}
.gcl-page .gcl-phone__thumb{width:1.95em;height:1.95em;border-radius:.35em;overflow:hidden;box-shadow:0 0 0 .09em rgba(255,255,255,.45)}
.gcl-page .gcl-phone__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-phone__shut{position:relative;width:2.75em;height:2.75em;border-radius:50%;box-shadow:inset 0 0 0 .2em #fff}
.gcl-page .gcl-phone__shut::after{content:"";position:absolute;inset:.36em;border-radius:50%;background:#fff}
.gcl-page .gcl-phone__flip{display:grid;place-items:center;width:1.95em;height:1.95em;border-radius:50%;background:rgba(255,255,255,.14)}
.gcl-page .gcl-phone__flip svg{width:1.1em;height:1.1em;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="1"] .gcl-phone__focus{animation:gcl-focus var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="1"] .gcl-phone__shut::after{animation:gcl-shut var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="1"] .gcl-phone__flash{animation:gcl-flash var(--dur) ease-out both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="1"] .gcl-phone__thumb{animation:gcl-thumb var(--dur) var(--spring) both}
@keyframes gcl-focus{0%,6%{opacity:0;transform:scale(1.45)}18%{opacity:1;transform:scale(1)}24%{transform:scale(1.07)}30%,100%{opacity:1;transform:scale(1)}}
@keyframes gcl-shut{0%,55%,66%,100%{transform:none}59%{transform:scale(.82)}}
@keyframes gcl-flash{0%,58%{opacity:0}61%{opacity:.9}74%,100%{opacity:0}}
@keyframes gcl-thumb{0%,62%,80%,100%{transform:none}70%{transform:scale(1.25)}}

/* сцена 2 — сайт anfas.pro: селфи проявляется в фото по правилам, встают линии, галочки по пунктам */
.gcl-page .gcl-web{display:flex;justify-content:center;padding:0 .9em .5em}
.gcl-page .gcl-web__url{display:flex;align-items:center;justify-content:center;gap:.35em;width:100%;height:1.75em;border-radius:.6em;background:#EEF0EF;color:var(--c-t2);font-family:var(--font-sans);font-size:.62em;font-weight:500}
.gcl-page .gcl-web__url svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gcl-page .gcl-ps--gen,.gcl-page .gcl-ps--res{display:flex;flex-direction:column;background:var(--c-surface);color:var(--c-t1)}
.gcl-page .gcl-gen,.gcl-page .gcl-res{display:grid;justify-items:center;align-content:start;gap:.6em;padding:.6em .9em 0}
.gcl-page .gcl-gen__k{font-family:var(--font-mono);font-size:.52em;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-ink)}
.gcl-page .gcl-gen__ph,.gcl-page .gcl-res__ph{position:relative;width:7.8em;aspect-ratio:1;overflow:hidden;background:#fff;box-shadow:0 0 0 .07em rgba(16,18,20,.2),0 .5em 1em -.6em rgba(16,18,20,.5)}
.gcl-page .gcl-gen__ph img,.gcl-page .gcl-res__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-gen__a{position:absolute;inset:0;clip-path:inset(0)}
.gcl-page .gcl-gen__scan{inset:0;opacity:0}
.gcl-page .gcl-gen__g{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gcl-page .gcl-gen__g path{fill:none;stroke:var(--c-measure);vector-effect:non-scaling-stroke}
.gcl-page .gcl-gen__g .dim{stroke-width:1}
.gcl-page .gcl-gen__g .ext{stroke-width:.75;stroke-opacity:.6}
.gcl-page .gcl-gen__g .ax{stroke-width:.9;stroke-opacity:.8;stroke-dasharray:6 2 1.5 2}
.gcl-page .gcl-gen__t{display:flex;align-items:baseline;font-family:var(--font-sans);font-size:.6em;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.gcl-page .gcl-gen__t i{display:inline-block;width:1em;font-style:normal}
.gcl-page .gcl-gen__t i::after{content:"…"}
.gcl-page .gcl-gen__ck{display:grid;gap:.28em;justify-self:stretch;padding:0 .4em}
.gcl-page .gcl-gen__ck li{display:flex;align-items:center;gap:.4em;font-family:var(--font-sans);font-size:.6em;color:var(--c-t2)}
.gcl-page .gcl-gen__ck .gcl-ic{width:1.25em;height:1.25em;color:var(--c-good)}
.gcl-page .gcl-gen__ck .gcl-num{color:var(--c-measure)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="2"] .gcl-gen__a{animation:gcl-gen-a var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="2"] .gcl-gen__scan{animation:gcl-gen-scan var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="2"] .gcl-gen__g path{animation:gcl-gen-g var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="2"] .gcl-gen__ck li{animation:gcl-gen-ck .4s var(--ease) calc(1.1s + var(--i) * .45s) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="2"] .gcl-gen__t i::after{animation:gcl-dots 1s steps(1) infinite}
@keyframes gcl-gen-a{0%,12%{clip-path:inset(0 0 100% 0)}52%,100%{clip-path:inset(0)}}
@keyframes gcl-gen-scan{0%,12%{transform:translateY(0);opacity:0}14%{opacity:1}50%{transform:translateY(100%);opacity:1}54%,100%{transform:translateY(100%);opacity:0}}
@keyframes gcl-gen-g{0%,54%{opacity:0}66%,100%{opacity:1}}
@keyframes gcl-gen-ck{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:none}}
@keyframes gcl-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"…"}}

/* сцена 3 — результат: размер, файл, две кнопки, нажатие «Скачать», «сохранён» */
.gcl-page .gcl-res__ok{display:inline-flex;align-items:center;gap:.3em;font-family:var(--font-sans);font-size:.74em;font-weight:600;color:var(--c-good)}
.gcl-page .gcl-res__ok .gcl-ic{width:1.2em;height:1.2em}
.gcl-page .gcl-res__dim{position:absolute;left:0;right:0;bottom:0;height:1.3em;display:flex;align-items:center;justify-content:center;background:linear-gradient(transparent,rgba(255,255,255,.85))}
.gcl-page .gcl-res__dim b{font-family:var(--font-mono);font-size:.5em;font-weight:500;color:var(--c-measure)}
.gcl-page .gcl-res__meta{font-family:var(--font-sans);font-size:.56em;color:var(--c-t2)}
.gcl-page .gcl-res__meta .gcl-num{color:var(--c-measure)}
.gcl-page .gcl-res__btn{display:flex;align-items:center;justify-content:center;gap:.35em;justify-self:stretch;height:2.5em;border-radius:.7em;font-family:var(--font-sans);font-size:.64em;font-weight:600}
.gcl-page .gcl-res__btn--free{box-shadow:inset 0 0 0 .09em var(--c-edge-2);color:var(--c-t1)}
.gcl-page .gcl-res__btn--pay{color:#fff;background:linear-gradient(180deg,#3C9E68 0%,#23804F 56%,#1B6A41 100%);box-shadow:inset 0 .08em 0 rgba(255,255,255,.3)}
.gcl-page .gcl-res__btn .gcl-ic{width:1.2em;height:1.2em}
.gcl-page .gcl-res{position:relative}
.gcl-page .gcl-res__tap{position:absolute;left:62%;bottom:.9em;width:2.4em;height:2.4em;margin:-1.2em 0 0 -1.2em;border-radius:50%;background:rgba(16,18,20,.18);opacity:0;pointer-events:none}
.gcl-page .gcl-res__toast{position:absolute;left:.9em;right:.9em;top:.3em;display:flex;align-items:center;justify-content:center;gap:.3em;height:2.1em;border-radius:.7em;
  background:var(--gm-deep);color:#E6F2EA;font-family:var(--font-sans);font-size:.6em;font-weight:500;opacity:0;transform:translateY(-.6em)}
.gcl-page .gcl-res__toast .gcl-ic{width:1.2em;height:1.2em;color:#8FE0B4}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="3"] .gcl-res__tap{animation:gcl-tap var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="3"] .gcl-res__btn--pay{animation:gcl-press var(--dur) var(--ease) both}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-demo[data-stage="3"] .gcl-res__toast{animation:gcl-toast var(--dur) var(--spring) both}
@keyframes gcl-tap{0%,44%{opacity:0;transform:scale(.4)}48%{opacity:1;transform:scale(1)}58%,100%{opacity:0;transform:scale(1.5)}}
@keyframes gcl-press{0%,45%,54%,100%{transform:none}48%{transform:scale(.96)}}
@keyframes gcl-toast{0%,56%{opacity:0;transform:translateY(-.6em)}64%,100%{opacity:1;transform:none}}
@media (max-width:900px){.gcl-page .gcl-phone{font-size:13.5px}}
@media (max-width:380px){.gcl-page .gcl-phone{font-size:12.5px}}

/* 05 что ещё нужно для анкеты DV-2027: семья, скан паспорта, срок — три блока одного раздела */
.gcl-page .gcl-blks{display:grid;gap:16px}
.gcl-page .gcl-blk{position:relative;display:grid;gap:40px;align-items:center;padding:32px;border-radius:16px;background:var(--c-surface);box-shadow:0 0 0 1px var(--c-edge)}
.gcl-page .gcl-blk--fam{grid-template-columns:minmax(0,1fr) minmax(0,460px)}
.gcl-page .gcl-blk--scan{grid-template-columns:auto minmax(0,1fr)}
.gcl-page .gcl-blk--date{grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:26px 32px;background:linear-gradient(118deg,#fff 0%,var(--gm-0) 70%,var(--gm-peach) 150%)}
.gcl-page .gcl-blk__h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.gcl-page .gcl-blk__ic{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--gm-1);color:var(--gm-ink);box-shadow:inset 0 0 0 1px rgba(29,82,64,.14)}
.gcl-page .gcl-blk__ic .gcl-ic{width:19px;height:19px}
.gcl-page .gcl-blk h3{font-size:23px;line-height:1.2}
.gcl-page .gcl-blk__t>p{margin-top:10px;max-width:34em;font-size:16px;color:var(--c-t2)}
.gcl-page .gcl-blk__t>.gcl-tlink{margin-top:18px}
.gcl-page .gcl-blk--fam .gcl-ghost{margin-top:20px}
.gcl-page .gcl-blk__aside{display:grid;justify-items:center;gap:16px}
@media (max-width:900px){
  .gcl-page .gcl-blk,.gcl-page .gcl-blk--fam,.gcl-page .gcl-blk--scan{grid-template-columns:1fr;gap:24px;padding:24px 20px}
  .gcl-page .gcl-blk--date{grid-template-columns:1fr;gap:16px;padding:22px 20px}
  .gcl-page .gcl-blk__aside{justify-items:start}
}
/* семья: веер маленьких бланков */
.gcl-page .gcl-prog{display:flex;align-items:center;gap:12px;margin-top:18px;font-family:var(--font-mono);font-size:12.5px;color:var(--gm-ink)}
.gcl-page .gcl-prog__bar{display:inline-grid;grid-template-columns:repeat(3,30px);gap:4px}
.gcl-page .gcl-prog__bar i{height:6px;border-radius:3px;background:rgba(29,82,64,.15)}
.gcl-page .gcl-prog__bar i.on{background:var(--c-good)}
.gcl-page .gcl-quote{margin-top:22px;padding:16px 18px;border-left:2px solid var(--c-measure);background:var(--c-surface);border-radius:0 12px 12px 0;font-size:15px;color:var(--c-t2)}
.gcl-page .gcl-quote q{display:block;color:var(--c-t1);font-style:italic;quotes:"«" "»"}
.gcl-page .gcl-quote p{margin-top:6px}
.gcl-page .gcl-quote cite{display:block;margin-top:8px;font-style:normal;font-family:var(--font-mono);font-size:12px;color:var(--gcl-t3)}
.gcl-page .gcl-fan{position:relative;height:340px}
.gcl-page .gcl-mc{position:absolute;left:50%;top:50%;width:300px;aspect-ratio:85.6/54;margin:-95px 0 0 -150px;border-radius:6px;overflow:hidden;container-type:inline-size;
  background:linear-gradient(118deg,#ECF5EE 0%,#DCEDE1 50%,var(--gm-peach) 100%);box-shadow:0 0 0 1px rgba(29,82,64,.2),0 24px 40px -24px rgba(14,44,34,.5);transition:transform .8s var(--spring)}
.gcl-page .gcl-mc svg.g{position:absolute;inset:0;width:100%;height:100%}
.gcl-page .gcl-mc .ro{fill:none;stroke:var(--gm-3);stroke-width:.6;opacity:.7}
.gcl-page .gcl-mc .band{fill:none;stroke:var(--gm-4);stroke-width:.5;opacity:.25}
.gcl-page .gcl-mc__h{position:absolute;left:6%;top:7%;display:flex;align-items:center;gap:1.8cqw;font-size:4.6cqw;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gm-ink)}
.gcl-page .gcl-mc__h img{width:5.6cqw;height:auto;border-radius:.4cqw;box-shadow:0 0 0 1px rgba(16,18,20,.14)}
.gcl-page .gcl-mc__who{position:absolute;left:44%;top:30%;display:grid;gap:1.4cqw}
.gcl-page .gcl-mc__who b{font-size:5.4cqw;font-weight:600}
.gcl-page .gcl-mc__who span{font-family:var(--font-mono);font-size:3.4cqw;color:var(--gm-ink)}
.gcl-page .gcl-mc__ph{position:absolute;left:6%;top:27%;width:32%;aspect-ratio:1;background:#fff;box-shadow:0 0 0 1px rgba(16,18,20,.2);display:grid;place-items:center;color:var(--gm-3);overflow:hidden}
.gcl-page .gcl-mc__ph img{width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-mc__ph--e{background:repeating-linear-gradient(135deg,#fff 0 6px,var(--gm-0) 6px 7px)}
.gcl-page .gcl-mc__ph svg{width:42%;height:42%}
.gcl-page .gcl-mc__mrz{position:absolute;left:0;right:0;bottom:0;height:15%;display:flex;align-items:center;padding:0 6%;background:rgba(255,255,255,.66);font-family:var(--font-mono);font-size:3.2cqw;letter-spacing:.15em;color:#2A3B34;white-space:nowrap;overflow:hidden}
.gcl-page .gcl-mc__ok{position:absolute;right:6%;top:7%;display:inline-flex;align-items:center;gap:1cqw;font-size:3.7cqw;font-weight:600;color:var(--c-good)}
.gcl-page .gcl-mc__ok .gcl-ic{width:4.4cqw;height:4.4cqw}
.gcl-page .gcl-mc__add{position:absolute;right:6%;top:6%;height:9.5cqw;display:inline-flex;align-items:center;gap:1cqw;padding:0 3cqw;border-radius:2.4cqw;border:1px solid rgba(16,18,20,.25);background:#fff;font-size:3.7cqw;font-weight:600;cursor:pointer}
.gcl-page .gcl-mc__add:hover{border-color:var(--c-t1)}
.gcl-page .gcl-mc:nth-child(1){z-index:3;transform:translate(-14px,-8px) rotate(-3deg)}
.gcl-page .gcl-mc:nth-child(2){z-index:2;transform:translate(6px,-2px) rotate(1deg)}
.gcl-page .gcl-mc:nth-child(3){z-index:1;transform:translate(22px,10px) rotate(4deg)}
.gcl-page .gcl-fan.is-in .gcl-mc:nth-child(1){transform:translate(-112px,-24px) rotate(-8deg)}
.gcl-page .gcl-fan.is-in .gcl-mc:nth-child(2){transform:translate(40px,-52px) rotate(3deg)}
.gcl-page .gcl-fan.is-in .gcl-mc:nth-child(3){transform:translate(84px,62px) rotate(9deg)}
@media (max-width:900px){
  .gcl-page .gcl-fan{height:290px}.gcl-page .gcl-mc{width:240px;margin:-76px 0 0 -120px}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(1){transform:translate(-44px,-46px) rotate(-6deg)}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(2){transform:translate(22px,-2px) rotate(2deg)}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(3){transform:translate(46px,50px) rotate(7deg)}
}
@media (max-width:560px){
  .gcl-page .gcl-fan{height:260px}.gcl-page .gcl-mc{width:208px;margin:-66px 0 0 -104px}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(1){transform:translate(-46px,-40px) rotate(-6deg)}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(2){transform:translate(8px,-2px) rotate(2deg)}
  .gcl-page .gcl-fan.is-in .gcl-mc:nth-child(3){transform:translate(34px,44px) rotate(6deg)}
}

/* скан паспорта: страница-образец под рамкой сканера */
.gcl-page .gcl-pp{position:relative;width:250px;flex:none;padding:16px 14px 12px}
.gcl-page .gcl-pp__spread{position:absolute;left:20px;right:22px;top:2px;height:50%;border-radius:7px;transform:rotate(-2.5deg);
  background:repeating-linear-gradient(90deg,rgba(94,148,113,.12) 0 1px,transparent 1px 5px),linear-gradient(160deg,#E8EEF6,#DCE4EF);box-shadow:0 0 0 1px rgba(16,18,20,.12)}
.gcl-page .gcl-pp__page{position:relative;display:block;aspect-ratio:125/88;border-radius:6px;overflow:hidden;container-type:inline-size;
  background:radial-gradient(70% 90% at 82% 30%,rgba(203,224,209,.75),transparent 70%),linear-gradient(160deg,#F6F4EC,#E9EEE6);
  box-shadow:0 0 0 1px rgba(16,18,20,.16),0 16px 28px -18px rgba(16,18,20,.5)}
.gcl-page .gcl-pp__page::before{content:"";position:absolute;inset:0;opacity:.6;
  background:repeating-radial-gradient(circle at 78% 34%,transparent 0 5px,rgba(94,148,113,.18) 5px 5.6px)}
.gcl-page .gcl-pp__page>span{position:absolute}
.gcl-page .gcl-pp__h{left:5%;right:5%;top:5.5%;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:3.2cqw;color:#3D4A44}
.gcl-page .gcl-pp__h b{font-family:var(--font-sans);font-size:4.6cqw;font-weight:700;letter-spacing:.2em;color:var(--gm-ink)}
.gcl-page .gcl-pp__ph{left:5%;top:18%;width:27%;aspect-ratio:35/45;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(16,18,20,.22)}
.gcl-page .gcl-pp__ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.gcl-page .gcl-pp__f{left:37%;right:5%;top:18%;display:grid;font-family:var(--font-mono);line-height:1.15}
.gcl-page .gcl-pp__f i{font-style:normal;font-size:2.6cqw;letter-spacing:.04em;text-transform:uppercase;color:#6A736E}
.gcl-page .gcl-pp__f b{margin-bottom:1.3cqw;font-size:4cqw;font-weight:600;color:var(--c-t1)}
.gcl-page .gcl-pp__sig{left:6%;bottom:19.5%;font-family:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;font-size:5.6cqw;color:#2B3C7A;transform:rotate(-5deg)}
.gcl-page .gcl-pp__wm{right:4%;bottom:21%;padding:.4cqw 1.2cqw;border:1px solid currentColor;border-radius:.6cqw;font-family:var(--font-mono);font-size:2.6cqw;letter-spacing:.12em;color:var(--c-bad);opacity:.6;transform:rotate(-7deg)}
.gcl-page .gcl-pp__mrz{left:0;right:0;bottom:0;height:17%;display:grid;align-content:center;padding:0 3.6%;background:rgba(255,255,255,.62);border-top:1px solid rgba(16,18,20,.08);
  font-family:var(--font-mono);font-size:3.3cqw;line-height:1.25;letter-spacing:.01em;color:#2A3B34;white-space:nowrap;overflow:hidden}
.gcl-page .gcl-pp__frame{position:absolute;inset:8px 6px 4px;pointer-events:none;background-repeat:no-repeat;
  background-image:linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure)),linear-gradient(var(--c-measure),var(--c-measure));
  background-size:20px 2px,2px 20px,20px 2px,2px 20px,20px 2px,2px 20px,20px 2px,2px 20px;
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%}
.gcl-page .gcl-pp__beam{left:14px;right:14px;top:16px;bottom:14px;opacity:0}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-pp__beam{animation:gcl-beam 3.4s var(--ease) infinite}
@keyframes gcl-beam{0%{transform:translateY(0);opacity:0}12%{opacity:1}82%{opacity:1}100%{transform:translateY(100%);opacity:0}}
.gcl-page .gcl-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.gcl-page .gcl-chips>span{padding:4px 10px;border-radius:7px;background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.16);font-family:var(--font-mono);font-size:12.5px;color:var(--gm-ink)}
@media (max-width:720px){.gcl-page .gcl-pp{width:100%;max-width:300px}}

/* 04 цена: билет с отрывным корешком */
.gcl-page .gcl-ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px;border-radius:16px;overflow:hidden;
  background:linear-gradient(118deg,#fff 0%,var(--gm-0) 60%,var(--gm-peach) 125%);box-shadow:0 0 0 1px rgba(29,82,64,.16),0 30px 60px -40px rgba(14,44,34,.45)}
.gcl-page .gcl-ticket__band{position:absolute;left:0;right:0;bottom:8px;width:100%;height:40px;pointer-events:none}
.gcl-page .gcl-ticket__band .band{fill:none;stroke:var(--gm-3);stroke-width:.5;opacity:.4}
.gcl-page .gcl-ticket__main{position:relative;isolation:isolate;padding:34px 36px}
.gcl-page .gcl-ticket__ro{position:absolute;z-index:-1;right:28px;top:50%;width:340px;aspect-ratio:1;transform:translateY(-50%);pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 40%,transparent 97%);mask:radial-gradient(closest-side,#000 40%,transparent 97%)}
.gcl-page .gcl-ticket__ro .ro{fill:none;stroke:var(--gm-3);stroke-width:.6;opacity:.5}
.gcl-page .gcl-ticket__ro .ro2{fill:none;stroke:var(--gm-3);stroke-width:.55;opacity:.34}
/* круглая печать «возврат · 14 дней»: надпись медленно ходит по кругу */
.gcl-page .gcl-seal{position:absolute;right:34px;top:30px;width:112px;height:112px;color:var(--gm-ink);opacity:.82;transform:rotate(-10deg)}
.gcl-page .gcl-seal text{font-family:var(--font-sans);font-size:9.6px;font-weight:600;letter-spacing:.1em;fill:currentColor}
.gcl-page .gcl-seal__spin{transform-box:view-box;transform-origin:60px 60px}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-seal__spin{animation:gcl-spin 48s linear infinite}
@keyframes gcl-spin{to{transform:rotate(360deg)}}
.gcl-page .gcl-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:10px}
.gcl-page .gcl-sum b{font-size:66px;line-height:1;font-weight:600;letter-spacing:-.04em}
.gcl-page .gcl-sum span{font-size:17px;color:var(--c-t2)}
.gcl-page .gcl-sum small{flex-basis:100%;font-size:14.5px;color:var(--c-t2)}
.gcl-page .gcl-plist{display:grid;gap:12px;margin-top:24px}
.gcl-page .gcl-plist li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.gcl-page .gcl-plist .gcl-ic{color:var(--c-good);margin-top:2px}
.gcl-page .gcl-refund{display:flex;gap:14px;align-items:center;margin-top:24px;padding:14px 16px;border-radius:12px;background:var(--gm-deep);color:#E6F2EA}
.gcl-page .gcl-refund b{display:block;color:#fff}
.gcl-page .gcl-refund span span{font-size:14px;color:#BFD8C9}
.gcl-page .gcl-refund .gcl-ic{width:28px;height:28px;color:#8FE0B4}
.gcl-page .gcl-fine{margin-top:16px;font-size:13.5px;color:var(--gcl-t3)}
.gcl-page .gcl-stub{position:relative;display:grid;align-content:space-between;gap:20px;padding:30px 30px 30px 28px;border-left:2px dashed rgba(29,82,64,.28);background:rgba(255,255,255,.55)}
.gcl-page .gcl-stub::before,.gcl-page .gcl-stub::after{content:"";position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;background:var(--c-bg);box-shadow:inset 0 0 0 1px rgba(29,82,64,.16)}
.gcl-page .gcl-stub::before{top:-12px}.gcl-page .gcl-stub::after{bottom:-12px}
.gcl-page .gcl-stub__sum{display:block;margin-top:6px;font-size:44px;font-weight:600;letter-spacing:-.03em}
.gcl-page .gcl-stub p{margin-top:8px;font-size:14px;color:var(--c-t2)}
.gcl-page .gcl-stub__micro{top:16px;bottom:16px;right:9px;width:8px}
.gcl-page .gcl-stub__micro::before{writing-mode:vertical-rl}
.gcl-page .gcl-bars{display:flex;align-items:flex-end;gap:2px;height:38px}
.gcl-page .gcl-bars i{display:block;width:var(--w,2px);height:100%;background:var(--gm-ink);opacity:.8}
.gcl-page .gcl-stub__no{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;color:var(--gm-ink)}
@media (max-width:860px){
  .gcl-page .gcl-ticket{grid-template-columns:1fr}
  .gcl-page .gcl-stub{border-left:0;border-top:2px dashed rgba(29,82,64,.28)}
  .gcl-page .gcl-stub::before,.gcl-page .gcl-stub::after{top:-13px;bottom:auto}
  .gcl-page .gcl-stub::before{left:-12px}.gcl-page .gcl-stub::after{left:auto;right:-12px}
  .gcl-page .gcl-ticket__main{padding:26px 22px}.gcl-page .gcl-sum b{font-size:54px}
  .gcl-page .gcl-seal{width:66px;height:66px;right:14px;top:12px}
  .gcl-page .gcl-ticket__ro{width:280px;right:6px}
}

/* 06 проверка фото: главная карточка — бесплатная проверка (отчёт-образец), справа — обрезка и требования */
.gcl-page .gcl-check{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:stretch}
.gcl-page .gcl-check__main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding:26px 28px;transition:box-shadow .2s var(--ease)}
.gcl-page .gcl-check__main:hover{box-shadow:0 0 0 1.5px var(--c-t1),0 18px 36px -26px rgba(16,18,20,.4)}
.gcl-page .gcl-check__rep{display:grid;gap:12px;width:188px;padding:12px;border-radius:12px;background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.14)}
.gcl-page .gcl-check__ph{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:6px;box-shadow:0 0 0 1px var(--c-edge-2)}
.gcl-page .gcl-check__ph img{width:100%;height:100%;object-fit:cover}
.gcl-page .gcl-check__ph i{inset:0;transform:translateY(30%)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-check__ph i{animation:gcl-sweep 2.6s var(--ease) infinite alternate}
@keyframes gcl-sweep{from{transform:translateY(0)}to{transform:translateY(100%)}}
.gcl-page .gcl-check__rep ul{display:grid;gap:5px;font-size:12.5px;color:var(--c-t1)}
.gcl-page .gcl-check__rep li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.gcl-page .gcl-check__rep .gcl-ic{width:14px;height:14px;color:var(--c-good)}
.gcl-page .gcl-check__rep .gcl-num{color:var(--c-measure)}
.gcl-page .gcl-check__t{display:grid;gap:8px;justify-items:start}
.gcl-page .gcl-check__t b{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.015em}
.gcl-page .gcl-check__s{font-size:15.5px;color:var(--c-t2)}
.gcl-page .gcl-check__go{display:inline-flex;align-items:center;gap:8px;height:44px;margin-top:10px;padding:0 18px;border-radius:11px;background:var(--gm-ink);color:#fff;font-size:15.5px;font-weight:600;transition:background .2s}
.gcl-page .gcl-check__main:hover .gcl-check__go{background:var(--gm-deep)}
.gcl-page .gcl-check__go .gcl-ic{width:17px;height:17px}
.gcl-page .gcl-have{display:grid;gap:12px;align-content:stretch}
.gcl-page .gcl-have a{display:flex;gap:16px;align-items:center;padding:16px 20px 16px 16px;transition:box-shadow .2s var(--ease)}
.gcl-page .gcl-have a:hover{box-shadow:0 0 0 1.5px var(--c-t1),0 14px 28px -22px rgba(16,18,20,.35)}
.gcl-page .gcl-have__ic{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--gm-0);color:var(--gm-ink);box-shadow:inset 0 0 0 1px rgba(29,82,64,.16);transition:background .2s var(--ease)}
.gcl-page .gcl-have__ic .gcl-ic{width:21px;height:21px}
.gcl-page .gcl-have a:hover .gcl-have__ic{background:var(--gm-1)}
.gcl-page .gcl-have b{display:block;font-size:16.5px;font-weight:600}
.gcl-page .gcl-have span span{font-size:14px;color:var(--c-t2)}
.gcl-page .gcl-have a>.gcl-ic{margin-left:auto;color:var(--gcl-t3);transition:transform .2s var(--ease),color .2s}
.gcl-page .gcl-have a:hover>.gcl-ic{transform:translateX(3px);color:var(--c-t1)}
@media (max-width:960px){.gcl-page .gcl-check{grid-template-columns:1fr}}
@media (max-width:560px){.gcl-page .gcl-check__main{grid-template-columns:1fr;gap:20px;padding:22px 20px}.gcl-page .gcl-check__rep{width:100%;grid-template-columns:120px minmax(0,1fr);align-items:center}}

/* 07 вопросы: номер в кружке, у открытого — зелёная кромка; справа — закреплённая карточка «Не нашли ответ?» */
.gcl-page .gcl-faqw{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.gcl-page .gcl-faq{display:grid;gap:10px;counter-reset:gq}
.gcl-page .gcl-faq details{position:relative;counter-increment:gq;padding:0 22px 0 18px;background:var(--c-surface);border-radius:14px;box-shadow:0 0 0 1px var(--c-edge);transition:box-shadow .25s var(--ease)}
.gcl-page .gcl-faq details::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--c-good);opacity:0;transition:opacity .25s}
.gcl-page .gcl-faq details[open]{box-shadow:0 0 0 1px rgba(29,82,64,.26),0 16px 32px -24px rgba(14,44,34,.4)}
.gcl-page .gcl-faq details[open]::before{opacity:1}
.gcl-page .gcl-faq summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 0;cursor:pointer;font-size:17px;font-weight:500}
.gcl-page .gcl-faq summary>span{flex:1;min-width:0}
.gcl-page .gcl-faq summary::-webkit-details-marker{display:none}
.gcl-page .gcl-faq summary::before{content:counter(gq,decimal-leading-zero);display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;
  font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--gm-ink);background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.2);transition:background .25s,color .25s}
.gcl-page .gcl-faq details[open] summary::before{background:var(--gm-ink);color:#fff}
.gcl-page .gcl-faq summary::after{content:"";margin-left:auto;width:10px;height:10px;flex:none;border-right:1.6px solid var(--c-t2);border-bottom:1.6px solid var(--c-t2);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s var(--ease)}
.gcl-page .gcl-faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.gcl-page .gcl-faq summary:focus-visible{outline:2px solid var(--c-t1);outline-offset:2px;border-radius:8px}
.gcl-page .gcl-faq .a{padding:0 0 20px 46px;max-width:46em;font-size:15.5px;color:var(--c-t2)}
.gcl-page .gcl-faq__aside{position:sticky;top:88px;display:grid;justify-items:start;gap:12px;padding:24px;border-radius:16px;
  background:linear-gradient(160deg,#fff 0%,var(--gm-0) 100%);box-shadow:0 0 0 1px rgba(29,82,64,.16),0 20px 40px -34px rgba(14,44,34,.5)}
.gcl-page .gcl-faq__ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gm-1);color:var(--gm-ink);box-shadow:inset 0 0 0 1px rgba(29,82,64,.14)}
.gcl-page .gcl-faq__aside h3{font-size:20px;line-height:1.25}
.gcl-page .gcl-faq__aside p{font-size:14.5px;color:var(--c-t2)}
.gcl-page .gcl-faq__aside .gcl-ghost{margin-top:4px}
.gcl-page .gcl-faq__aside .gcl-tlink{margin-top:2px}
@media (max-width:960px){.gcl-page .gcl-faqw{grid-template-columns:1fr;gap:20px}.gcl-page .gcl-faq__aside{position:static}}
@media (max-width:720px){.gcl-page .gcl-faq details{padding:0 16px 0 14px}.gcl-page .gcl-faq summary{font-size:16px;gap:12px}.gcl-page .gcl-faq .a{padding-left:0}}

/* 08 источники: карточки архива — номер, адрес плашкой, когда сверено */
.gcl-page .gcl-src{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gcl-page .gcl-src>li{display:grid}
.gcl-page .gcl-src a{display:grid;gap:8px;align-content:start;padding:16px 18px 16px 22px;transition:box-shadow .2s var(--ease)}
.gcl-page .gcl-src a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gm-4),var(--gm-2))}
.gcl-page .gcl-src a:hover{box-shadow:0 0 0 1.5px var(--c-t1)}
.gcl-page .gcl-src__top{display:flex;align-items:center;gap:8px}
.gcl-page .gcl-src__n{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--c-measure)}
.gcl-page .gcl-src__dom{padding:2px 8px;border-radius:5px;background:var(--gm-0);box-shadow:inset 0 0 0 1px rgba(29,82,64,.16);font-family:var(--font-mono);font-size:11.5px;color:var(--gm-ink)}
.gcl-page .gcl-src__top .gcl-ic{margin-left:auto;width:16px;height:16px;color:var(--gcl-t3);transition:color .2s}
.gcl-page .gcl-src a:hover .gcl-src__top .gcl-ic{color:var(--c-t1)}
.gcl-page .gcl-src b{font-size:15.5px;font-weight:500}
.gcl-page .gcl-src__d{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--gcl-t3)}
.gcl-page .gcl-src__d .gcl-ic{width:14px;height:14px;color:var(--c-good)}
@media (max-width:720px){.gcl-page .gcl-src{grid-template-columns:1fr}}

/* финал: тёмно-зелёная полоса с гильошем, рамкой бланка и факелом */
.gcl-page .gcl-final{position:relative;overflow:hidden;padding:88px 0 96px;background:var(--gm-deep);color:#E6F2EA;text-align:center;isolation:isolate}
.gcl-page .gcl-final__g{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.gcl-page .gcl-final__g .band{fill:none;stroke:#8FE0B4;stroke-width:.6;opacity:.15}
.gcl-page .gcl-final__ro{position:absolute;z-index:-1;left:max(16px,calc(50% - 700px));top:22px;bottom:22px;height:calc(100% - 44px);aspect-ratio:1;pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 40%,transparent 97%);mask:radial-gradient(closest-side,#000 40%,transparent 97%)}
.gcl-page .gcl-final__ro .ro{fill:none;stroke:#8FE0B4;stroke-width:.7;opacity:.22}
.gcl-page .gcl-final__ro .ro2{fill:none;stroke:#8FE0B4;stroke-width:.6;opacity:.15}
.gcl-page .gcl-final__frame{position:absolute;z-index:-1;inset:14px;border:1px solid rgba(143,224,180,.22);border-radius:14px;pointer-events:none}
.gcl-page .gcl-final__frame::before{content:"";position:absolute;inset:5px;border:1px dashed rgba(143,224,180,.14);border-radius:10px}
.gcl-page .gcl-final__torch{position:absolute;z-index:-1;right:7%;bottom:8%;height:84%;overflow:visible;color:#8FE0B4;opacity:.3}
.gcl-page .gcl-final .gcl-final__k{margin:0 auto 14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;color:#8FE0B4}
.gcl-page .gcl-final h2{font-size:42px;color:#fff;text-wrap:balance}
.gcl-page .gcl-final p{margin:14px auto 0;max-width:34em;font-size:17.5px;color:#BFD8C9}
.gcl-page .gcl-final .gcl-acts{justify-content:center;margin-top:28px}
.gcl-page .gcl-final .gcl-trust{justify-content:center;color:#BFD8C9}
.gcl-page .gcl-final .gcl-trust b{color:#fff}
.gcl-page .gcl-final .gcl-trust .gcl-ic{color:#8FE0B4}
/* на тёмно-зелёной полосе кнопка светлее и с мятной кромкой — иначе сливается с фоном */
.gcl-page .gcl-final .gcl-go:focus-visible{outline-color:#BFE6CF}
.gcl-page .gcl-final .gcl-go{--gcl-go:#2E9660;--gcl-go-fill:linear-gradient(180deg,#56BC84 0%,#2F9861 56%,#247E50 100%);
  --gcl-go-lift:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(4,40,22,.3),0 0 0 1px rgba(143,224,180,.55),0 10px 28px -10px rgba(86,188,132,.55);
  --gcl-go-lift-h:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(4,40,22,.3),0 0 0 1px rgba(143,224,180,.7),0 14px 34px -10px rgba(86,188,132,.7)}
@media (max-width:720px){
  .gcl-page .gcl-final{padding:64px 0 72px}.gcl-page .gcl-final h2{font-size:29px}.gcl-page .gcl-final__torch{opacity:.12;right:-12%}
  .gcl-page .gcl-final__ro{left:50%;top:50%;bottom:auto;width:min(92vw,420px);height:auto;transform:translate(-50%,-50%)}
  .gcl-page .gcl-final__frame{inset:8px}
}

/* ── оглавление: на широком экране липнет к верху и подсвечивает раздел, где читатель ── */
.gcl-page .gcl-toc a.is-on{background:var(--gm-ink);color:#fff}
.gcl-page .gcl-toc a.is-on i{color:#BFE6CF}
.gcl-page .gcl-toc__mark{display:block;height:0}
@media (min-width:1100px){
  .gcl-page .gcl-toc{position:sticky;top:0;transition:top .3s var(--ease)}
  .gcl-page:has(.nav-shell:not(.nav-shell--hidden)) .gcl-toc{top:59px}
  .gcl-page .gcl-toc::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;pointer-events:none;background:rgba(241,247,242,.88);
    -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(29,82,64,.14);transition:opacity .25s var(--ease)}
  .gcl-page .gcl-toc.is-stuck::before{opacity:1}
  .gcl-page .gcl-toc.is-stuck .gcl-toc__list{padding:5px 0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ── таблица требований: пиктограмма-чертёж у каждой строки, вычерчивается при появлении ── */
.gcl-page .gcl-rt__th{display:flex;align-items:center;gap:12px}
.gcl-page .gcl-rt__pic{width:30px;height:30px;flex:none;color:var(--gm-ink);fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;
  transition:stroke-dashoffset 1.1s var(--ease) calc(var(--i,0) * .09s + .15s)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-rt-box:not(.is-in) .gcl-rt__pic{stroke-dashoffset:1}
.gcl-page .gcl-rt tbody tr:hover .gcl-rt__pic{color:var(--c-measure)}
@media (max-width:640px){.gcl-page .gcl-rt__th{gap:9px}.gcl-page .gcl-rt__pic{width:24px;height:24px}}

/* ── срок: отрывной календарь — вчерашний лист срывается, под ним «1 ноября · не позже» ── */
.gcl-page .gcl-cal{position:relative;display:block;width:112px;height:118px;perspective:500px}
/* кольца переплёта: тёмное ушко с бликом над каждой дырочкой листа */
.gcl-page .gcl-cal__rings{position:absolute;z-index:3;left:24px;right:24px;top:-7px;height:16px;
  background:radial-gradient(circle at 7px 7px,#E3EFE6 0 1.6px,var(--gm-ink) 2px 4.2px,transparent 4.7px) 0 0/22px 16px repeat-x}
.gcl-page .gcl-cal__pg{position:absolute;inset:0;display:grid;justify-items:center;align-content:start;padding-top:12px;border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:0 0 0 1px rgba(29,82,64,.2),0 14px 26px -16px rgba(14,44,34,.55);font-family:var(--font-mono);text-align:center}
.gcl-page .gcl-cal__pg>span:first-child{justify-self:stretch;margin:-12px 0 4px;padding:9px 0 6px;background:var(--gm-ink);color:#fff;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.gcl-page .gcl-cal__pg b{font-family:var(--font-sans);font-size:44px;font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--c-t1)}
.gcl-page .gcl-cal__pg>span:last-child{margin-top:6px;font-size:11.5px;color:var(--gcl-t3)}
/* вчерашний лист виден, только когда анимация точно будет: без скрипта и при «меньше движения» сразу «1 ноября» */
.gcl-page .gcl-cal__pg--old{z-index:2;transform-origin:50% 0;opacity:0;visibility:hidden}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-cal:not(.is-in) .gcl-cal__pg--old{opacity:1;visibility:visible}
.gcl-page .gcl-cal__pg--old>span:first-child{background:#3D6F52}
.gcl-page .gcl-cal__pg--old b{color:var(--gcl-t3)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-cal.is-in .gcl-cal__pg--old{visibility:visible;animation:gcl-tear 1.3s cubic-bezier(.5,0,.75,.6) .5s both}
@keyframes gcl-tear{0%{opacity:1;transform:none}22%{opacity:1;transform:rotateX(-14deg) rotate(-3deg)}100%{opacity:0;transform:translate(26px,120px) rotateX(-70deg) rotate(18deg)}}

/* срок как линия времени: календарь «открытие · не позже 1 ноября» → 30 делений «30 дней на подачу» → закрытие */
.gcl-page .gcl-blk--tl{grid-template-columns:minmax(0,1fr) auto;gap:36px;padding:28px 32px}
.gcl-page .gcl-tl{display:flex;align-items:flex-end;gap:24px}
.gcl-page .gcl-tl__k{display:block;margin-bottom:12px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--gm-ink);white-space:nowrap}
.gcl-page .gcl-tl__open{display:grid;justify-items:center}
.gcl-page .gcl-tl__run{position:relative;width:290px}
.gcl-page .gcl-tl__run::before{content:"";position:absolute;left:-24px;bottom:24px;width:24px;border-top:1.5px dashed rgba(29,82,64,.45)}
.gcl-page .gcl-tl__bar{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;align-items:end;height:30px;border-bottom:1.5px solid var(--gm-ink)}
.gcl-page .gcl-tl__bar i{height:13px;border-radius:1px 1px 0 0;background:var(--gm-3);transform-origin:50% 100%;transition:transform .35s var(--spring) calc(1.5s + var(--k,0) * 35ms),background .3s}
.gcl-page .gcl-tl__bar i:nth-child(7n){height:19px;background:var(--gm-4)}
.gcl-page .gcl-tl__bar i:first-child,.gcl-page .gcl-tl__bar i:last-child{height:28px;background:var(--gm-ink)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-tl:not(.is-in) .gcl-tl__bar i{transform:scaleY(0)}
.gcl-page .gcl-tl__ends{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-family:var(--font-mono);font-size:11.5px;color:var(--c-t2)}
@media (max-width:900px){
  .gcl-page .gcl-blk--tl{grid-template-columns:1fr;gap:22px;padding:22px 20px}
  .gcl-page .gcl-tl{gap:18px}
  .gcl-page .gcl-tl__run{flex:1;width:auto;min-width:0}
  .gcl-page .gcl-tl__run::before{left:-18px;width:18px}
  .gcl-page .gcl-tl__bar{gap:2px}
  .gcl-page .gcl-tl__k{white-space:normal}
}
@media (max-width:560px){
  .gcl-page .gcl-tl{flex-direction:column;align-items:stretch;gap:20px}
  .gcl-page .gcl-tl__open{justify-items:start}
  .gcl-page .gcl-tl__run::before{display:none}
  .gcl-page .gcl-tl__k{white-space:nowrap}
}

/* ── финал: пламя факела Свободы дрожит, за ним дышит свечение ── */
.gcl-page .gcl-final__torch .fl{transform-box:fill-box;transform-origin:50% 100%}
.gcl-page .gcl-final__torch .glow{transform-box:fill-box;transform-origin:50% 50%;opacity:.75}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-final__torch .fl{animation:gcl-flick 3.2s ease-in-out infinite}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-final__torch .glow{animation:gcl-glow 3.2s ease-in-out infinite}
@keyframes gcl-flick{0%,100%{transform:none}20%{transform:scale(.97,1.05) skewX(-2deg)}45%{transform:scale(1.02,.96) skewX(1.5deg)}70%{transform:scale(.98,1.07) skewX(-1deg)}}
@keyframes gcl-glow{0%,100%{opacity:.6;transform:scale(.94)}45%{opacity:.95;transform:scale(1.06)}70%{opacity:.7;transform:scale(.98)}}

/* ── цена: корешок билета чуть отрывается при наведении ── */
.gcl-page .gcl-stub{transform-origin:0 0;transition:transform .45s var(--spring),box-shadow .45s var(--ease)}
@media (hover:hover) and (min-width:861px){.gcl-page .gcl-ticket:hover .gcl-stub{transform:translateX(6px) rotate(1.4deg);box-shadow:-10px 14px 24px -18px rgba(14,44,34,.5)}}

/* ── вопросы: ответ раскрывается плавно (где браузер умеет анимировать details) ── */
@supports selector(::details-content){
  .gcl-page .gcl-faq{interpolate-size:allow-keywords}
  .gcl-page .gcl-faq details::details-content{block-size:0;overflow:hidden;transition:block-size .32s var(--ease),content-visibility .32s allow-discrete}
  .gcl-page .gcl-faq details[open]::details-content{block-size:auto}
}

/* ── первый экран: лучи короны Свободы раскрываются веером один раз при загрузке ── */
.gcl-page .gcl-hero__bg .rays-w{transform-box:view-box;transform-origin:1090px 820px}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-hero__bg .rays-w{animation:gcl-rays 1.8s var(--ease) .15s both}
@keyframes gcl-rays{from{opacity:0;transform:scale(.55) rotate(-6deg)}to{opacity:1;transform:none}}

/* липкая кнопка на телефоне */
/* закреплённая полоса снизу (владелец 29.10.2026): «откуда правила» — всегда на виду, а когда первой и последней кнопки
   не видно, справа (на телефоне — под строкой) выезжает зелёная кнопка. Бот-помощник встаёт в полосу (data-ahb-dock). */
body.gcl-page{padding-bottom:56px}
.gcl-page .gcl-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);
  background:rgba(241,247,242,.9);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  border-top:1px solid rgba(29,82,64,.16);box-shadow:0 -10px 24px -18px rgba(14,44,34,.35)}
.gcl-page .gcl-dock__in{display:flex;align-items:center;gap:12px 20px;min-height:56px;padding-block:6px}
.gcl-page .gcl-dock__proof{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;color:var(--c-t2)}
.gcl-page .gcl-dock__proof .gcl-ic{width:18px;height:18px;color:var(--gm-ink)}
.gcl-page .gcl-dock__long{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcl-page .gcl-dock__short{display:none}
.gcl-page .gcl-dock__src{display:inline-flex;align-items:center;gap:5px;margin-left:6px;font-weight:500;color:var(--c-t1);border-bottom:1px solid var(--c-edge-2);white-space:nowrap}
.gcl-page .gcl-dock__proof:hover .gcl-dock__src{border-color:var(--c-t1)}
.gcl-page .gcl-dock__src .gcl-ic{width:15px;height:15px;color:inherit}
.gcl-page .gcl-dock__go{margin-left:auto;flex:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease),transform .3s var(--spring),visibility 0s .3s}
.gcl-page .gcl-dock.is-cta .gcl-dock__go{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .3s var(--spring)}
html.ahb-docked .gcl-page .gcl-dock[data-ahb-dock]{padding-right:0}
html.ahb-docked .gcl-page .gcl-dock__in{padding-right:76px}
@media (max-width:720px){
  body.gcl-page{padding-bottom:116px}
  .gcl-page .gcl-dock__in{flex-direction:column;align-items:stretch;gap:6px;min-height:0;padding-block:8px}
  .gcl-page .gcl-dock__proof{font-size:12.5px;gap:7px;justify-content:center}
  .gcl-page .gcl-dock__proof .gcl-ic{width:15px;height:15px}
  .gcl-page .gcl-dock__long{display:none}
  .gcl-page .gcl-dock__short{display:inline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .gcl-page .gcl-dock__src{margin-left:2px}
  .gcl-page .gcl-dock__go{display:none;width:100%;height:48px;margin-left:0}
  .gcl-page .gcl-dock.is-cta .gcl-dock__go{display:inline-flex}
  html.ahb-docked .gcl-page .gcl-dock__in{padding-right:var(--wp)}
  html.ahb-docked .gcl-page .gcl-dock.is-cta .gcl-dock__go{width:calc(100% - 62px)}
}

/* бесконечные анимации играют только на экране: скрипт ставит .is-vis разделу в поле зрения */
html.gcl-js .gcl-page :is(.gcl-hero,.gcl-sec,.gcl-final):not(.is-vis) :is(.gcl-check__ph i,.gcl-pp__beam,.gcl-seal__spin,.gcl-final__torch .fl,.gcl-final__torch .glow,.gcl-pin),
html.gcl-js .gcl-page :is(.gcl-hero,.gcl-sec,.gcl-final):not(.is-vis) .gcl-dot::after,html.gcl-js .gcl-page :is(.gcl-hero,.gcl-sec,.gcl-final):not(.is-vis) .gcl-pin::after{animation-play-state:paused!important}

/* ── английские страницы темы грин-карты (30.10.2026, docs/plans/2026-10-30-green-card-en-landings.md) ── */
/* таблица фактов: та же .gcl-rt, столбцов 2–5; на телефоне строка — карточка, у пары «ключ — значение» одна колонка */
.gcl-page .gcl-rt-box--facts+.gcl-tips,.gcl-page .gcl-rt-box--facts+.gcl-rt-box{margin-top:18px}
.gcl-page .gcl-rt--facts tbody th{color:var(--c-t1);font-weight:600}
.gcl-page .gcl-rt--c2 .gcl-rt__corner{width:42%}
.gcl-page .gcl-rt--c4 .gcl-rt__corner,.gcl-page .gcl-rt--c5 .gcl-rt__corner{width:20%}
.gcl-page .gcl-rt--c5{font-size:14.5px}
.gcl-page .gcl-rt--c5 th,.gcl-page .gcl-rt--c5 td{padding:12px 16px}
@media (max-width:640px){
  .gcl-page .gcl-rt--c2 tr{grid-template-columns:1fr}
  .gcl-page .gcl-rt--c4 tr,.gcl-page .gcl-rt--c5 tr{grid-template-columns:1fr 1fr}
  .gcl-page .gcl-rt--c4 td:nth-of-type(odd),.gcl-page .gcl-rt--c5 td:nth-of-type(odd){border-left:0}
}
/* карточки советов, причин и шагов */
.gcl-page .gcl-tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.gcl-page .gcl-tips--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gcl-page .gcl-tips__i{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-content:start;padding:18px 20px 18px 18px;border-radius:14px;background:var(--c-surface);box-shadow:0 0 0 1px var(--c-edge);transition:transform .45s var(--ease),opacity .45s var(--ease),box-shadow .2s var(--ease)}
.gcl-page .gcl-tips__i:hover{box-shadow:0 0 0 1px rgba(29,82,64,.28),0 16px 30px -26px rgba(14,44,34,.45)}
.gcl-page .gcl-tips__ic,.gcl-page .gcl-tips__n{grid-row:1/span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--gm-0);color:var(--gm-ink);box-shadow:inset 0 0 0 1px rgba(29,82,64,.16)}
.gcl-page .gcl-tips__ic .gcl-ic{width:20px;height:20px}
.gcl-page .gcl-tips__n{font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.04em}
.gcl-page .gcl-tips__h{margin:0 0 4px;font-size:16.5px;line-height:1.3;font-weight:600;letter-spacing:-.005em}
.gcl-page .gcl-tips__p{margin:0;font-size:14.5px;line-height:1.55;color:var(--c-t2)}
.gcl-page .gcl-tips__p .gcl-num,.gcl-page .gcl-tips__h .gcl-num{color:var(--c-measure);font-weight:500}
.gcl-page .gcl-tips-w{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:start}
.gcl-page .gcl-tips-w .gcl-tips{grid-template-columns:1fr}
.gcl-page .gcl-tips-w>.gcl-pp{width:100%;max-width:440px;justify-self:center;align-self:center}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-tips:not(.is-in) .gcl-tips__i{opacity:0;transform:translateY(14px)}
html.gcl-js:not(.gcl-calm) .gcl-page .gcl-tips.is-in .gcl-tips__i{transition-delay:calc(var(--i) * 55ms)}
@media (max-width:900px){
  .gcl-page .gcl-tips--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gcl-page .gcl-tips-w{grid-template-columns:1fr}
}
@media (max-width:640px){
  .gcl-page .gcl-tips,.gcl-page .gcl-tips--3{grid-template-columns:1fr;gap:10px}
  .gcl-page .gcl-tips__i{padding:15px 16px 15px 14px}
}
/* «Ещё по теме»: ссылки на страницы кластера */
.gcl-page .gcl-cluster-sec{padding:56px 0 64px}
.gcl-page .gcl-cluster-sec__h{margin:0 0 22px;font-size:clamp(24px,3vw,30px)}
.gcl-page .gcl-cluster{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gcl-page .gcl-cluster__a{position:relative;display:grid;gap:3px;height:100%;padding:16px 46px 16px 18px;border-radius:14px;background:var(--c-surface);box-shadow:0 0 0 1px var(--c-edge);color:var(--c-t1);text-decoration:none;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.gcl-page .gcl-cluster__a:hover{box-shadow:0 0 0 1.5px var(--gm-ink),0 14px 28px -22px rgba(14,44,34,.45);transform:translateY(-1px)}
.gcl-page .gcl-cluster__a:focus-visible{outline:2px solid var(--gm-ink);outline-offset:2px}
.gcl-page .gcl-cluster__h{font-size:16px;font-weight:600;line-height:1.3}
.gcl-page .gcl-cluster__s{font-size:13.5px;line-height:1.45;color:var(--c-t2)}
.gcl-page .gcl-cluster__a>.gcl-ic{position:absolute;right:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--gm-ink);transition:transform .2s var(--ease)}
.gcl-page .gcl-cluster__a:hover>.gcl-ic{transform:translateX(3px)}
@media (max-width:640px){.gcl-page .gcl-cluster-sec{padding:40px 0 48px}.gcl-page .gcl-cluster{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .gcl-page *,.gcl-page *::before,.gcl-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ══════════════════════════════════════════════════════════════════════════════════════════════════════════
   Макет документа — паспорт (TD3), ID-карта (TD1), права (ID-1). Разметка — src/doc-mock/doc-mock.js, всё под .dcm.
   Каждый элемент бланка стоит по миллиметрам: --x, --y, --w, --h, --s (кегль) — в мм, --u — один миллиметр бланка в cqw
   (ширина бланка = 100cqw), поэтому макет точен на любой ширине. Цвета — --dcm-*: настройка страны кладёт их в style=""
   корня, сам файл не меняется. На узком бланке (телефон) вторые и третьи языки подписей прячутся, подписи крупнее.
   Защитные элементы — в стиле Anfas.Pro: голографическая плёнка со знаками «А» и микротекстом по всему бланку,
   масляный перелив и блик, которые следуют за курсором вместе с наклоном бланка (src/doc-mock/dcm-client.js ставит
   --mx/--my и .is-hover, как у бланка грин-карты), печать Anfas, кольца и строки микротекста. Всё, что движется, —
   только transform (видеокарта): бланк при этом не перерисовывается.
   ══════════════════════════════════════════════════════════════════════════════════════════════════════════ */
.dcm{--dcm-p1:#F1F4F9;--dcm-p2:#E2E9F3;--dcm-p3:#ECE6F3;--dcm-p4:#F7EADF;--dcm-line:#8CA2C6;--dcm-line2:#C2A3CF;--dcm-line3:#8FC0AE;
  --dcm-ink:#1B2F5B;--dcm-label:#4C5F86;--dcm-text:#121722;--dcm-accent:#B02A3A;--dcm-sig:#203278;--dcm-mrz:#1E2733;
  --dcm-band:rgba(255,255,255,.62);--dcm-micro:#6F86AE;--dcm-chip:#1B2F5B;--dcm-sign:#1B2F5B;--dcm-sign-t:#FFFFFF;--dcm-bgt:rgba(140,162,198,.17);
  --dcm-sans:var(--id-sans,'Golos Text',system-ui,sans-serif);--dcm-mono:var(--id-mono,'IBM Plex Mono',ui-monospace,monospace);
  --dcm-script:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;--dcm-serif:Georgia,'PT Serif','Times New Roman',serif;
  --dcm-bandc:#C9364A;--dcm-orn:#E3A9B5;
  position:relative;display:block;width:100%;font-family:var(--dcm-sans);text-align:left;-webkit-font-smoothing:antialiased;perspective:1400px}
.dcm *,.dcm *::before,.dcm *::after{box-sizing:border-box}
.dcm table{border-collapse:collapse;border-spacing:0}
.dcm__doc{--W:125;--u:calc(100cqw / var(--W));position:relative;container:dcm/inline-size;width:100%;aspect-ratio:125/88;overflow:hidden;
  border-radius:2.54%/3.6%;color:var(--dcm-text);isolation:isolate;transition:transform .6s cubic-bezier(.22,.61,.36,1);
  background:radial-gradient(70% 90% at 80% 42%,rgba(255,255,255,.55),transparent 70%),
    linear-gradient(122deg,var(--dcm-p1) 0%,var(--dcm-p2) 34%,var(--dcm-p3) 62%,var(--dcm-p4) 100%);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--dcm-ink) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.8),
    0 42px 66px -36px color-mix(in srgb,var(--dcm-ink) 55%,transparent),0 12px 24px -18px color-mix(in srgb,var(--dcm-ink) 40%,transparent)}
:is(.dcm--id,.dcm--dl) .dcm__doc{--W:85.6;aspect-ratio:85.6/54;border-radius:3.7%/5.9%}

/* узор бумаги: поле тонких волн, перекрёстные волны, розетки; полоса MRZ с волнистой кромкой */
.dcm__g{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.dcm__g :is(.wf,.wf2,.ro){fill:none}
.dcm__g .wf{stroke:var(--dcm-line);stroke-width:.8;opacity:.36}
.dcm__g .wf2{stroke:var(--dcm-line2);stroke-width:.7;opacity:.3}
.dcm__g .ro{stroke-width:.9}
.dcm__g .ro0{stroke:var(--dcm-line);opacity:.62}
.dcm__g .ro1{stroke:var(--dcm-line2);opacity:.55}
.dcm__g .ro2{stroke:var(--dcm-line3);opacity:.6}
.dcm__g .mzb{fill:var(--dcm-band)}
.dcm__g .mt{fill:var(--dcm-micro);font-family:var(--dcm-mono);font-weight:500;letter-spacing:.4px}
.dcm__g .mt-e{opacity:.85}
/* кольца микротекста вокруг розетки — отдельные слои, крутятся целиком (дёшево: transform на видеокарте) */
.dcm__ring{position:absolute;z-index:0;left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));aspect-ratio:1;pointer-events:none}
.dcm__ring svg{display:block;width:100%;height:100%;overflow:visible}
.dcm__ring .mt{fill:var(--dcm-micro);font-family:var(--dcm-mono);font-weight:500;letter-spacing:.4px}
.dcm__ring--1{opacity:.8}

/* элемент бланка: место и размер — в мм */
.dcm__e{position:absolute;z-index:1;left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));
  font-size:calc(var(--s) * var(--u));line-height:1;white-space:nowrap}
.dcm__e.is-r{left:auto;right:calc((var(--W) - var(--x)) * var(--u));text-align:right}
.c-ink{color:var(--dcm-ink)}.c-text{color:var(--dcm-text)}.c-label{color:var(--dcm-label)}.c-accent{color:var(--dcm-accent)}
.dcm__tx{font-weight:var(--fw,500);letter-spacing:calc(var(--tr,.015) * 1em);overflow:hidden}
.dcm__tx span{white-space:nowrap}
.dcm__tx.ff-serif{font-family:var(--dcm-serif)}.dcm__tx.ff-mono{font-family:var(--dcm-mono)}.dcm__tx.ff-sans{font-family:var(--dcm-sans)}
.dcm__tx.is-ol{color:color-mix(in srgb,var(--dcm-ink) 12%,transparent);-webkit-text-stroke:calc(.13 * var(--u)) var(--dcm-ink)}
.dcm__e.is-c{transform:translateX(-50%);text-align:center}
.dcm__tx.l2-light .dcm__l2{font-weight:400}
.dcm__tx.is-sc{font-variant:small-caps}
.dcm__tx.is-i{font-style:italic}
.dcm__mc{overflow:hidden;font-family:var(--dcm-mono);font-size:calc(.66 * var(--u));font-weight:500;letter-spacing:.12em;color:var(--dcm-micro)}
.dcm__mc.is-v{writing-mode:vertical-rl;width:auto;opacity:.8}

/* поле: подпись (на нескольких языках) и значение моноширинным, как на бланках с лазерной персонализацией */
.dcm__fd{display:flex;flex-direction:column;gap:calc(.36 * var(--u));overflow:hidden}
.dcm__fl{display:block;overflow:hidden;font-size:calc(var(--ls) * var(--u) * var(--kl,1));font-weight:400;letter-spacing:.005em;color:var(--dcm-label);white-space:nowrap}
.dcm__fl i{font-style:normal;font-weight:600;margin-right:.45em}
.dcm__fv{display:block;overflow:hidden;font-family:var(--dcm-mono);font-size:calc(var(--vs) * var(--u) * var(--kv,1));font-weight:500;letter-spacing:.01em;color:var(--dcm-text);white-space:nowrap;
  text-shadow:0 calc(.07 * var(--u)) 0 rgba(255,255,255,.55)}
.dcm__fv i,.dcm__fl b{font-style:normal;font-family:var(--dcm-sans);font-weight:400;font-size:.5em;color:var(--dcm-label);margin-right:.4em;vertical-align:.3em}
.dcm__fv.is-acc,.dcm__nf b.is-acc{color:var(--dcm-accent)}
.dcm__fd.is-val .dcm__fv{font-size:calc(var(--vs) * var(--u))}
.dcm__fd.is-wrap .dcm__fl{white-space:normal;line-height:1.14}
.dcm__fl{min-height:calc(var(--ll,0) * var(--ls) * 1.14 * var(--u))}
.dcm__sfx{white-space:nowrap}
.dcm__fv.is-b,.dcm__nf b.is-b{font-weight:700}
/* шрифты и вид подписей страны (классы корня из настройки: valueFont, labelFont, labelCase, labelItalic2, labelBold) */
.dcm--vf-sans :is(.dcm__fv,.dcm__nf b),.dcm .vf-sans{font-family:var(--dcm-sans);letter-spacing:.02em}
.dcm--vf-serif :is(.dcm__fv,.dcm__nf b),.dcm .vf-serif{font-family:var(--dcm-serif);letter-spacing:.01em}
.dcm .vf-mono{font-family:var(--dcm-mono)}
.dcm--lf-serif .dcm__fl{font-family:var(--dcm-serif)}
.dcm--lc-up .dcm__fl{text-transform:uppercase;letter-spacing:.03em}
.dcm--lb-b .dcm__fl{font-weight:600}
.dcm--l2-i .dcm__fl :is(.dcm__l2,.dcm__l3){font-style:italic}
/* нумерованное поле (немецкий паспорт): номер висит слева, подпись и значение начинаются от текста */
.dcm__fd.is-num .dcm__fl{padding-left:calc(2.3 * var(--u));text-indent:calc(-2.3 * var(--u))}
.dcm__fd.is-num .dcm__fl i{display:inline-block;min-width:calc(2.3 * var(--u));margin:0;text-indent:0}
.dcm__fd.is-num .dcm__fv{padding-left:calc(2.3 * var(--u))}
/* поле прав: номер (1., 4a.) и значение в одну строку */
.dcm__nf{display:flex;align-items:baseline;gap:calc(.7 * var(--u));overflow:hidden}
.dcm__nf i{flex:none;min-width:calc(3.5 * var(--u));font-style:normal;font-size:calc(var(--ns) * var(--u));font-weight:600;color:var(--dcm-label)}
.dcm__nf b{overflow:hidden;font-family:var(--dcm-mono);font-size:calc(var(--vs) * var(--u) * var(--kv,1));font-weight:500;color:var(--dcm-text);white-space:nowrap}

/* фото: напечатано в бланк (без рамки), поверх — тонкая защитная сетка; is-laser — серое лазерное, как на картах */
.dcm__ph,.dcm__gh{display:block;overflow:hidden;background:color-mix(in srgb,var(--dcm-p2) 50%,#fff)}
.dcm__ph img,.dcm__gh img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.dcm__ph{box-shadow:0 0 0 calc(.1 * var(--u)) rgba(16,18,20,.16)}
.dcm__ph img{filter:saturate(.94) contrast(1.02)}
.dcm__ph::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.32;
  background:repeating-radial-gradient(circle at 135% 58%,transparent 0 calc(1.15 * var(--u)),color-mix(in srgb,var(--dcm-line) 55%,transparent) calc(1.15 * var(--u)) calc(1.24 * var(--u)))}
.dcm__ph.is-laser img{filter:grayscale(1) contrast(1.12) brightness(1.05)}
.dcm__ph.is-laser::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.55;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.5) 0 calc(.1 * var(--u)),transparent calc(.1 * var(--u)) calc(.28 * var(--u)))}
.dcm__ph.is-laser{mix-blend-mode:multiply}
.dcm__gh{opacity:.5;mix-blend-mode:multiply;-webkit-mask:radial-gradient(closest-side,#000 62%,transparent 100%);mask:radial-gradient(closest-side,#000 62%,transparent 100%)}
.dcm__gh img{filter:grayscale(1) contrast(.95)}
.dcm__gh::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.6) 0 calc(.16 * var(--u)),transparent calc(.16 * var(--u)) calc(.42 * var(--u)))}
:is(.dcm__ph,.dcm__gh).is-empty{background:color-mix(in srgb,var(--dcm-p2) 70%,#fff)}
.dcm__sil{width:100%;height:100%;fill:color-mix(in srgb,var(--dcm-line) 65%,#fff)}
/* фото без рамки с растворяющимися краями (ID-карта Франции 2021) */
.dcm__ph.is-fade{box-shadow:none;background:transparent;-webkit-mask:radial-gradient(62% 58% at 50% 46%,#000 62%,transparent 100%);mask:radial-gradient(62% 58% at 50% 46%,#000 62%,transparent 100%)}
.dcm__ph.is-fade::after{display:none}
.dcm__gh.sh-oval,.dcm__win.sh-oval{border-radius:50%}
.dcm__gh.is-bg{z-index:0;opacity:.32}
.dcm__win.sh-shield{border-radius:46% 46% 22% 22%/34% 34% 66% 66%}
.dcm__win.sh-hex{border-radius:0;clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%)}
.dcm__gh.sh-oval{-webkit-mask:radial-gradient(closest-side,#000 70%,transparent 100%);mask:radial-gradient(closest-side,#000 70%,transparent 100%)}

/* подпись владельца */
.dcm__sg{display:flex;flex-direction:column;gap:calc(.9 * var(--u))}
.dcm__sg.has-l{gap:calc(2 * var(--u))}
.dcm__sg .dcm__fl{font-size:calc(var(--ls) * var(--u) * var(--kl,1))}
.dcm__sg>i{position:absolute;left:0;top:calc(.9 * var(--u));font-style:normal;font-size:calc(var(--ns) * var(--u));font-weight:600;color:var(--dcm-label)}
.dcm__sg>i+b{margin-left:calc(4.2 * var(--u))}
.dcm__sg b{display:block;font-family:var(--dcm-script);font-size:calc(var(--s) * var(--u));font-weight:400;color:var(--dcm-sig);transform:rotate(-4deg);transform-origin:0 60%;white-space:nowrap}

/* знак государства, знак прав, чип, кинеграмма, вертикальный год */
.dcm__em{width:calc(var(--w) * var(--u));height:calc(var(--w) * var(--u));color:var(--dcm-ink)}
.dcm__em svg,.dcm__em img{display:block;width:100%;height:100%}
.dcm__em svg{fill:currentColor}
.dcm__em.is-flag{border-radius:50%;overflow:hidden;box-shadow:0 0 0 calc(.35 * var(--u)) rgba(255,255,255,.75),0 0 0 calc(.35 * var(--u) + 1px) color-mix(in srgb,var(--dcm-ink) 28%,transparent)}
.dcm__em.is-flag img{object-fit:cover}
.dcm__em.is-rect{height:calc(var(--h) * var(--u));border-radius:calc(.25 * var(--u));box-shadow:0 0 0 1px rgba(16,18,20,.12)}
.dcm__sn svg{display:block;width:100%;height:100%}
.dcm__sn--eu rect{fill:var(--dcm-sign)}
.dcm__sn--eu .st{fill:#FFCC00}
.dcm__sn--eu text{font-family:var(--dcm-sans);font-weight:700;fill:var(--dcm-sign-t)}
.dcm__sn--oval ellipse{fill:rgba(255,255,255,.5);stroke:var(--dcm-sign);stroke-width:2}
.dcm__sn--oval text{font-family:var(--dcm-sans);font-size:13px;font-weight:700;letter-spacing:.06em;fill:var(--dcm-sign)}
.dcm__chip{height:calc(var(--w) / 1.75 * var(--u))}
.dcm__chip svg{display:block;width:100%;height:100%;fill:var(--dcm-chip)}
/* залитый вариант (ID-карта ФРГ 2021): белый знак на цветной плашке */
.dcm__chip.is-fill{height:calc(var(--w) * .62 * var(--u));padding:calc(var(--w) * .07 * var(--u)) calc(var(--w) * .1 * var(--u));border-radius:calc(.5 * var(--u));background:var(--dcm-chip)}
.dcm__chip.is-fill svg{fill:#fff}
.dcm__seal{z-index:2;height:calc(var(--w) * var(--u));color:var(--dcm-ink);opacity:.42;mix-blend-mode:multiply}
.dcm__seal svg{display:block;width:100%;height:100%}
.dcm__seal .ht{font-family:var(--dcm-mono);font-weight:600;letter-spacing:.6px}
.dcm__vy{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--dcm-mono);font-weight:600;color:var(--dcm-text);letter-spacing:.06em}

/* свой фон страны (dcm-motifs.js): волосяные линии цветом линий бланка, под полями */
.dcm__mf{z-index:0;overflow:hidden;color:var(--dcm-line);opacity:var(--op,.5);pointer-events:none}
.dcm__mf svg{display:block;width:100%;height:100%}
.dcm__mf svg :is(path,circle){fill:none;stroke:currentColor;stroke-width:.75px;vector-effect:non-scaling-stroke}
.dcm__mf svg .dot{fill:currentColor;stroke:none}
.dcm__mf .txt text{fill:currentColor;stroke:none;font-family:var(--dcm-sans);font-weight:700;letter-spacing:.04em}
.dcm__mf .txt .mt{font-family:var(--dcm-mono);font-weight:500;letter-spacing:.12em}
/* линейка поля, лента бланка, вертикальный текст, коды, контактный чип, фигуры, ряд категорий, список */
.dcm__rl{height:0;border-top:calc(.13 * var(--u)) solid color-mix(in srgb,var(--dcm-label) 50%,transparent)}
.dcm__bd{overflow:hidden;z-index:0;background:repeating-linear-gradient(90deg,var(--dcm-bandc) 0 calc(.55 * var(--u)),color-mix(in srgb,var(--dcm-bandc) 55%,#fff) calc(.55 * var(--u)) calc(.9 * var(--u)))}
.dcm__bd i{display:block;font-style:normal;font-family:var(--dcm-mono);font-size:calc(var(--h) * .55 * var(--u));line-height:calc(var(--h) * var(--u));letter-spacing:.2em;color:rgba(255,255,255,.75);white-space:nowrap}
.dcm__bd.bd-orn{background:radial-gradient(circle at 50% 50%,transparent 0 calc(.5 * var(--u)),var(--dcm-orn) calc(.5 * var(--u)) calc(.75 * var(--u)),transparent calc(.75 * var(--u))) 0 50%/calc(2.4 * var(--u)) calc(2.4 * var(--u)) repeat-x,
  linear-gradient(var(--dcm-orn),var(--dcm-orn)) 0 0/100% calc(.25 * var(--u)) no-repeat,linear-gradient(var(--dcm-orn),var(--dcm-orn)) 0 100%/100% calc(.25 * var(--u)) no-repeat;opacity:.8}
.dcm__bd.bd-lace{background:radial-gradient(circle,var(--dcm-bandc) 0 30%,transparent 34%) 0 0/calc(1.7 * var(--u)) calc(1.7 * var(--u)),
  radial-gradient(circle,transparent 0 46%,color-mix(in srgb,var(--dcm-bandc) 70%,transparent) 48% 56%,transparent 58%) calc(.85 * var(--u)) calc(.85 * var(--u))/calc(1.7 * var(--u)) calc(1.7 * var(--u));opacity:.8}
.dcm__vt{writing-mode:vertical-rl;font-family:var(--dcm-mono);font-weight:600;letter-spacing:.1em;white-space:nowrap}
.dcm__vt.is-up{transform:rotate(180deg)}
.dcm__vt.ff-sans{font-family:var(--dcm-sans)}
:is(.dcm__qr,.dcm__bc) svg{display:block;width:100%;height:100%;fill:var(--dcm-text)}
.dcm__cc svg{display:block;width:100%;height:100%}
.dcm__cc .cc-b{fill:#D7B568;stroke:#A88742;stroke-width:.8}
.dcm__cc .cc-l{fill:none;stroke:#8E6F31;stroke-width:1.1}
.dcm__sh svg{display:block;width:100%;height:100%}
.dcm__sh.sh-crescent{color:#D63543;opacity:.62}
.dcm__sh.sh-crescent path{stroke:currentColor}
.dcm__sh.is-pale{opacity:.36}
.dcm__sh.sh-hexrf .hx{fill:color-mix(in srgb,var(--dcm-ink) 72%,#9AA3B5)}
.dcm__sh.sh-hexrf text{fill:rgba(255,255,255,.92)}
.dcm__cr{display:flex;align-items:center;gap:0;font-family:var(--dcm-sans);font-size:calc(var(--s) * var(--u));color:var(--dcm-text)}
.dcm__cr i{font-style:normal;font-weight:700;margin-right:calc(1 * var(--u))}
.dcm__cr b{padding:calc(.15 * var(--u)) calc(.55 * var(--u));border:calc(.14 * var(--u)) solid var(--dcm-text);margin-left:calc(-.14 * var(--u));font-weight:700;opacity:.4}
.dcm__cr b.on{opacity:1}
.dcm__ls{display:flex;flex-direction:column;gap:calc(.32 * var(--u));white-space:normal;line-height:1.18;color:var(--dcm-text)}
.dcm__ls span{display:block}

/* фон прав: «водительское удостоверение» на языках ЕС строками, пиктограммы; оборот — таблица категорий и легенда */
.dcm__bgt{display:flex;flex-direction:column;overflow:hidden;z-index:0;font-weight:600;letter-spacing:.03em;line-height:1.3;color:var(--dcm-bgt);text-transform:uppercase}
.dcm__bgt span{display:block;white-space:nowrap}
.dcm__bgt span:nth-child(even){transform:translateX(-18%)}
.dcm__px{display:flex;gap:calc(1.4 * var(--u));opacity:.3}
.dcm__px svg{width:calc(6.6 * var(--u));height:calc(3.05 * var(--u));fill:var(--dcm-ink)}
.dcm__cat table{width:100%;height:100%;table-layout:fixed;font-size:calc(1.42 * var(--u))}
.dcm__cat th,.dcm__cat td{padding:0 calc(.8 * var(--u));border-bottom:calc(.12 * var(--u)) solid color-mix(in srgb,var(--dcm-ink) 32%,transparent);text-align:left;font-weight:500;white-space:nowrap;overflow:hidden;vertical-align:middle}
.dcm__cat :is(th,td)+:is(th,td){border-left:calc(.12 * var(--u)) solid color-mix(in srgb,var(--dcm-ink) 32%,transparent)}
.dcm__cat thead th{font-size:calc(1.85 * var(--u));font-weight:500;color:var(--dcm-ink);text-align:center;border-bottom-width:calc(.2 * var(--u))}
.dcm__cat thead th:first-child{width:30%}
.dcm__cat thead th:nth-child(2),.dcm__cat thead th:nth-child(3){width:21%}
.dcm__cat tbody th{color:var(--dcm-ink)}
.dcm__cat tbody th b{display:inline-block;min-width:2.3em;font-weight:600}
.dcm__cat tbody th svg{width:calc(4.6 * var(--u));height:calc(2.12 * var(--u));vertical-align:middle;fill:var(--dcm-ink)}
.dcm__cat.is-col tbody th{width:auto;padding:0 calc(.6 * var(--u));font-family:var(--dcm-serif);font-size:calc(1.9 * var(--u));border-left:0}
.dcm__cat.is-col tbody th svg{float:right;width:calc(6 * var(--u));height:calc(2.7 * var(--u));margin-top:calc(.2 * var(--u))}
.dcm__cat.is-col table{border:calc(.14 * var(--u)) solid color-mix(in srgb,var(--dcm-ink) 40%,transparent)}
.dcm__cat td{font-family:var(--dcm-mono);font-size:calc(1.4 * var(--u));text-align:center;color:var(--dcm-text)}
.dcm__cat .dash{display:inline-block;width:60%;border-top:calc(.16 * var(--u)) solid var(--dcm-text);vertical-align:middle}
.dcm__lg{overflow:hidden}
.dcm__lg span{display:block;height:100%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:calc(1.12 * var(--u));line-height:1.35;color:var(--dcm-ink);white-space:normal}

/* машиночитаемая зона: шаг знака 2,54 мм (Plex Mono + разрядка), центры строк — по ICAO 9303 */
.dcm__mz{font-family:var(--dcm-mono);font-weight:500;letter-spacing:calc(var(--tr) * var(--u));color:var(--dcm-mrz)}

/* прозрачное окно: стекло с «призрачным» фото, блик */
.dcm__win{overflow:hidden;border-radius:calc(1.2 * var(--u));background:linear-gradient(140deg,rgba(255,255,255,.82),rgba(255,255,255,.42) 48%,rgba(225,234,246,.6));
  box-shadow:inset 0 0 0 calc(.16 * var(--u)) rgba(255,255,255,.9),0 0 0 calc(.12 * var(--u)) color-mix(in srgb,var(--dcm-ink) 22%,transparent),inset 0 calc(-.6 * var(--u)) calc(1.4 * var(--u)) rgba(120,140,170,.18)}
.dcm__win .dcm__gh.in{position:absolute;inset:8%;opacity:.62}
.dcm__glare{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 46%,transparent 58%)}
/* перфорация номера: точки-отверстия, читается снизу вверх у правого края */
.dcm__pf svg{display:block;width:100%;height:100%;fill:rgba(28,34,46,.42)}
.dcm__pf.is-v{transform-origin:0 0;transform:translateY(calc(var(--w) * var(--u))) rotate(-90deg)}
.dcm__pf circle{stroke:rgba(255,255,255,.75);stroke-width:.12}
/* голографическая плёнка: плитка со знаками «А» и микротекстом — маска (--lm из разметки), под ней масляные пятна.
   Как на настоящей плёнке, узор вспыхивает там, куда падает свет: слой с пятнами несёт «пятно света» (маска с ровным
   полом по всему листу и ярким центром) и едет за курсором (--mx/--my, 0…1), поворачиваясь — цвета под светом
   перетекают. Без курсора свет стоит в середине, а пятна медленно текут сами. */
.dcm__lam,.dcm__oil,.dcm__spec{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.dcm__lam{z-index:3;opacity:.42;transition:opacity .5s;
  -webkit-mask:var(--lm) 0 0/calc(13 * var(--u)) calc(11.2 * var(--u)) repeat;mask:var(--lm) 0 0/calc(13 * var(--u)) calc(11.2 * var(--u)) repeat}
.dcm.is-hover .dcm__lam{opacity:.8}
.dcm__lam i,.dcm__oil i{position:absolute;display:block;inset:-55%}
/* 47,6 % своей ширины (слой — 210 % бланка) = 100 % бланка: центр слоя, а с ним и пятно света, стоит под курсором */
.dcm__lam i{transform:translate(calc((var(--mx,.5) - .5) * 47.6%),calc((var(--my,.5) - .5) * 47.6%)) rotate(calc((var(--mx,.5) - .5) * 100deg));
  -webkit-mask:radial-gradient(24% 32% at 50% 50%,#000,rgba(0,0,0,.5) 55%,rgba(0,0,0,.28) 100%);mask:radial-gradient(24% 32% at 50% 50%,#000,rgba(0,0,0,.5) 55%,rgba(0,0,0,.28) 100%)}
.dcm__lam i::before,.dcm__oil i::before{content:"";position:absolute;inset:0;background:
  radial-gradient(26% 30% at 22% 26%,#13A6A2,rgba(19,166,162,0)),radial-gradient(24% 28% at 68% 20%,#3A63D8,rgba(58,99,216,0)),
  radial-gradient(26% 30% at 84% 62%,#8A46C9,rgba(138,70,201,0)),radial-gradient(26% 30% at 36% 80%,#D34A9B,rgba(211,74,155,0)),
  radial-gradient(22% 26% at 56% 48%,#E8A93E,rgba(232,169,62,0)),radial-gradient(20% 24% at 10% 62%,#5DB46C,rgba(93,180,108,0)),
  radial-gradient(22% 26% at 88% 90%,#13A6A2,rgba(19,166,162,0)),radial-gradient(20% 24% at 50% 6%,#D34A9B,rgba(211,74,155,0))}
/* общий масляный перелив по всему бланку: мягкий, в режиме soft-light — подкрашивает, не закрывает */
.dcm__oil{z-index:3;mix-blend-mode:soft-light;opacity:.36;transition:opacity .5s}
.dcm.is-hover .dcm__oil{opacity:.58}
.dcm__oil i{transform:translate(calc((var(--mx,.5) - .5) * -18%),calc((var(--my,.5) - .5) * -14%)) rotate(calc((var(--mx,.5) - .5) * -50deg))}
.dcm__oil i::before{transform:rotate(150deg)}
/* блик: светлое пятно, сдвигается за курсором */
.dcm__spec{z-index:4;mix-blend-mode:soft-light;opacity:0;transition:opacity .4s;
  background:radial-gradient(34% 48% at 50% 50%,rgba(255,255,255,.9),rgba(255,255,255,0) 72%)}
.dcm.is-hover .dcm__spec{opacity:1;transform:translate(calc((var(--mx) - .5) * 100%),calc((var(--my) - .5) * 100%))}
@media (prefers-reduced-motion:no-preference){
  .dcm__lam i::before{will-change:transform;animation:dcm-flow 24s ease-in-out infinite alternate}
  .dcm__oil i::before{will-change:transform;animation:dcm-flow2 31s ease-in-out infinite alternate}
  .dcm__lam i,.dcm__oil i,.dcm__spec{will-change:transform}
  .dcm__ring{will-change:transform;animation:dcm-spin 140s linear infinite}
  .dcm__ring--1{animation-duration:110s;animation-direction:reverse}
  @keyframes dcm-spin{to{transform:rotate(360deg)}}
  @keyframes dcm-flow{from{transform:translate(-6%,4%) rotate(-8deg) scale(1)}to{transform:translate(7%,-5%) rotate(14deg) scale(1.12)}}
  @keyframes dcm-flow2{from{transform:rotate(150deg) translate(5%,-4%) scale(1.1)}to{transform:rotate(190deg) translate(-6%,5%) scale(1)}}
}

/* узкий бланк (телефон): только первый язык подписей, подписи крупнее */
@container dcm (max-width:440px){
  .dcm__l2,.dcm__l3{display:none}
  .dcm__e{--kl:1.25;--kv:1.04}
  .dcm__mc{opacity:.6}
}

/* Миниатюры предметов «Комплекта» (kit-art.js): аватар, карточка «было / стало», подсказка салона, памятка, талон, купоны,
   листы печати, файл анкеты. Вынесены из kit.css 31.10.2026, чтобы их же показывали лендинги документов («Вы получите»,
   scripts/lib/doc-landing.js) — один источник. Нужна переменная --paper-sh у родителя (.rv3--kit, .dl-kit). */
.kit-paper { position: relative; display: inline-block; background: #fff; line-height: 0; box-shadow: var(--paper-sh); }
.kit-paper canvas { display: block; }
.kit-set { position: relative; display: inline-block; }
.kit-set__s { position: absolute; transform: rotate(var(--r, 0deg)); transform-origin: 50% 100%; }
.kit-set__n { position: absolute; right: 8px; top: -2px; z-index: 9; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 50%; background: var(--c-t1); color: #fff; font: 500 7px/1.1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .04em; box-shadow: 0 6px 14px rgba(16, 18, 20, .25); }
.kit-set__n b { font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
.kit-det { display: inline-flex; flex-direction: column; align-items: center; }
.kit-det__c { display: block; line-height: 0; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1.5px var(--c-t1), 0 0 0 4px #fff, 0 0 0 5px var(--c-edge-2), var(--paper-sh); }
.kit-av { position: relative; display: inline-block; border-radius: 50%; overflow: hidden; line-height: 0; box-shadow: 0 0 0 3px #fff, var(--paper-sh); }
.kit-av canvas { display: block; border-radius: 50%; }
.kit-file { display: inline-flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #fff; box-shadow: var(--paper-sh); text-align: left; line-height: 1.3; }
.kit-file__ph { flex: none; line-height: 0; border-radius: 4px; overflow: hidden; box-shadow: 0 0 0 1px var(--c-edge); }
.kit-file__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kit-file__t b { font: 600 12.5px 'IBM Plex Mono', ui-monospace, monospace; color: var(--c-t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kit-file__t em { font: 500 12px 'IBM Plex Mono', ui-monospace, monospace; font-style: normal; color: var(--c-measure); }
.kit-file__t u { display: block; height: 4px; margin-top: 3px; border-radius: 2px; background: var(--c-measure-soft); text-decoration: none; overflow: hidden; }
.kit-file__t u s { display: block; height: 100%; background: var(--c-measure); border-radius: 2px; }
.kit-file__t small { font: 500 11px 'IBM Plex Mono', ui-monospace, monospace; color: var(--c-t2); }
.kit-phone { position: relative; display: inline-block; padding: calc(var(--u) * 7px); border-radius: calc(var(--u) * 24px); background: #101214; box-shadow: var(--paper-sh); }
.kit-phone__scr { position: relative; display: flex; flex-direction: column; gap: calc(var(--u) * 7px); height: 100%; padding: calc(var(--u) * 18px) calc(var(--u) * 4px) calc(var(--u) * 8px);
  border-radius: calc(var(--u) * 18px); background: #fff; overflow: hidden; }
.kit-phone__scr::before { content: ""; position: absolute; left: 50%; top: calc(var(--u) * 5px); width: calc(var(--u) * 34px); height: calc(var(--u) * 8px); margin-left: calc(var(--u) * -17px); border-radius: 99px; background: #101214; }
.kit-phone__top { display: flex; align-items: center; gap: calc(var(--u) * 5px); padding: 0 calc(var(--u) * 4px); }
.kit-phone__mk { width: calc(var(--u) * 12px); height: calc(var(--u) * 12px); color: var(--c-t1); }
.kit-phone__top i { font: 500 calc(var(--u) * 7.6px)/1 'IBM Plex Mono', ui-monospace, monospace; font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--c-t2); }
.kit-phone__scr > b { padding: 0 calc(var(--u) * 4px); font-size: calc(var(--u) * 12.5px); line-height: 1.15; font-weight: 600; letter-spacing: -.01em; }
.kit-phone__sheet { display: flex; justify-content: center; line-height: 0; }
.kit-phone__sheet canvas { box-shadow: 0 0 0 1px var(--c-edge-2); }
.kit-phone__dl { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u) * 3px) calc(var(--u) * 6px); padding: 0 calc(var(--u) * 4px); font-size: calc(var(--u) * 8.6px); line-height: 1.3; }
.kit-phone__dl i { font-style: normal; color: var(--c-t2); }
.kit-phone__dl em { font: 500 calc(var(--u) * 8.6px)/1.3 'IBM Plex Mono', ui-monospace, monospace; font-style: normal; color: var(--c-t1); text-align: right; }
.kit-memo { position: relative; display: inline-flex; flex-direction: column; gap: calc(var(--u) * 7px); padding: calc(var(--u) * 11px); background: #fff; box-shadow: var(--paper-sh); text-align: left; }
.kit-memo__top { display: flex; align-items: center; gap: calc(var(--u) * 4px); padding-bottom: calc(var(--u) * 5px); border-bottom: 1px solid var(--c-t1); }
.kit-memo__mk { width: calc(var(--u) * 11px); height: calc(var(--u) * 11px); }
.kit-memo__top b { font: 600 calc(var(--u) * 7px)/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .1em; }
.kit-memo__row { display: flex; gap: calc(var(--u) * 8px); }
.kit-memo__ph { flex: none; line-height: 0; box-shadow: 0 0 0 1px var(--c-edge); }
.kit-memo__ls { flex: 1; display: flex; flex-direction: column; gap: calc(var(--u) * 5px); padding-top: calc(var(--u) * 2px); }
.kit-memo__ls i, .kit-memo__cols i { display: block; height: calc(var(--u) * 2.6px); border-radius: 2px; background: #DCDDD9; }
.kit-memo__ls i:nth-child(odd) { width: 86%; } .kit-memo__ls i:nth-child(3n) { width: 64%; }
.kit-memo__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u) * 6px); }
.kit-memo__cols span { display: flex; flex-direction: column; gap: calc(var(--u) * 4px); }
.kit-memo__cols b { display: block; height: calc(var(--u) * 3.4px); width: 70%; border-radius: 2px; background: var(--c-t1); }
.kit-memo__tb { margin-top: auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; height: calc(var(--u) * 16px); border: 1px solid var(--c-t1); }
.kit-memo__tb i { border-left: 1px solid var(--c-edge-2); } .kit-memo__tb i:first-child { border-left: 0; }
.kit-gc { position: relative; display: inline-flex; flex-direction: column; gap: calc(var(--u) * 7px); padding: calc(var(--u) * 10px) calc(var(--u) * 12px); background: #fff;
  box-shadow: var(--paper-sh); text-align: left; overflow: hidden; border-top: calc(var(--u) * 4px) solid var(--c-t1); }
.kit-gc__top { display: flex; align-items: center; gap: calc(var(--u) * 5px); }
.kit-gc__mk { width: calc(var(--u) * 12px); height: calc(var(--u) * 12px); }
.kit-gc__top b { font: 600 calc(var(--u) * 8px)/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .12em; }
.kit-gc__body { display: flex; gap: calc(var(--u) * 10px); align-items: flex-start; }
.kit-gc__ph { flex: none; line-height: 0; box-shadow: 0 0 0 1px var(--c-edge); }
.kit-gc__rows { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u) * 3px) calc(var(--u) * 8px); font-size: calc(var(--u) * 8.5px); line-height: 1.2; }
.kit-gc__rows i { font-style: normal; color: var(--c-t2); } .kit-gc__rows b { font-weight: 500; white-space: nowrap; }
.kit-gc__foot { margin-top: auto; padding-top: calc(var(--u) * 6px); border-top: 1px dashed var(--c-edge-2); font: 600 calc(var(--u) * 8px)/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; }
.kit-gc__st { position: absolute; right: calc(var(--u) * 6px); bottom: calc(var(--u) * 6px); width: calc(var(--u) * 62px); height: calc(var(--u) * 62px); color: var(--c-measure); }
.kit-stamp { width: 100%; height: 100%; transform: rotate(-12deg); opacity: .88; }
.kit-story { position: relative; display: inline-block; border-radius: 10px; overflow: hidden; line-height: 0; box-shadow: var(--paper-sh); }
.kit-story canvas { display: block; }
.kit-story i { position: absolute; left: calc(var(--u) * 7px); padding: calc(var(--u) * 3px) calc(var(--u) * 6px); border-radius: 99px; background: rgba(16, 18, 20, .8); color: #fff;
  font: 500 calc(var(--u) * 7.5px)/1 'IBM Plex Mono', ui-monospace, monospace; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.kit-story__a { top: calc(var(--u) * 7px); } .kit-story__b { top: calc(50% + var(--u) * 7px); }
.kit-story__mk { position: absolute; left: 50%; bottom: calc(var(--u) * 7px); transform: translateX(-50%); display: inline-flex; align-items: center; gap: calc(var(--u) * 3px);
  padding: calc(var(--u) * 3px) calc(var(--u) * 7px); border-radius: 99px; background: #fff; font: 600 calc(var(--u) * 7.5px)/1 'IBM Plex Mono', ui-monospace, monospace; color: var(--c-t1); white-space: nowrap; }
.kit-story__mk svg { width: calc(var(--u) * 9px); height: calc(var(--u) * 9px); }
.kit-cpn { display: inline-flex; width: 220px; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: var(--paper-sh); text-align: left; }
.kit-cpn__l { display: grid; place-items: center; width: 70px; flex: none; background: var(--c-t1); color: #fff; font-size: 20px; font-weight: 600; letter-spacing: -.02em; border-right: 1.5px dashed rgba(255, 255, 255, .5); }
.kit-cpn--f .kit-cpn__l { background: var(--c-measure); }
.kit-cpn__r { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px; font-size: 11.5px; line-height: 1.3; color: var(--c-t2); }
.kit-cpn__r b { font-size: 13px; color: var(--c-t1); }
.kit-cpn__r code { margin-top: 3px; font: 600 11px 'IBM Plex Mono', ui-monospace, monospace; color: var(--c-t1); letter-spacing: .06em; }

/* ═══════════════════════════════════════════════════════════════════════════════
   Лендинги документов (scripts/lib/doc-landing.js) — поверх стилей страницы грин-карты (/gcl.css, тот же язык:
   «бумага» бланка, гильош, нумерованные разделы, оглавление, телефон, билет цены) и бланка документа
   (src/doc-mock/doc-mock.css). Здесь: палитра документа, первый экран с бланком (селфи → фото по правилам, размеры
   чертежом, печать «Проверено», блик), возраст, подача. Всё под body.dl-page.
   Палитра паспорта РФ — из бланка (src/doc-mock/themes/ru.js): розовая бумага, бордо, тёмно-синяя «тушь».
   Движение — только transform, opacity и clip-path; «меньше движения» (html.gcl-calm) — сразу итог.
   ═══════════════════════════════════════════════════════════════════════════════ */
.dl-page{--gm-0:#FBF4F6;--gm-1:#F6E7EC;--gm-2:#EED3DC;--gm-3:#DDA3B2;--gm-4:#B4566C;--gm-ink:#8E2A3D;--gm-deep:#1B2240;--gm-peach:#EEE9F3;
  --dl-glow:#F3B9C6;--dl-on-deep:#ECEDF6;--dl-mute-deep:#C3C7DD;
  /* главная кнопка — янтарный «Свет» сайта (на этой странице бордо — цвет бланка, а не действия) */
  --gcl-go:#D9A045;--gcl-go-fill:linear-gradient(180deg,#F4CD7C 0%,#E9B45C 56%,#D69C3F 100%);
  --gcl-go-press:linear-gradient(180deg,#D69C3F 0%,#E9B45C 100%);
  --gcl-go-lift:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(120,72,10,.28),0 0 0 1px rgba(150,96,24,.42),0 1px 2px rgba(120,72,10,.18),0 8px 18px -8px rgba(176,116,34,.55);
  --gcl-go-lift-h:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(120,72,10,.28),0 0 0 1px rgba(150,96,24,.45),0 2px 3px rgba(120,72,10,.16),0 14px 26px -10px rgba(176,116,34,.6)}
.dl-page .gcl-go{color:#1B1A17;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.dl-page .gcl-go:active{box-shadow:inset 0 2px 3px rgba(120,72,10,.3),0 0 0 1px rgba(150,96,24,.45)}

/* мятные места страницы грин-карты — в цвет паспорта */
.dl-page .gcl-status{color:var(--dl-on-deep)}
.dl-page .gcl-status a{color:var(--dl-glow)}
.dl-page .gcl-dot{background:var(--dl-glow)}
.dl-page .gcl-dot::after{border-color:var(--dl-glow)}
.dl-page .gcl-toc a i{color:var(--gm-ink)}
.dl-page .gcl-toc a.is-on i{color:var(--dl-glow)}
.dl-page .gcl-res__btn--pay{color:#1B1A17;background:linear-gradient(180deg,#F4CD7C 0%,#E9B45C 56%,#D69C3F 100%)}
.dl-page .gcl-res__toast{color:var(--dl-on-deep)}
.dl-page .gcl-res__toast .gcl-ic{color:var(--dl-glow)}
.dl-page .gcl-refund{color:var(--dl-on-deep)}
.dl-page .gcl-refund span span{color:var(--dl-mute-deep)}
.dl-page .gcl-refund .gcl-ic{color:var(--dl-glow)}
.dl-page .gcl-final{color:var(--dl-on-deep)}
.dl-page .gcl-final__g .band{stroke:var(--dl-glow)}
.dl-page .gcl-final__ro .ro,.dl-page .gcl-final__ro .ro2{stroke:var(--dl-glow)}
.dl-page .gcl-final .gcl-final__k{color:var(--dl-glow)}
.dl-page .gcl-final p,.dl-page .gcl-final .gcl-trust{color:var(--dl-mute-deep)}
.dl-page .gcl-final .gcl-trust .gcl-ic{color:var(--dl-glow)}
.dl-page .gcl-final .gcl-go:focus-visible{outline-color:var(--dl-glow)}
.dl-page .gcl-final .gcl-go{--gcl-go:#D9A045;--gcl-go-fill:linear-gradient(180deg,#F6D58C 0%,#EBB960 56%,#D89E40 100%);--gcl-go-lift:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(120,72,10,.3),0 0 0 1px rgba(150,96,24,.5),0 10px 24px -10px rgba(0,0,0,.55);--gcl-go-lift-h:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(120,72,10,.3),0 0 0 1px rgba(150,96,24,.5),0 16px 30px -12px rgba(0,0,0,.6)}

.dl-page .gcl-faq details::before{background:var(--gm-ink)}
.dl-page .gcl-faq details[open]{box-shadow:0 0 0 1px rgba(142,42,61,.24),0 16px 32px -24px rgba(27,34,64,.4)}
.dl-page .gcl-check__rep{width:248px;grid-template-columns:92px minmax(0,1fr);align-items:center;box-shadow:inset 0 0 0 1px rgba(142,42,61,.14)}
.dl-page .gcl-check__rep li{white-space:normal;align-items:flex-start;line-height:1.3}

/* полоса файла — от бордо к «готово» */
.dl-page .gcl-file__bar{background:rgba(142,42,61,.1)}

/* снимки документа — 35 × 45, а не квадрат грин-карты */
.dl-page :is(.gcl-get__img img,.gcl-sheet__ph img,.gcl-check__ph){aspect-ratio:35/45}
.dl-page .gcl-ep{aspect-ratio:35/45}
/* «до» уже в той же рамке, что «после» (глаза на одном уровне) — без увеличения, как у квадратного селфи грин-карты */
.dl-page .gcl-errs.is-fixed .gcl-ep__b{transform:none}
.dl-page :is(.gcl-gen__ph,.gcl-res__ph){width:6.6em;aspect-ratio:35/45}
.dl-page :is(.gcl-gen__ph,.gcl-res__ph) img{width:100%;height:100%;object-fit:cover}

/* ══════════ первый экран: бланк паспорта ══════════ */
.dl-page .dl-stage{max-width:640px}
/* подсветка в H1 переносится: у облегчённых страниц это всё название документа («студенческий билет»); короткие
   («паспорт РФ») не рвутся — между словами неразрывный пробел */
.dl-page .gcl-hl{white-space:normal}
.dl-page .dl-pass{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform}
.dl-page .dl-pass .dcm__doc{transition:none}
.dl-page .dl-pass .dcm__ph{isolation:isolate}
.dl-page .dl-pass .dcm__ph .dl-after{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 25%;
  filter:saturate(.94) contrast(1.02);clip-path:inset(0 0 100% 0)}
.dl-page .dl-pass.s-after .dcm__ph .dl-after{clip-path:inset(0 0 0 0);transition:clip-path 1.05s cubic-bezier(.45,0,.3,1)}
.dl-page .dl-pass.is-before .dcm__ph .dl-after{clip-path:inset(0 0 100% 0);transition:none}
.dl-page .dl-stage.is-over .dl-pass .dcm__doc{box-shadow:0 0 0 2px var(--c-t1),0 44px 70px -36px rgba(27,34,64,.55)}

/* размеры чертежом поверх окна фото: выносные, размерная с засечками, ось макушки и подбородка */
.dl-page .dl-dims{position:absolute;z-index:2;pointer-events:none;transform:translateZ(1px)}
.dl-page .dl-dims svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dl-page .dl-dims .ext,.dl-page .dl-dims .tick{fill:none;stroke:var(--c-measure);stroke-width:1.4;vector-effect:non-scaling-stroke}
.dl-page .dl-dims .dim{fill:none;stroke:var(--c-measure);stroke-width:1.6;vector-effect:non-scaling-stroke}
.dl-page .dl-dims .ax{fill:none;stroke:var(--c-measure);stroke-width:1;stroke-dasharray:4 4;opacity:.55;vector-effect:non-scaling-stroke}
.dl-page .dl-dl{position:absolute;font-family:var(--font-mono);font-size:clamp(9px,1.05vw,12.5px);font-weight:600;line-height:1;color:var(--c-measure);white-space:nowrap;
  padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.86)}
.dl-page .dl-dl--h{left:1%;transform:translateY(-50%)}
.dl-page .dl-dl--t{right:12%;top:1.5%}
.dl-page .dl-dl--w{left:50%;bottom:1.2%;transform:translateX(-50%)}
.dl-page .dl-dl--v{right:5.7%;top:50%;writing-mode:vertical-rl;transform:translate(50%,-50%) rotate(180deg)}
.dl-page .dl-scan{position:absolute;inset:0;overflow:hidden;opacity:0}
.dl-page .dl-scan::before{content:"";position:absolute;inset:0;transform:translateY(-100%);
  background:linear-gradient(180deg,transparent 0 52%,rgba(111,227,197,.08) 74%,rgba(111,227,197,.34) 95.5%,#E4FFF6 98.4%,#6FE3C5 100%)}
.dl-page .dl-stamp{position:absolute;z-index:3;left:24.5%;top:57%;width:19%;color:var(--c-measure);opacity:.92;transform:rotate(-12deg);pointer-events:none}
.dl-page .dl-stamp svg{display:block;width:100%;height:auto;overflow:visible}
.dl-page .dl-stamp{mix-blend-mode:multiply}
.dl-page .dl-stamp .st-t{font-family:var(--font-sans);font-size:10.4px;font-weight:600;letter-spacing:.16em;fill:currentColor}
.dl-page .dl-stamp .st-n{font-family:var(--font-mono);font-size:9.2px;font-weight:500;fill:currentColor}
.dl-page .dl-pass__sweep{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:2.54%/3.6%;mix-blend-mode:soft-light;opacity:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.95) 46%,rgba(19,166,162,.5) 50%,rgba(211,74,155,.45) 54%,transparent 70%) -120% 0/220% 100% no-repeat}
.dl-page .dl-chip{font-family:var(--font-mono);font-size:12.5px;color:var(--gm-ink)}

@media (prefers-reduced-motion:no-preference){
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass:not(.s-dims) :is(.dl-dims svg,.dl-dl){opacity:0}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-dims:not(.s-done) .dl-dims .dim.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:dl-draw .7s cubic-bezier(.45,0,.3,1) both;animation-delay:var(--d,0s)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-dims:not(.s-done) :is(.dl-dims svg,.dl-dl){animation:dl-in .45s ease both}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass:not(.s-stamp) .dl-stamp{opacity:0;transform:rotate(-12deg) scale(1.6)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-stamp:not(.s-done) .dl-stamp{animation:dl-stamp .42s cubic-bezier(.3,1.4,.5,1) both}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-scan .dl-scan{opacity:1}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-scan .dl-scan::before{animation:dl-scan 1.05s cubic-bezier(.45,0,.3,1) .11s both}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.s-sweep:not(.s-done) .dl-pass__sweep{opacity:1;animation:dl-sweep .9s ease-in-out both}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-pass.is-swap .dl-stamp{animation:dl-stamp .42s cubic-bezier(.3,1.4,.5,1) both}
  @keyframes dl-draw{to{stroke-dashoffset:0}}
  @keyframes dl-in{from{opacity:0}to{opacity:1}}
  @keyframes dl-stamp{from{opacity:0;transform:rotate(-12deg) scale(1.6)}to{opacity:.92;transform:rotate(-12deg) scale(1)}}
  @keyframes dl-scan{from{transform:translateY(-100%)}to{transform:translateY(0)}}
  @keyframes dl-sweep{from{background-position:-120% 0}to{background-position:220% 0}}
}
html.gcl-js .dl-page .dl-pass.is-before :is(.dl-dims,.dl-stamp){opacity:0}

/* ── требования: колонка пункта — мелко, моноширинным; строка «сколько фото» — Госуслуги при выборе ── */
.dl-page .gcl-rt-box{box-shadow:0 0 0 1px rgba(27,34,64,.14),0 26px 50px -42px rgba(27,34,64,.5)}
.dl-page .gcl-rt thead th,.dl-page .gcl-rt thead td{background:linear-gradient(180deg,var(--gm-0),rgba(251,244,246,0))}
.dl-page .gcl-rt td.is-on{background-color:rgba(246,231,236,.5)}
.dl-page .gcl-rt thead th.is-on{background:linear-gradient(180deg,var(--gm-1),rgba(246,231,236,.5))}
.dl-page .dl-rt--2 .gcl-rt__corner{width:34%}
.dl-page .dl-rt .dl-rt__p{width:15%;font-family:var(--font-mono);font-size:12.5px;color:var(--gcl-t3)}
.dl-page .dl-rt tr[data-dl-row="count"] small{display:block;margin-top:4px;color:var(--gcl-t3)}
.dl-page .dl-rt tr[data-dl-row="count"].is-gu small{color:var(--gm-ink);font-weight:600}

/* ── возраст: линия 14 → 20 → 45 → бессрочно и три карточки ── */
.dl-page .dl-age{margin-top:8px}
.dl-page .dl-age__line{position:relative;height:28px;margin:0 6px 18px;border-bottom:1.5px solid var(--gm-3)}
.dl-page .dl-age__line i{position:absolute;bottom:-6px;left:calc(var(--at) * 50%);width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--gm-4);box-shadow:0 0 0 4px var(--gm-0)}
.dl-page .dl-age__line i:last-of-type{margin-left:-11px}
.dl-page .dl-age__line span{position:absolute;right:0;top:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--gm-ink)}
.dl-page .dl-age__list{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px}
.dl-page .dl-age__c{display:flex;gap:16px;align-items:flex-start;padding:20px}
.dl-page .dl-age__n{flex:none;font-family:var(--font-mono);font-size:40px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--gm-ink)}
.dl-page .dl-age__c b{display:block;font-size:17px;margin-bottom:6px}
.dl-page .dl-age__c p{font-size:15px;line-height:1.5;color:var(--c-t2)}
.dl-page .dl-note{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:15px;color:var(--c-t2)}
.dl-page .dl-note .gcl-ic{color:var(--gm-ink)}
@media (prefers-reduced-motion:no-preference){
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age:not(.is-in) .dl-age__c{opacity:0;transform:translateY(12px)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age.is-in .dl-age__c{transition:opacity .5s ease,transform .6s cubic-bezier(.2,.9,.28,1.04);transition-delay:calc(var(--i) * 120ms)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age:not(.is-in) .dl-age__line i{transform:scale(0)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age.is-in .dl-age__line i{transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age.is-in .dl-age__line i:nth-of-type(2){transition-delay:.15s}
  html.gcl-js:not(.gcl-calm) .dl-page .dl-age.is-in .dl-age__line i:nth-of-type(3){transition-delay:.3s}
}

/* ── переключатель первого экрана: пилюля встаёт под нажатую кнопку (--px, --pw — её место и ширина, ставит dl.js;
   без скрипта — под первой); три кнопки у общей страницы ── */
.dl-page .gcl-branch.is-measured .gcl-branch__pill{left:0;width:var(--pw);transform:translateX(var(--px))}
.dl-page .dl-branch--3{grid-template-columns:repeat(3,auto)}
.dl-page .dl-branch--4{grid-template-columns:repeat(4,auto)}
.dl-page .dl-branch--3 .gcl-branch__pill{width:calc((100% - 16px) / 3)}
.dl-page .dl-branch--4 .gcl-branch__pill{width:calc((100% - 20px) / 4)}
.dl-page .dl-stage .dl-pass[hidden]{display:none}

/* ── размеры фото на документы (общая страница) ── */
.dl-page .dl-sz .gcl-rt__corner{width:36%}
.dl-page .dl-sz .dl-sz__go{width:19%;text-align:right}
.dl-page .dl-sz tbody th{font-size:15.5px;font-weight:600;color:var(--c-t1)}
.dl-page .dl-sz__doc{color:inherit;border-bottom:1px solid var(--c-edge-2)}
.dl-page .dl-sz__doc:hover{border-color:var(--c-t1)}
.dl-page .dl-sz td{white-space:normal}
.dl-page .dl-sz .gcl-tlink{white-space:nowrap}

/* ── подача: три карточки ── */
.dl-page .dl-subs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dl-page .dl-sub{display:block;padding:22px}
.dl-page .dl-sub h3{margin:10px 0 8px;font-size:19px}
.dl-page .dl-sub p{font-size:15px;line-height:1.55;color:var(--c-t2)}
.dl-page .dl-sub .gcl-chips{margin-top:14px}

@media (max-width:900px){
  .dl-page .dl-age__list,.dl-page .dl-subs{grid-template-columns:1fr}
}
@media (max-width:720px){
  .dl-page .dl-rt tr{grid-template-columns:minmax(0,1fr) 96px}
  .dl-page .dl-rt--2 tr{grid-template-columns:minmax(0,1fr)}
  .dl-page .dl-sz tr{position:relative}
  .dl-page .dl-sz tbody th{padding-right:64px;font-family:var(--font-sans);font-size:15.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--c-t1)}
  .dl-page .dl-sz td{padding-bottom:12px}
  /* «Сделать фото» на телефоне — круглая стрелка справа от названия: строка таблицы вдвое ниже */
  .dl-page .dl-sz td.dl-sz__go{position:absolute;top:8px;right:10px;padding:0;border-left:0}
  .dl-page .dl-sz td.dl-sz__go::before{content:none}
  .dl-page .dl-sz td.dl-sz__go .gcl-tlink{display:flex;align-items:center;justify-content:center;gap:0;width:44px;height:44px;border:1px solid var(--c-edge-2);border-radius:50%;font-size:0;color:var(--c-t1)}
  .dl-page .dl-sz td.dl-sz__go .gcl-ic{width:20px;height:20px;margin:0}
  .dl-page :is(.dl-branch--3,.dl-branch--4) button{padding:10px 8px 11px;text-align:center}
  .dl-page :is(.dl-branch--3,.dl-branch--4) button b{font-size:13.5px;white-space:nowrap}
  .dl-page :is(.dl-branch--3,.dl-branch--4) button span{display:none}
  .dl-page .dl-dl{font-size:9px;padding:1px 3px}
  .dl-page .dl-age__n{font-size:32px}
}

/* ── «А ещё в комплекте» (31.10.2026): все предметы комплекта под карточками файла и листа. Названия — kit-copy.js,
   миниатюры рисует в браузере src/result/kit-art.js (стили — src/result/kit-art.css, им нужна --paper-sh); без скрипта
   плитка остаётся со списком. ── */
.dl-page .dl-kit{--paper-sh:0 0 0 1px rgba(23,21,18,.08),0 1px 1px rgba(23,21,18,.05),0 10px 26px rgba(23,21,18,.13);margin-top:28px}
.dl-page .dl-kit__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px 18px;margin-bottom:14px}
.dl-page .dl-kit__lead{margin:0;font-size:15px;line-height:1.45;color:var(--c-t2)}
.dl-page .dl-kit__cnt{font:500 12.5px var(--font-mono);color:var(--c-t2);white-space:nowrap}
.dl-page .dl-kit__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dl-page .dl-kit__i{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:14px;padding:14px 16px 14px 14px}
.dl-page .dl-kit__art{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:120px;height:108px;border-radius:12px;background:var(--gm-0);overflow:hidden}
.dl-page .dl-kit__art>*{flex:none;transform-origin:50% 50%}
.dl-page .dl-kit__t{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:2px}
.dl-page .dl-kit__t b{font-size:15px;font-weight:600;line-height:1.25;letter-spacing:-.005em;color:var(--c-t1)}
.dl-page .dl-kit__t small{font-size:13px;line-height:1.4;color:var(--c-t2)}
.dl-page .dl-kit__tag{justify-self:start;align-self:end;margin-top:10px;padding:3px 9px;border-radius:99px;font:500 10.5px/1.3 var(--font-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--c-t2);box-shadow:inset 0 0 0 1px var(--c-edge-2)}
.dl-page .dl-kit__i.is-gift .dl-kit__tag{color:var(--gm-ink);background:var(--gm-1);box-shadow:none}
.dl-page .dl-kit__sum{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 22px;margin:14px 0 0;padding:16px 16px 16px 22px;border-radius:16px;background:var(--gm-deep);color:var(--dl-on-deep);font-size:15px;line-height:1.45}
.dl-page .dl-kit__sum .gcl-num{color:#fff}
@media (max-width:1100px){.dl-page .dl-kit__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .dl-page .dl-kit__head{grid-template-columns:minmax(0,1fr)}
  .dl-page .dl-kit__grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .dl-page .dl-kit__i{grid-template-columns:96px minmax(0,1fr);column-gap:12px;padding:12px}
  .dl-page .dl-kit__art{width:96px;height:92px}
  .dl-page .dl-kit__sum{padding:16px}
}
