/* Это завод? - "licence under the seal" visual system
   Radius rule: documents are sharp (2px). Only seals and marks are round. */

/* ================= NIGHT is the default: the desk after hours, documents under a lamp =================
   Page, desk and utility surfaces are dark and warm-neutral (no blue, no pure black).
   Real documents (the licence, the evidence cards, the factory blueprint card) stay paper,
   dimmed to lamp-lit parchment, so stamps keep behaving like ink on paper.
   The day theme lives on html[data-theme="light"]. Without JavaScript the page is simply night. */
:root{
  --r:2px;
  --sans:"Geologica","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono","Noto Sans SC",ui-monospace,Menlo,monospace;
  --han:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --pad:clamp(20px,4.2vw,64px);
  --sec:clamp(80px,10vw,152px);
  --ease:cubic-bezier(.16,1,.3,1);
  --lamp-w:44%;--lamp-h:62%;--lamp-x:79%;--lamp-y:46%;--desk-w:48%;--desk-h:58%;--desk-x:70%;--desk-y:44%;

  --paper:#151714;
  --desk:#0F110E;
  --sheet:#1F221E;
  --ink:#E6E3D8;
  --ink-2:#BBBDB2;
  --ink-3:#979B91;
  --line:#353932;
  --line-2:#2A2D28;
  --seal:#EE6251;
  --ok:#66B795;
  --na:#9DA197;
  --rule:#6F746A;
  --hard:#0A0B09;
  --hatch:rgb(230 227 216 / .075);
  --scrim:rgb(6 7 5 / .72);
  --lamp-hero:radial-gradient(ellipse var(--lamp-w) var(--lamp-h) at var(--lamp-x) var(--lamp-y),rgb(255 230 186 / .13),rgb(255 230 186 / .045) 45%,transparent 72%);
  --lamp-desk:radial-gradient(ellipse var(--desk-w) var(--desk-h) at var(--desk-x) var(--desk-y),rgb(255 230 186 / .12),rgb(255 230 186 / .04) 48%,transparent 74%);
  --grain-op:.07;--grain-blend:screen;--grain-filter:invert(1);
  --path-a-p:#3B413B;
  --path-a-shade:radial-gradient(120% 110% at 22% 6%,rgb(255 246 224 / .5),transparent 48%),radial-gradient(120% 110% at 25% 10%,transparent 50%,rgb(46 40 30 / .14));
  --path-a-shadow:0 40px 70px -34px rgb(4 5 3 / .9),0 14px 26px -14px rgb(4 5 3 / .7);
  --plan:#1F221E;--plan-op:.5;--plan-red:#B3221A;
  --wm-op:.2;
  color-scheme:dark;
}
/* paper scope at night: tokens re-resolve inside real documents */
:is(.lic,.ev,.dlg__sheet){
  --sheet:#E6E3D8;
  --paper:#D6D3C7;
  --ink:#15181A;
  --ink-2:#3D4244;
  --ink-3:#4C5151;
  --line:#B4B3A6;
  --seal:#B3221A;
  --ok:#1D5C46;
  --na:#5B5E58;
  --rule:#15181A;
  --under:#C4C1B4;
  --sheet-shade:radial-gradient(130% 100% at 28% 8%,rgb(255 246 224 / .55),transparent 46%),radial-gradient(120% 100% at 30% 10%,transparent 52%,rgb(46 40 30 / .12));
  --shadow-doc:0 0 0 1px rgb(8 9 7 / .5),0 44px 70px -26px rgb(4 5 3 / .85),0 14px 26px -12px rgb(4 5 3 / .7);
  --shadow-card:0 0 0 1px rgb(8 9 7 / .5),0 50px 80px -34px rgb(4 5 3 / .9),0 16px 28px -14px rgb(4 5 3 / .7);
  --shadow-under:0 12px 22px -14px rgb(4 5 3 / .8);
  color-scheme:light;
}

/* ================= DAY: cool registry paper ================= */
html[data-theme="light"]{
  --paper:#ECEEE9;
  --desk:#E0E4DC;
  --sheet:#F9FAF7;
  --ink:#10161C;
  --ink-2:#3E4852;
  --ink-3:#59626A;
  --line:#C3C9C0;
  --line-2:#D6DAD3;
  --seal:#C5281C;
  --ok:#1D5C46;
  --na:#59626A;
  --rule:var(--ink);
  --hard:color-mix(in srgb,var(--ink) 10%,transparent);
  --hatch:color-mix(in srgb,var(--ink) 7%,transparent);
  --scrim:rgb(16 22 28 / .5);
  --lamp-hero:none;
  --lamp-desk:none;
  --grain-op:.05;--grain-blend:multiply;--grain-filter:none;
  --path-a-p:#C9CFD3;--path-a-shade:none;--path-a-shadow:none;
  --plan:#F9FAF7;--plan-op:.38;--plan-red:#FF5A47;
  --wm-op:.24;
  color-scheme:light;
}
html[data-theme="light"] :is(.lic,.ev,.dlg__sheet){
  --sheet:#F9FAF7;
  --paper:#ECEEE9;
  --ink:#10161C;
  --ink-2:#3E4852;
  --ink-3:#59626A;
  --line:#C3C9C0;
  --seal:#C5281C;
  --ok:#1D5C46;
  --na:#59626A;
  --rule:#10161C;
  --under:#F9FAF7;
  --sheet-shade:none;
  --shadow-doc:0 1px 0 var(--line),0 30px 60px -28px rgb(16 22 28 / .35),0 8px 18px -10px rgb(16 22 28 / .18);
  --shadow-card:0 1px 0 var(--line),0 40px 70px -40px rgb(16 22 28 / .4),0 10px 22px -14px rgb(16 22 28 / .2);
  --shadow-under:0 1px 0 var(--line),0 10px 20px -14px rgb(16 22 28 / .25);
}
@media (max-width:1020px){:root{--lamp-w:95%;--lamp-h:34%;--lamp-x:50%;--lamp-y:74%;--desk-w:100%;--desk-h:46%;--desk-x:50%;--desk-y:62%}}
/* colour cross-fade only while the user flips the switch, never on first paint */
html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{
  transition:background-color .26s ease,color .26s ease,border-color .26s ease,outline-color .26s ease,fill .26s ease,stroke .26s ease,box-shadow .26s ease,opacity .26s ease!important}


*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:350;font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
/* paper grain, fixed, never on scrolling containers */
body::before{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:var(--grain-op);mix-blend-mode:var(--grain-blend);filter:var(--grain-filter);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img,svg{display:block;max-width:100%}
.defs{position:absolute}
.han{font-family:var(--han);font-weight:500}
.red{color:var(--seal);stroke:var(--seal)}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px;border-radius:var(--r)}
::selection{background:var(--ink);color:var(--sheet)}

.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--sheet);padding:10px 16px;z-index:200}
.skip:focus{left:8px}

/* ---------- type ---------- */
.h2{font-weight:560;font-size:clamp(1.85rem,3.5vw,3.05rem);line-height:1.08;letter-spacing:-.028em;max-width:19ch;text-wrap:balance}
.h3{font-weight:560;font-size:1.2rem;line-height:1.25;letter-spacing:-.012em}
.sub{margin-top:clamp(18px,2vw,28px);color:var(--ink-2);max-width:46ch;font-size:1.06rem}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);
  display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1.5px;background:var(--seal)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1.5px solid var(--ink);
  border-radius:var(--r);background:var(--ink);color:var(--sheet);font:500 1rem/1 var(--sans);letter-spacing:-.005em;text-decoration:none;
  cursor:pointer;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease),transform .15s var(--ease),border-color .25s}
.btn:hover{background:var(--seal);border-color:var(--seal)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn svg{transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--sm{min-height:42px;padding:0 18px;font-size:.92rem}
.btn--inv{background:var(--sheet);color:var(--ink);border-color:var(--sheet)}
.btn--inv:hover{background:var(--seal);border-color:var(--seal);color:var(--sheet)}
.btn--line{background:transparent;color:var(--ink)}
.btn--line:hover{background:var(--ink);border-color:var(--ink);color:var(--sheet)}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:32px;height:68px}
.logo{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:620;font-size:1.18rem;letter-spacing:-.03em;white-space:nowrap}
.logo__q{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--seal);color:var(--sheet);border-radius:50%;
  font-size:1rem;font-weight:600;transform:rotate(-8deg)}
.nav{display:flex;gap:clamp(18px,2.4vw,36px);margin-left:auto;font-size:.95rem;color:var(--ink-2)}
.nav a{text-decoration:none;padding:6px 0;background:linear-gradient(var(--seal),var(--seal)) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--ease),color .2s}
.nav a:hover{color:var(--ink);background-size:100% 1.5px}
.top__acts{display:flex;align-items:center;gap:12px}
.theme{all:unset;box-sizing:border-box;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--rule);display:grid;place-items:center;cursor:pointer;color:var(--ink);
  transition:border-color .25s,background .25s,transform .15s var(--ease)}
.theme:hover{border-color:var(--seal);color:var(--seal)}
.theme:active{transform:scale(.94)}
.theme:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
.theme svg{width:20px;height:20px;transition:transform .5s var(--ease)}
.theme[aria-pressed="true"] svg{transform:rotate(180deg)}
html:not(.js) .theme{display:none}
@media (max-width:980px){.nav{display:none}.top__in{justify-content:space-between}}
@media (max-width:420px){.top__in{gap:8px}.top__acts{gap:8px}.btn--sm{padding:0 10px;font-size:.8rem;min-height:38px;letter-spacing:-.015em}.theme{width:38px;height:38px}.logo{font-size:1rem;gap:5px}.logo__q{width:22px;height:22px;font-size:.88rem}}

/* ---------- hero ---------- */
.hero{padding-block:clamp(44px,6vw,92px) clamp(64px,8vw,120px);position:relative;background-image:var(--lamp-hero)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(32px,5vw,88px);align-items:center}
.h1{margin-top:clamp(20px,2.4vw,32px);font-weight:600;font-size:clamp(2.55rem,6vw,5.9rem);line-height:.98;letter-spacing:-.045em}
.h1__l{display:block}
.h1__em{position:relative;display:inline-block;font-style:normal;font-variation-settings:"slnt" -12;font-weight:400;padding-bottom:.12em}
.h1__line{position:absolute;left:.02em;right:.3em;bottom:-.1em;height:.065em;background:var(--seal);transform-origin:0 50%;border-radius:1px}
.lead{margin-top:clamp(22px,2.6vw,36px);max-width:54ch;font-size:clamp(1.04rem,1.2vw,1.18rem);color:var(--ink-2)}

.check{margin-top:clamp(28px,3vw,44px);max-width:740px}
.check__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.check__bar{display:flex;background:var(--sheet);border:1.5px solid var(--ink);border-radius:var(--r);padding:5px;
  box-shadow:6px 6px 0 var(--hard);transition:box-shadow .3s var(--ease)}
.check__bar:focus-within{box-shadow:6px 6px 0 var(--seal)}
.check__input{flex:1;min-width:0;border:0;background:transparent;padding:0 16px;font:400 .88rem/1.2 var(--mono);color:var(--ink);letter-spacing:-.01em}
.check__input::placeholder{color:var(--ink-3);opacity:1}
.check__input:focus{outline:none}
.btn--go{min-height:54px}
.assure{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.9rem;color:var(--ink-2)}
.assure li{display:flex;align-items:center;gap:9px}
.assure li::before{content:"";width:9px;height:5px;border-left:1.6px solid var(--ok);border-bottom:1.6px solid var(--ok);transform:rotate(-45deg) translateY(-2px)}

/* licence */
.hero__art{position:relative;justify-self:end;width:min(100%,470px);padding:18px 8px 18px 24px}
.lic,.lic__ghost{border-radius:var(--r)}
.lic__ghost{position:absolute;inset:18px 8px 18px 24px;border:1.5px dashed var(--seal);transform:rotate(-4deg) translate(-14px,10px);opacity:.75}
.lic{position:relative;background:var(--sheet-shade),var(--sheet);color:var(--ink);padding:12px;transform:rotate(2.5deg);box-shadow:var(--shadow-doc)}
.lic__frame{border:1.5px solid var(--rule);outline:1px solid var(--rule);outline-offset:-6px;padding:clamp(22px,2.4vw,32px) clamp(20px,2.2vw,30px) 22px}
.lic__title{font-family:var(--han);font-weight:700;font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:.42em;text-align:center;margin-right:-.42em;line-height:1.2}
.lic__k{font-family:var(--han);font-size:.72rem;color:var(--ink-3);letter-spacing:.06em;white-space:nowrap}
.lic__uscc{margin-top:22px;display:grid;grid-template-columns:1fr 22px;gap:8px 10px;align-items:center}
.lic__uscc .lic__k{grid-column:1/-1}
.lic__cells{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));border:1px solid var(--ink);border-right:0}
.lic__cell{font:500 .74rem/1 var(--mono);font-style:normal;aspect-ratio:1/1.25;display:grid;place-items:center;border-right:1px solid var(--ink)}
.lic__cell.is-red{background:repeating-linear-gradient(135deg,var(--line) 0 1.5px,transparent 1.5px 4px)}
.lic__cell.is-key{background:var(--seal);color:var(--sheet)}
.lic__rows{margin-top:20px;display:grid;gap:14px}
.lic__row{display:grid;grid-template-columns:62px 1fr 22px;gap:10px;align-items:center}
.lic__row--tall{align-items:start}
.lic__bar{display:block;height:9px;width:var(--w,60%);background:var(--ink);opacity:.13}
.lic__bars{display:grid;gap:7px;padding-top:3px}
.lic__mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--sheet)}
.lic__mark svg{width:13px;height:13px}
.lic__mark--ok{background:var(--ok)}
.lic__mark--bad{background:var(--seal)}
.lic__mark--na{background:var(--na)}
.lic__mark--none{visibility:hidden}
.lic__foot{margin-top:10px;display:flex;align-items:flex-end;justify-content:space-between;min-height:84px}
.lic__seal{width:104px;height:104px;color:var(--seal);opacity:.9;transform:rotate(-12deg);margin:-26px 6px -6px 0;mix-blend-mode:multiply}

@media (max-width:1020px){
  .hero__grid{grid-template-columns:1fr}
  .hero__art{justify-self:center;margin-top:18px;width:min(100%,440px);padding-left:16px}
}
@media (max-width:560px){
  .check__label{position:static;width:auto;height:auto;clip:auto;white-space:normal;display:block;margin-bottom:10px;font:400 .82rem/1.4 var(--mono);color:var(--ink-2)}
  .check__input::placeholder{color:transparent}
  .check__bar{flex-direction:column;gap:5px;box-shadow:4px 4px 0 var(--hard)}
  .check__input{min-height:52px;padding:0 12px}
  .assure{flex-direction:column;gap:8px}
  .lic__frame{padding:20px 16px 16px}
  .lic__row{grid-template-columns:52px 1fr 20px}
  .lic__cell{font-size:.6rem}
  .lic__title{font-size:1.45rem}
  .h1{font-size:clamp(2.3rem,11.4vw,3.6rem)}
}

/* ---------- sections ---------- */
.sec{padding-block:var(--sec)}

/* six checks */
.checks{border-top:1px solid var(--line)}
.checks__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,112px);align-items:start}
.checks__head{position:sticky;top:112px}
.clist{display:grid}
.citem{display:grid;grid-template-columns:clamp(52px,6vw,88px) minmax(0,1fr) 150px;gap:clamp(16px,2vw,32px);align-items:start;
  padding-block:clamp(24px,2.6vw,36px);border-top:1px solid var(--line)}
.citem:first-child{border-top:1.5px solid var(--rule)}
.citem__n{font:300 clamp(2.6rem,4.4vw,4.2rem)/.85 var(--sans);letter-spacing:-.05em;color:var(--ink);font-feature-settings:"tnum"}
.citem__b p{margin-top:8px;color:var(--ink-2);max-width:48ch}
.citem--key .citem__n{color:var(--seal)}
.spec{width:150px;color:var(--ink);padding-top:4px}
.spec svg{width:150px;height:64px}
.spec--uscc{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;padding-top:10px}
.spec--uscc i{aspect-ratio:1;border:1.2px solid var(--ink)}
.spec--uscc i.g{background:var(--ink)}
.spec--uscc i.k{background:var(--seal);border-color:var(--seal)}
.spec--han{display:flex;gap:8px;font-family:var(--han);font-weight:700;font-size:1.35rem;line-height:1;padding-top:8px}
.spec--han span{padding:9px 10px;border:1.5px solid var(--ink);border-radius:var(--r)}
.spec--han .a{color:var(--seal);border-color:var(--seal);border-style:dashed}
.spec--han .b{background:var(--ink);color:var(--sheet)}
@media (max-width:1020px){
  .checks__grid{grid-template-columns:1fr}
  .checks__head{position:static}
}
@media (max-width:640px){
  .citem{grid-template-columns:44px minmax(0,1fr)}
  .citem .spec{grid-column:2;margin-top:6px}
}

/* ---------- evidence card ---------- */
.answer{background:var(--lamp-desk),var(--desk);border-block:1px solid var(--line);position:relative;overflow:hidden}
.answer__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:start}
.tabs{margin-top:clamp(32px,4vw,56px);display:grid;gap:0;border-top:1.5px solid var(--rule)}
.tabs[hidden]{display:none}
.tab{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px 1fr;gap:16px;align-items:center;cursor:pointer;padding:18px 18px 18px 14px;
  border-bottom:1px solid var(--line);font-weight:450;font-size:1.04rem;line-height:1.25;color:var(--ink-2);position:relative;
  transition:background .3s var(--ease),color .3s,padding .3s var(--ease)}
.tab::after{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--ink);transform:scaleY(0);transition:transform .35s var(--ease)}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{background:var(--sheet);color:var(--ink);padding-left:22px;font-weight:560}
.tab[aria-selected="true"]::after{transform:scaleY(1)}
.tab:focus-visible{outline:2px solid var(--seal);outline-offset:-2px}
.tab__g{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor}
.tab__g svg{width:15px;height:15px}
.tab__g--ok{color:var(--ok)}.tab__g--bad{color:var(--seal)}.tab__g--na{color:var(--na);border-style:dashed}
.tab[aria-selected="true"] .tab__g{color:var(--sheet)}
.tab[aria-selected="true"] .tab__g--ok{background:var(--ok);border-color:var(--ok)}
.tab[aria-selected="true"] .tab__g--bad{background:var(--seal);border-color:var(--seal)}
.tab[aria-selected="true"] .tab__g--na{background:var(--na);border-color:var(--na);border-style:solid}

.evwrap{position:relative}
.evstack{display:grid;gap:28px;position:relative}
.ev{--tone:var(--ink);position:relative;background:var(--sheet);border-radius:var(--r);padding:clamp(24px,3.2vw,48px);
  border-top:5px solid var(--tone);color:var(--ink);background-image:var(--sheet-shade);box-shadow:var(--shadow-card)}
.ev--ok{--tone:var(--ok)}.ev--bad{--tone:var(--seal)}.ev--na{--tone:var(--na)}
.ev__head{padding-right:clamp(100px,14vw,190px);min-height:clamp(96px,11vw,132px)}
.ev__title{font-weight:580;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.1;letter-spacing:-.025em;max-width:16ch}
.ev__desc{margin-top:12px;color:var(--ink-2);max-width:44ch}
.ev__stamp{position:absolute;top:clamp(14px,2vw,28px);right:clamp(12px,2vw,30px);width:clamp(108px,14vw,188px);color:var(--tone);
  transform:rotate(-9deg);mix-blend-mode:multiply;pointer-events:none}
.ev__stamp svg{width:100%;height:auto;overflow:visible}
.stamp__t{font:500 10.5px/1 var(--mono);fill:currentColor;letter-spacing:.06em}
.ev__case{margin-top:clamp(22px,2.6vw,34px);border-top:1.5px solid var(--rule);padding-top:clamp(18px,2vw,26px)}
.ev__co{font:500 clamp(1.02rem,1.5vw,1.28rem)/1.25 var(--mono);letter-spacing:-.02em}
.ev__rows{margin-top:clamp(14px,1.6vw,22px);display:grid}
.ev__row{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr) 24px;gap:6px 18px;align-items:center;padding-block:12px;border-top:1px dashed var(--line)}
.ev__row dt{font:400 .8rem/1.3 var(--mono);color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase}
.ev__row dd{font-weight:420;line-height:1.35}
.ev__row--sum{border-top:1.5px solid var(--rule);margin-top:6px;padding-top:16px}
.ev__row--sum dd{grid-column:2/-1;font-weight:600;color:var(--seal)}
.ev__rows--list{margin-top:clamp(22px,2.6vw,34px);border-top:1.5px solid var(--rule)}
.ev__rows--list .ev__row{grid-template-columns:24px 1fr;gap:16px;padding-block:16px;font-size:1.08rem;font-weight:420}
.ev__rows--list .ev__row:first-child{border-top:0}
.m{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--sheet);flex:none}
.m svg{width:14px;height:14px}
.m--ok{background:var(--ok)}.m--bad{background:var(--seal)}.m--na{background:var(--na)}
.ev__note{margin-top:20px;font:400 .8rem/1.5 var(--mono);color:var(--ink-3)}
.ev__void{margin-top:clamp(22px,2.6vw,34px);border-top:1.5px solid var(--rule);padding-top:22px;display:grid;gap:18px}
.ev__void span{display:block;height:16px;width:var(--w);background:repeating-linear-gradient(135deg,var(--line) 0 1.5px,transparent 1.5px 5px);border:1px dashed var(--line)}

/* JS mode: one card with switchable state, sheets stacked beneath */
.js .evstack[data-ready]{gap:0}
.js .evstack[data-ready] .ev{grid-area:1/1;visibility:hidden;opacity:0}
.js .evstack[data-ready] .ev.is-active{visibility:visible;opacity:1}
.js .evstack[data-ready]{z-index:0;align-items:start}
.js .evstack[data-ready] .ev.is-active::before,.js .evstack[data-ready] .ev.is-active::after{content:"";position:absolute;inset:-5px 0 0;z-index:-1;background:var(--under);border-radius:var(--r);box-shadow:var(--shadow-under)}
.js .evstack[data-ready] .ev.is-active::before{transform:rotate(-2.2deg) translate(-8px,6px);opacity:.75}
.js .evstack[data-ready] .ev.is-active::after{transform:rotate(1.4deg) translate(9px,4px);opacity:.9}

@media (max-width:1020px){.answer__grid{grid-template-columns:1fr}}
@media (max-width:560px){
  .ev__row{grid-template-columns:minmax(0,1fr) 24px}
  .ev__row dt{grid-column:1}
  .ev__row .m{grid-column:2;grid-row:1/span 2}
  .ev__row dd{grid-column:1}
  .ev__row--sum dd{grid-column:1/-1}
  .ev__head{padding-right:0;padding-top:96px;min-height:0}
  .ev__stamp{left:16px;right:auto;top:14px;width:96px}
  .tab{font-size:.98rem;padding-block:15px}
}

/* ---------- limits ---------- */
.limits__h{max-width:22ch}
.limits__grid{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--rule);border-radius:var(--r)}
.lim{padding:clamp(24px,3.6vw,56px)}
.lim--can{background:var(--sheet)}
.lim--cant{border-left:1.5px solid var(--rule);background:repeating-linear-gradient(135deg,transparent 0 7px,var(--hatch) 7px 8px)}
.lim__h{font-weight:600;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1;letter-spacing:-.045em}
.lim--cant .lim__h{font-weight:300;font-variation-settings:"slnt" -12}
.lim__list{margin-top:clamp(24px,3vw,44px);display:grid;gap:22px}
.lim__list li{position:relative;padding-left:40px;max-width:44ch;font-size:1.05rem}
.lim__list li::before,.lim__list li::after{content:"";position:absolute;left:0;top:.72em;width:20px;height:2px;background:var(--ok)}
.lim__list li::after{transform:rotate(90deg)}
.lim--cant .lim__list li::before{background:var(--seal)}
.lim--cant .lim__list li::after{display:none}
@media (max-width:760px){
  .limits__grid{grid-template-columns:1fr}
  .lim--cant{border-left:0;border-top:1.5px solid var(--rule)}
}

/* ---------- next ---------- */
.next{border-top:1px solid var(--line)}
.next__grid{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2vw,28px)}
.path{position:relative;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-height:clamp(380px,34vw,470px)}
.path__b{position:relative;padding:clamp(26px,3.4vw,52px);display:flex;flex-direction:column;align-items:flex-start;flex:1}
.path__t{font-weight:580;font-size:clamp(1.55rem,2.6vw,2.3rem);line-height:1.08;letter-spacing:-.03em;max-width:14ch}
.path__b p{margin-top:16px;max-width:46ch}
.path--a .path__b p{max-width:31ch}
.path__b .btn{margin-top:auto}
.path__b p + .btn{margin-top:auto}
.path__b p{margin-bottom:32px}
.path--a{background:var(--path-a-shade),var(--ink);color:var(--sheet);box-shadow:var(--path-a-shadow)}
.path--a p{color:var(--path-a-p)}
.path__plan{position:absolute;inset:0 0 0 auto;width:50%;height:100%;color:var(--plan);opacity:var(--plan-op);
  -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 42%);mask-image:linear-gradient(90deg,transparent 8%,#000 42%)}
.path__plan .red{color:var(--plan-red);stroke:var(--plan-red);opacity:1}
.path__plan .lot{fill:var(--plan-red);fill-opacity:.38;stroke:none}
.path--b{background:var(--sheet);border:1.5px solid var(--rule)}
.path--b p{color:var(--ink-2)}
.path__sign{position:absolute;right:clamp(16px,2.4vw,36px);bottom:clamp(22px,3vw,48px);width:clamp(120px,14vw,200px);color:var(--seal);opacity:.85;pointer-events:none}
.next__foot{margin-top:28px;font:400 .88rem/1.5 var(--mono);color:var(--ink-2)}
@media (max-width:900px){
  .next__grid{grid-template-columns:1fr}
  .path{min-height:0}
  .path__plan{width:100%;opacity:calc(var(--plan-op) * .3)}
  .path__plan .lot{display:none}
  .path__sign{position:static;margin:0 0 24px clamp(26px,3.4vw,52px)}
}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,112px);align-items:start}
.faq__h{position:sticky;top:112px;max-width:10ch}
.faq__list{border-top:1.5px solid var(--rule)}
.q{border-bottom:1px solid var(--line)}
.q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 28px;gap:20px;align-items:center;padding-block:clamp(20px,2.2vw,30px);
  font-weight:520;font-size:clamp(1.12rem,1.7vw,1.5rem);line-height:1.2;letter-spacing:-.02em;transition:color .2s}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";width:28px;height:28px;border:1.5px solid var(--rule);border-radius:50%;
  background:linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat;
  transition:transform .4s var(--ease),background-color .3s}
.q[open] summary::after{transform:rotate(45deg)}
.q summary:hover{color:var(--seal)}
.q p{padding:0 48px clamp(22px,2.4vw,32px) 0;max-width:62ch;color:var(--ink-2);font-size:1.05rem}
@media (max-width:900px){.faq__grid{grid-template-columns:1fr}.faq__h{position:static;max-width:none}.q p{padding-right:0}}

/* ---------- final ---------- */
.final{padding-top:0}
.final__box{position:relative;overflow:hidden;background:var(--sheet);border:1.5px solid var(--rule);border-radius:var(--r);
  padding:clamp(36px,6vw,96px) clamp(24px,5vw,88px);box-shadow:10px 10px 0 var(--hard)}
.final__h{position:relative;font-weight:600;font-size:clamp(2.1rem,5vw,4.6rem);line-height:1;letter-spacing:-.045em;max-width:13ch}
.final__seal{position:absolute;right:clamp(-40px,-2vw,-10px);top:50%;width:clamp(220px,30vw,420px);height:auto;color:var(--seal);opacity:var(--wm-op);transform:translateY(-50%) rotate(-14deg)}
.check--final{position:relative;margin-top:clamp(28px,3.4vw,48px)}

/* ---------- footer ---------- */
.foot{border-top:1.5px solid var(--rule);padding-block:clamp(36px,4vw,56px)}
.foot__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(32px,6vw,112px)}
.foot__brand{font-weight:600;letter-spacing:-.02em;font-size:1.05rem}
.foot__legal{margin-top:12px;font-size:.86rem;color:var(--ink-3);max-width:52ch}
.foot__nav{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:flex-end;align-content:start;font-size:.95rem}
.foot__nav a{text-decoration:none;color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}
.foot__nav a:hover{color:var(--ink);border-color:var(--seal)}
@media (max-width:820px){.foot__grid{grid-template-columns:1fr}.foot__nav{justify-content:flex-start}}

/* ---------- utilities ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.btn[disabled]{cursor:progress;opacity:.72}
.btn[aria-busy="true"]{background-image:repeating-linear-gradient(135deg,transparent 0 7px,color-mix(in srgb,var(--sheet) 22%,transparent) 7px 9px);background-size:200% 100%;animation:busy 1.1s linear infinite}
@keyframes busy{to{background-position:-25.5px 0}}
.check__err{margin-top:14px;padding:10px 14px;border-left:3px solid var(--seal);background:color-mix(in srgb,var(--seal) 9%,transparent);color:var(--ink);font-size:.95rem;max-width:62ch}
.check__err[hidden]{display:none}
.check.has-err .check__bar{border-color:var(--seal)}

/* ---------- live result ---------- */
.result{background:var(--lamp-desk),var(--desk);border-block:1px solid var(--line);padding-block:clamp(56px,7vw,112px);scroll-margin-top:68px}
.result[hidden]{display:none}
.result__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,5vw,88px);align-items:start}
.result__card{position:relative;z-index:0}
.result__side{position:sticky;top:112px;padding-top:clamp(8px,2vw,36px)}
.result__note{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.3;letter-spacing:-.015em;font-weight:420;max-width:24ch;text-wrap:balance}
.result__acts{margin-top:clamp(24px,2.6vw,36px);display:grid;gap:12px;justify-items:start}
.result__acts .btn{white-space:normal;text-align:left;line-height:1.2;padding-block:14px;min-height:54px}
.result__fine{margin-top:clamp(24px,2.6vw,36px);padding-top:18px;border-top:1px solid var(--line);font:400 .8rem/1.55 var(--mono);color:var(--ink-3);max-width:40ch}

.ev--live{padding-bottom:clamp(20px,2.6vw,36px)}
.result__card .ev::before,.result__card .ev::after{content:"";position:absolute;inset:-5px 0 0;z-index:-1;background:var(--under);border-radius:var(--r);box-shadow:var(--shadow-under)}
.result__card .ev::before{transform:rotate(-1.6deg) translate(-7px,6px);opacity:.75}
.result__card .ev::after{transform:rotate(1.1deg) translate(8px,4px);opacity:.9}
.ev--wait{--tone:var(--ink-3)}
.ev--live.ev--wait{border-top-color:transparent;background-image:repeating-linear-gradient(135deg,var(--ink-3) 0 6px,transparent 6px 12px),var(--sheet-shade);background-size:200% 5px,auto;background-repeat:repeat-x,no-repeat;background-position:0 0,0 0;background-origin:border-box,padding-box;animation:tape 1.2s linear infinite}
.ev--live.ev--wait.is-late{animation:none}
@keyframes tape{to{background-position:-16.97px 0,0 0}}
.ev--live .ev__head{min-height:clamp(84px,9vw,118px);display:flex;align-items:flex-end}
.ev--live .ev__title{max-width:15ch;font-size:clamp(1.5rem,2.6vw,2.3rem)}
.ev__slot{position:absolute;top:clamp(14px,2vw,28px);right:clamp(12px,2vw,30px);width:clamp(108px,14vw,188px);aspect-ratio:1;border-radius:50%;
  border:1.5px dashed var(--line);transform:rotate(-9deg);pointer-events:none;transition:opacity .4s}
.ev--live.has-stamp .ev__slot{opacity:0}
.ev--live .ev__co{font-family:var(--mono);font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:500;overflow-wrap:anywhere}
.ev__id{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.ev__id[hidden]{display:none}
.ev__cells{width:min(100%,396px);flex:none}
.ev__cells .lic__cell{font-size:.8rem;aspect-ratio:1/1.3}
.ev__region{font:400 .82rem/1.3 var(--mono);color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase}
.ev--live .ev__row{grid-template-columns:minmax(120px,190px) minmax(0,1fr) 24px;align-items:start;padding-block:13px}
.ev--live .ev__row dt{padding-top:3px}
.ev--live.is-long .ev__row{padding-block:11px}
.ev--live .ev__row--pay{border-top:1.5px solid var(--rule);margin-top:6px;padding-top:16px}
.ev__val{display:block}
.ev__act{all:unset;box-sizing:border-box;display:inline-block;margin-top:8px;cursor:pointer;font-weight:520;color:var(--seal);
  background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:2px;transition:background-size .3s var(--ease)}
.ev__act:hover{background-size:0 1.5px;background-position:100% 100%}
.ev__act:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
/* waiting row: a reconciliation ruler runs under the text, the mark is a blinking cell */
.is-wait .ev__val{color:var(--ink-2)}
.scan{display:block;position:relative;height:9px;margin-top:9px;max-width:340px;overflow:hidden;border:1px solid var(--line);
  background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 8px)}
.scan::after{content:"";position:absolute;inset:0 auto 0 0;width:28%;background:var(--ink);opacity:.8;animation:scan 1.9s cubic-bezier(.6,0,.4,1) infinite alternate}
@keyframes scan{from{transform:translateX(-20%)}to{transform:translateX(380%)}}
.m--wait{background:transparent;border:1.5px solid var(--ink-3);border-radius:var(--r);position:relative}
.m--wait::after{content:"";position:absolute;left:5px;right:5px;bottom:5px;height:2px;background:var(--ink);animation:blink 1s steps(2,jump-none) infinite}
@keyframes blink{50%{opacity:0}}
.is-late .scan::after,.is-late .m--wait::after{animation:none}
@media (max-width:1020px){
  .result__grid{grid-template-columns:1fr}
  .result__side{position:static;padding-top:0}
  .result__note{max-width:34ch}
}
@media (max-width:560px){
  .ev--live .ev__row{grid-template-columns:minmax(0,1fr) 24px}
  .ev--live .ev__head{display:block}
  .ev__cells .lic__cell{font-size:.66rem}
  .ev__slot{left:16px;right:auto;top:14px;width:96px}
  .result__acts{justify-items:stretch}
  .result__acts .btn{text-align:center}
}

/* ---------- lead dialog: a request form, paper like every real document here ---------- */
.dlg{padding:0;border:0;background:transparent;color:inherit;max-width:none;max-height:none;width:100%;height:100%;overflow:auto;
  display:none;place-items:center;overscroll-behavior:contain}
.dlg[open]{display:grid}
.dlg::backdrop{background:rgb(6 7 5 / .74)}
html[data-theme="light"] .dlg::backdrop{background:rgb(16 22 28 / .5)}
.dlg__sheet{position:relative;width:min(640px,calc(100% - 32px));margin:24px auto;background:var(--sheet-shade),var(--sheet);color:var(--ink);
  border-radius:var(--r);border-top:5px solid var(--ink);padding:clamp(24px,4vw,44px);box-shadow:var(--shadow-card)}
.dlg__x{all:unset;box-sizing:border-box;position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  border:1.5px solid var(--line);color:var(--ink);transition:border-color .2s,color .2s}
.dlg__x svg{width:14px;height:14px}
.dlg__x:hover{border-color:var(--seal);color:var(--seal)}
.dlg__x:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
.dlg__head{padding-right:52px}
.dlg__title{font-weight:580;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.1;letter-spacing:-.028em}
.dlg__text{margin-top:12px;color:var(--ink-2);max-width:52ch;font-size:1rem}
.dlg__form{margin-top:clamp(20px,2.6vw,30px);padding-top:clamp(20px,2.6vw,28px);border-top:1.5px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.dlg__form[hidden],.dlg__done[hidden],.dlg__err[hidden],.f__err[hidden]{display:none}
.f{display:grid;gap:7px;align-content:start;min-width:0}
.f--wide{grid-column:1/-1}
.f label{font:400 .78rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.f input[type="text"],.f input[type="email"],.f textarea{width:100%;min-height:48px;padding:11px 13px;border:1.5px solid var(--ink-3);border-radius:var(--r);
  background:color-mix(in srgb,var(--sheet) 60%,#fff 40%);color:var(--ink);font:400 1rem/1.4 var(--sans);transition:border-color .2s,box-shadow .2s}
.f textarea{resize:vertical;min-height:104px}
.f input::placeholder,.f textarea::placeholder{color:var(--ink-3);opacity:1}
.f input:focus-visible,.f textarea:focus-visible{outline:none;border-color:var(--ink);box-shadow:3px 3px 0 var(--seal)}
.f input[aria-invalid="true"]{border-color:var(--seal)}
.f--check{grid-template-columns:22px 1fr;gap:6px 12px;align-items:start}
.f--check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.f--check label{font:350 .95rem/1.45 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.f--check a{color:var(--ink);text-underline-offset:3px}
.f--check .f__err{grid-column:2}
.f__err,.dlg__err{font-size:.9rem;color:var(--seal);font-weight:450}
.dlg__err{padding:10px 14px;border-left:3px solid var(--seal);background:color-mix(in srgb,var(--seal) 8%,transparent);color:var(--ink)}
.dlg__foot{display:flex;justify-content:flex-start;padding-top:6px}
.dlg__done{margin-top:clamp(20px,2.6vw,30px);padding-top:clamp(22px,3vw,32px);border-top:1.5px solid var(--rule);display:grid;gap:24px;justify-items:start}
.dlg__donetext{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3;font-weight:450;letter-spacing:-.015em;max-width:28ch}
.dlg__donetext:focus{outline:none}
@media (max-width:560px){.dlg__form{grid-template-columns:1fr}.dlg__foot .btn{width:100%}}

/* ---------- service pages ---------- */
.page{padding-block:clamp(44px,6vw,92px) var(--sec)}
.page__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,112px);align-items:start}
.page__head{position:sticky;top:112px}
.page__h1{font-weight:600;font-size:clamp(2.3rem,4.6vw,4.2rem);line-height:1;letter-spacing:-.045em;overflow-wrap:anywhere;hyphens:auto}
.page__date{margin-top:20px;font:400 .82rem/1.5 var(--mono);color:var(--ink-3)}
.prose{max-width:68ch}
.prose__lead{font-size:clamp(1.12rem,1.5vw,1.32rem);line-height:1.5;color:var(--ink)}
.prose h2{margin-top:clamp(40px,5vw,64px);padding-top:clamp(20px,2.4vw,28px);border-top:1.5px solid var(--rule);font-weight:580;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.15;letter-spacing:-.025em}
.prose p{margin-top:16px;color:var(--ink-2)}
.prose ul{margin-top:18px;display:grid;gap:14px}
.prose li{position:relative;padding-left:30px;color:var(--ink-2)}
.prose li::before{content:"";position:absolute;left:0;top:.78em;width:14px;height:1.5px;background:var(--seal)}
.prose li b{font-weight:560;color:var(--ink)}
.prose--terms ul{gap:0;margin-top:0;border-top:1.5px solid var(--rule)}
.prose--terms li{padding:20px 0;border-bottom:1px solid var(--line)}
.prose--terms li::before{display:none}
.prose--terms li b{display:block;margin-bottom:6px;font-size:1.08rem}
.states{margin-top:18px;display:grid;gap:0;border-top:1px solid var(--line)}
.states li{padding:18px 0 18px 46px;border-bottom:1px solid var(--line)}
.states li::before{display:none}
.states .m{position:absolute;left:0;top:18px;width:28px;height:28px;color:var(--paper)}
.states .m svg{width:15px;height:15px}
.lost{min-height:calc(100dvh - 68px - 190px);display:grid;align-items:center;position:relative;overflow:hidden;padding-block:clamp(56px,8vw,120px)}
.lost__in{position:relative;max-width:720px}
.lost p{margin-top:22px;color:var(--ink-2);max-width:48ch;font-size:1.1rem}
.lost .btn{margin-top:36px}
.lost__seal{position:absolute;right:clamp(-60px,2vw,80px);top:50%;width:clamp(240px,34vw,460px);color:var(--na);opacity:.22;transform:translateY(-50%) rotate(-12deg);pointer-events:none}
@media (max-width:900px){.page__grid{grid-template-columns:1fr}.page__head{position:static}}

/* ---------- motion gates ---------- */
/* hero items are hidden only while JS + anime are confirmed present; failsafe shows them anyway */
@keyframes failsafe{to{opacity:1}}
.js:not(.no-anim) [data-h]{opacity:0;animation:failsafe .01s linear 3.5s forwards}
.js.anim-on [data-h]{animation:none}
.no-anim [data-h]{opacity:1!important}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-h]{opacity:1!important;animation:none!important}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:none!important}
  .scan::after,.m--wait::after,.ev--live.ev--wait,.btn[aria-busy="true"]{animation:none!important}
}
@media print{.top,body::before{display:none}.js [data-h]{opacity:1!important}}
.inl{color:var(--ink);text-decoration-color:var(--seal);text-underline-offset:3px;text-decoration-thickness:1.5px}
.inl:hover{color:var(--seal)}
