/* ==========================================================================
   NEXT RETAIL · ПОСОКА А „ИНЖЕНЕРНОТО БЮРО"
   ЕДНА СИСТЕМА · ДВЕ ТЕМИ

   Страницата е ЕДИН лист от проектантско бюро: непрекъснати полеви линии,
   номерирани полета, коти вместо декорация, нотация вместо украса.

   Архитектура на цвета — три слоя:
     0 · БРАНД-КОНСТАНТИ (--c-*)  суровината; не се ползват директно в компонент
     1 · СЕМАНТИЧНИ РОЛИ (--bg, --fg, --rule, --accent …)  единственото,
         което компонентите виждат; имат стойност за всяка тема
     2 · КОМПОНЕНТИ                говорят само на роли

   Светлата е ОРИГИНАЛЪТ на идеята (чертеж върху хартия) и затова е `:root`.
   Тъмната е [data-theme="dark"] — същите роли, друга материална логика.
   ========================================================================== */

/* ==========================================================================
   0 · БРАНД-КОНСТАНТИ (еднакви за двете теми — точни, без приближения)
   ========================================================================== */
:root{
  --c-ink:#071E24;        --c-petrol:#0C3A42;    --c-surface:#0F4653;
  --c-deep:#06181D;       --c-mist:#EEF2F2;      --c-white:#FFFFFF;
  --c-line:#D9E0E4;       --c-muted:#5E7175;     --c-text-dark:#DCE6E9;
  --c-brass:#D9A93F;      --c-brass-dark:#8A6516;
  --c-aqua:#3EC6C0;       --c-aqua-deep:#1E7F7A;
  --c-ops:#1F7570;        --c-ops-d:#4ABDB5;
  --c-grow:#8A6516;       --c-grow-d:#D9A93F;
  --c-tech:#28688E;       --c-tech-d:#7FB8E0;
  --c-space:#A85A28;      --c-space-d:#E08B4F;
  --c-yd:#FFD801;                       /* точният брандов жълт на Yellow Door */

  --fh:'Montserrat',sans-serif;
  --fb:'IBM Plex Sans',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);

  /* ---- геометрия на листа (не зависи от темата) ---- */
  --max:1320px;
  --gut:clamp(20px,4.2vw,56px);
  --colw:min(calc(var(--max) - 2*var(--gut)), calc(100% - 2*var(--gut)));
  /* Същото като --colw, но с 100vw вместо 100%. Трябва там, където мярката се
     ползва ВЪТРЕ в елемент — тогава процентът се мери спрямо неговия
     контейнер, не спрямо листа, и полето излиза наполовина. Поддържат се
     заедно; --sheetw е същият израз. */
  --colw-abs:min(calc(var(--max) - 2*var(--gut)), calc(100vw - 2*var(--gut)));
  --sheetw:min(calc(var(--max) - 2*var(--gut)), calc(100vw - 2*var(--gut)));
  --bleed:calc((100vw - var(--sheetw))/2);
  --narrow:760px;

  /* ---- ТИПОГРАФСКА СКАЛА ----------------------------------------------
     Десет назовани роли. Гъста там, където се чете (13,5→15→17);
     отворена там, където се строи йерархия (21→27→33→…).
     Прозата е ЕДИН размер: --t4. Уводът е --t5. Ситният ред е --t3.
     Течни са само трите заглавни роли — там, където ширината на листа
     наистина трябва да се усети.                                          */
  --t1:11px;                        /* щемпел, номер, етикет на поле        */
  --t2:13.5px;                      /* дребен етикет, таг, мета             */
  --t3:15px;                        /* ситен ред: бележка, връзка, бутон    */
  --t4:17px;                        /* ПРОЗА — единственият размер за текст */
  --t5:21px;                        /* увод, подзаглавие, h4                */
  --t6:27px;                        /* h3                                   */
  --t7:33px;                        /* число-данни, теза                    */
  --t8:clamp(33px,2.9vw,42px);      /* h2 · заглавие на секция              */
  --t9:clamp(42px,4.03vw,58px);     /* h1 на вътрешна страница              */
  --t10:clamp(52px,5.6vw,81px);     /* h1 на херото                         */

  /* ---- ОТСТЪПНА СКАЛА --------------------------------------------------
     Осем стъпки, изведени от преброяване на 188-те реално ползвани
     отстъпа: всяка стъпка е центърът на едно от осемте гнезда, които
     данните образуват. Съотношението държи ~1,4 нагоре.
     Течни са само последните три — там живее вертикалният ритъм.          */
  --s1:4px;                         /* косъм: подбив на знак, ред под връзка */
  --s2:8px;                         /* сглобка вътре в ред                   */
  --s3:12px;                        /* между съседни редове                  */
  --s4:16px;                        /* между абзаци, вътре в клетка          */
  --s5:22px;                        /* подложка на клетка, между клетки      */
  --s6:clamp(22px,2.6vw,34px);      /* подложка на карта, отстъп на блок     */
  --s7:clamp(30px,3.6vw,52px);      /* между блокове, широка колонна фуга    */
  --s8:clamp(46px,5.8vw,84px);      /* вертикален ритъм на секцията          */

  /* ---- МЯРКА НА РЕДА ---------------------------------------------------
     Една мярка за проза. Втората е за КОНТЕЙНЕР, не за ред.                */
  --measure:34rem;                  /* всяка редица проза                    */
  --measure-wide:44rem;             /* обвивка, не ред                       */
}

/* ---- 53 · ТАВАН НА ЛИСТА ПОД 1040 · 15.09.2026 -------------------------
   Над 1040 12-полевата решетка пълни дясната част на листа: мерено, текстът
   стига до 85–97% от ширината му. Под 1040 решетката се изключва, а прозата
   си остава с таван --measure (544px) — и дясното остава голо:
     /za-nas при 1024 → 51 · 58 · 62 · 59%
     /kakvo-pravim при 1024 → 51%
     /yellow-door при 1024 → 58 · 64%
   Тоест празнотата НЕ е по дизайн — тя е дупката, оставена от решетката.

   Мярката не се разпъва (колко знака на ред се четат е типографско решение),
   а листът се свива към нея. При 660px: /za-nas отива на 73 · 82 · 87 · 90%
   — същият порядък като на плот.

   Пипа се ЕДИН променлив; нито един компонент не е докоснат. */
/* ВАЖНО: капва се САМО --colw (колоната на съдържанието).
   --sheetw НЕ се пипа: от него се смята --bleed = (100vw - sheetw)/2, тоест
   всеки изнесен елемент. Първият опит капна и двете и .grid4 на началната
   излетя извън екрана при 1024 (863→1027 при лист 1024). Портата го хвана. */
@media(max-width:1039px){
  :root{ --colw:min(660px, calc(100% - 2*var(--gut))); }
  :root{ --colw-abs:min(660px, calc(100vw - 2*var(--gut))); }
}

/* ==========================================================================
   1 · РОЛИ · СВЕТЛА ТЕМА — „чертеж върху качествена хартия"
   Дълбочината идва от ХАРТИЯ, СЯНКА и МАСТИЛО.
   Проверени контрасти (върху бяло): fg 10.1:1 · fg-muted 7.4:1 ·
   fg-strong 17.2:1 · fg-faint 5.8:1 · accent 5.3:1 · data 4.8:1.
   ========================================================================== */
:root,
:root[data-theme="light"],
.scope-light{
  color-scheme:light;

  /* повърхности: бяло → Mist → петрол-тинт */
  --bg:var(--c-white);
  --bg-raised:var(--c-mist);
  --bg-sunken:#E7EDED;
  --bg-card:var(--c-white);
  --bg-card-hover:var(--c-white);
  --bg-header:rgba(255,255,255,.88);
  --bg-menu:var(--c-white);
  --bg-field:var(--c-white);            /* полета на формуляр */
  --raised-edge:rgba(12,58,66,.15);     /* ръбът на повдигнатия лист */

  /* мастило */
  --fg:#2C464C;
  --fg-strong:var(--c-ink);
  --fg-head:var(--c-petrol);      /* РЪЧНА · 1: заглавията са петролни — цветът от логото */
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8.559' height='11.387' viewBox='0 0 8.559 11.387'%3E%3Cpath d='M1.633 1.5H4.304L7.058 5.469 4.207 9.887H1.5L4.554 5.645Z'/%3E%3C/svg%3E");  /* РЪЧНА · 4: шевронът от логото, като маска */
  --fg-muted:#44595F;
  --fg-faint:#56696E;

  /* линии на чертежа — мастилени (петрол), не сиви */
  --rule-strong:rgba(12,58,66,.30);
  --rule:rgba(12,58,66,.155);
  --grid:rgba(12,58,66,.05);
  --grid-1:rgba(12,58,66,.028);
  --grid-2:rgba(12,58,66,.042);
  --grid-3:rgba(12,58,66,.058);
  --grid-fine:rgba(12,58,66,.034);   /* милиметровата хартия на херото */
  --tick:rgba(12,58,66,.42);            /* кръстчета за кадриране, щемпел */

  /* акцент: на светло месингът е BRASS-DARK (#D9A93F е само върху тъмно) */
  --accent:var(--c-brass-dark);
  --accent-ink:var(--c-white);          /* текст ВЪРХУ акцента */
  --accent-soft:var(--c-brass-dark);    /* месинг в размер на нотация */
  --accent-tick:rgba(138,101,22,.85);

  --data:var(--c-aqua-deep);            /* числа */
  --focus:var(--c-aqua-deep);

  /* светофар на категориите (/yellow-door) — цветът е ДАННИ, не украса */
  --field-ink:#2C464C;                  /* мастило ВЪРХУ полето (10.1:1) */
  --field-hint:#5E7175;                 /* подсказка (5.13:1) */
  --field-line:rgba(12,58,66,.55);      /* кант на полето — 3.27:1 спрямо листа */
  --sig-go:#2E7D32;                     /* 4.72:1 върху бяло */
  --sig-wait:#C89600;                   /* жълто, 2.9:1 — знак, не текст */
  --sig-stop:#B3402A;                   /* 5.34:1 */

  /* вратите — код, не декорация */
  --field-space:var(--c-space);
  --field-tech:var(--c-tech);
  --field-ops:var(--c-ops);
  --field-grow:var(--c-grow);

  /* хартия и сянка */
  --plate-bg:rgba(12,58,66,.038);
  --plate-grid:rgba(12,58,66,.048);
  --shadow-lift:0 18px 40px -22px rgba(7,30,36,.34), 0 2px 6px -4px rgba(7,30,36,.14);
  --shadow-accent:0 14px 30px -12px rgba(138,101,22,.45);

  /* изометрията в родния си вид */
  --iso-1:#FFFFFF; --iso-2:#E9F0F1; --iso-3:#D7E1E4;
  --iso-4:#F2FAF9; --iso-5:#F4F7F7; --iso-6:#DCE5E7;
  --iso-7:#C7D5D8; --iso-8:#D8EFED; --iso-9:#C9E4E2;
  --iso-halo:#FFFFFF;
}

/* ==========================================================================
   2 · РОЛИ · ТЪМНА ТЕМА — „светещ чертеж върху мастило"
   Стойностите са наследени 1:1 от посока А; тук са само пренесени като роли.
   Проверени контрасти (върху ink): fg 14.0:1 · fg-muted 8.6:1 ·
   fg-faint 5.6:1 · accent 7.6:1 · accent-soft 5.4:1.
   ========================================================================== */
:root[data-theme="dark"],
.scope-dark{
  color-scheme:dark;

  --bg:var(--c-ink);
  --bg-raised:var(--c-petrol);
  --bg-sunken:var(--c-deep);
  --bg-card:var(--c-petrol);
  --bg-card-hover:var(--c-surface);
  --bg-header:rgba(7,30,36,.88);
  --bg-menu:var(--c-ink);
  --raised-edge:transparent;

  --fg:var(--c-text-dark);
  --fg-strong:var(--c-white);
  --fg-head:var(--c-white);       /* на тъмно заглавието остава бяло */
  --fg-muted:rgba(220,230,233,.78);
  --fg-faint:rgba(220,230,233,.60);

  --rule-strong:rgba(220,230,233,.15);
  --rule:rgba(220,230,233,.085);
  --grid:rgba(220,230,233,.05);
  --grid-1:rgba(220,230,233,.028);
  --grid-2:rgba(220,230,233,.045);
  --grid-3:rgba(220,230,233,.062);
  --grid-fine:rgba(220,230,233,.030);
  --tick:rgba(220,230,233,.34);

  --accent:var(--c-brass);
  --accent-ink:var(--c-ink);
  --accent-soft:rgba(217,169,63,.92);   /* 6.89:1 върху ink · 5.05:1 върху petrol */
  --accent-tick:rgba(217,169,63,.70);

  --data:var(--c-aqua);
  --focus:var(--c-aqua);

  /* на тъмно полето НЕ е бяла хартия: дълбочината идва от стойност, не от
     хартия — затова полето е повдигната повърхност, а не светло петно */
  --bg-field:var(--c-surface);
  --field-ink:var(--c-text-dark);       /* 8.18:1 върху полето */
  --field-hint:rgba(220,230,233,.72);   /* 5.08:1 */
  --field-line:rgba(220,230,233,.42);   /* 4.56:1 спрямо листа */
  --sig-go:#5FBF63;
  --sig-wait:#E0A93C;
  --sig-stop:#E8735A;

  --field-space:var(--c-space-d);
  --field-tech:var(--c-tech-d);
  --field-ops:var(--c-ops-d);
  --field-grow:var(--c-grow-d);

  --plate-bg:rgba(238,242,242,.028);
  --plate-grid:rgba(220,230,233,.032);
  --shadow-lift:none;
  --shadow-accent:0 12px 28px -8px rgba(217,169,63,.45);

  /* изометрията е ОСВЕТЕН обект върху тъмния лист */
  --iso-1:var(--c-mist); --iso-2:var(--c-line); --iso-3:#AEC0C5;
  --iso-4:var(--c-line); --iso-5:#C4D2D5;       --iso-6:#93A9AF;
  --iso-7:#93A9AF;       --iso-8:#B7CFCD;       --iso-9:#9CB8B6;
  --iso-halo:var(--c-ink);

}

/* ==========================================================================
   3 · ОСНОВА
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:clip}
body{
  font-family:var(--fb);font-size:var(--t4);line-height:1.66;
  color:var(--fg);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1;
  transition:background-color .28s ease,color .28s ease;
}
@media (prefers-reduced-motion:reduce){body{transition:none}}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}
::selection{background:var(--accent);color:var(--accent-ink)}

/* РЪЧНА · 5 · ГЕОМЕТРИЯ — 12-полева решетка по конструкция.
   Досега ръбовете се уцелваха на ръка с max-width и отстъпи. Сега .wrap Е
   решетката: под 1040 е една колона, над 1040 — дванайсет. Всяко пряко дете
   заема цялата ширина, ако не поиска друго, а децата, които се делят, ползват
   subgrid — тоест наследяват СЪЩИТЕ линии, вместо да ги пресмятат наново. */
.wrap{width:var(--colw);margin-inline:auto;--m:calc(100%/12);
  display:grid;grid-template-columns:minmax(0,1fr);column-gap:0}
.wrap>*{grid-column:1/-1;min-width:0}
/* решетки, които си имат собствено делене, не се пренареждат */
.subnav .wrap>*,.wrap.nav>*,.nav.wrap>*{grid-column:auto}

.wrap.nav,.nav.wrap{display:flex}
@media(min-width:1040px){.wrap{grid-template-columns:repeat(12,minmax(0,1fr))}}
.narrow{width:min(var(--colw),var(--narrow))}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ==========================================================================
   4 · ПОЛЕВИ ЛИНИИ НА ЛИСТА (непрекъснати вертикали, през целия документ)
   ========================================================================== */
.rails{position:fixed;inset:0;z-index:2;pointer-events:none}
.rails span{
  position:relative;
  display:block;height:100%;width:var(--colw);margin-inline:auto;
  border-left:1px solid var(--rule);
  transform:scaleY(0);transform-origin:top;
  transition:transform 1.1s var(--ease) .15s;
}
/* ДЯСНАТА полева линия е псевдоелемент, а не `border-right`: рамката се рисува
   ВЪТРЕ в кутията (последния пиксел преди --colw), а мрежата слага лентата си
   СЛЕД границата. Заради тази разлика в конвенцията двете линии се разминаваха
   с 1px. Тук дясната линия ляга точно на границата x+--colw — същата граница,
   на която пада и мрежата. Разстоянието между двете полеви линии вече е
   ТОЧНО --colw, тоест точно 12 колони. */
.rails span::after{
  content:"";position:absolute;left:100%;top:0;width:1px;height:100%;
  background:var(--rule);
}
.rails.on span{transform:scaleY(1)}
@media (prefers-reduced-motion:reduce){.rails span{transform:none;transition:none}}
@media(max-width:640px){.rails{display:none}}

/* ==========================================================================
   5 · ТИПОГРАФИЯ
   ========================================================================== */
h1,h2,h3,h4,.fh{font-family:var(--fh);font-weight:800;line-height:1.06;letter-spacing:-.022em;color:var(--fg-head);text-wrap:balance}
h1{font-size:var(--t10);line-height:.98;letter-spacing:-.035em}
h2{font-size:var(--t8);line-height:1.06}
/* РЪЧНА · 6а · Подзаглавието в клетка се вдига цяла стъпка и потежнява:
   18,6/700 → 27/800. Дотук картата нямаше ясна глава — заглавието беше
   едва по-едро от описанието под него. (.dossier h3 и .formstamp h3 си
   имат собствени правила и не се променят.) */
h3{font-size:var(--t6);font-weight:800;line-height:1.2;letter-spacing:-.02em}
p{max-width:var(--measure)}
/* ШЛИФОВКА · 07.09 · КОРИЦАТА Е СИМЕТРИЧНА: 84 отгоре · 84 отдолу.
   Дотук `min-height:420px; padding-bottom:0` изравняваше четирите вътрешни
   корици по височина — но заглавието и така ляга на едно и също място
   (y = 159) на всяка страница; изравняването даваше само мъртва опашка:
   204px празно под два реда увод на /polia, /za-kogo и /kontakti (72px на
   /za-nas). Главата дава отстъп, без да има тяло под себе си — същият дефект
   като у сестринската версия (168 вместо 104). Сега височината следва
   съдържанието, а въздухът над и под главата е един и същ. */

/* РЪЧНА · 6б · Уводът става отделен глас, а не по-широк абзац:
   19,4 → 21px, междуредие 1,62 → 1,50. */
.lead{font-size:var(--t5);line-height:1.5;color:var(--fg-muted);max-width:var(--measure)}

/* месингова „точка на сметката" — типографски знак, не текст */
.bdot{color:var(--accent);-webkit-text-stroke:0}

/* шеврон — системният знак; в списъци е нотация, не акцент */
.chev{color:var(--accent-soft);font-weight:700;font-style:normal}

/* ==========================================================================
   6 · ЛИСТОВЕ (секции) + чертожна мрежа с различна плътност
   ========================================================================== */
.sheet{
  position:relative;
  /* H5: ритъмът се стяга — въздухът да е решение, не остатък. */
  padding:var(--s8) 0 var(--s8);
  background-color:var(--bg);
}
/* повдигнатият лист: на тъмно е петрол, на светло — Mist с мастилен ръб */
.sheet.raised{
  background-color:var(--bg-raised);
  box-shadow:inset 0 1px 0 var(--raised-edge),inset 0 -1px 0 var(--raised-edge);
}

/* колонната мрежа е ИСТИНСКАТА мрежа на оформлението (12 полета),
   подравнена точно към полевите линии — затова всичко ляга на нея.

   Стъпката е `calc(100%/12)` ВЪТРЕ в градиента, а не `calc(var(--colw)/12)`:
   вътре в градиента 100% е дължината на градиентната линия, тоест точно
   `background-size` = --colw. Ако вместо това се подаде самата променлива,
   скритият в нея `100%` се преизчислява спрямо ПЛОЧКАТА (--colw), не спрямо
   листа, и стъпката излиза (--colw − 2*--gut)/12 — при 1440px 91.33px вместо
   100.67px. Оттам идваше разминаването: последната линия падаше на 20px от
   дясната полева линия. Сега 12-те стъпки изчерпват плочката по конструкция
   и двата ръба са линии на мрежата на ВСЯКА ширина. */
.gridded{
  background-image:repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px calc(100%/12));
  background-size:var(--colw) 100%;
  background-position:50% 0;
  background-repeat:repeat;
}
.g-05{--grid:var(--grid-1)}
.g-10{--grid:var(--grid-2)}
.g-15{--grid:var(--grid-3)}

/* ---- глава на лист: номер · измерена линия · заглавие ---- */
.shead{
  position:relative;margin-bottom:var(--s7);
  display:grid;grid-template-columns:minmax(0,1fr);
}
.shead .no{
  grid-row:1;grid-column:1/-1;
  display:block;font-family:var(--fh);font-weight:800;font-size:var(--t1);line-height:1;
  letter-spacing:.22em;color:var(--accent-soft);margin-bottom:var(--s3);
}
/* КОТАТА В ГЛАВАТА е изтеглена на 06.09 („знакът в главата ОТПАДА изцяло —
   ролята на листа се носи от ТОНА, а новата секция се обявява от заглавието
   и от въздуха"). Правилото ѝ остана да живее с `content:none` — кутия,
   която не се ражда, с решетка, височина и марж, които никой не чете.
   Изчистено на 10.09 заедно с жълтата ѝ добавка за листа на Yellow Door. */
.shead h2,.shead h1{grid-row:3;grid-column:1}
/* ПОПРАВКА 10.09 · базовата решетка (под 1040) познаваше само три реда:
   номер · черта · заглавие, и слагаше И увода, И колоната с разказа на ЧЕТВЪРТИ.
   Две последици, и двете видими на телефон:
     · при глава с увод И разказ (началната „Правили сме го", /za-nas „Кои сме
       ние") двата ляха ЕДИН ВЪРХУ ДРУГ — същата кутия, същите координати;
     · `.cta-col` нямаше ред изобщо и авто-разполагането го качваше НАД
       заглавието — на последната секция на три страници, от 1024 надолу.
   Сега всеки има свой ред: увод 4 · действие 5 · разказ 6. */
.shead .lead{grid-row:4;grid-column:1;margin-top:var(--s5)}
.shead .cta-col{grid-row:5;grid-column:1}
.shead .stack{grid-row:6;grid-column:1;margin-top:var(--s5)}
@media(min-width:1040px){
  /* ШЛИФОВКА · 07.09 · Главата дели листа ПО ПОЛЕВИТЕ ЛИНИИ, не по дробове.
     Досега 6fr/5fr с улей 52px слагаше увода на x = 798,5 — на 22px от
     линия 7 (820,7) и на 22px от десния ръб на формуляра на /kontakti, който
     Е на линия 7: две почти съвпадащи вертикали, които окото чете като грешка.
     Сега главата е същата 12-полева решетка като .wrap (column-gap 0, тоест
     линиите съвпадат по конструкция): заглавието държи полета 1–7, уводът —
     8–12; в разказа (shead-split) заглавието е 1–5, колоната с текста 6–12. */
  .shead{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:0}
  .shead h2,.shead h1{grid-column:1/8;padding-right:var(--s7)}
  .shead .lead{grid-row:3;grid-column:8/-1;margin-top:0;align-self:end;padding-bottom:.3em}
  .shead-wide h2,.shead-wide h1{grid-column:1/-1;max-width:25ch;padding-right:0}
  .shead-split h2{grid-column:1/6;align-self:start}
  .shead-split .stack{grid-row:3;grid-column:6/-1;margin-top:0;align-self:start}
  
}
/* Под 1040px решетката е едноколонна и линкът нямаше зададен ред — падаше
   на авто-разполагане и се качваше в първата свободна клетка, т.е. НАД
   собственото си заглавие (68–75px). */

/* ШЛИФОВКА · 07.09 · Когда главата е последното в листа (s-story на началната,
   „Кои сме ние" на /za-nas), долният ѝ марж се събираше с подложката на листа:
   136px отдолу срещу 84 навсякъде другаде. Глава без тяло не дава отстъп. */
.shead:last-child{margin-bottom:0}


/* ---- бележка на чертеж (изводът под блок) ---- */
.note{
  position:relative;margin-top:var(--s7);padding-top:var(--s5);
  border-top:1px solid var(--rule);
  /* Изводът е ИЗРЕЧЕНИЕ, не име — значи телесен шрифт. Заглавният назовава
     (заглавия, етикети, кодове, имена на редове, бутони); телесният казва
     (увод, проза, извод). Montserrat 700 на 17px и сплиташе буквите. */
  font-family:var(--fb);font-weight:600;font-size:var(--t4);
  line-height:1.55;letter-spacing:0;color:var(--fg-strong);max-width:var(--measure);
}
/* дълга бележка: разчупва се на абзаци по естествения си шев, вместо да
   расте в един блок — компонентът е за ИЗВОД, не за пасаж. */
.note>p{margin:0;max-width:none}
.note>p+p{margin-top:.62em}

/* ==========================================================================
   7 · БУТОНИ И ЛИНКОВЕ
   ========================================================================== */
/* ПОПРАВЕНО 11.09 · БУТОНЪТ НЕ Е FLEX, ЗА ДА ЛЕГНЕ ШЕВРОНЪТ ---------------
   Шевронът е inline-block с `overflow:hidden`. По спецификация такава кутия
   има основна линия на ДОЛНИЯ СИ РЪБ — точно затова мастилото му ляга върху
   основната линия на текста до него. Мерено по пиксели, в картите и полевите
   знаци разминаването е 0.17px, тоест го няма.
   Но това правило важи само в ИНЛАЙН поток. В flex контейнер кутията се
   блокира и браузърът взима основната линия на СКРИТИЯ ѝ текст — оттам
   шевронът в бутоните стърчеше 4px нагоре при кегел 15 (и 7.5px при надпис
   на два реда). Не беше „само на моби" — беше на всяка ширина.
   Затова бутонът става инлайн-блок. При `box-sizing:border-box` подложката
   16 + редът 18 + рамката 2 дават точно 52px, тъй че `min-height` отпада без
   да мърда нищо; разстоянието до шеврона минава от `gap` на марж. Четирите правила, които центрираха с
   `justify-content`, минават на `text-align` — вж. по-долу. */
.cta{
  display:inline-block;
  font-family:var(--fh);font-weight:700;font-size:var(--t3);line-height:1.2;
  text-decoration:none;padding:var(--s4) var(--s6);border-radius:2px;
  border:1px solid transparent;cursor:pointer;text-align:left;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),
             border-color .25s,background-color .25s,color .25s;
}
.cta-solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.cta-solid:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}
.cta-ghost{border-color:var(--rule-strong);color:var(--fg-strong);background:transparent}
.cta-ghost:hover{border-color:var(--fg-muted);transform:translateY(-2px)}
.cta-line{border-color:var(--accent);color:var(--accent);background:transparent}
.cta-line:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.cta:active{transform:translateY(0)}
 

/* ==========================================================================
   8 · ХЕДЪР — заглавното поле на листа
   ========================================================================== */
header.site{
  position:sticky;top:0;z-index:90;
  background:var(--bg-header);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--rule);
}
.nav{display:flex;align-items:center;height:74px;gap:var(--s5)}
.nav .logo{display:flex;align-items:center;position:relative;padding-block:var(--s2)}
.nav .logo img{height:24px;width:auto}
.nav ul{display:flex;gap:var(--s6);list-style:none;align-items:center;margin-left:auto}
/* :not(.cta) — иначе линковото оформление би изяло фона и цвета на бутона */
.nav ul a:not(.cta){
  color:var(--fg-muted);text-decoration:none;font-size:var(--t3);font-weight:500;letter-spacing:.005em;
  padding-bottom:var(--s1);background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1px no-repeat;
  transition:background-size .35s var(--ease),color .2s;
}
.nav ul a:not(.cta):hover{color:var(--fg-strong);background-size:100% 1px}
.nav ul a:not(.cta)[aria-current]{color:var(--fg-strong);background-size:100% 1px}
.nav .cta{padding:var(--s3) var(--s4);font-size:var(--t2);min-height:0;border-radius:2px}
.nav-end{display:flex;align-items:center;gap:var(--s4)}
.burger{display:none;background:none;border:none;color:var(--fg-strong);cursor:pointer;padding:var(--s3);line-height:0;min-height:44px;min-width:44px}
.burger svg{width:24px;height:24px}

/* логото е ФАЙЛ и има две версии — сменя се с темата, без допълнителен JS */
.lgswap .lg-dark{display:none}
:root[data-theme="dark"] .lgswap .lg-light{display:none}
:root[data-theme="dark"] .lgswap .lg-dark{display:block}

/* ---- скала на четенето — докъде сме стигнали в листа ---- */
.scan{position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none}
.scan i{display:block;width:var(--colw);margin-inline:auto;height:1px}
.scan i::before{content:"";display:block;height:1px;background:var(--accent);width:var(--p,0%);transition:width .12s linear}

/* ---- превключвател на темата ----
   Знакът показва КЪДЕ отиваш, не къде си: на светъл лист свети полумесец
   (клик → тъмна), на тъмен — слънце (клик → светла). И двата са начертани
   с хайрлайн по геометрията на чертежа (окръжност + щрихи като котна розета);
   currentColor, 21px, stroke 1.6. Подчертаването при hover е същият
   месингов щрих, който бележи активния линк в менюто. */
.tsw{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;
  font-size:var(--t3);            /* иначе UA-по подразбиране за button (13,33px) тече в скалата */
  color:var(--fg-muted);transition:color .25s;
}
.tsw[hidden]{display:none}
.nav-theme{display:flex;align-items:center;gap:calc(var(--s6) - var(--s3))}
.nav-theme .tsw{margin-right:calc(var(--s3)*-1)}
/* хайрлайн-разделител преди знака — отделя инструмента от навигацията */
.nav-theme::before{content:"";width:1px;height:18px;background:var(--rule);flex:0 0 auto}
.tsw-mob{display:none}
.tsw:hover{color:var(--fg-strong)}
.tsw::after{
  content:"";position:absolute;left:12px;right:12px;bottom:7px;height:1px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.tsw:hover::after{transform:scaleX(1)}
.tsw svg{width:21px;height:21px;display:block;overflow:visible}
.tsw .ic{transform-origin:12px 12px;transition:opacity .3s var(--ease),transform .45s var(--ease)}
/* по подразбиране (светъл лист) се вижда полумесецът */
.tsw .ic-moon{opacity:1;transform:none}
.tsw .ic-sun{opacity:0;transform:rotate(-45deg) scale(.62)}
:root[data-theme="dark"] .tsw .ic-moon{opacity:0;transform:rotate(45deg) scale(.62)}
:root[data-theme="dark"] .tsw .ic-sun{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .tsw .ic,.tsw::after{transition:none}
  .tsw .ic-sun,:root[data-theme="dark"] .tsw .ic-moon{transform:none}
}

/* ШЛИФОВКА · 07.09 · ХЕДЪРЪТ. С петата връзка (Yellow Door) под 1100px
   връзките се чупеха на два реда (58px), а бутонът се стесняваше до 159px;
   компактното меню поема листа до 1099. Между 1100 и 1199 улеят между
   връзките е една стъпка по-тесен (16px), над 1200 — както досега.
   И: празният .nav-end (бургер + мобилен превключвател, и двата скрити)
   стоеше в реда като flex-дете и вземаше улей от 22px — бутонът свършваше на
   x = 1302 вместо на дясната полева линия 1324. На широк лист го няма. */
@media(min-width:1100px){.nav-end{display:none}}
@media(min-width:1100px) and (max-width:1199px){.nav ul{gap:var(--s4)}}
@media(max-width:1099px){
  .nav-end{margin-left:auto}
  .nav-theme{display:none}
  .tsw-mob{display:inline-flex}
  .tsw-mob[hidden]{display:none}
  .nav ul{
    display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg-menu);
    flex-direction:column;align-items:stretch;padding:var(--s3) var(--gut) var(--s6);gap:0;
    border-bottom:1px solid var(--rule-strong);
  }
  .nav ul.open{display:flex}
  .nav ul li{width:100%;border-top:1px solid var(--rule)}
  .nav ul li:first-child{border-top:0}
  .nav ul a:not(.cta){display:block;padding:var(--s4) 0;font-size:var(--t4);background-size:0 1px}
  .nav ul li:last-child{border-top:0;margin-top:var(--s4)}
  .nav ul .cta{display:inline-block;width:auto}
  .burger{display:block}
}

/* ==========================================================================
   9 · ЛИСТ 01 · ХЕРО
   ========================================================================== */
/* ---- първият екран Е листът: милиметрова хартия през целия екран ---------
   Херото става ПОВДИГНАТ лист — това го отделя от бялата шапка и дава на
   чертежа истинска подложка, вместо плоча под самата илюстрация. Двете мрежи
   са едно семейство: ситната е 1/72 от листа, полевата е всяка нейна ШЕСТА
   линия. Рисуват се от една и съща геометрия (--colw) и не могат да се
   разминат. Затова и чертежът остава без подложка — ляга направо на хартията. */
.s-hero{
  padding:var(--s8) 0 0;
  background-color:var(--bg-raised);
  --mesh:calc(var(--colw)/72);
  background-image:
    repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px calc(100%/12)),
    repeating-linear-gradient(90deg,var(--grid-fine) 0 1px,transparent 1px calc(100%/72)),
    linear-gradient(to bottom,var(--grid-fine) 0 1px,transparent 1px);
  background-size:var(--colw) 100%, var(--colw) 100%, 100% var(--mesh);
  background-position:50% 0, 50% 0, 0 0;
  background-repeat:repeat;
  box-shadow:inset 0 -1px 0 var(--raised-edge);
}
/* ---- ПРАВИЛОТО ЗА МЯСТОТО НА ЧЕРТЕЖА ------------------------------------
   Чертежът заема ТОЧНО ШЕСТТЕ ДЕСНИ ПОЛЕТА: левият му ръб е на шестата линия,
   десният — на дясната полева линия. И двата ръба лежат на линии, точно както
   текстовата колона отсреща. Оттам идват симетрията и балансът.
   Следствие 1: няма преливане — чертежът стои ВЪТРЕ в листа, не изтича от
   него. Затова и крилото на ›grow е вътре в линията по конструкция, на всяка
   ширина, без специални правила.
   Следствие 2: височината му следва от ширината (604 x 456 при 1440) и е
   по-малка от текстовата колона при всяка ширина — значи екранът се мери по
   ТЕКСТА, а чертежът никога не го вдига. Проверено: 1024 · 295 срещу 398,
   1141 · 395/430, 1280 · 441/464, 1440 · 456/501, 1920 · 456/509. */
/* Чертежът е без подложка — ляга направо върху хартията. */
.s-hero .plate{background:none;border:0;padding:0}
/* Реперните кръстчета висят на САМИЯ чертеж (.plan-box), не на колоната:
   маркират горния и долния му ляв ъгъл, тоест шестата полева линия. Без кант
   изместването е -5px: -5 + 5 (рамото в кутия 11x11) = 0, рамото заема
   буквално същия пиксел като линията. */
.s-hero .plate::before,.s-hero .plate::after{content:none}
.s-hero .plan-box{position:relative}
.s-hero .plan-box::before,.s-hero .plan-box::after{
  content:"";position:absolute;left:-7px;width:15px;height:15px;pointer-events:none;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 7px 0/1px 15px no-repeat;
}
.s-hero .plan-box::before{top:-5px}
.s-hero .plan-box::after{bottom:-5px}
/* Същите репери и на ДЕСНИЯ ръб на чертежа — той лежи на дясната полева линия
   (края на шестата му колона). Носи ги .plate-in, защото .plan-box вече е
   изчерпал двата си псевдоелемента за левите два ъгъла.
   Изместването вдясно е -6px, не -5px: лявата линия се рисува ВЪТРЕ в кутията
   (първия ѝ пиксел), а дясната — СЛЕД нея, тоест едно деление по-навън. */
.s-hero .plate-in{position:relative}
.s-hero .plate-in::before,.s-hero .plate-in::after{
  content:"";position:absolute;right:-8px;width:15px;height:15px;pointer-events:none;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 7px 0/1px 15px no-repeat;
}
.s-hero .plate-in::before{top:-5px}
.s-hero .plate-in::after{bottom:-5px}
/* 960 → 1039 (15.09) · Героят беше двуколонен до 960. Със свитата колона
   (--colw 660 под 1040) неговата половина пада на ~340px, а дисплейният
   кегел се води по vw, не по колоната: „Магазинът" излизаше 349px в кутия
   340px. Единият стълб под 1040 връща на заглавието цялата колона. */
@media(max-width:1039px){
  .s-hero .plan-box::before,.s-hero .plan-box::after{content:none}
  .s-hero .plate-in::before,.s-hero .plate-in::after{content:none}
  /* И на тесен екран чертежът стои ВЪТРЕ в листа — същото правило като на
     широк. Иначе текстът лежи на лявата линия, а рисунката излиза един улей
     извън нея от двете страни и подравняването се разпада. */
  .s-hero .plate{margin-inline:0}
}
.s-hero .plate-in{background-image:none}
/* Лявата колона е ШЕСТ ПОЛЕТА МИНУС УЛЕЯ, а не дроб от ширината. При дробно
   съотношение (или при 1fr 1fr) улеят се дели поравно между двете колони и
   плочата вдясно увисва на половин улей от линията: измерено 8.4px при 1440,
   10.9px при 1280, 22.5px при 1024 — две почти успоредни косъмни линии, които
   окото чете като грешка. С `calc(50% - улея)` сборът колона+улей е точно 50%
   от листа, тоест шестата линия на мрежата, на ВСЯКА ширина по конструкция. */
.hero-grid{
  --hgap:clamp(30px,4.4vw,64px);
  display:grid;grid-template-columns:calc(50% - var(--hgap)) minmax(0,1fr);
  gap:var(--hgap);align-items:center;
}
.hero-grid>*{min-width:0}


.hero h1{margin-bottom:var(--s5);max-width:11ch}
.hero .lead{margin-bottom:var(--s7);max-width:var(--measure)}
.hero-ctas{display:flex;gap:var(--s3);flex-wrap:wrap}

/* влизане на герото — по редове, веднъж */
.hero-copy>*{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.hero.on .hero-copy>*{opacity:1;transform:none}
.hero.on .hero-copy>*:nth-child(1){transition-delay:.05s}
.hero.on .hero-copy>*:nth-child(2){transition-delay:.14s}
.hero.on .hero-copy>*:nth-child(3){transition-delay:.26s}
.hero.on .hero-copy>*:nth-child(4){transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  .hero-copy>*{opacity:1;transform:none;transition:none}

}

/* ---- плочата „лист 01": сцената лежи върху подложка, която излиза от рамката ---- */
.plate{
  /* Вътрешното поле е ДВЕ КЛЕТКИ хартия, а не свободна стойност: тогава
     вътрешният лист започва точно на линия и хартията не тръгва от половин
     клетка. `-1px` е кантът, който абсолютната геометрия вече е изяла. */
  --mesh:calc(var(--sheetw)/72);
  --plate-pad:calc(var(--mesh)*2 - 1px);
  position:relative;
  background:var(--plate-bg);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:var(--s5) 0 var(--s5) var(--plate-pad);
}
/* Реперното кръстче: рамената му са на 5-ия пиксел в кутия 11x11, а абсолютното
   позициониране се мери от ПОДЛОЖНОТО каре на плочата, тоест вече е един пиксел
   навътре заради канта. Затова изместването е -6px, а не -5px: -6 + 1 (кант)
   + 5 (рамото) = 0 — рамото заема буквално същия пиксел като линията.
   Старото `left:-1px` местеше вертикалното рамо на 5px вдясно от канта. */
.plate::before,.plate::after{
  content:"";position:absolute;left:-8px;width:15px;height:15px;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 7px 0/1px 15px no-repeat;
}
.plate::before{top:-6px}
.plate::after{bottom:-6px}
/* Милиметровата хартия под чертежа е ПОДДЕЛЕНИЕ на колонната мрежа: шест
   клетки на поле, тоест 72 на лист. Стъпката излиза от --sheetw (същата
   геометрия, с която се решават и полевите линии), а не от фиксирани 16px —
   иначе двете мрежи се разминават на всяка ширина. Тъй като вътрешното поле
   е точно две клетки, левият ръб на този лист е цяло число клетки от линия на
   мрежата — затова фазата е 0 и всяка шеста линия ЛЯГА върху линия на полето.
   Един прост градиент на клетка (не repeating-), защото само при
   background-size = една клетка повторението е точно. */
.plate-in{
  position:relative;
  background-image:
    linear-gradient(to bottom,var(--plate-grid) 0 1px,transparent 1px),
    linear-gradient(to right,var(--plate-grid) 0 1px,transparent 1px);
  background-size:var(--mesh) var(--mesh);
  background-repeat:repeat;
}
.plan-box{min-width:0}
.plan-box svg{width:100%;height:auto;display:block}

@media(min-width:961px){
  .plate{border-left:1px solid var(--rule)}
}
@media(max-width:1039px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s7)}

  /* ---- 54 · НА ТЕЛЕФОН БУТОНЪТ СЛИЗА ПОД ИЛЮСТРАЦИЯТА · 16.09 ----------
     Мерено при 390 (истинска видима височина в Safari ~680: лентата горе ~100,
     долната ~72 от 852): илюстрацията почваше на 534 и от 264-те ѝ пиксела се
     виждаха 146 — 55%, и то чак след като окото е минало покрай бутона.
     Бутонът (52px) и улеят пред него (30px) освобождават 82px.

     Освен аритметиката: на телефон героят има една задача — обещанието и
     какво правим. „Покажи ми как ↓" е покана да скролнеш; преди рисунката тя
     се състезава с нея, след нея е на мястото си.

     `display:contents` разпуска .hero-copy, за да станат h1, уводът и бутонът
     ПРЯКИ клетки на решетката и да се подредят с `order`. Разкриването остава
     непокътнато — то виси на `.hero-copy>*`, а то се мери по ДЪРВОТО, не по
     `display`. Улеят на решетката пада на 0, защото отстоянията вече ги носят
     собствените маржове на h1 (--s5) и на увода (--s7). */
  @media(max-width:700px){
    .hero-copy{display:contents}
    .hero-grid{row-gap:0}
    .plate{order:3}
    .hero-ctas{order:4;margin-top:var(--s7)}
  }

  /* Само редът не стигаше — рисунката пак излизаше 36px извън видимото.
     Мерено по кегели при 390/680:
        52px → 3 реда, рисунката свършва на 716 (36 извън)
        46px → 3 реда, 698 (18 извън)
        44px → 2 реда на 430 и 390, но 3 на 375 и надолу
        42px → 2 реда на 430 · 390 · 375 · 360, рисунката се побира на всички
     При 42 заглавието се чупи на „Магазинът ви / може повече." вместо на
     „Магазинът / ви може / повече." — тоест на цезурата, а не по средата на
     смисъла. По-малко, но и по-добре.
     `13.9vw` остава като таван: то пази „Магазинът" да не излезе от колоната
     при 320 (правило 57). */
  /* тук плочата излиза в двата улея, тоест левият ѝ ръб НЕ е линия. Полето се
     мери НАЗАД от ръба на листа — улеят минус две клетки — и вътрешният лист
     пак застава на цяло число клетки от линия. Кантът отпада, затова без -1px. */
  .plate{--plate-pad:calc(var(--gut) - var(--mesh)*2);
    margin-inline:calc(var(--gut)*-1);padding-inline:var(--plate-pad)}
  .plate::before,.plate::after{display:none}
  /* 16.09 · `ch` е ширината на нулата, а най-дългата дума „Магазинът" мери
     6.10em (правило 57). При 1024 кегелът е 57.3px → 14ch = 340px, а думата
     иска 349px и излизаше от кутията си. `max()` казва правилото направо:
     кутията никога не е по-тясна от най-дългата дума. */
  .hero h1{max-width:max(14ch, 6.2em)}
}

/* ---- котата: „500+ · 20+ · 24/7" като размерна верига ---- */
.dimchain{
  list-style:none;display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:var(--s8);
  padding-top:var(--s3);position:relative;
}
.dimchain::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--rule-strong);
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .5s;
}
.hero.on .dimchain::before,.dimchain.rv.on::before{transform:scaleX(1)}
.dimchain li{position:relative;padding:var(--s3) 0 var(--s7);padding-right:var(--s5)}
.dimchain li::before{
  content:"";position:absolute;top:-7px;left:0;width:2px;height:15px;background:var(--rule-strong);
  opacity:0;transition:opacity .4s ease;
}
.dimchain li:last-child::after{
  content:"";position:absolute;top:-7px;right:0;width:2px;height:15px;background:var(--rule-strong);
  opacity:0;transition:opacity .4s ease .18s;
}
.hero.on .dimchain li::before,.hero.on .dimchain li:last-child::after,
.dimchain.rv.on li::before,.dimchain.rv.on li:last-child::after{opacity:1}
.dimchain .v{
  display:block;font-family:var(--fh);font-weight:800;font-size:var(--t7);
  line-height:1;letter-spacing:-.02em;color:var(--data);margin-bottom:var(--s2);
  font-variant-numeric:tabular-nums;
}
.dimchain .l{display:block;font-size:var(--t2);line-height:1.45;color:var(--fg-faint);max-width:17ch}
.dimchain .v+.l{display:block}
@media(max-width:700px){
  /* ПОПРАВКА 17.09 · Лентата на телефон беше ТРИ РЕДА и се четеше сбъркана.
     Две причини, и двете мерени: всеки ред беше собствена решетка с
     `auto 1fr`, тоест колоната се мереше по СВОЕТО число — 86.8 / 64.3 /
     80.4px — и етикетите почваха на 122.8 / 100.3 / 116.4 (раздърпан ръб от
     22.4px); и надписът стоеше ДЯСНО от числото, с дупка до края на листа.
     Решението по указание на Георги: лентата на телефон е точно каквато е на
     плот. Затова тук НЕ СЕ ЗАМЕНЯ НИЩО — нито чертата, нито рискичките,
     нито падингите. Падат всички стари замени:
       grid-template-columns:1fr        (правеше я едноколонна)
       .dimchain::before{display:none}  (убиваше ЕДНАТА черта през листа)
       border-top на всеки ред          (три черти вместо една)
       li::before / li:last-child::after: none  (убиваше вертикалните рискички)
       .v{margin-bottom:0} и .l{max-width:none}
     Остава едно: таван 11ch на надписа, за да са и трите на ДВА реда —
     искане на Георги, за да е подредено. Трите фрази са по две думи, а
     най-дългата единична дума е „изградени" (9 знака), тъй че таван малко над
     нея ги чупи и трите еднакво. На плот таванът си остава 17ch. */
  .dimchain{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dimchain li{padding:var(--s6) var(--s6) 0 0}
  .dimchain .l{max-width:11ch}
}
/* Портата хвана това, което моята мярка пропусна: мерил съм спрямо кутията
   С падинга, а тя мери спрямо СЪДЪРЖАНИЕТО. Числото не се събираше и ядеше
   своя десен падинг: при 360 „500+" иска 87px в 85, при 320 — 82px в 71, а
   „24/7" 76px в 71. При 320 това значи 11px навън, тоест числото почти опира
   следващата рискичка.
   Гъвкавата част е падингът, не числото: --s6 (22px) става --s2 (8px) под
   480px. Тогава при 320 мястото е 85px за 82, а при 360 — 99 за 87.
   Числото е данна и не се свива; въздухът отдясно се свива. */
@media(max-width:480px){
  .dimchain li{padding-right:var(--s2)}
}
@media (prefers-reduced-motion:reduce){
  .dimchain::before{transform:none;transition:none}
  .dimchain li::before,.dimchain li:last-child::after{opacity:1}
}

/* ==========================================================================
   10 · ЛИСТ 02 · СПЕЦИФИКАЦИЯ
   четирите реда носят кода на четирите полета — само като цвят на кант
   ========================================================================== */
.spec{list-style:none;border-top:1px solid var(--rule-strong);max-width:none}
.spec li{
  position:relative;display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,7.6fr);
  gap:var(--s6);
  padding:var(--s6) 0 var(--s6) var(--s5);
  border-bottom:1px solid var(--rule);
}
/* ШЛИФОВКА · 07.09 · описанието започва на полева линия 4 (беше на 569 —
   на 50px от линията): редът има 22px ляв отстъп за цветната черта, затова
   колоната се смята от ширината на листа (100% + отстъпа), не от дроб. */
@media(min-width:1040px){
  .spec li{grid-template-columns:calc(4*(100% + var(--s5))/12 - var(--s5) - var(--s6)) minmax(0,1fr)}
}

.spec b{
  font-family:var(--fh);font-weight:700;font-size:var(--t4);
  line-height:1.32;letter-spacing:-.012em;color:var(--fg-strong);
}
.spec b .chev{margin-right:.45em;color:var(--c,var(--accent-soft))}
.spec p{font-size:var(--t4);line-height:1.62;color:var(--fg-muted);max-width:var(--measure)}
.d-space{--c:var(--field-space)} .d-tech{--c:var(--field-tech)}
.d-ops{--c:var(--field-ops)}     .d-grow{--c:var(--field-grow)}
/* 760 → 1039 (15.09) · Записът се цепеше на две колони (4fr заглавие /
   7.6fr текст) от 760 до 1040 — точно където 12-полевата решетка вече не
   държи листа. Заглавната колона падаше на 235px при 768 и 314px при 1024:
   заглавие там не се побира, преносът му увисва вляво от първия си ред, а
   при сгънато ЧЗВ (същият компонент — `ul.spec faqspec`) широката колона
   стои празна. Двуколонната форма иска решетката; под нея няма място.
   Над 1040 записът и без това е едноколонен — .spec става две колони
   ЗАПИСИ, не две колони вътре в записа. */
@media(max-width:1039px){
  .spec li{grid-template-columns:1fr;gap:var(--s2);padding-left:var(--s4)}
  .spec li::before{top:calc(var(--s4) + 2px)}
}

/* ==========================================================================
   11 · ЛИСТ 03 · ЧЕТИРИТЕ ПОЛЕТА (плочки)
   ========================================================================== */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.fieldcard{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg-card);color:var(--fg);text-decoration:none;
  padding:var(--s6) var(--s5) var(--s6);
  transition:background-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
  isolation:isolate;
}
.fieldcard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--c,var(--accent));opacity:.85}
.fieldcard::after{
  content:"";position:absolute;right:16px;bottom:16px;width:15px;height:15px;opacity:0;
  background:
    linear-gradient(var(--c),var(--c)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--c),var(--c)) 7px 0/1px 15px no-repeat;
  transition:opacity .3s ease;
}
.fieldcard:hover,.fieldcard:focus-visible{background:var(--bg-card-hover);box-shadow:var(--shadow-lift);z-index:2}
.fieldcard:hover::before,.fieldcard:focus-visible::before{opacity:1}
.fieldcard:hover::after,.fieldcard:focus-visible::after{opacity:1}
.fieldcard .tag{
  font-family:var(--fh);font-weight:800;font-size:var(--t2);letter-spacing:.08em;
  color:var(--c,var(--accent));display:block;margin-bottom:var(--s7);
}
.fieldcard h3{margin-bottom:var(--s2)}
.fieldcard p{font-size:var(--t4);line-height:1.56;color:var(--fg-muted);max-width:none}
.t-ops{--c:var(--field-ops)}   .t-grow{--c:var(--field-grow)}
.t-tech{--c:var(--field-tech)} .t-space{--c:var(--field-space)}
/* 980 → 1039 (15.09): `1fr` носи неявен минимум по съдържание, затова четирите
   карти не се свиват под min-content. При лист 660 те искаха 273+213+190+164 =
   840px и излитаха извън екрана. Още при 1024 бяха по 234px — тесни. Две по две
   под 1040 им дава по 330px. */
@media(max-width:1039px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.grid4{grid-template-columns:1fr}.fieldcard .tag{margin-bottom:var(--s5)}}


/* ==========================================================================
   12 · ЛИСТ 04 · КАК РАБОТИМ — процесът като размерна верига
   ========================================================================== */
.chain{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.chain li{position:relative;padding:var(--s5) var(--s6) 0 0;border-top:1px solid var(--rule-strong)}
.chain li::before{content:"";position:absolute;top:0;left:0;width:2px;height:30px;background:var(--rule-strong)}

.chain .st{
  display:block;font-family:var(--fh);font-weight:800;font-size:var(--t1);letter-spacing:.22em;
  color:var(--fg-faint);margin-bottom:var(--s6);font-variant-numeric:tabular-nums;
}
.chain b{
  display:block;font-family:var(--fh);font-weight:700;font-size:var(--t5);
  letter-spacing:-.015em;color:var(--fg-strong);margin-bottom:var(--s2);
}
.chain b .chev{margin-right:.3em}
.chain p{font-size:var(--t4);line-height:1.62;color:var(--fg-muted);max-width:var(--measure)}
@media(max-width:820px){
  .chain{grid-template-columns:1fr}
  .chain li{padding:var(--s5) 0 var(--s5) var(--s5);border-top:1px solid var(--rule)}
  .chain li:first-child{border-top-color:var(--rule-strong)}
  .chain li::before{top:-1px;left:0;width:2px;height:30px}
  .chain li:last-child::after{display:none}
  .chain .st{margin-bottom:var(--s3)}
}

/* ==========================================================================
   13 · ЛИСТ 05 · РАЗКАЗЪТ — колона с полева линия и щрихи
   ========================================================================== */
.stack{position:relative;padding-left:var(--s6);max-width:var(--measure-wide)}
.stack::before{content:"";position:absolute;left:0;top:.55em;bottom:.4em;width:1px;background:var(--rule)}
.stack>p{position:relative;margin-bottom:var(--s5);max-width:var(--measure);color:var(--fg-muted)}
.stack>p::before{content:"";position:absolute;left:calc(-1*var(--s6));top:.72em;width:var(--s3);height:1px;background:var(--rule-strong)}
.stack>p:first-child{font-size:var(--t4);line-height:1.6;color:var(--fg)}
.stack>p:last-of-type{margin-bottom:0}


/* ==========================================================================
   14 · ЛИСТ 06 · РЕГИСТЪР „кой ни търси"
   ========================================================================== */
.reg{
  list-style:none;position:relative;display:grid;
  grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;
  column-gap:var(--s8);
  border-top:1px solid var(--rule-strong);
}
.reg::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rule)}
.reg li{
  display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:baseline;
  padding:var(--s5) 0;border-bottom:1px solid var(--rule);
  font-size:var(--t4);line-height:1.58;color:var(--fg-muted);
}
.reg b{font-family:var(--fh);font-weight:700;font-size:var(--t4);letter-spacing:-.01em;color:var(--fg-strong);display:block;margin-bottom:var(--s1)}
.reg span span{display:block}
.reg li>span{max-width:var(--measure)}
@media(max-width:820px){
  .reg{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
  .reg::before{display:none}
}

/* ==========================================================================
   15 · ЛИСТ 07 · ЛЕНТАТА — щемпелът на листа
   ========================================================================== */
.mission{
  background:var(--bg-raised);color:var(--fg);
  box-shadow:inset 0 1px 0 var(--raised-edge),inset 0 -1px 0 var(--raised-edge);
  padding:calc(var(--s8)*1.5) 0;
}
.stamp{position:relative;padding:var(--s8) var(--s7);text-align:center}
.stamp::before,.stamp::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--rule-strong)}
.stamp::before{top:0}
.stamp::after{bottom:0}
.stamp i{position:absolute;width:15px;height:15px;pointer-events:none;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 7px 0/1px 15px no-repeat;
}
.stamp i:nth-of-type(1){top:-7px;left:-7px}
.stamp i:nth-of-type(2){top:-7px;right:-7px}
.stamp i:nth-of-type(3){bottom:-7px;left:-7px}
.stamp i:nth-of-type(4){bottom:-7px;right:-7px}
.m-vision{
  margin:0 auto;max-width:24ch;font-family:var(--fh);font-weight:800;
  font-size:var(--t8);line-height:1.16;letter-spacing:-.025em;color:var(--fg-strong);
}
.m-vision .chev{color:var(--accent);margin-right:.2em}
/* Кегелът на блока с НЕРАЗДЕЛИМ НИЗ се ограничава от низа, не от праг.
   Единица, по-широка от реда си, НЕ МОЖЕ да се центрира: редът задържа
   началния ръб и прелива в другата посока. Само началната има такъв низ —
   „а на точния екип." в white-space:nowrap, за да остане поантата цяла —
   затова само нейният блок носи .m-hold.
   Мерено при фиксирани 33px, с медената точка: низът иска 9.716 x кегела
   (320.6px при 33px, 262.3px при 27px — същото отношение). Мястото е
   100vw − 2x20 улей − 2x30 падинг на .stamp = 100vw − 100px. Делителят е
   9.8: два процента запас за резервен шрифт и бъдеща редакция.
   Това замества @media(max-width:400px) за ТОЗИ блок. Прагът беше сметнат
   грешно — низът иска екран от 421px, не 400 — и оставяше последния ред
   9.3px вдясно от осата при 402, ширината на iPhone 16 Pro, точно където
   Георги го видя. А и една стъпка не стигаше: и на 27px низът не се събира
   под 363px, тоест 360 · 344 · 320 бяха извън центъра с 1.2 · 9.2 · 12.8px.
   Над 421px изразът не важи — там --t8 е по-малкото. */
.m-vision.m-hold{ font-size:min(var(--t8), calc((100vw - 100px) / 9.8)) }
/* Под 400px девизът слиза с една стъпка. Важи за блоковете БЕЗ неразделим
   низ; мерено, най-широката им единица е дума: „демонстрация" иска 8.241 x
   кегела, „застанем" — 5.377. И двете се събират на всяка ширина при --t6.
   Стъпка от скалата, не нова стойност. */
@media(max-width:400px){ .m-vision:not(.m-hold){font-size:var(--t6)} }
.m-sub{margin:var(--s6) auto 0;max-width:var(--measure);font-size:var(--t4);line-height:1.6;color:var(--fg-muted);text-wrap:balance}

/* ==========================================================================
   16 · ЛИСТ 08 · ДЕЙСТВИЕТО
   ========================================================================== */
.s-cta{background:var(--bg)}
.s-cta .shead{margin-bottom:0}
.cta-btns{margin-top:var(--s7);display:flex;flex-wrap:wrap;gap:var(--s3);max-width:none}

.contactline a{color:var(--fg);text-decoration:none;
  display:inline-block;padding:12px 0 14px;margin:-12px 0 -14px;   /* цел ≥ 46px, без визуална промяна */
  background:linear-gradient(var(--accent),var(--accent)) 0 calc(100% - 12px)/100% 1px no-repeat;
  transition:background-size .3s var(--ease),color .2s}
.contactline a:hover{color:var(--fg-strong);background-size:100% 2px}

/* ==========================================================================
   17 · ФУТЪР — заглавното каре на чертежа
   ========================================================================== */
footer.site{background:var(--bg-sunken);color:var(--fg);padding:var(--s8) 0 0;border-top:1px solid var(--rule-strong)}
.f-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s6);align-items:start;padding-bottom:var(--s7)}
.f-brand img{height:23px;width:auto}
.f-brand a{display:inline-flex;padding-block:var(--s3)}
.f-desc{margin-top:var(--s4);font-size:var(--t3);color:var(--fg-faint);max-width:var(--measure)}
footer nav ul{list-style:none;display:flex;gap:var(--s2) var(--s6);flex-wrap:wrap;margin-top:-11px}
footer nav a{display:inline-block;color:var(--fg-muted);text-decoration:none;font-size:var(--t3);padding:var(--s3) 0 var(--s4);
  background:linear-gradient(var(--accent),var(--accent)) 0 calc(100% - 12px)/0 1px no-repeat;
  transition:background-size .35s var(--ease),color .2s}
footer nav a:hover{color:var(--fg-strong);background-size:100% 1px}
/* Лентата дели като ГОРНИЯ ред на футъра — двата края, — а не на половина.
   Мерено: контактите тръгваха от 720 и оставяха 344px празно до шината,
   т.е. четвърт лист. Вертикалната черта по средата отпада заедно с
   разделянето: тя дели две колони, а двукрайна лента няма какво да дели —
   горният ред също няма черта между бранда и навигацията. */
.f-meta{display:flex;justify-content:space-between;gap:var(--s6);
  border-top:1px solid var(--rule)}
.f-meta span{padding:var(--s5) 0 var(--s5);font-size:var(--t2);letter-spacing:.03em;color:var(--fg-faint)}
.f-meta span+span{text-align:right}
@media(max-width:700px){
  .f-top{grid-template-columns:1fr;gap:var(--s6)}
  .f-meta{display:grid;grid-template-columns:1fr;gap:0}
  /* Отрицателният марж беше писан за старата решетка с двойна подложка;
     сега двата реда се застъпваха с 6px. Чертата дели, подложката е една. */
  .f-meta span+span{text-align:left;border-top:1px solid var(--rule);padding-top:var(--s5)}
}

/* ==========================================================================
   18 · РАЗКРИВАНЕ (reveal)
   ========================================================================== */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.rv.on{opacity:1;transform:none}
.shead.rv{opacity:1;transform:none;transition:none}
.shead.rv>*{opacity:0;transform:translateY(14px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.shead.rv.on>*{opacity:1;transform:none}
.shead.rv.on .no{transition-delay:.02s}
.shead.rv.on h2,.shead.rv.on h1{transition-delay:.16s}
.shead.rv.on .lead{transition-delay:.26s}
@media (prefers-reduced-motion:reduce){
  .rv,.shead.rv>*{opacity:1;transform:none;transition:none}
}
/* БЕЗ JS разкриването няма кой да го задейства — затова, когато скриптовете
   са изключени, всичко е показано и всяка линия е начертана. Проверката е
   на нивото на браузъра (@media scripting), а не на класове от JS. */
@media (scripting: none){
  .rv,.shead.rv>*{opacity:1;transform:none;transition:none}
  .rails span,.dimchain::before{transform:none;transition:none}
  .dimchain li::before,.dimchain li:last-child::after{opacity:1}
  .iso .iz-label{opacity:1}
  .hero-copy>*{opacity:1;transform:none}
}
[id]{scroll-margin-top:120px}

/* ==========================================================================
   19 · ИЗОМЕТРИЧНИЯТ МАКЕТ
   Геометрията в SVG-то е НЕПРОМЕНЕНА. Цветовата обработка минава изцяло
   през роли (--iso-1…9, --iso-halo, --field-*), затова е една и съща
   таблица за двете теми — сменят се само стойностите на ролите.
   ========================================================================== */
.iso text{user-select:none}
.iso .iso-note{font-family:var(--fb);font-size:var(--t1);font-weight:600;letter-spacing:.04em}
.iso a.izone{cursor:pointer;outline:none;transition:opacity .35s ease}
.iso .iz-lift{transition:transform .45s var(--ease)}
.iso .zfloor,.iso .iz-tint{transition:fill-opacity .4s ease}
.iso .iz-label{opacity:0;transition:opacity .3s ease}
.iso .iz-label text{
  font-family:var(--fh);font-weight:700;font-size:var(--t2);letter-spacing:.04em;
  paint-order:stroke;stroke:var(--iso-halo);stroke-width:5;stroke-linejoin:round;
}
.iso a.izone:is(:hover,:focus-visible,.lit) .iz-lift{transform:translateY(-8px)}
.iso a.izone:is(:hover,:focus-visible,.lit) .zfloor{fill-opacity:.19}
.iso a.izone:is(:hover,:focus-visible,.lit) .iz-tint{fill-opacity:.36}
.iso a.izone:is(:hover,:focus-visible,.lit) .iz-label{opacity:1}
/* Надписът на ›tech стои НАЙ-ОТГОРЕ в кадъра: витрината минава пред касите и
   го покриваше. Изваден е от групата на зоната — затова се пали през :has(),
   а не по наследяване, и си носи същото повдигане като останалите. */
.iso .iz-label-top{transition:opacity .3s ease,transform .45s var(--ease)}
.iso:has(a.izone[data-zone="tech"]:is(:hover,:focus-visible,.lit)) .iz-label-top{opacity:1;transform:translateY(-8px)}
.iso:has(a.izone:is(:hover,:focus-visible,.lit)) a.izone:not(:is(:hover,:focus-visible,.lit)){opacity:.3}
.iso a.izone:focus-visible .zfloor{stroke:var(--focus);stroke-width:2;fill-opacity:.19}
/* Етикетите не се показват и на телефон (решение 06.09) — четирите зони
   остават без имена там; зоните пак водят към полетата при тап. */
@media(prefers-reduced-motion:reduce){
  .iso a.izone,.iso .iz-lift,.iso .zfloor,.iso .iz-tint,.iso .iz-label{transition:none}
  .iso .iz-label{opacity:1}
  .iso a.izone:is(:hover,:focus-visible) .iz-lift{transform:none}
}

/* ---- лицата на макета: на светло са родните, на тъмно — повдигнати ---- */
.iso [fill="#FFFFFF"]{fill:var(--iso-1)}
.iso [fill="#E9F0F1"]{fill:var(--iso-2)}
.iso [fill="#D7E1E4"]{fill:var(--iso-3)}
.iso [fill="#F2FAF9"]{fill:var(--iso-4)}
.iso [fill="#F4F7F7"]{fill:var(--iso-5)}
.iso [fill="#DCE5E7"]{fill:var(--iso-6)}
.iso [fill="#C7D5D8"]{fill:var(--iso-7)}
.iso [fill="#D8EFED"]{fill:var(--iso-8)}
.iso [fill="#C9E4E2"]{fill:var(--iso-9)}

/* ---- „grow" лежи ИЗВЪН кутията, върху подложката: сменя се с темата ---- */
.iso a[data-zone="grow"] [fill="#8A6516"]{fill:var(--field-grow)}
.iso a[data-zone="grow"] [stroke="#8A6516"]{stroke:var(--field-grow)}
.iso text.iso-note{fill:var(--field-grow)}

/* ---- етикетите на зоните са НАД всичко: винаги в темената врата ---- */
.iso .iz-label text[fill="#A85A28"]{fill:var(--field-space)}
.iso .iz-label text[fill="#28688E"]{fill:var(--field-tech)}
.iso .iz-label text[fill="#1F7570"]{fill:var(--field-ops)}
.iso .iz-label text[fill="#8A6516"]{fill:var(--field-grow)}

/* ---- при среден лист етикетите се уголемяват, за да останат четими ---- */
@media(min-width:821px) and (max-width:1200px){
  .iso .iz-label text{font-size:var(--t4);stroke-width:6}
  .iso .iso-note{font-size:var(--t2)}
}
/* ШЛИФОВКА · 07.09 · На телефон етикетите НЕ съществуват (решение 06.09, дотук
   само записано като коментар). Правилата под 820/520 ги УГОЛЕМЯВАХА до 27px и
   при 390px „›tech · каси и самообслужване" се палеше 0,9–3,8 s след зареждане
   с ляв ръб на x = −26px. Скрити са изцяло; встъплението в main.js не тече на
   тесен лист; зоните остават линкове към полетата. */
@media(max-width:820px){
  .plate-in .iso{overflow:visible}
  .iso .iz-label{display:none}
}

/* ==========================================================================
   20 · НОМЕРАЦИЯ (CSS-броячи — копито остава дословно)
   ========================================================================== */
main{counter-reset:sheet}
.sheet{counter-increment:sheet}
.shead .no::before,.mission-no::before{content:counter(sheet,decimal-leading-zero)}
.mission-no{
  display:block;font-family:var(--fh);font-weight:800;font-size:var(--t1);line-height:1;
  letter-spacing:.22em;color:var(--accent-soft);margin-bottom:var(--s7);
}
/* Номерацията маркира СЪДЪРЖАТЕЛНИТЕ листове. Действието (CTA) и щемпелът
   (лентата) не са листове от чертежа — те са какво СЛЕДВА от него, затова
   остават без номер. Броячът продължава да тече, така че видимите номера си
   остават последователни. (04.09 — разреждане на фанфарата.) */
/* РЪЧНА · 2а: номерът на ЛИСТ отпада — заменя го котата.
   Изброяванията НЕ се пипат: тезите 01–05, стъпките на веригата,
   номерата на досиетата. Там числото носи смисъл, не етикет. */
.shead .no,.mission-no{display:none}
/* Броячът отпадна на 10.09: числата на веригата вече стоят в разметката.
   CSS брояч не се копира, не се чете от екранен четец и не съществува без
   стилове — а номерът на стъпка е съдържание, не украса. */

/* ==========================================================================
   21 · ВЪТРЕШНИТЕ ЛИСТОВЕ — ОБЩИ КОМПОНЕНТИ
   Всичко тук е наименувано по РОЛЯ, не по страница, и работи в двете теми:
   нито един компонент не съдържа цвят — само семантични роли.
   ========================================================================== */

/* ---- 21.1 · PAGEHEAD · заглавният лист на вътрешна страница -------------
   Главата е СЪЩИЯТ компонент .shead като на всеки друг лист — само че носи
   H1: номер · измерена линия · заглавие вляво · увод вдясно. Така всяка
   вътрешна страница започва като лист от същия чертеж, а не като нов сайт. */
.pagehead{padding:var(--s8) 0 var(--s8)}
.pagehead .shead{margin-bottom:0}
.pagehead h1{
  font-size:var(--t9);line-height:1.02;letter-spacing:-.032em;
  max-width:15ch;
}
.pagehead .lead{max-width:var(--measure)}
.pagehead .cta-btns{margin-top:var(--s7)}

/* ---- 21.2 · SHEAD-FIELD · глава на лист, която носи код на врата --------
   Номерът на листа и кодът (›space · Пространства) стоят на един ред;
   измерената линия получава щрихи в цвета на вратата — котата казва
   кое поле започва, без нито една допълнителна дума. */
.shead .fieldmark{
  grid-row:1;grid-column:1/-1;
  display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap;
  margin-bottom:var(--s3);max-width:none;
}
.shead .fieldmark .no{margin-bottom:0}
.shead .fieldmark .kicker{margin-bottom:0;color:var(--fg-faint)}
.shead-field::before{
  background:
    linear-gradient(var(--rule-strong),var(--rule-strong)) 0 4px/100% 1px no-repeat,
    linear-gradient(var(--c,var(--accent)),var(--c,var(--accent))) 0 0/2px 9px no-repeat,
    linear-gradient(var(--c,var(--accent)),var(--c,var(--accent))) 100% 0/2px 9px no-repeat;
}
.f-space{--c:var(--field-space)} .f-tech{--c:var(--field-tech)}
.f-ops{--c:var(--field-ops)}     .f-grow{--c:var(--field-grow)}
.f-space,.f-tech,.f-ops,.f-grow{scroll-margin-top:calc(var(--s8)*1.5 + var(--s5))}

/* ---- 21.3 · SUBNAV · регистър на полетата (котвена лента) ---------------
   Не е таб-лента, а глава на листа: всяко поле има котен щрих в своя цвят;
   активното поле изтегля щриха до пълната височина на лентата. */
.subnav{
  position:sticky;top:74px;z-index:80;
  background:var(--bg-header);
  backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--rule-strong);
}
.subnav .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:58px}
.subnav a{height:58px}
/* Беше flex с `align-items:center`: тогава шевронът е КЛЕТКА и не сяда на
   основната линия — знакът висеше 28px над главната буква. Един ред текст,
   центриран с line-height, връща обикновеното инлайн подравняване. */
.subnav a{
  position:relative;display:block;line-height:58px;padding-left:var(--s5);
  font-family:var(--fh);font-weight:700;font-size:var(--t3);letter-spacing:.05em;
  text-decoration:none;color:var(--fg-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:color .25s;
}
.subnav a::before{
  content:"";position:absolute;left:0;top:0;width:2px;height:15px;background:var(--c);
  opacity:.5;transition:height .35s var(--ease),opacity .25s;
}
.subnav a:hover,.subnav a:focus-visible{color:var(--c)}
.subnav a.act{color:var(--c)}
.subnav a.act::before{height:100%;opacity:1}
/* БРАНД · шевронът и суфиксът носят ЕДИН цвят. В навигацията линкът е сив в
   покой и взима цвета на полето на hover и активен — знакът трябва да го
   следва, а не да стои месингов над сива дума. */
.subnav a .chev{color:inherit}
.subnav a[data-k=space]{--c:var(--field-space)} .subnav a[data-k=tech]{--c:var(--field-tech)}
.subnav a[data-k=ops]{--c:var(--field-ops)}     .subnav a[data-k=grow]{--c:var(--field-grow)}
@media (prefers-reduced-motion:reduce){.subnav a::before{transition:none}}
@media(max-width:420px){.subnav .wrap{height:52px}.subnav a{height:52px;line-height:52px;padding-left:var(--s3);font-size:var(--t2)}}

/* ---- 21.4 · SECLABEL · надпис на чертеж (етикет + линия до ръба) -------- */
.seclabel{
  display:flex;align-items:center;gap:var(--s4);
  font-family:var(--fh);font-weight:800;font-size:var(--t1);line-height:1;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);
  margin:var(--s7) 0 var(--s5);max-width:none;
}
.seclabel::after{content:"";flex:1 1 auto;height:1px;background:var(--rule)}
.seclabel:first-child{margin-top:0}

/* ---- 21.5 · BRIEF · водещият абзац на поле („Какво виждаме") ------------ */
/* ШЛИФОВКА · 07.09 · На /yellow-door уводът свършваше и линията на регистъра
   започваше на 0px под него (два листа: „24/7 · 2 канала" и „Светофарът").
   На /polia между двата стои надпис .seclabel със свой отстъп; тук го няма —
   отстъпът е този между блокове. */
.specreg li{
  counter-increment:sr;position:relative;
  display:grid;grid-template-columns:2.7rem minmax(0,5.2fr) minmax(0,7fr);
  gap:var(--s1) var(--s6);align-items:baseline;
  padding:var(--s4) 0;
  border-bottom:1px solid var(--rule);
}
.specreg li::before{
  content:counter(sr,decimal-leading-zero);
  font-family:var(--fh);font-weight:800;font-size:var(--t1);line-height:1.9;
  letter-spacing:.14em;color:var(--fg-faint);font-variant-numeric:tabular-nums;
}
.specreg b{
  font-family:var(--fh);font-weight:700;font-size:var(--t4);
  line-height:1.4;letter-spacing:-.012em;color:var(--fg-strong);
}
.specreg b .chev{color:var(--c,var(--accent-soft));margin-right:.4em}
.specreg li>span{font-size:var(--t3);line-height:1.6;color:var(--fg-muted);max-width:var(--measure)}
/* тирето виси В УЛЕЯ между колоните — както при висяща пунктуация:
   описанието започва оптически на своята колона, а знакът остава разделител */
.specreg.dashed li>span{text-indent:-1.15em}
.specreg li>span b{font-family:var(--fb);font-size:inherit;font-weight:600;color:var(--fg)}
@media(max-width:820px){
  .specreg li{grid-template-columns:2.2rem minmax(0,1fr)}
  .specreg li>span{grid-column:2}
  .specreg.dashed li>span{text-indent:0}
}

/* ---- 21.6б · SPECREG · ДВУКОЛОНЕН вариант (само четирите полета на /polia)
   По модела на .reg („Кой ни търси" на началната): решетка със СПОДЕЛЕНИ
   редове, затова хоризонталите на двете колони падат на една линия и блокът
   се чете като чертеж, а не като два независими списъка. Вертикална черта по
   средата. Четенето е НАДОЛУ по лявата колона, после дясната.

   ⚠ Броят редове е ЗАШИТ, защото grid-auto-flow:column изисква явен брой:
   8 услуги = 4 реда, ›tech има 10 = 5 реда. ПРИ ДОБАВЯНЕ ИЛИ МАХАНЕ НА УСЛУГА
   редовете се преброяват наново ТУК. Затова вариантът е СКОУПНАТ към четирите
   полета: базовият .specreg (ползван и на /yellow-door, където списъците са
   4–5 реда) остава едноколонен — при него зашитите 4 реда оставяха дясната
   колона празна.

   Поредните номера 01–08 паднаха (04.09, реш. Георги): дублираха шеврона и
   крадяха 2.7rem ширина. Единствените числа тук вече са номерата на ЛИСТОВЕТЕ. */
/* ПОПРАВЕНО 11.09 · ГОРНАТА ЧЕРТА СЕ ВРЪЩА, ЕТИКЕТЪТ СИ ОТИВА -------------
   Модулът е роден като `.reg-2` и Е ИМАЛ горна черта; тя се изгуби на 05.09,
   когато беше пренаписан за две колони. Проверих го, след като твърдях
   обратното: първата ми справка търсеше ДНЕШНИТЕ имена на класовете в стар
   код, който ги няма (там са `.reg-2` и `.nota`), върна „няма" и аз го
   прочетох като „никога не е било".
   Старата черта обаче беше и прекалено тъмна: 0.6 плътност срещу 0.14 на
   редовете — 4.3 пъти. Днешната стъпка на сайта е по-мека: `--rule-strong`
   (0.3) срещу `--rule` (0.157), тоест 1.9. Затова се връща ТОЧНО елементът
   на другите модули — същият, който носи `.reg` на началната.
   А етикетът „С какво помагаме" отпада (реш. Георги, 11.09): щом модулът си
   има свой ръб, етикетът остава втора черта на 22px от първата и двете се
   четат като една дебела с процеп. Остава само „Разгледайте отблизо" — той
   стои пред карето, не пред таблица. */
.specreg.f-space,.specreg.f-tech,.specreg.f-ops,.specreg.f-grow{
  position:relative;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);
  grid-auto-flow:column;column-gap:var(--s8);
  border-top:1px solid var(--rule-strong);
}
.specreg.f-tech{grid-template-rows:repeat(5,auto)}          /* 10 услуги */
.specreg.f-space::before,.specreg.f-tech::before,
.specreg.f-ops::before,.specreg.f-grow::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rule);
}
.specreg.f-space li,.specreg.f-tech li,.specreg.f-ops li,.specreg.f-grow li{
  display:block;padding:var(--s5) 0;
}
.specreg.f-space li::before,.specreg.f-tech li::before,
.specreg.f-ops li::before,.specreg.f-grow li::before{content:none}
/* ---- 21.12 · ВИСЯЩ ШЕВРОН В РЕГИСТЪРА НА /kakvo-pravim -----------------
   Тук заглавието и описанието са на ОТДЕЛНИ редове (li и b са display:block).
   Затова „ — “ пред описанието падна: разделител, който няма какво да разделя.
   Прочитът беше ДВА знака за един елемент — шеврон на заглавието и тире на
   описанието.
   Щом тирето го няма, остава да се събере лявата линия. Досега бяха ТРИ:
     · първият ред на заглавието  →  35px   (бутнат от шеврона)
     · преносът на заглавието     →  20px   (шевронът не го бута)
     · описанието                 →  20px
   Шевронът увисва в полето, а всичко, което принадлежи на елемента, ляга на
   една линия — както е при .ticklist, където знакът е в своя колона.
   Отстъпът е ТОЧНО ходът на шеврона: глиф 7.88px + марж .4em при 17px =
   14.68px = .8632em. Мерено на 1440, 820 и 390 — едно и също, защото е в em. */
.specreg.f-space li,.specreg.f-tech li,.specreg.f-ops li,.specreg.f-grow li{
  --hang:calc(.8632 * var(--t4));
}
.specreg.f-space b,.specreg.f-tech b,.specreg.f-ops b,.specreg.f-grow b{
  display:block;margin-bottom:var(--s1);
  padding-left:var(--hang);text-indent:calc(-1 * var(--hang));
}
.specreg.f-space li>span,.specreg.f-tech li>span,
.specreg.f-ops li>span,.specreg.f-grow li>span{
  display:block;max-width:none;padding-left:var(--hang);
}
/* под 860px регистърът се изправя в една колона — както .reg */
/* 860 → 1039 (16.09) · Последните самотни прагове. Под 1040 колоната на
   съдържанието е с таван 660px (правило 53), тоест две колони падат на ~300px
   всяка. Мерено на регистъра: 27 от 34 глоси ставаха на ТРИ реда и 8 заглавия
   се пренасяха, с 246–274px мъртво поле. За текст+бутон (.crossref) и за
   картите (.dossiers) числото е същото. Прагът им става ръбът на решетката. */
@media(max-width:1039px){
  .specreg.f-space,.specreg.f-tech,.specreg.f-ops,.specreg.f-grow{
    grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;
  }
  .specreg.f-space::before,.specreg.f-tech::before,
  .specreg.f-ops::before,.specreg.f-grow::before{content:none}
}

/* ---- 21.7 · CROSSREF · препратка към отделен лист ----------------------- */
.crossref{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:var(--s6);align-items:center;
  background:var(--bg-raised);border-left:2px solid var(--c,var(--accent));
  box-shadow:inset 0 1px 0 var(--raised-edge),inset 0 -1px 0 var(--raised-edge);
  padding:var(--s6) var(--s6);
}
.crossref h4{
  font-family:var(--fh);font-weight:800;font-size:var(--t5);
  line-height:1.24;letter-spacing:-.018em;color:var(--fg-strong);margin-bottom:var(--s2);
}
.crossref p{font-size:var(--t4);line-height:1.6;color:var(--fg-muted);max-width:var(--measure)}
.crossref .cta{flex:0 0 auto}
@media(max-width:1039px){.crossref{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ---- 21.8 · CHAIN-4 · веригата с четири звена (режими на работа) -------- */
/* .chain.chain-4 (0,2,0) — за да НЕ зависи от реда спрямо чупката на .chain */
.chain.chain-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1160px){.chain.chain-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.chain.chain-4{grid-template-columns:minmax(0,1fr)}}
/* когато звеното носи СВОЙ етикет (текст), броячът мълчи */
/* ШЛИФОВКА · 07.09 · ДВОЙНИЯТ ИНТЕРВАЛ след шеврона. На три места текстът
   в HTML-а вече носи интервал след знака („› До ключ", „› Идентификация",
   „› Да застанем"), а правилото на контекста добавя и марж — 0,3–0,4em плюс
   интервал = дупка. Текстът не се пипа; маржът се маха точно там. */
.chain-4 b .chev,ol.specreg.dashed b .chev,.stamp-label+.m-vision .chev{margin-right:0}

/* ---- 21.9 · DOSSIER · досие (шестте ситуации) ---------------------------
   Не е SaaS-картонче, а папка от бюрото: подетикетът ВИСИ върху горния ръб
   като етикет на класьор, номерът е кота, заглавието и двата абзаца лежат
   на един ритъм, а действието е заковано на дъното — затова всички досиета
   са с еднаква височина, независимо колко текст носят. Шестте ситуации са
   номерирани 01–06; седмият лист е ОТВОРЕН — затова е без номер. */
.dossiers{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);
  margin-top:var(--s8);counter-reset:ds;
}
/* ШЛИФОВКА · 07.09 · На /za-kogo решетката е ПЪРВО дете на листа и маржът ѝ
   се събираше с подложката: 167px над досиетата срещу 84 във всеки друг лист
   (между края на увода и етикетите на папките зееха 250px). Първото дете не
   носи марж — етикетът, който виси на горния ръб, си взима 7px от подложката. */
.wrap>.dossiers:first-child{margin-top:0}
.dossier{
  counter-increment:ds;position:relative;display:flex;flex-direction:column;
  /* Картонът взима фона на СТРАНИЦАТА, не --bg-card (04.09). Причината е
     етикетът: той виси върху горния ръб и рисува подложка в цвета на своя
     картон, а горната ѝ половина пада ИЗВЪН него. Съвпаднат ли двата цвята,
     петното изчезва — иначе се появява в едната тема и не в другата
     (--bg-card и --bg-raised са различни на светло и еднакви на тъмно).
     Картоните вече се определят от хайрлайновете на решетката, както лист
     от чертеж. */
  background:var(--bg);
  padding:var(--s7) var(--s6) var(--s6);
}
/* БЕЗ състояние при посочване: досието е лист хартия, не бутон. Повдигането
   и месинговият кант са езикът на КЛИКАЕМОТО (.fieldcard) — тук те
   обещаваха действие, което картата няма. Действието е в текстовия линк
   на дъното и си носи собственото посочване. */
/* етикетът на папката виси върху горния ръб */
.dossier .dlabel{
  position:absolute;top:0;left:var(--s6);transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:var(--s2);
  background:var(--bg);padding-right:var(--s3);
  font-family:var(--fb);font-weight:600;font-size:var(--t1);line-height:1.2;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);
  max-width:calc(100% - 2*var(--s6));
}
.dossier .dlabel::before{content:"";width:15px;height:2px;background:var(--accent-tick);flex:0 0 auto}
/* мярката е 25ch, не 19: при 19 заглавието ползваше ~56% от листа и се
   чупеше вътре в изречението („Централата е / малка. Очакванията…"),
   тоест точка в началото на ред. При 25ch пренасянето пада на границата
   на изречението, а останалите заглавия запазват формата си. */
.dossier h3{
  font-size:var(--t5);line-height:1.2;letter-spacing:-.024em;
  color:var(--fg-strong);margin-bottom:var(--s4);max-width:25ch;
}
.dossier p{font-size:var(--t4);line-height:1.62;color:var(--fg-muted);max-width:var(--measure)}
.dossier p+p{margin-top:var(--s3)}

/* седмият елемент — ОТВОРЕН лист: пълна ширина, пунктирана рамка, без номер */
/* „отворен" = ЦВЕТЪТ НА ЛИСТА, не прозрачност: прозрачният лист пропуска
   хайрлайна на решетката и сваля контраста на знаците върху него */
/* «Отворен лист» НЕ е тониран (04.09): ПУНКТИРЪТ казва «отворено» — тинтът
   беше второ казване на същото. И по-важно: етикетът на папката виси върху
   горния ръб и рисува подложка в цвета на СВОЯ картон, а горната ѝ половина
   пада ИЗВЪН него. Различни цветове от двете страни на ръба => видимо петно.
   В тъмната тема --bg-card и --bg-raised съвпадат, затова бъгът беше само на
   светло. Лекуван е по корен: секцията с досиетата вече не е повдигната, а
   този картон не е тониран — картон и фон са един цвят, както в тъмната тема. */
.dossier-open{
  grid-column:1/-1;background:var(--bg);
  outline:1px dashed var(--rule-strong);outline-offset:-1px;
}
.dossier-open .dlabel{background:var(--bg)}
.dossier-open h3{max-width:none}
/* 16.09 · МАХНАТ мъртъв блок: искаше .dossier-open да е двуколонен над 901px
   (заглавие вляво, проза вдясно), но правило 40 реда по-долу, на СЪЩИЯ праг,
   го връща на display:block и печели по ред на източника. Тоест двуколонният
   вид не е важил на никаква резолюция. Решение на Георги, 16.09: остава както
   е — заглавие над прозата. Единственият елемент с този клас е картонът
   „Партньорства." на /za-kogo. */
.dossiers-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1160px){.dossiers-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1039px){.dossiers,.dossiers-3{grid-template-columns:minmax(0,1fr)}}
/* на тесен лист етикетът слиза В папката — дълъг етикет не бива да виси */
@media(max-width:700px){
  .dossier{padding-top:var(--s6)}
  .dossier .dlabel{position:static;transform:none;background:none;padding-right:0;
    margin-bottom:var(--s4);max-width:none}
}

/* ---- 21.10 · THESES · тезите като регистър, не като втора номерация ----
   Номерът на тезата е СЪЩИЯТ знак като номера на листа: Montserrat 800,
   .68rem, разредка .2em, месинг в размер на нотация — плюс котния щрих,
   с който започва всяко звено на веригата. Така 01–05 не са втора,
   паралелна система, а същата, приложена едно ниво по-надолу. */
.theses{list-style:none;max-width:none;border-top:1px solid var(--rule-strong)}
.theses li{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr);
  padding:var(--s6) 0 var(--s6) var(--s7);
  border-bottom:1px solid var(--rule);
}
.theses li:last-child{border-bottom:0}
.theses li::before{content:"";position:absolute;left:0;top:0;width:2px;
  height:15px;background:var(--rule-strong)}
.theses .th{
  font-family:var(--fh);font-weight:800;font-size:var(--t7);
  line-height:1.18;letter-spacing:-.024em;color:var(--fg-strong);max-width:21ch;
}
/* ШЛИФОВКА · 07.09 · на /yellow-door тезата започва с шеврон без интервал
   в текста („›Затвореният") — знакът се допираше до думата. Същият марж
   като при звеното на веригата (.chain b .chev). */
.theses .th .chev{margin-right:.3em}
.theses .tno{
  position:absolute;left:0;top:calc(var(--s6) + .28em);
  font-size:var(--t1);font-weight:800;line-height:1;letter-spacing:.2em;
  color:var(--accent-soft);font-variant-numeric:tabular-nums;
}
.theses .thsub{margin-top:var(--s4);font-size:var(--t4);line-height:1.64;
  color:var(--fg-muted);max-width:var(--measure)}
@media(min-width:1040px){
  /* ШЛИФОВКА · 07.09 · подтезата започва на полева линия 6 (центъра) —
     редът има 52px ляв отстъп за номера, затова колоната се смята от
     ширината на листа (100% + отстъпа), а не от дроб: беше на 726 (+6px). */
  .theses li{grid-template-columns:calc(6*(100% + var(--s7))/12 - 2*var(--s7)) minmax(0,1fr);
    column-gap:var(--s7);align-items:start}
  .theses .thsub{margin-top:.55em}
}
@media(max-width:560px){
  .theses li{padding-left:0;padding-top:var(--s6)}
  .theses li::before{height:19px}
  .theses .tno{position:static;display:block;margin-bottom:var(--s3)}
}

/* ---- 21.10б · STACK · акцентните изречения в разказа -------------------- */
.stack .em{
  font-family:var(--fh);font-weight:700;
  font-size:var(--t4);line-height:1.42;letter-spacing:-.018em;
  color:var(--fg-strong);max-width:var(--measure);
}
.stack>p.em:first-child{font-size:var(--t5);color:var(--fg-strong)}

/* ---- 21.10в · STAMP · надписът и уводът в щемпела ----------------------- */
.stamp-label{
  font-family:var(--fh);font-weight:800;font-size:var(--t1);line-height:1;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);
  margin-bottom:var(--s6);
}
.stamp-lead{margin:0 auto var(--s6);max-width:var(--measure);
  font-size:var(--t4);line-height:1.62;color:var(--fg-muted)}

/* ---- 21.11 · FORMSHEET · формулярът на бюрото ---------------------------
   Етикетите са нотация (както надписите на чертежа), полето е хартия,
   кота вляво брои редовете. Употребимостта не пострадва: етикетът е
   истински <label>, целите са ≥52px, фокусът е видим, а задължителните
   полета са означени и текстово. */
.formsheet{max-width:none;counter-reset:fl}
/* Полетата НЕ се номерират (04.09): етикетът им ги назовава, а числото
   дублираше и крадеше 2.7rem отляво. Броячът остава за евентуална нужда. */
.formsheet .fld{
  counter-increment:fl;position:relative;
  display:block;
  margin:0;padding:var(--s4) 0;
  border-bottom:1px solid var(--rule);
}
.formsheet .fld:first-of-type{border-top:1px solid var(--rule-strong)}
.formsheet .fld::before{content:none}
.formsheet .fld label{
  display:block;font-family:var(--fh);font-weight:700;font-size:var(--t2);line-height:1.3;
  letter-spacing:.06em;color:var(--fg-strong);margin-bottom:var(--s2);
}
.formsheet .fld label .req{color:var(--accent);margin-left:.35em;font-weight:800}

.formsheet input,.formsheet select,.formsheet textarea{
  width:100%;min-height:52px;padding:var(--s3) var(--s4);
  border:1px solid var(--field-line);border-radius:2px;
  font:inherit;font-size:var(--t4);line-height:1.5;
  background:var(--bg-field);color:var(--field-ink);
  transition:border-color .2s,box-shadow .2s;
}
.formsheet input::placeholder,.formsheet textarea::placeholder{color:var(--field-hint);opacity:1}
.formsheet input:hover,.formsheet select:hover,.formsheet textarea:hover{border-color:var(--fg-strong)}
.formsheet input:focus,.formsheet select:focus,.formsheet textarea:focus{
  outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus);
}
/* знакът за разгъване Е системният шеврон, само завъртян — не стрелка */
.formsheet select{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer}
.formsheet .fld:has(select){position:relative}
.formsheet .fld:has(select)::after{
  content:"›";position:absolute;right:18px;bottom:calc(var(--s4) + 26px);
  transform:translateY(50%) rotate(90deg);transform-origin:50% 50%;
  font-family:var(--fh);font-weight:700;font-size:var(--t4);line-height:1;
  color:var(--field-ink);pointer-events:none;
}
.formsheet textarea{min-height:150px;resize:vertical;line-height:1.6}
.formsheet .fhint{grid-column:2;margin-top:var(--s2);font-size:var(--t2);line-height:1.5;color:var(--fg-faint);max-width:var(--measure)}
.formsheet .fsend{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5);
  margin-top:var(--s6);
}
.formsheet .fsend .form-note{margin-top:0}
@media(max-width:560px){
  .formsheet .fld{grid-template-columns:minmax(0,1fr)}
  .formsheet .fld::before{grid-column:1;grid-row:auto;line-height:1;margin-bottom:var(--s2)}
  .formsheet .fld label,.formsheet .fld>input,.formsheet .fld>select,
  .formsheet .fld>textarea,.formsheet .fhint{grid-column:1}
  .formsheet .fld:has(select)::after{bottom:calc(var(--s4) + 26px)}
  .formsheet .fsend .cta{width:100%;text-align:center}
}

/* листът с формуляр: формулярът държи лявата половина, а директните
   контакти сядат вдясно като ЗАГЛАВНО КАРЕ на чертеж */
/* Отстъпът е на РЕШЕТКАТА, не на формуляра (04.09): беше на .formsheet и
   буташе само лявата колона надолу — горният ръб на контактния блок стоеше
   16px над горната линия на формуляра. */
.formgrid{display:grid;gap:var(--s7);margin-top:0}
/* ШЛИФОВКА · 07.09 · 16px беше остатък от стария марж на формуляра: на
   /kontakti само добавяше 16 към подложката на листа (100 вместо 84), а на
   /yellow-door оставяше 16px между края на увода и формуляра — срещу 52 между
   главата и бутоните в същия вид лист (.s-cta .cta-btns). */
.shead+.formgrid{margin-top:var(--s7)}
@media(min-width:1040px){
  /* Колоните лягат ТОЧНО на полевите линии: формулярът заема полета 1–7,
     полето 8 е улеят, контактите — 9–12. Междината е едно ПОЛЕ (100%/12),
     затова fr-овете делят остатъка 7:4 и двата ръба падат на линия.
     Беше 7fr / 4.2fr с произволна междина — боксът се разминаваше с 23px. */
  .formgrid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);
    column-gap:calc(100%/12);align-items:start}
  .formgrid>form,.formgrid>.formstamp{grid-column:1;grid-row:1}
  .formgrid>.formside{grid-column:2;grid-row:1}
}
.formside{position:relative;padding:var(--s6) var(--s5);
  border:1px solid var(--rule-strong)}
/* Поставеният обект има ЧЕТИРИ ъгъла — досега карето носеше само два, по
   диагонал. Двата псевдоелемента стават ленти през цялата ширина и всяка
   рисува по два кръста (ляв и десен), както е по рамките другаде.
   Отместването −8px центрира кръст 15×15 върху ъгъла (8 = 7 рамо + 1 кант). */
.formside::before,.formside::after{content:"";position:absolute;
  left:-8px;right:-8px;height:15px;pointer-events:none;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 7px 0/1px 15px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 100% 7px/15px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) calc(100% - 7px) 0/1px 15px no-repeat}
.formside::before{top:-8px}
.formside::after{bottom:-8px}
.formside .contactline{margin-top:0;padding-top:0;border-top:0;font-size:var(--t3);
  line-height:1.7;color:var(--fg-muted)}

/* потвърждението заменя формуляра — щемпел „получено", не диалог */
.formstamp{display:none;position:relative;padding:var(--s7) var(--s6);
  background:var(--bg-raised);box-shadow:inset 0 1px 0 var(--raised-edge),inset 0 -1px 0 var(--raised-edge);
  border-left:2px solid var(--accent);max-width:var(--measure-wide)}
.formstamp.show{display:block}
.formstamp h3{font-size:var(--t5);color:var(--fg-strong);margin-bottom:var(--s2);letter-spacing:-.02em}
.formstamp p{color:var(--fg-muted);max-width:var(--measure)}

/* ---- 21.11в · КАПАН ЗА БОТОВЕ ------------------------------------------
   Netlify чете полето по име (`netlify-honeypot`). Ботът го попълва, човекът
   не го вижда и не стига до него с Tab. `display:none` е НАРОЧНО: скритото-
   но-разположено поле (left:-9999px) може да отвори хоризонтално преливане,
   а тук цената на един по-умен бот е по-малка от цената на разместен лист. */
.hp{display:none}

/* ---- 21.11г · РЕДЪТ ЗА ОТКАЗ -------------------------------------------
   Появява се само когато изпращането пропадне. БЕЗ нов цвят: системата няма
   червено и не му е мястото — бележката се отделя по СТРОЕЖ, както щемпелът
   (подложка + кант отляво), само че кантът е мастило, не мед. Така двете се
   различават по тежест, не по тон.
   Шрифтът е ОСНОВНИЯТ, не заглавният: това е изречение, а не етикет — по
   същото правило като `.form-note`. Заглавният с разредка го правеше да чете
   като етикет на поле.
   И БЕЗ `max-width`: тук има нарисувана кутия, а нарисуваният ръб трябва да
   ляга някъде. Без ограничение той сяда точно на ръба на полетата отгоре;
   с `--measure` увисваше на 544px — между две линии, на ничия. */
.formsheet .ferr{
  margin:var(--s6) 0 0;padding:var(--s4) var(--s5);
  max-width:none;
  background:var(--bg-raised);border-left:2px solid var(--fg-strong);
  font-size:var(--t3);font-weight:500;line-height:1.6;color:var(--fg-strong);
}
.formsheet .ferr[hidden]{display:none}
.formsheet .ferr a{color:inherit;text-underline-offset:3px}

/* Докато писмото пътува: бутонът не приема втори натиск и си личи, че чака.
   Надписът НЕ се сменя — смяната би стеснила бутона и разместила реда. */
.cta:disabled{opacity:.5;cursor:progress}
.cta:disabled:hover{transform:none;box-shadow:none}

/* ---- 21.11б · TICKLIST · чеклист в заглавното каре --------------------- */
.ticklist{list-style:none;max-width:none;margin-top:var(--s3)}
.ticklist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3);align-items:baseline;
  padding:var(--s2) 0;border-bottom:1px solid var(--rule);
  font-size:var(--t3);line-height:1.55;color:var(--fg-muted)}
.ticklist li:last-child{border-bottom:0}
.ticklist .chev{color:var(--accent-soft)}
.formside .fs-title{font-family:var(--fh);font-weight:700;font-size:var(--t3);color:var(--fg-strong);max-width:none}

/* ---- 21.12 · CONTACTLINE · директният ред (общ за няколко листа) -------- */
.contactline{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--rule);
  font-size:var(--t3);color:var(--fg-faint);max-width:none}


/* ---- 21.13 · YD · Yellow Door · жълтото живее САМО тук ------------------
   #FFD500 е КОНТЕКСТ, не тема. Върху бяло е 1.44:1, затова на този лист то
   е ПОЛЕ и ЛИНИЯ (бутон, 3px кота, кант, точка), никога текст: ролята
   „акцент" получава мастилената стойност на жълтото (#6B5300, 7.33:1),
   а плътният бутон става жълтото поле с ink текст — в двете теми еднакво.
   Така страницата запазва идентичността си, без нито едно нарушение. */
/* ПРЕРАБОТЕНО 11.09 · КОЙ ЦВЯТ ЗА КОЙ РЕГИСТЪР ---------------------------
   Историята на това правило, за да не се преоткрива:

   1) Отначало листът подменяше НАШИЯ акцент с техния в двете теми — на
      светло с мастилената стойност #6B5300, на тъмно с чистото #FFD801.
      Резултатът беше несравним: на светло жълти оставаха само четири неща
      (плътният бутон и един ляв ръб), а всичко останало беше маслинено;
      на тъмно жълто беше ВСИЧКО. Причината е физическа — #FFD801 върху
      хартия е 1.27:1 и не може да носи нито буква, нито косъм.

   2) После сложихме „едно жълто за тема" — #6B5300 на светло, #FFD801 на
      тъмно. По-добре, но останалото усещане за разминаване се оказа вярно:
      мерено, #6B5300 и нашият мед #8A6516 се различават с ΔE 10.2, тоест
      са явно различни цветове, а не почти еднакви. И #6B5300 не чете като
      „тяхното жълто" — при тази тъмнина окото го приема за маслинено.
      Тоест то се проваляше в единствената си работа, а плащаше с
      прекъсване на приемствеността с останалия сайт.

   3) Затова СЕГА (решение на Георги, 11.09):

        СВЕТЛО → НАШИЯТ мед. Листът просто наследява акцента на сайта;
                 тук няма подмяна изобщо. Знаците са граматика на
                 страницата — шеврон, номер, кота, точка — и говорят с
                 гласа на бюрото, което е нарисувало листа.
        ТЪМНО  → ТЯХНОТО чисто #FFD801. Там жълтото МОЖЕ да носи буква
                 (12.35:1) и листът остава брандиран поне на тъмно.

   Цената на светло е известна и приета: контрастът пада от 6.69 на 4.84.
   Минава AA (праг 4.5) с по-тънък запас — но това е стойността, с която
   всяка друга страница на сайта вече живее.
   Жълтото и на двете теми продължава да върши ЕДРАТА работа: корицата,
   лентата и мостът са плътни жълти полета. Там то се вижда винаги. */
:root[data-theme="dark"] main.yd-page{
  --accent:var(--c-yd);
  --accent-ink:var(--c-ink);
  --accent-soft:rgba(255,213,0,.88);
  --accent-tick:rgba(255,213,0,.78);
  --shadow-accent:0 12px 28px -8px rgba(255,213,0,.42);
}
/* знакът на листа: техният знак стои на корицата — вж. правило 61 */
.ydmark{
  display:flex;align-items:center;gap:var(--s5);max-width:none;
  margin-bottom:var(--s6);
  font-family:var(--fh);font-weight:700;font-size:var(--t2);
  line-height:1.3;letter-spacing:.05em;color:var(--fg-muted);
}
/* Плътният бутон вече взима акцента на темата, а не чистото жълто:
   на светло #6B5300 с бял текст, на тъмно #FFD801 с мастилен. Едно жълто. */

/* светофарът на категориите — цветът е ДАННИ, не украса */
.sg-go{--sg:var(--sig-go)} .sg-wait{--sg:var(--sig-wait)} .sg-stop{--sg:var(--sig-stop)}
@media(min-width:1040px){
  /* ШЛИФОВКА · 07.09 · описанието започва на полева линия 5 (беше на 647, +28px) */
    }

/* ---- 21.14 · FAQ · въпросите като разгъващи се редове ------------------- */

/* ---- 21.15 · ERR · листът, който не съществува -------------------------- */
.s-solo{min-height:calc(100svh - 74px);display:flex;align-items:center;padding-block:calc(var(--s8)*1.5)}
.s-solo .wrap{width:var(--colw)}
.s-solo h1{font-size:var(--t9);max-width:14ch}

/* ==========================================================================
   21б · ОБЩИ ДРЕБНИ БЛОКОВЕ
   ========================================================================== */
.kicker{font-family:var(--fh);font-weight:700;font-size:var(--t1);line-height:1.3;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s4)}
/* РЪЧНА · 3б · Кодът на посоката — по раздел 03 на бранд листа.
   Шевронът е ПО-ЕДЪР от думата; латинската дума носи цвета на посоката;
   българският етикет остава неутрален. С малки букви, както е в листа. */
/* Кодът на полето взима ГЛАСА НА ЕТИКЕТА (13,5px · 700 · .12em · главни), с
   който говорят досиетата, `.seclabel` и щемпелът. Досега беше 15px · .04em
   без главни — трети глас за дребен знак при два в азбуката.
   Ключовата дума пази брандовата си форма: малки букви, нормален трекинг,
   цвят на вратата — тя е откъс от логото, не етикет. */
/* Кодът е ЛОУКАП, не етикет: шеврон + суфикс растат заедно и пазят
   пропорциите от бранд дъската. Затова размерът му следва РАНГА на онова,
   което бележи, а не скалата на дребните знаци:
     лист (заглавие 33–42) → 21px   ·   карта (заглавие 27) → 15px
   Съотношението е едно и също (0,55) и е взето от началната, където
   картата вече носи само „›space", а българското име е в заглавието.

   Българското име отпадна и от полевите листове на /polia — то стоеше и в
   кода, и в заглавието, и точно то създаваше конфликта: при знак, голям
   колкото трябва, надписът до него ставаше твърде едър. */
.fieldmark .kicker,.fieldcard .tag{
  color:var(--fg-faint);text-transform:none;letter-spacing:normal}
.fieldmark .kicker{font-size:var(--t5)}
.fieldcard .tag{font-size:var(--t4)}
/* БРАНД · „Wordmark-ът винаги тъмен; само ШЕВРОНЪТ и СУФИКСЪТ носят цвета на
   вратата (модел FedEx light)… цветът е само в шеврона и суфикса."
   (Суббрандове, предложена система v1)

   Досега шевронът беше месинг, а суфиксът — цветът на полето: комбинация,
   която бранд книгата не допуска. Сега двата носят един и същи цвят.
   Навигацията на /polia вече беше права — там целият линк е сив в покой и
   взима цвета на полето на hover и активен. */
.fieldmark .kicker .kw,.fieldcard .tag .kw,
.fieldmark .kicker .chev,.fieldcard .tag .chev{color:var(--c,var(--accent))}
/* РЪЧНА · 4 · Шевронът е ЗНАК ОТ ЛОГОТО, не типографски „›".
   Глифът остава в текста (заради проверката и четците), но се скрива;
   рисува се маска с пътя от chevron_petrol.svg, която взима цвета на
   контекста. Пропорция 8.559 : 11.387. Ако браузърът не поддържа маски,
   остава буквата — затова скриването е вътре в @supports. */
@supports ((mask-image:url("")) or (-webkit-mask-image:url(""))){
  /* БРАНД · мастилото на шеврона е ТОЧНО колкото главната буква на
     „NEXT RETAIL": и двете мерят 8,387 единици в оригиналния вектор.
     Файлът `chevron_*.svg` обаче има кутия 8,559 × 11,387 — по 1,5 поле от
     всяка страна, — тъй че мастилото заема 73,65% от височината ѝ.
     Оттам, за главна буква 0,70em:
        кутия h = 0,70 / 0,7365 = **0,9504em**
        кутия w = 0,9504 × 0,7516 = **0,7144em**
        сядане  = −(0,9504 − 0,70)/2 = **−0,1252em**
     Едно определение за целия сайт — досега имаше две (1em и .9em) и нито
     едното не даваше мастило колкото главната буква.

     ВТОРО: кутията на елемента Е самото мастило (0,4639 × 0,70em), а полето
     на файла се изрязва — маската се оразмерява на 135,78% от височината ѝ и
     се центрира. Така знакът не зависи от `vertical-align`, който НЕ действа
     върху клетка на flex или grid: навигацията на /polia и чеклистът бяха
     точно такива случаи и знакът им висеше 4–8px нагоре. Кутия = мастило
     работи във всяко разположение. */
  .chev{display:inline-block;width:.4639em;height:.70em;line-height:1;
    vertical-align:baseline;align-self:baseline;
    text-indent:-100em;overflow:hidden;background-color:currentColor;
    -webkit-mask:var(--chev) no-repeat center/153.99% 135.77%;
    mask:var(--chev) no-repeat center/153.99% 135.77%}
  /* ПОПРАВКА 17.09 · Георги: „продължават шевроните да са вдигнати нагоре
     само на тази секция." Мерено от снимка на неговия iPhone: мастилото на
     знака е 8.7px, а главната буква до него 11.9px — отношение 0.7365.
     Това е ТОЧНО числото по-горе: мастилото заема 73,65% от височината на
     файла. Тоест Safari не прилага оразмеряването на маската изобщо — рисува
     я на 100% от кутията, мастилото остава 73,65% от нея и, центрирано,
     увисва ~1.6px над базовата линия. При кегел 17px това се вижда.
     Причината е `auto` за ширината: то се изчислява от собствените размери
     на SVG-то, а файлът имаше само viewBox. Chrome вади отношението от
     viewBox-а, WebKit не го прави и пада на 100% x 100%.
     Затова и двете мерки са изрични. Сметката (кутия .4639 x .70em, файл
     8.559 x 11.387, мастило 8.387 единици):
        маска в = .70 / 0.736542           = .95039em = 135.77% от кутията
        маска ш = .95039 x 8.559 / 11.387  = .71436em = 153.99% от кутията
     Проверка: мастилото след оразмеряване е .70000em високо и .46388em
     широко — тоест изпълва кутията и в двете посоки. Chrome рисува същото
     като преди; WebKit вече също.
     Плюс: `--chev` получи width и height, тъй че `auto` да не може да се
     счупи и на друго място. */
  /* ХЛАБИНАТА до суфикса е мерена от суббрандовата дъска — и четирите реда
     дават едно и също:
        мастило на шеврона        51 = главната буква на wordmark-а (1,000)
        хлабина „L" → „›"         12   (0,235 × cap)
        хлабина „›" → суфикса  24–26   (0,49 × cap)
     Двете НЕ са еднакви: знакът се долепя до wordmark-а и се ОТДЕЛЯ от
     суфикса — това е конструкцията „FedEx light". При cap = 0,70em дясната
     хлабина е 0,49 × 0,70 = .343em.
     Важи там, където знакът е ЧАСТ ОТ ЛОГОТО (кодът на полето, навигацията);
     където е булет пред заглавие, разстоянието си остава типографско. */
  .subnav a .chev,.fieldmark .kicker .chev,.fieldcard .tag .chev{margin-right:.343em}
/* В бутона отстоянието идваше от `gap`; сега е марж, както при другите знаци. */
.cta .chev{margin-right:.5em}
}
.sec-cta{margin-top:var(--s7)}

/* форми — общото за бутона и бележката (полетата са в 21.11) */
button.cta{border:none;font-size:var(--t3);font-family:var(--fh);font-weight:700}
.form-note{font-size:var(--t3);line-height:1.6;color:var(--fg-faint);margin-top:var(--s3);max-width:var(--measure-wide)}

/* авторската нощна илюстрация — САМО в Yellow Door контекст */

/* ==========================================================================
   22 · МЕЖДИННИ И МАЛКИ ШИРИНИ
   ========================================================================== */
/* средните ширини: херото да не чупи двойката бутони */
/* 961 → 1040 (16.09) · Правилото връщаше ДВЕ колони в героя между 961 и
   1039 и надделяваше над едностълбието под 1040. Там клетката на текста пада
   на 340px, а „Магазинът" при кегел 57.3px иска 349 — думата излизаше от
   кутията си. Бележката долу пази двойката бутони от чупене, но в героя вече
   има ЕДИН бутон, тоест причината е отпаднала. Долната граница се вдига до
   1040 и правилото важи само 1040–1259, където си върши работата. */
@media(min-width:1040px) and (max-width:1259px){
  /* На средните ширини текстът иска повече от половин лист, иначе двойката
     бутони се чупи на два реда. Делението остава ЦЯЛО: седем полета за текста,
     пет за плочата — вместо старото `1fr 1fr`, което даваше на текста половин
     лист ПЛЮС половин улей и вадеше плочата извън линията.
     ШЛИФОВКА · 07.09 · горната граница е 1259, не 1140: при 1141 двойката
     (475px) не се събираше в колона от 472 и се чупеше; до 1200 оставаха
     3–16px запас — недостатъчно при друг рендер на шрифта. От 1260 запасът
     при половин лист е 35px. */
  .hero-grid{grid-template-columns:calc(100%/12*7 - var(--hgap)) minmax(0,1fr)}
  .hero-ctas .cta{padding:var(--s4) var(--s5);font-size:var(--t3)}
}
@media(max-width:420px){
  body{font-size:var(--t4)}
  .cta{padding:var(--s4) var(--s5);font-size:var(--t3)}
  .hero-ctas .cta,.cta-btns .cta{flex:1 1 100%;text-align:center}
}

/* ==========================================================================
   23 · УВАЖЕНИЕ КЪМ prefers-reduced-motion (предпазна мрежа)
   Всяко останало движение — включително hover-повдиганията и
   изглаждането на скалата за четене — спира.
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .cta,.cta:hover,.pcard,.pcard:hover,.fieldcard{transition:none;transform:none}
  .tsw,.tsw::after,.scan i::before,.nav ul a:not(.cta),footer nav a,.contactline a,.subnav a,.subnav a::before,
  .formsheet input,.formsheet select,.formsheet textarea{transition:none}
}

/* ==========================================================================
   РЪЧНА · 5б · СЛИВАНЕ НА МАРЖОВЕ В РЕШЕТКАТА
   Когато .wrap стана решетка, съседните маржове спряха да се сливат и
   започнаха да се събират. Тези четири двойки са единствените в сайта,
   където и двете деца носят марж. Възстановено е точното старо разстояние.
   ========================================================================== */
.shead+.seclabel{margin-top:var(--s1)}          /* 50+2 = 52 */
.yd-page .shead+.dossiers{margin-top:var(--s4)} /* 50+18 = 68 */
.s-solo .shead+.cta-btns{margin-top:0}      /* 50 */
/* ==========================================================================
   ЧАКА НАНАСЯНЕ в nr-site-g/styles.css, щом агентът по скалата пусне файла.
   Проверено на живо в двете теми: /tmp/J1-светло.png · /tmp/J2-тъмно.png
   ========================================================================== */

/* 1 · ИЗОМЕТРИЯТА НА СВЕТЛО — обем, не само контури.
   Измерено: запълванията бяха между 1,02 и 1,34 контраст спрямо фона (Mist
   #EEF2F2), тоест чертежът се носеше единствено от 1,2px линии. Стълбицата
   е връх · страна · сянка · дълбока, изведена от брандовите Mist и Сребро;
   стъпките между съседни лица са 1,25 · 1,17 · 1,20, а най-дълбоката сянка
   стига 1,56 спрямо земята. */
:root:not([data-theme="dark"]){
  --iso-1:#FFFFFF; --iso-4:#FFFFFF; --iso-5:#FFFFFF;
  --iso-2:#DFE8E9; --iso-6:#DFE8E9; --iso-8:#D9E9E7;
  --iso-3:#CBD8DA; --iso-9:#BFD2D0; --iso-7:#B9C6C6;
}

/* 2 · ЕТИКЕТИТЕ НА ЗОНИТЕ — постоянно видими и МАСТИЛЕНИ.
   Досега се появяваха само при посочване, тоест на телефон не се виждаха
   изобщо освен през 4-секундното встъпление. Цветната им версия се губи в
   геометрията: чертежът има и бели, и сребърни площи, а един ореол не
   изрязва и двете. Затова анотацията е мастилена с бял ореол — както е на
   истински чертеж. Цветът на зоната се носи от подцветяването при посочване,
   не от буквите (същото правило, което пази вратния цвят от буквите). */
/* Етикетът остава ЦВЕТЕН — цветът казва коя зона е коя. (По-раншното ми
   правило за мастилен цвят изобщо не се прилагаше: правилата по атрибут са
   с по-висока специфичност. И така е по-добре.) Ореолът е най-силният фон,
   не текущата повърхност — така буквите лежат върху един и същ локален фон. */
/* Етикетите се появяват при посочване, НЕ постоянно (решение 06.09).
   Не се показват и на телефон (решение 06.09). */
.iso .iz-label text{stroke:#FFFFFF;stroke-width:6;paint-order:stroke}
:root[data-theme="dark"] .iso .iz-label text{stroke:#071E24}

/* 3 · Встъпителното „палене" вече няма работа — етикетите са видими без него.
   Затъмняването на другите зони важи само при истинско посочване. */

/* 4 · SKIP LINK — досега беше невидим и при фокус (WCAG 2.4.7).
   Агентът по обвивката го намери, но нямаше право да пипа CSS. */
.sr-only:focus{position:fixed;left:var(--gut);top:12px;z-index:100;
  width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;
  padding:10px 16px;background:var(--bg);color:var(--fg-strong);
  outline:2px solid var(--accent);outline-offset:2px;
  font-family:var(--fh);font-weight:700;font-size:var(--t3)}

/* На Yellow Door числа носи САМО стълбицата „Започнете с малка стъпка"
   (Стъпало 1 · 2 · 3 · Хоризонт) — тя е истинската последователност и си
   носи текстови етикети. Другите три списъка не са редица:
   „24/7 · 2 канала" е какво прави платформата, „Пет стъпки" е какво прави
   клиентът в магазина, „Какво се променя" са ползи. (Решение 06.09) */
.yd-page .specreg li::before{content:none}
.yd-page .specreg li{grid-template-columns:minmax(0,5.2fr) minmax(0,7fr)}
/* ШЛИФОВКА · 07.09 · описанието започва на полева линия 5 (беше на 650):
   тирето виси в улея, текстът след него — на линията. */
@media(min-width:1040px){
  .yd-page .specreg li{grid-template-columns:calc(5*100%/12 - var(--s6)) minmax(0,1fr)}
}
/* ШЛИФОВКА · 07.09 · На тесен лист двете колони оставаха (правилото за
   ≤820 губеше по специфичност): в колона от 149px шевронът стоеше САМ на
   ред, а „Самостоятелно плащане" се чупеше на три. Тук регистърът е
   едноколонен — име, под него описание — както .specreg.f-* на /polia. */
@media(max-width:820px){
  .yd-page .specreg li{grid-template-columns:minmax(0,1fr);row-gap:var(--s1)}
  .yd-page .specreg li>span{grid-column:1;text-indent:0}
}

/* ==========================================================================
   22 · ПОДРЕЖДАНЕ · 08.09.2026
   Нищо не се добавя и нищо, което харесваме, не се маха. Четири неща:
     1 · всяко действие тръгва от една от ДВЕ вертикали — 0 и 7
     2 · двойка бутони: еднакво широки, вторият започва на полева линия
     3 · листът, който се отваря на две колони, се затваря на две колони
     4 · фоновете редуват: страницата отваря на тон, никъде три еднакви подред
   ========================================================================== */

/* 0 · БЪГ ОТ БАЗАТА. Шевронът носеше --accent-soft, тоест месинг върху
   месинговия бутон — беше невидим на всяко „Искам диагностика" в сайта. */
.cta-solid .chev{color:inherit}

/* 4 · РИТЪМ НА ПОДЛОЖКИТЕ ------------------------------------------------
   /index имаше три бели листа подред (стъпки · разказ · регистър);
   вътрешните страници отваряха на бяло и /polia караше ПЕТ бели подред.
   Корицата поема тон — както е на началната — и редуването се затваря.
   Yellow Door не се пипа: тя вече редува и няма оплакване от нея. */
.s-story{background-color:var(--bg-raised)}
.pagehead{background-color:var(--bg-raised)}

@media(min-width:1040px){
  /* 1 · ЕДНА ВЕРТИКАЛА ЗА ВСИЧКО, КОЕТО ОБЯСНЯВА -------------------------
     Разказът („Правили сме го", „Кои сме ние") се делеше 5|7, а главата на
     всеки друг лист — 7|5. Оттам препратката му тръгваше от 653px, тоест
     от трета вертикала. Сега целият сайт дели на полева линия 7. */
  .shead-split h2{grid-column:1/8;padding-right:var(--s7)}
  /* ПРАГ: къс текст (1–2 абзаца) стои в дясната колона, както уводът на всеки
     друг лист — 7|5. Дълъг текст (3+) слиза под заглавието и заема ЦЯЛАТА
     ширина в две колони; така лявата колона никога не остава празна. */
  .shead-split .stack{grid-row:3;grid-column:8/-1;margin-top:0;
    align-self:start;padding-left:0;max-width:none}
  .shead-split .stack:has(>p:nth-child(3)){grid-row:4;grid-column:1/-1;
    margin-top:var(--s6);columns:2;column-gap:var(--s7)}
  /* в две колони това е ТЯЛО, не списък: вертикалната черта и щрихите пред
     абзаците са граматика на изброяване; тук текстът е проза, не списък. */
  .shead-split .stack::before{content:none}
  .shead-split .stack>p::before{content:none}
  /* ПРОЗАТА Е 17px — единственият размер за текст в скалата. Бях я свил до
     15px, който е размерът на бележка и бутон. */
  /* Абзацът НЕ се пренася между колоните. Пробвах пренасяне — колоните
     станаха равни, но дясната започваше с една дума („резултата."), а на
     екран сирак се чете като грешка; три реда разлика в дъното — не. */
  .shead-split .stack>p{break-inside:avoid;margin-top:0;margin-bottom:var(--s5);
    max-width:none;font-size:var(--t4);line-height:1.65;color:var(--fg-muted)}
  /* уводът на разказа стои вдясно като на всеки друг лист (21px) */
  .shead-split .lead{grid-row:3;grid-column:8/-1;margin-top:0;
    align-self:end;padding-bottom:.3em;max-width:none}
  .shead-split .stack>p:last-child{margin-bottom:0}

  /* Изводът на лист с изброяване: два абзаца в две колони по цялата ширина —
     иначе седи в лявата пета и дясната половина угасва. */
  .note:has(>p:nth-child(2)){max-width:none;columns:2;column-gap:var(--s7)}
  .note:has(>p:nth-child(2))>p{break-inside:avoid;margin:0 0 var(--s5)}
  .note:has(>p:nth-child(2))>p:last-child{margin-bottom:0}


  /* 2 · ДВОЙКАТА БУТОНИ — две равни клетки; вторият тръгва от полева линия.
     Дотук вторият започваше „където свършат думите на първия": 352 · 451 ·
     475 · 479. Осем полета в тялото, шест в херото (там дясната половина е
     на чертежа). Първият е по-тесен точно с улея, за да ляга вторият на линия. */
  .cta-btns,.hero-ctas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:0;row-gap:var(--s3);max-width:calc(100%/12*8)}
  .cta-btns>.cta,.hero-ctas>.cta{width:100%;text-align:left}
  .cta-btns>.cta:first-child,.hero-ctas>.cta:first-child{width:calc(100% - var(--s3))}
  .pagehead .cta-btns{max-width:calc(100%/12*6)}
  .hero-ctas{max-width:none}
  .cta-btns>.cta:only-child,.hero-ctas>.cta:only-child{width:auto;justify-self:start}
}

/* --- Затварящият лист е 1/2 + 1/2 -----------------------------------------
   Досега заглавието беше 7 полета, уводът 5, а бутоните и контактният ред
   падаха под ЛЯВАТА колона — окото четеше ляво · дясно · пак ляво.
   Сега: заглавието вляво, а вдясно стои всичко, което следва от него —
   увод, бутони, контактен ред. Делението е на полева линия 6, тоест на
   половината лист; това е единственият лист с друга пропорция, защото е
   единственият, който не обяснява, а иска. */
@media(min-width:1040px){
  .s-cta .shead h2,.s-cta .shead h1{grid-column:1/7;padding-right:var(--s7)}
  .s-cta .shead .lead,.s-cta .shead-split .stack{grid-row:3;grid-column:7/-1;
    margin-top:0;align-self:start;padding-bottom:0;max-width:none}
  .s-cta .cta-btns{grid-column:7/-1;display:flex;flex-wrap:wrap;
    gap:var(--s3);max-width:none;margin-top:var(--s6)}
  .s-cta .cta-btns>.cta{width:auto}

}

/* --- „Какво стои зад магазина" става 2×2, като регистъра ------------------
   Бяха четири реда през целия лист: твърдение вляво, описание вдясно, и
   пред всяко — цветна вертикална чертичка. Сега са четири клетки в две
   редици по две, с граматиката на „Кой ни търси": силна черта отгоре,
   косъмна под всяка клетка, разделител по средата. Цветът на полето не
   изчезва — носи го шевронът, който и без това стои там. */
.spec li::before{content:none}
.spec li{padding-left:0}
@media(min-width:1040px){
  .spec{position:relative;display:grid;grid-template-columns:1fr 1fr;
    column-gap:var(--s8)}
  .spec::before{content:"";position:absolute;left:50%;top:0;bottom:0;
    width:1px;background:var(--rule)}
  .spec li{grid-template-columns:minmax(0,1fr);gap:var(--s1);
    padding:var(--s5) 0;border-bottom:1px solid var(--rule)}
}

/* --- ЕДНА ВЕРТИКАЛА ЗА ЦЕЛИЯ САЙТ · полева линия 6 -------------------------
   Главите на листовете деляха 7:5, затварящият лист — 6:6, регистърът — 6:6.
   Три пропорции значат три вертикали. Сега всичко дели НА ПОЛОВИНАТА:
   заглавието вляво, всичко, което следва от него, вдясно. */
@media(min-width:1040px){
  .shead h2,.shead h1{grid-column:1/7;padding-right:var(--s7)}
  .shead .lead{grid-column:7/-1}
  .shead-wide h2,.shead-wide h1{grid-column:1/-1;padding-right:0}
  .shead-split .lead,.shead-split .stack{grid-column:7/-1}
  .shead-split .stack:has(>p:nth-child(3)){grid-column:1/-1}

}

/* Втората колона на двуколонния текст трябва да ляга на СЪЩАТА вертикала
   като увода — на половината. С улей между колоните тя падаше на 737 вместо
   на 720; затова улеят е нула, а въздухът идва от десния отстъп на абзаца. */
@media(min-width:1040px){
  .shead-split .stack:has(>p:nth-child(3)),
  .note:has(>p:nth-child(2)){column-gap:0}
  .shead-split .stack:has(>p:nth-child(3))>p,
  .note:has(>p:nth-child(2))>p{padding-right:var(--s7)}
}

/* --- Разказът: ЕДНА посока на четене --------------------------------------
   Беше: заглавие | увод отгоре (чете се напряко), тяло в две колони отдолу
   (чете се надолу и после надясно). Две посоки в един лист — окото се губи.
   Сега: вляво заглавието, вдясно ВСИЧКО в един стълб (увод, после тялото).
   Лявата колона не увисва празна — препратката слиза в подножието ѝ и я
   закотвя, тъй че празното става разстояние между две котви. */
@media(min-width:1040px){
  .shead-split h2{grid-row:3;grid-column:1/7;align-self:start;padding-right:var(--s7)}
  .shead-split .lead{grid-row:3;grid-column:7/-1;align-self:start;
    margin-top:0;padding-bottom:0}
  .shead-split .stack,
  .shead-split .stack:has(>p:nth-child(3)){grid-row:4;grid-column:7/-1;
    columns:auto;column-gap:normal;margin-top:var(--s5);max-width:none}
  .shead-split .stack>p{padding-right:0;max-width:none}

}

/* ==========================================================================
   23 · РАЗПЪНАТА ГЛАВА · 08.09.2026
   Причината за всяка дупка, за която се борихме, е една: голямо КЪСО
   заглавие в половин колона срещу дълъг ДРЕБЕН текст в другата. Три-осем
   думи на 40px не могат да се изравнят с шейсет думи на 17px — затова
   всяко изравняване беше кръпка и всяка кръпка се връщаше.
   Доказателството е в самия сайт: нито един лист с РАЗПЪНАТО заглавие не
   ни е създал проблем (Yellow Door е 8 от 10 разпънат и се чете най-добре;
   /za-nas е 0 от 4 и е най-счупената страница).

   ДВА ВИДА ЛИСТ, ДВЕ ФОРМИ:
   · листът, който ОБЯСНЯВА — заглавието се разпъва, уводът стои точно под
     него на постоянна мярка, тялото е отдолу в решетката, която самото то
     изисква. Една посока на четене: надолу.
   · листът, който ИСКА (затварящият) — 1/2 + 1/2, както го одобри: тук
     съдържанието вдясно е кратко и двете половини се изравняват.
   ========================================================================== */
@media(min-width:1040px){
  /* --- ГЛАВАТА НА ЛИСТ, КОЙТО ОБЯСНЯВА ---------------------------------- */
  .sheet:not(.s-cta):not(.pagehead):not(.s-hero) .shead h2,
  .sheet:not(.s-cta):not(.pagehead):not(.s-hero) .shead h1{
    grid-row:3;grid-column:1/-1;max-width:22ch;padding-right:0}
  .sheet:not(.s-cta):not(.pagehead):not(.s-hero) .shead .lead{
    grid-row:4;grid-column:1/7;margin-top:var(--s5);
    align-self:start;padding-bottom:0;max-width:none}

  /* --- ТЯЛОТО НА РАЗКАЗА слиза ПОД главата, в две колони по цялата ширина.
     Главата се чете надолу, тялото е отделен блок — няма две посоки. */
  .sheet:not(.s-cta) .shead-split .stack,
  .sheet:not(.s-cta) .shead-split .stack:has(>p:nth-child(3)){
    grid-row:5;grid-column:1/-1;margin-top:var(--s7);
    columns:2;column-gap:0;max-width:none}
  .sheet:not(.s-cta) .shead-split .stack>p{
    break-inside:avoid;padding-right:var(--s7);max-width:none;
    font-size:var(--t4);line-height:1.65}

}

/* --- ИЗВОДЪТ Е ПРИСЪДА · центриран ----------------------------------------
   „Обикновено това е ангажимент за цял екип…", „Една отговорност, един човек
   насреща…", „Никоя стъпка не задължава със следващата." — това не са бележки
   под черта, а изводът, заради който листът е написан. Дотук стояха вляво,
   с различна мярка на всеки лист, и увисваха.
   Сега имат ранг: присъдата се центрира. Оттам и лентата „Централата вече не
   е въпрос на мащаб" престава да е изключение — тя е присъдата на целия сайт,
   същият знак, само по-голям. */
@media(min-width:1040px){
  .note{max-width:none;text-align:center;padding-top:var(--s6);
    margin-inline:auto;font-size:var(--t4)}
  .note>p{max-width:52ch;margin-inline:auto;text-align:center}
  .note::before{left:50%;transform:translateX(-50%)}


  /* --- Разказът е ЕДИН блок: разпънат увод над две колони ------------------
     Беше четири различни ширини една под друга — заглавие, увод, тяло, връзка.
     Сега уводът е шапка НАД колоните (както е стендфърстът на статия) и
     целият блок има един ръб. */
  .sheet:not(.s-cta) .shead-split .stack .lead{
    column-span:all;max-width:46ch;margin:0 0 var(--s6);
    font-size:var(--t5);line-height:1.5;color:var(--fg-muted)}
}
@media(min-width:1040px){
  /* мярката на разпънатия увод — в px, `ch` не се хващаше */
  .sheet:not(.s-cta) .shead-split .stack>p.lead{max-width:560px}
}

/* --- Разказът: първият абзац НЕ е увод ------------------------------------
   Пробвах го като шапка на статия (разпъната над колоните) — но тогава той
   обещава йерархия, която текстът няма. Той просто е първият абзац. Тялото
   е две равни колони, връзката стои по средата под тях. */
@media(min-width:1040px){
  .sheet:not(.s-cta) .shead-split .stack>p.lead{
    column-span:none;max-width:none;margin:0 0 var(--s5);
    font-size:var(--t4);line-height:1.65;color:var(--fg-muted)}

}

/* --- Разделителят между главата и тялото ----------------------------------
   Всяка друга секция го има по конструкция: .spec, .reg и картите носят
   border-top:1px solid var(--rule-strong). Разказът беше единственият без
   него и затова изглеждаше като чужд лист. Същият знак, не нов. */
@media(min-width:1040px){
  .sheet:not(.s-cta) .shead-split .stack{
    border-top:1px solid var(--rule-strong);padding-top:var(--s6)}
}
@media(min-width:1040px){
  /* центрираният извод мери в ПОЛЕТА, не в знаци: 6 полета, значи ръбовете
     му лягат на полеви линии 3 и 9, както всичко останало на листа */
  .note{width:calc(100%/12*6);margin-inline:auto;max-width:none}
  .note>p{max-width:none}

}

/* --- Разказът получава граматиката на регистъра ---------------------------
   1 · Полевите линии. Тонираните листове ги носят (херо, полета, лентата);
       .s-story беше бял до вчера и няма класа `gridded`. Затова изглеждаше
       като чужд лист върху същия тон.
   2 · Блокът. Гола черта между главата и тялото няма никъде другаде —
       затова тялото взима формата на „Кой ни търси": силна черта отгоре,
       разделител по средата, косъмна отдолу. Същият знак, не нов. */
.s-story{
  background-image:repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px calc(100%/12));
  background-size:var(--colw) 100%;background-position:50% 0;background-repeat:repeat;
  --grid:var(--grid-2);
}
@media(min-width:1040px){
  .sheet:not(.s-cta) .shead-split .stack{
    position:relative;border-top:1px solid var(--rule-strong);
    border-bottom:1px solid var(--rule);
    padding-top:var(--s6);padding-bottom:var(--s6)}
  .sheet:not(.s-cta) .shead-split .stack::after{
    content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;
    background:var(--rule)}
}

@media(min-width:1040px){
  /* Присъдата няма СВОЯ черта — блокът над нея вече свършва с черта.
     Две линии на два реда разстояние са една линия твърде много. */
  .note{border-top:0;padding-top:0}
  .note::before{content:none}

}

/* --- Кутията на разказа = кутията на регистъра ----------------------------
   В „Кой ни търси" дясната колона е отместена от разделителя, а долните
   черти спират преди него — блокът НЕ е затворен с една непрекъсната линия.
   Разказът беше с улей нула и плътна долна черта. Изравнявам ги. */
@media(min-width:1040px){
  .sheet:not(.s-cta) .shead-split .stack{
    column-gap:var(--s8);border-bottom:0;padding-bottom:var(--s6)}
  .sheet:not(.s-cta) .shead-split .stack>p{padding-right:0}
  .sheet:not(.s-cta) .shead-split .stack::before{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:
      linear-gradient(to right,
        var(--rule) 0 calc(50% - var(--s8)/2),
        transparent calc(50% - var(--s8)/2) calc(50% + var(--s8)/2),
        var(--rule) calc(50% + var(--s8)/2) 100%)}
}
@media(min-width:1040px){
  /* улеят иска СЪЩАТА специфичност като правилото с :has(), иначе не се хваща */
  .sheet:not(.s-cta) .shead-split .stack:has(>p:nth-child(3)){
    column-gap:var(--s8)}
  /* трите линии на кутията с ЕДИН фон: разделител по средата + две долни
     черти, които спират преди него — точно както е „Кой ни търси" */
  .sheet:not(.s-cta) .shead-split .stack{
    background-image:
      linear-gradient(var(--rule),var(--rule)),
      linear-gradient(var(--rule),var(--rule)),
      linear-gradient(var(--rule),var(--rule));
    background-size:1px 100%,
      calc(50% - var(--s8)/2) 1px,
      calc(50% - var(--s8)/2) 1px;
    background-position:50% 0, 0 100%, 100% 100%;
    background-repeat:no-repeat}
  .sheet:not(.s-cta) .shead-split .stack::before,
  .sheet:not(.s-cta) .shead-split .stack::after{content:none}
}
@media(min-width:1040px){
  
  /* Таймлайнът се затваря и отдолу — досега имаше само силна черта отгоре
     и увисваше в извода под себе си. */
  .chain li{border-bottom:1px solid var(--rule);padding-bottom:var(--s6)}
}


/* --- КОТНАТА ЛИНИЯ ПОД КОРИЦАТА · 08.09.2026 ------------------------------
   Три дефекта: (1) числата бяха аквамаринови — цвят, ползван ТОЧНО на това
   място в целия сайт, тоест не система; (2) чертата сива, щрихите месингови —
   три цвята в един инструмент; (3) щрихите ПРЕСИЧАХА чертата и имаше краен
   щрих, увиснал на 274px след последния етикет.
   Геометрията е от ФАБЛЕ, където това е направено по-точно: делението слиза
   ПОД чертата, започвайки от нея; краен щрих няма — чертата стига до полевата
   линия и това ѝ е краят. Числата са 33px в мастилото на заглавията.
   Месингът е цветът на ДЕЙСТВИЕТО, а на корицата действието е едно — затова
   числата не са месингови: щяха да се бият с бутона. */
/* ПРЕРАБОТЕНО 17.09 · Бележката тук гласеше „геометрията — само над 700px…
   Под 700 листът си има свое решение и то НЕ се пипа." Георги поиска
   обратното: телефонът да е като големия екран — една черта и вертикалните
   рискички. Затова УКРАСАТА излиза от медията и важи навсякъде:
     една черта през целия лист, --rule-strong
     рискичките слизат ПОД чертата, започвайки от нея (top:0), не я пресичат
     краен щрих няма — чертата стига до полевата линия и това ѝ е краят
   В медията остава само онова, което иска ширина: РЕДЪТ (число отляво на
   надписа, auto 1fr, центрирано). То не се пренася на телефон — мерено, при
   402 колоната е 121px, а само числото иска 87, тоест на надписа остава 34.
   Там числото стои НАД надписа, което е базовото решение на листа. */
.dimchain .v{color:var(--fg-head)}
.dimchain .l{color:var(--fg-muted)}
.dimchain{padding-top:0;margin-top:var(--s8)}
.dimchain::before{height:1px;background:var(--rule-strong)}
.dimchain li::before{top:0;width:2px;height:15px;background:var(--rule-strong)}
.dimchain li:last-child::after{display:none}
@media(min-width:701px){
  /* Редът е РЕГИСТЪР, чиято първа колона е число — същата механика, която
     листът вече ползва на телефон: auto 1fr, изравнени по основната линия,
     улей --s3. Числото е --t7 („число-данни" по скалата), етикетът --t4,
     както е описанието на ред в „Кой ни търси". */
  /* ПОПРАВКА 15.09 · при 820 колоната е ~230px, от които на етикета остават
     ~128px — „изградени и оборудвани обекта" ставаше на ТРИ реда, а „години в
     бранша" на един: клетките ставаха 3/1/3. Етикетите са съкратени (пълните
     формули живеят на /za-nas и в регистъра), а изравняването минава от
     базова линия на ЦЕНТЪР: при етикет на два реда базовата линия закача само
     първия ред и вторият увисва под числото. */
  .dimchain li{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);
    align-items:center;padding:var(--s6) var(--s6) 0 0}
  .dimchain .v{font-size:var(--t7);margin-bottom:0}
  .dimchain .l{font-size:var(--t4);max-width:none}
}

/* ==========================================================================
   24 · АЗБУКАТА НА ЗНАЦИТЕ · 08.09.2026
   Инвентар преди: делението — едно и също нещо — имаше ЧЕТИРИ височини
   (13 · 14 · 20 · 22) и ТРИ цвята (месингов · сив · цвят на полето), а
   таймлайнът имаше различен цвят за деленията си и за крайното.
   ФАБЛЕ вече е уеднаквена (всичко 2×14 в цвета на котната линия) — взимаме
   принципа, не числото.

   Знаковата азбука има СВОЯ скала, водена от едно число — рамото на кръста:
     реперен кръст, голям  15×15  · ъгъл на поставен обект, на полева линия
     реперен кръст, малък   9×9   · ъгъл ВЪТРЕ в обект (карта, каре)
     деление               2×15   · всяка скала; висок колкото рамото на кръста
     водеща черта          16×1   · пред етикет

   Цветът на делението е цветът на ЧЕРТАТА, от която виси — двете са един
   инструмент. Единственото изключение е полевата навигация, където цветът
   е КОД на полето (space · tech · ops · grow) и носи смисъл.
   ========================================================================== */
/* Водещата черта пред етикета на досието беше 16×1 — пети размер в азбуката.
   Сега е СЪЩИЯТ знак, легнал: делението е 2×15 изправено, 15×2 положено.
   Едно деление, две положения — изправено бележи деление на скала, положено
   дава начало на етикет. */

/* Дългото деление — начало на ред в ИЗБРОЯВАНЕ (не деление на скала). Беше
   течно (--s6 = 22–34px, тоест 34 на широк лист) — знак с променлив размер
   не е знак. Сега е 2×30: двойно на късото, за да води едно число цялата
   азбука. Ползва се навсякъде, където ред от вертикален списък иска начало. */
/* Малкият кръст (9×9) отпада: ползваше се само в ъгъла на картата при
   посочване. Кръстът е ЕДИН — 15×15. Ъгълът на картата не е изключение,
   а просто по-малък обект; знакът не се смалява заради това. */

/* --- ПОРЕДНИЯТ НОМЕР · 08.09.2026 -----------------------------------------
   Беше 11px с разредка .22em — това е писане на ЕТИКЕТ, не на число: „01"
   се четеше като „0 1". Числото иска табличен вид и нормално писане.
   Размерът е --t3 (15px, „ситен ред" по скалата), а не --t4: t4 е запазен
   като „единственият размер за текст" и не се харчи за поредност.
   Цветът е --fg-faint — четим, но тих; той е ТЕКСТ, докато делението до него
   е ЛИНИЯ и взима цвета на чертата. Двете не могат да са един цвят. */
.chain .st,.theses .tno{
  font-size:var(--t3);letter-spacing:.06em;font-variant-numeric:tabular-nums}
/* Отместването на номера беше пресметнато за 11px. При 15px основната му
   линия трябва да падне на тази на тезата: главата на 33px шрифт с
   междуредие 1.18 сяда на ~27.7px под ръба, а на 15px — на ~11.2px. */

/* --- „Четири начина да работим заедно" не е скала --------------------------
   До ключ · Модернизация без прекъсване · Опериране · Абонамент са
   АЛТЕРНАТИВИ — клиентът избира една. Номерата 01–04 и деленията казваха
   „първо това, после онова", а такъв ред не съществува. Остават четирите
   клетки под една силна черта — регистър, не маршрут. */
.chain-opt li::before,.chain-opt li:last-child::after{content:none}
.chain-opt .st{display:none}
/* Регистърът се дели и вертикално — иначе четирите клетки плуват под една
   черта без граници. Принципът е от ФАБЛЕ (улеят на решетката става чертата),
   но там клетките имат плътен фон, който би скрил полевите линии под нашия
   лист. Затова делим направо, а чертежът остава да прозира. */
@media(min-width:821px){
  .chain-opt li+li{border-left:1px solid var(--rule);padding-left:var(--s5)}
}
/* Дългото деление (30px) стигаше до номера, който започваше на 22px.
   Номерът слиза под него с една стъпка въздух. */
.chain li{padding-top:calc(30px + var(--s3))}

/* --- СПИСЪЦИТЕ · поправки 08.09 (втори кръг) ------------------------------
   1 · Номерът е --t4 (17px). Скалата казва за t4 „единственият размер за
       ТЕКСТ", а пореден номер е текст: няма логика да е по-дребен от прозата
       до себе си. Моето предишно правило („t4 не се харчи за поредност") беше
       формално, не смислово.
   2 · Крайното деление отпада навсякъде. Доводът „последователността свършва"
       е разсъждение, не нещо, което окото чете. Простото правило е по-добро:
       ДЕЛЕНИЕТО БЕЛЕЖИ НАЧАЛО, а след последния елемент няма какво да започва.
   3 · Всички деления са в ЕДИН цвят — цвета на чертата. Кое да стане цветно
       се решава отделно, заедно с цветовете на шевроните.
   4 · Регистърът получава равни подложки от двете страни на всяко деление;
       външните ръбове остават на полевите линии. */
.chain li::before,.theses li::before,.dimchain li::before{background:var(--rule-strong)}
.chain li{padding-top:calc(30px + var(--s4))}
@media(min-width:821px){
  .chain-opt li{padding:var(--s5) var(--s5) var(--s6) 0}
  .chain-opt li+li{padding-left:var(--s5)}
  .chain-opt li:last-child{padding-right:0}
}

/* --- СПИСЪЦИТЕ · геометрията носи разликата, цветът е един ----------------
   ТАЙМЛАЙН (последователност): дълго деление 2×30, което ПРЕСИЧА чертата —
     15px над нея, 15px под. Пресичането казва „минава оттук нататък".
   ИЗБРОЯВАНЕ (набор): късо деление 2×15, което ВИСИ под чертата.
   И двете в акцентния цвят. На Yellow Door акцентният токен е предефиниран,
   затова кодът на продукта се връща сам, без изключение в правилото. */
.chain li::before{top:-15px;height:30px;background:var(--accent-tick)}
.theses li::before,.dimchain li::before{top:0;height:15px;background:var(--accent-tick)}
.chain li{padding-top:calc(15px + var(--s4))}

/* --- ДОСИЕТО · 08.09 ------------------------------------------------------
   1 · Етикетът минава на ЗАГЛАВНИЯ шрифт. По канона „заглавният назовава,
       телесният казва" — етикет назовава. Дотук беше единственото място,
       където етикет говори с телесен шрифт (полевите кодове са заглавни).
   2 · Етикетът тръгва от ЛЕВИЯ РЪБ на картона, тъй че легналото деление
       започва от вертикалната черта и я пресича — ъгълът се получава сам.
   3 · Номерът стои по-близо до заглавието си: при 17px старият отстъп от
       16px изглеждаше като откъснат ред. */
.dossier .dlabel{left:0;padding-left:0}
/* Етикетът е ФРАЗА, не код. Скалата ги разделя: --t1 е „етикет на поле"
   (кодовете ›space, ›tech — четири букви), --t2 е „дребен етикет". При
   осемнайсет букви разредката .2em също е прекалена — тя е за код.
   И: деленето стои на левия ръб и пресича вертикалната, но ТЕКСТЪТ на
   етикета ляга на лявата линия на съдържанието. */
.dossier .dlabel{gap:calc(var(--s6) - 15px)}

/* --- ЕТИКЕТИТЕ · един размер · 08.09.2026 ---------------------------------
   Инвентарът показа три ол-капс етикета — .seclabel („С какво помагаме"),
   .stamp-label („Мисията ни") и .dlabel („Независим търговец") — и че
   ВСИЧКИТЕ са фрази, не кодове. Полевите кодове (space · tech · ops · grow)
   изобщо не са на този размер: те са 15px с малки букви по бранд листа.
   Тоест нямаше код, който да оправдава 11px за етикет.
   Затова: етикетът е --t2 (13.5px) с разредка .12em — .2em е за четири букви.
   На 11px остава само анотацията върху изометрията, а това е вярно:
   най-дребният текст на чертежа са бележките по него. */

/* ==========================================================================
   25 · КУТИЯТА ИМА ВЪТРЕШНО ПОЛЕ · 08.09.2026
   Чертите бележат кутията; съдържанието стои ВЪТРЕ в нея. Досието
   (`padding:s7 s6 s6`), тезите (`s7` отляво, за номера) и светофарът вече го
   имаха; регистрите — не, и затова текстът им лепнеше за външната линия и
   кутиите не се четяха като кутии.
   Мярката е `--s6` за външния ръб и `--s5` от двете страни на вътрешния
   разделител.
   ========================================================================== */
@media(min-width:1040px){
  .specreg li,.ticklist li{padding-left:var(--s6);padding-right:var(--s6)}
  .reg li{padding-left:var(--s6)}
  .spec li:nth-child(odd){padding-left:var(--s6);padding-right:var(--s5)}
  .spec li:nth-child(even){padding-left:var(--s5);padding-right:var(--s6)}
}

/* --- Етикетът на секция говори като етикета на досието --------------------
   Знакът (легнало деление 15×2) стои на левия ръб, а текстът ляга на лявата
   линия на съдържанието — същата граматика, същият знак. Дотук етикетът
   започваше с думата и нямаше индикатор. */
.seclabel{gap:0}
.seclabel::before{content:"";width:15px;height:2px;background:var(--accent-tick);
  flex:0 0 auto;margin-right:calc(var(--s6) - 15px)}
.seclabel::after{margin-left:var(--s4)}
@media(min-width:1040px){
  /* всичко под етикета е ВЪТРЕ в кутията, значи ляга на нейното поле */
    /* разказът: двете колони също стоят вътре в кутията си */
  .sheet:not(.s-cta) .shead-split .stack>p{padding-left:var(--s6);padding-right:var(--s6)}
}

/* Улеят между колоните ВЕЧЕ е поле — разделителят стои по средата му, значи
   всяка страна получава половин улей. Моята вътрешна подложка се събираше с
   него и дясната колона излизаше на 64px от разделителя срещу 34 отляво.
   Сега: улеят е двойно на полето, вътрешна подложка няма, и разстоянието е
   едно и също от всяка линия — външна или вътрешна. */
@media(min-width:1040px){
  .spec{column-gap:calc(var(--s6)*2)}
  .spec li:nth-child(odd){padding-left:var(--s6);padding-right:0}
  .spec li:nth-child(even){padding-left:0;padding-right:var(--s6)}
  .reg{column-gap:calc(var(--s6)*2)}
  .reg li{padding-left:0}
  .reg li:nth-child(-n+3){padding-left:var(--s6)}
  .sheet:not(.s-cta) .shead-split .stack{column-gap:calc(var(--s6)*2)}
  .sheet:not(.s-cta) .shead-split .stack>p{padding-left:0;padding-right:0}
  .sheet:not(.s-cta) .shead-split .stack{padding-left:var(--s6);padding-right:var(--s6)}
}

/* --- „Четири начина" става затворена кутия --------------------------------
   По ФАБЛЕ: рамка от косъм наоколо, косъмни черти между клетките, равна
   подложка навсякъде. Принципът, не кодът — там кутиите имат плътен фон,
   който при нас би скрил полевите линии. */
@media(min-width:821px){
  .chain-opt{border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
  .chain-opt li{border-top-color:var(--rule);padding:var(--s6)}
  .chain-opt li+li{border-left:1px solid var(--rule);padding-left:var(--s6)}
  .chain-opt li:last-child{padding-right:var(--s6)}
}

/* --- Полевите регистри на /polia · същото правило ------------------------
   Тук колоните текат ВЕРТИКАЛНО (grid-auto-flow:column), затова лявата се
   хваща с :nth-child(-n+N), където N е броят редове (4, а за ›tech 5).
   Улеят става двойно на полето, вътрешна подложка няма — иначе дясната
   колона излиза на 42+22px от разделителя срещу 0 отляво. */
@media(min-width:1040px){
  .specreg.f-space,.specreg.f-tech,.specreg.f-ops,.specreg.f-grow{
    column-gap:calc(var(--s6)*2)}
  .specreg.f-space li:nth-child(-n+4),.specreg.f-ops li:nth-child(-n+4),
  .specreg.f-grow li:nth-child(-n+4),.specreg.f-tech li:nth-child(-n+5){
    padding-left:var(--s6)}
  .specreg.f-space li:nth-child(n+5),.specreg.f-ops li:nth-child(n+5),
  .specreg.f-grow li:nth-child(n+5),.specreg.f-tech li:nth-child(n+6){
    padding-right:var(--s6)}
}

/* --- Полето е СИМЕТРИЧНО · 08.09.2026 ------------------------------------
   Дадох поле само на левия ръб и текстът вдясно лепна за външната линия —
   личеше най-ясно на „Инвеститор" в „Кой ни търси".
   > Външните ръбове на кутията получават поле от ДВЕТЕ страни;
   > улеят се грижи за вътрешните.
   Едноколонните кутии (тезите, светофарът, въпросите) го получават и от
   двете, защото и двата им ръба са външни. */
@media(min-width:1040px){
  .reg li:nth-child(n+4){padding-right:var(--s6)}
  .theses li{padding-right:var(--s6)}
}

/* --- Отвореният лист „Партньорства" · 08.09 -------------------------------
   Беше двуколонен: заглавие вляво, текст вдясно — единственото досие с друга
   форма. Сега е като останалите: заглавие, после текст под него по цялата
   ширина. Разликата му остава само там, където е смислена — няма номер и
   рамката му е пунктирна, защото листът е отворен. */
@media(min-width:901px){
  .dossier-open{display:block}
  .dossier-open h3{margin-bottom:var(--s4)}
  .dossier-open>p:not(.dfoot){max-width:none}

}

/* Корицата нямаше долен въздух: `padding:var(--s8) 0 0`, докато всеки друг
   лист е `s8 0 s8`. Носеше го скалата в клетките си (`padding-bottom:--s7`) и
   когато я пренаписах, той изчезна — тонът свършваше плътно под етикетите на
   числата и корицата изглеждаше отрязана. Въздухът се връща в ЛИСТА, където
   му е мястото, а не в клетките на скалата. */
.s-hero{padding-bottom:var(--s8)}

/* Превключвателят светло/тъмно няма ховър: той не е връзка и не води никъде —
   сменя състояние. Подчертаването и промяната на цвета му обещаваха преход.
   Фокусът остава — той е за клавиатура, не за мишка. */
.tsw:hover{color:inherit}
.tsw:hover::after{transform:scaleX(0)}

/* --- ФУТЪРЪТ · 08.09.2026 -------------------------------------------------
   1 · Долният ред беше несиметричен: левият текст лепнеше за полевата линия
       (116), а десният стоеше на 34 от разделителя. Сега и двата са на 34 от
       НЕГО, а външните им ръбове — на полевите линии. Футърът е подножие на
       листа, не кутия: отвън ляга на линията, отвътре диша.
   2 · Логото и навигацията бяха подравнени по ГОРНИЯ си ръб (align-items:
       start), затова текстът им стоеше на две различни линии. Сега по
       основната линия. */
.f-meta span:first-child{padding-right:var(--s6)}
.f-top{align-items:baseline}

/* --- Оптичната основна линия на знака · 08.09 · преизмерено 10.09 ---------
   `align-items:baseline` подравнява ДОЛНИЯ РЪБ НА КАРТИНКАТА с основната
   линия на текста. Но всеки от брандовите SVG-та има вътрешно поле отдолу,
   тъй че мастилото увисва нагоре — геометрично вярно, оптически криво.
   Компенсацията е точно това поле, мерено чрез рисуване на файла:

       wordmark  (nextretail_*)  мастило 73,80%   поле долу 13,10%
       монограм  (nrs_*)         мастило 76,80%   поле долу 11,60%

   Числото Е НА ФАЙЛА, не на „логото изобщо" — при смяна на знака се сменя и
   то. Футърът носи монограма, затова тук е 11,6%.
   (При еднаква височина мастилото на двата е 16,97 срещу 17,66px — тежестта
   не се променя; сменя се само ширината: 185 → 70px.) */
.f-brand img{transform:translateY(calc(23px * .116))}

/* --- Формулярът дели на ПОЛОВИНАТА · 08.09.2026 ---------------------------
   Измерено: корицата на /kontakti дели на 720 (заглавие 116→720, увод
   720→1264), а формата — на 821/921 (7 полета формуляр, 1 улей, 4 контакти).
   Две различни вертикали на един лист.
   Старото деление беше нарочно („колоните лягат точно на полевите линии"),
   но днешното правило е по-силно: ЕДНА вертикала за целия сайт — половината.
   Улеят е двойно на полето, както навсякъде, тъй че разделянето пада точно
   на 720 и двете колони са равни. */
@media(min-width:1040px){
  .formgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:calc(var(--s6)*2)}
}

/* ==========================================================================
   23 · ОБСЛЕДВАНЕ НА ЦЕЛИЯ САЙТ · 09.09.2026
   Опис на живо на шестте страници, мерен срещу началната. Числата и
   отхвърлените находки: _редизайн/100_ОБСЛЕДВАНЕ.md
   ========================================================================== */

/* 23.1 · РИТЪМ НА ПОДЛОЖКИТЕ ------------------------------------------------
   Правилото (решение на Георги, 09.09): страницата ОТВАРЯ на тон и ЗАВЪРШВА
   на бяло — както е на началната. При нечетен брой листове двете не могат да
   се спазят с чисто редуване; тогава два съседни листа, които СА едно нещо,
   носят един тон — както четирите полета на /polia.

     /index (8)         T б T б T б T б      еталонът, без промяна
     /polia (7)         T [б б б б] T б      полетата са блок, без промяна
     /za-kogo (3)       T T б                корицата и шестте ситуации са едно
     /za-nas (5)        T б T T б            вярването и мисията са двойка
     /yellow-door (10)  T б T б T б T б T б  стълбата се обръща (в HTML)
     /kontakti (2)      T б                  без промяна

   Yellow Door беше ЕДИНСТВЕНАТА страница, която отваря на бяло, и завършваше
   с два бели листа. Класовете `raised gridded` се размениха между листове
   2·4·6·8 и 3·5·7·9 — това поправя и двете с едно движение и връща чертежа
   там, където е тонът. */
/* /za-nas · първите два листа са БЕЛИ, а „Мисията ни" остава единственият
   тон в тялото на страницата (решение на Георги, 09.09). Двойното бяло между
   „Кои сме ние" и „В какво вярваме" не ги слепва: между тях вече има ДВА
   ръба — долната черта на двуколонния разказ и включването на чертожната
   мрежа, която следващият лист носи, а предишният не. На /za-kogo двойното
   бяло беше ПРЕД затварящия лист, където друг ръб няма — затова там трябваше
   черта, а тук не трябва. */

/* 54 · ШЕВЪТ МЕЖДУ ДВА ЕДНОТОННИ ЛИСТА · 10.09.2026 ------------------------
   Правилото беше писано само за /za-kogo („при три листа не може едновременно
   да отвориш на тон, да завършиш на бяло и да редуваш"), но случаят е общ.

   Измерено на четири страници: шевът бяло→бяло НЕ е по-широк от останалите
   (yellow-door 8→9 е 202px при среден 205; най-широкият на страницата е
   Т→б с 288). Липсва му СМЯНА НА ТОНА — същите 202px между тон и бяло се
   четат като нов лист, а между две бели като дупка.

   Затова шевът получава силна черта — същият знак, с който започва всеки
   регистър в сайта. Изключват се петте тонирани листа: `.raised`,
   `.pagehead`, `.mission`, `.s-hero`, `.s-story` (последните два се тонират
   от собствените си правила, не от класа `raised`).

   Ефект: /yellow-door 1 черта · /polia 3 · /za-nas 1 · /za-kogo 1 (същата,
   която имаше досега) · началната 0 — тя редува на всеки лист.

   Чертата е ОТ КРАЙ ДО КРАЙ, не между шините. Пробвана беше и вътре в
   чертежа (116→1324) и е грешна: този знак замества СМЯНА НА ТОНА, а тонът
   дели цялата ширина на екрана. Правилата между шините са друг предмет —
   те са върхове на регистри ВЪТРЕ в листа, а шевът е ръбът на самия лист. */
.sheet:not(.raised):not(.pagehead):not(.mission):not(.s-hero):not(.s-story)
 + .sheet:not(.raised):not(.pagehead):not(.mission):not(.s-hero):not(.s-story){
  border-top:1px solid var(--rule-strong);
}

/* 23.2 · ЕДНА ЧЕРТА, ЕДНА ПОДЛОЖКА ------------------------------------------
   Измерено на /kontakti: горната черта на формуляра и горният ръб на карето
   лягат на 458 — подравнени. Но първият РЕД текст е на 475 вляво и на 493
   вдясно: под чертата вляво има 17px, вдясно 34 — подложката на кутията.
   Една черта, две подложки. Първото поле взима подложката на кутията, тъй че
   двете колони тръгват от един ред. Важи и за Yellow Door — същият компонент. */
@media(min-width:1040px){
  .formsheet .fld:first-of-type{padding-top:var(--s6)}
}

/* 23.3 · КАРЕТО Е КУТИЯ, ЗНАЧИ ПОЛЕТО МУ Е --s6 ОТ ЧЕТИРИТЕ СТРАНИ ----------
   .formside стоеше на 34 отгоре и отдолу, но на 22 отстрани. Освен това
   чеклистът вътре получаваше ОЩЕ 34 от общото правило за кутии — тоест 56 от
   ръба, а редовите му черти висяха отделени от рамката. Кутията носи полето;
   редовете вътре не го повтарят — същото правило като „улеят е поле". */
.formside{padding:var(--s6)}
@media(min-width:1040px){
  .formside .ticklist li{padding-left:0;padding-right:0}
}

/* 23.4 · РЕГИСТРИТЕ НА YELLOW DOOR ------------------------------------------
   Правилото за подложка беше писано за .specreg.f-* (полетата на /polia) и за
   .reg/.spec на началната. Голият .specreg на Yellow Door остана на 16px
   отгоре и отдолу — един клас, две поведения. */
@media(min-width:1040px){
  .yd-page .specreg li{padding-top:var(--s5);padding-bottom:var(--s5)}
}

/* 23.5 · СВЕТОФАРЪТ ЛЯГА НА АЗБУКАТА ----------------------------------------
   Точката беше 12×12 — единственият знак в сайта, който не е построен върху
   15 (рамото на реперния кръст). Отместването се коригира с половината от
   разликата, за да остане на същата оптична основна линия. */

/* 23.6 · ФУТЪРЪТ НА ТЕЛЕФОН -------------------------------------------------
   Навигацията се пречупва на два реда. Връзките носят 12+16px подложка за
   допир, тъй че редовете вече стоят на ~56px един от друг, а между самите
   връзки има 34 — четеше се като две различни групи. Разредката между
   редовете отпада: подложката за допир ѝ стига. */
@media(max-width:700px){
  footer nav ul{display:grid;grid-template-columns:1fr;gap:0;justify-items:start}
}

/* 23.7 · БЕЗ JAVASCRIPT САЙТЪТ ОСТАВА ЧЕТИМ ---------------------------------
   `.rv{opacity:0}` нямаше резервен вариант: при спрян, блокиран или счупен
   скрипт половината съдържание не се появяваше НИКОГА. Класът `js` се слага
   от вградения скрипт в <head> — докато го няма, нищо не се крие. */
html:not(.js) .rv,
html:not(.js) .shead.rv>*{opacity:1;transform:none;transition:none}

/* 23.8 · ДИРЕКТНИЯТ РЕД В КАРЕТО НЕ ОСТАВЯ ТЕЛЕФОНА САМ --------------------
   В по-тясната колона редът се чупеше след „или" и номерът оставаше сам на
   втори ред. Балансираното пренасяне дели двата реда по равно, тъй че
   имейлът и телефонът стоят заедно. */
.formside .contactline{text-wrap:balance}

/* ==========================================================================
   24 · YELLOW DOOR · 09.09.2026 (бележки на Георги)
   ========================================================================== */

/* 24.1 · ЛИСТ „24/7 · 2 канала · 1 наличност" · текст вляво, чертежът вдясно
   Дотук нощната илюстрация висеше най-отдолу на „Форматът се дефинира…",
   центрирана и широка 340px, а този лист имаше една тясна проза и празна
   дясна половина. Сега двете се събират: прозата държи лявата половина,
   картината — дясната. Делението е на половината лист, а улеят е двойно на
   полето — както навсякъде. */
/* ПОПРАВКА 10.09 · маржът отгоре ОТПАДА: главата на листа вече носи
   `margin-bottom:--s7`, а двата се събираха на 103px — двойно спрямо всеки
   друг лист. Разстоянието глава→съдържание е ЕДНО за целия сайт. */
.yd-split{display:grid;gap:var(--s7)}
.yd-split .yd-text>p+p{margin-top:var(--s5)}
@media(min-width:1040px){
  .yd-split{grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:0;align-items:start}
  .yd-split .yd-text{grid-column:1/7;padding-right:var(--s6)}
}

/* 24.2 · СТЪПКИТЕ СА ПОСЛЕДОВАТЕЛНОСТ ---------------------------------------
   „Пет стъпки" беше регистър: без номер и без деление, тоест нито таймлайн,
   нито изброяване — единственият списък в сайта без никакъв знак за ред.
   Взима формата на „В какво вярваме" (номер · заглавие · описание), но
   делението му ПРЕСИЧА чертата — 15 над, 15 под. По канона това е разликата
   между последователност и набор, и тя се носи от геометрията, не от цвета. */
.steps li::before{top:-15px;height:30px}

/* 25 · ЗАТВАРЯЩАТА ПЛОЧА (.noteband) · 09.09.2026 --------------------------
   Изводът на лист — досега центриран текст, различен на всяко място — става
   един компонент: лента през целия лист с кутия в средата, **шест полета, по
   три празни отстрани** — 3 | 6 | 3. Ползва се на трите места, където сайтът
   има извод: „В какво вярваме" (/za-nas), „Пет стъпки" и „Какво се променя
   във вашата сметка" (Yellow Door).

   Взима граматиката на двуколонния разказ горе („Кои сме ние"): силната черта
   отгоре и косъмната отдолу вървят през ЦЕЛИЯ лист, а кутията в средата ги
   разделя с две вертикали. Затова чертите не са на кутията, а на лента около
   нея — иначе биха свършвали там, където свършва тя.

   ДЯСНАТА вертикала е псевдоелемент, а не `border-right` — същата причина,
   както при полевите линии на листа: рамката се рисува ВЪТРЕ в кутията
   (последния пиксел преди ръба), а мрежата слага лентата си СЛЕД границата.
   С `border` двете щяха да се разминат с 1px; с `left:100%` дясната черта
   ляга ТОЧНО на полевата линия под нея.
   Измерено: и двете вертикали падат на 418 и 1022 — полеви линии 3 и 9. */
@media(min-width:1040px){
  .noteband{
    grid-column:1/-1;margin-top:var(--s6);
    display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
    border-top:1px solid var(--rule-strong);
    border-bottom:1px solid var(--rule)}
  .noteband .note{
    grid-column:4/10;width:auto;margin:0;padding:var(--s6);
    border:0;border-left:1px solid var(--rule)}
  .noteband .note::after{
    content:"";position:absolute;left:100%;top:0;bottom:0;width:1px;
    background:var(--rule)}
  .noteband .note:has(>p:nth-child(2)){columns:auto;column-gap:normal}
  .noteband .note>p{max-width:none;margin-inline:0}
  .noteband .note>p+p{margin-top:var(--s5)}
}
/* Вътре в плочата текстът говори като ПРОЗАТА на разказа („Едни от нас са
   строили и оборудвали стотици магазини…"), а не като присъда: телесен шрифт
   400, ред 1.65, тих цвят, ляво подравняване. Досега беше 600, 1.55, силен
   цвят и центрирано — тоест два различни гласа за един и същ вид текст. */
.noteband .note{font-weight:400;line-height:1.65;
  color:var(--fg-muted);text-align:left}
.noteband .note>p{text-align:left}


/* ==========================================================================
   26 · ДВЕТЕ ПРОПОРЦИИ НА ЛИСТА · 09.09.2026 (решение на Георги)
   ==========================================================================
   Дотук и корицата, и затварящият лист деляха на половината. Заглавията им
   обаче не са едно и също нещо: корицата носи ИМЕТО на страницата (дълго,
   едро — h1 на 65px), а затварящият лист носи ВЪПРОС (къс). При 6 полета
   корицата на /za-nas и на Yellow Door чупеше заглавието си на ПЕТ реда,
   а въпросът „Друга ситуация?" стоеше сам на един ред в шест полета.

   Затова: **корицата дели 7+5, затварящият лист — 5+7.** Уводът получава
   мястото там, където заглавието не му трябва. Началната не се пипа —
   нейният херо има своя форма (заглавие и увод един под друг вляво). */
@media(min-width:1040px){
  .pagehead .shead h1,.pagehead .shead h2{grid-column:1/8;padding-right:var(--s7)}
  .pagehead .shead .lead{grid-column:8/-1}

  .s-cta .shead h2,.s-cta .shead h1{grid-column:1/6;padding-right:var(--s7)}
  .s-cta .shead .lead,.s-cta .shead-split .stack{grid-column:6/-1}
  .s-cta .cta-btns{grid-column:6/-1}

}
@media(min-width:1040px){
  /* Мярката на заглавието беше 15ch — писана за колона от шест полета. При
     седем тя става по-тясна от самата колона и я държи празна отдясно.
     Колоната вече е мярката: заглавието свършва там, където свършва тя. */
  .pagehead h1{max-width:none}
}

/* 26б · ФОРМУЛЯРЪТ СЛЕДВА КОРИЦАТА СИ ---------------------------------------
   Вчера формулярът мина на половината, защото корицата на /kontakti делеше
   на 720. Сега корицата дели на 820,7 — значи и формулярът дели там, иначе
   на един лист пак стоят две вертикали. Формулярът държи полета 1–7 (с
   поле отдясно, както заглавието на корицата), карето — 8–12. */
@media(min-width:1040px){
  .formgrid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:0}
  .formgrid>.formsheet,.formgrid>.formstamp{grid-column:1/8;padding-right:var(--s7)}
  .formgrid>.formside{grid-column:8/-1}
}

/* 26в · ЗАТВАРЯЩ ЛИСТ, КОЙТО СЪДЪРЖА ФОРМУЛЯР -------------------------------
   5+7 е за лист, който само ПИТА: въпросът е къс, а вдясно стоят увод,
   бутон и контактен ред. Затварящият лист на Yellow Door обаче съдържа
   формуляра — а формулярът дели на 7+5. При 5+7 на главата листът получаваше
   ДВЕ вертикали (619 за увода, 821 за карето), а заглавието му се чупеше на
   четири реда вместо на три. Затова: лист с формуляр дели като формуляра. */
@media(min-width:1040px){
  .s-cta:has(form) .shead h2,.s-cta:has(form) .shead h1{grid-column:1/8}
  .s-cta:has(form) .shead .lead{grid-column:8/-1}
}

/* 27 · ПРОЗАТА НЕ СЕ ЛЕПИ ЗА РЕЛСАТА · 09.09.2026 ---------------------------
   Измерено: всичко в кутия стои на 42–50px от дясната релса, защото полето на
   кутията го държи. Заглавията и уводите нямат кутия — колоната им свършва
   ТОЧНО на релсата и текстът стигаше на 6–35px от нея. Ръб на 6px не се чете
   като хлабина, а като неуспяло подравняване.
   Затова прозата без кутия получава същото поле като прозата в кутия: --s6.

   Вляво нищо не се отмества: 116 е линията на чертежа и всичко започва там. */
@media(min-width:1040px){
  .pagehead .shead .lead,
  .s-cta .shead .lead,
  .s-cta .shead-split .stack{padding-right:var(--s6)}
}

/* 28 · ПРОБА · цифрите стават акцентни ---------------------------------------
   Дотук поредните номера бяха в тих текстов цвят (--fg-faint), а деленията
   над тях — акцентни. Пробваме числото и знакът да са едно. */
/* 29 · НОМЕРЪТ Е ЗАЛЕПЕН ЗА ДЕЛЕНИЕТО · 09.09.2026 --------------------------
   Разстоянието между края на делението и началото на номера беше различно на
   четири места: 17 (.chain) · 19 (.dimchain) · 35 (.theses) · 35 (.steps).
   При 35 знакът и числото се четат като два отделни предмета.

   Първо пробвах делението да СЛИЗА до номера (изброяването да вземе дългото
   2×30). Числото остана на основната линия на заглавието, но 20px пак се
   четат като хлабина. Затова обратното: **числото се качва под делението**,
   на едно разстояние за целия сайт — `--s3`.

   Цената е призната: в двуколонния списък номерът вече НЕ лежи на основната
   линия на заглавието. Връзката знак → число се оказа по-силна от връзката
   число → заглавие, защото знакът и числото са ЕДИН инструмент, а заглавието
   е съдържание. Азбуката се връща непокътната: изброяването е 2×15 (виси),
   таймлайнът е 2×30 (пресича). */
.theses li::before{height:15px}
.steps li::before{top:-15px;height:30px}
.theses .tno{top:calc(15px + var(--s3))}
@media(min-width:701px){
  .chain li{padding-top:calc(15px + var(--s3))}
  .dimchain li{padding-top:calc(15px + var(--s3))}
}

/* 29б · СТЪЛБИЦАТА · номерът стои в група, не сам ---------------------------
   След като го качих под делението, той пак изглеждаше самотен: 13px отгоре,
   но `margin-bottom:--s6` = **34px** отдолу. Числото висеше в празното между
   знака и заглавието и се дърпаше по-силно надолу, отколкото нагоре.
   Едно и също разстояние от двете страни: делението, числото и заглавието са
   ЕДНА група. (На телефон това вече беше --s3 — десктопът беше изключението.) */
.chain .st{margin-bottom:var(--s2)}
/* 30 · НОМЕРЪТ ГОВОРИ С ГЛАСА НА ЕТИКЕТА · 09.09.2026 -----------------------
   Дребните знаци в полето вляво са два вида: ЕТИКЕТ („НЕЗАВИСИМ ТЪРГОВЕЦ",
   „МИСИЯТА НИ", „С КАКВО ПОМАГАМЕ") и НОМЕР (01). Досега бяха на различни
   размери — 13,5 срещу 15 — без причина.

   Сега са на един: `--t2`. Различават се само там, където видът го изисква:
   етикетът е ОЛ-КАПС с разредка .12em, защото е ФРАЗА; номерът е с нормално
   писане, .04em и таблични цифри, защото е ЧИСЛО — при .12em „01" се чете
   като „0 1". Един глас, две правописни правила. */

/* ==========================================================================
   31 · ДРЕБНИТЕ ЗНАЦИ В ПОЛЕТО · ЕДНО МЯСТО ЗА ВСЕКИ ГЛАС · 09.09.2026
   ==========================================================================
   В лявото поле на листа живеят ШЕСТ класа, но ГЛАСОВЕТЕ са два. Дотук
   гласът на номера беше написан на ТРИ места, всяко надписващо предишното —
   затова един и същ въпрос се връщаше по три пъти с различни отговори.

   Имената НЕ се сливат: всяко носи МЯСТО, не глас. `.dno` стои в карта,
   `.tno` виси абсолютно в полето вляво, `.st` е в поток под делението.
   Слети в един клас, пак ще трябва да се разделят за позицията — печалбата
   е нула, а цената е преименуване на 49 места в HTML.

   Слива се ДЕФИНИЦИЯТА. Оттук нататък гласът се сменя на един ред. */

/* ЕТИКЕТ · фраза в полето: „НЕЗАВИСИМ ТЪРГОВЕЦ", „МИСИЯТА НИ", „КАКВО ВИЖДАМЕ"
   Ол капс и разредка .12em, защото е фраза и се различава от съдържанието.
   (Теглото беше 700 при досието и 800 при другите два — три етикета, две
   тегла. Едно е: 700 — при 13,5px ол капс 800 е плътно петно.) */
.dossier .dlabel,.seclabel,.stamp-label{
  font-family:var(--fh);font-weight:700;font-size:var(--t2);
  letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint)}

/* НОМЕР · число в полето: 01 · 02 · 03
   Нормално писане, .04em и таблични цифри, защото е ЧИСЛО — при разредката
   на етикета „01" се чете като „0 1". Акцентен, защото е част от знака над
   себе си, а не отделен текст. */
.chain .st,.theses .tno{
  font-family:var(--fh);font-weight:800;font-size:var(--t3);
  letter-spacing:.04em;line-height:1;font-variant-numeric:tabular-nums;
  color:var(--accent)}

/* ЕДНО РАЗСТОЯНИЕ ОТ ЧЕРТИЧКАТА · --s2 ------------------------------------
   Делението свършва на 15px под чертата — и при таймлайна (пресича: 15 над,
   15 под), и при хоризонталния делител на числата, и при вертикалното
   изброяване (виси). Оттам до числото има едно и също разстояние навсякъде. */
/* При вертикалното изброяване числото стои РАМО ДО РАМО със заглавието и
   ГОРНИТЕ РЪБОВЕ НА БУКВИТЕ трябва да съвпаднат — не горните ръбове на
   кутиите. Мерено през метриките на шрифта, а не по първото мастило:
   първото мастило лъже, защото зависи от това дали думата има буква с
   горна извивка („Добрият" има „б", „Магазинът" няма) — при едното число
   и заглавие изглеждат подравнени, при другото не.

     кутия → връх на цифрата     2,29px  (15px, междуредие 1)
     кутия → връх на главната    8,37px  (33px, междуредие 1,18)
     разлика                     6,08px

   Затова числото слиза с 6px. Не е магическо число — то е разликата между
   двете разстояния „кутия → връх на буквата". */
.theses .tno{top:calc(15px + var(--s2) + 6px)}
/* Изравнява се РАЗСТОЯНИЕТО НА МАСТИЛОТО, не на кутиите. Кутията на всяко
   число седи различно спрямо буквите си според собствения си кегел, затова
   отместванията са различни, а видимото разстояние — едно: 17px от края на
   делението до върха на цифрата, и в трите построения. */
@media(min-width:701px){
  .chain li{padding-top:calc(15px + var(--s2) + 3px)}
  .dimchain li{padding-top:calc(15px + var(--s2) + 1px)}
  /* Заглавието тръгва от същия ръб като цифрата вляво от него. */
  .theses li{padding-top:calc(15px + var(--s2))}
}

/* Голямото ЧИСЛО-ДАННИ под корицата не е поредност — то е стойност, и си
   остава на своя размер; акцентът обаче е същият. */
.dimchain .v{color:var(--accent)}

/* 32 · ИЗБРОЯВАНЕТО ДЕЛИ КАКТО ВСИЧКО ОСТАНАЛО · 09.09.2026 -----------------
   Измерени четирите двуколонни реда през целия лист:

     изброяване („В какво вярваме")   168→643 | улей 60 | 703→1247
     регистър (Yellow Door)           150→591 | улей 34 | 625→1169
     светофар (Yellow Door)           150→553 | улей 52 | 605→1149
     разказ („Кои сме ние")           150→678 | улей 84 | 762→1290   ← единствен на 720

   Четири блока, четири вертикали. Изброяването делеше на 673, защото редът
   има 52px ляв отстъп за номера и „половината" се смяташе от 168, а не от
   116. Сега колоната се смята от РЕДА, не от съдържанието му:

     първа колона = (съдържание + двата отстъпа)/2 − отстъпите
                  = (1122 + 52 + 34)/2 − 34 − 52 = 518 → свършва на 686

   Улеят става двойно на полето (68), както навсякъде, и делението пада на
   720. Дясната колона стига до 1290 — полето на кутията, същият ръб, на
   който свършва и разказът. */
@media(min-width:1040px){
  .theses li{
    grid-template-columns:calc((100% + var(--s7) + var(--s6))/2 - var(--s6) - var(--s7)) minmax(0,1fr);
    column-gap:calc(var(--s6)*2)}
  .theses .thsub{max-width:none}
}

/* 33 · ПРОБА · КЛЕТКА или РЕД -----------------------------------------------
   Разделянето, което личи в самите елементи:
     РЕД в регистър — много редове под черти, заглавие и описание нагъсто → 17
     КЛЕТКА с твърдение — ограничено каре със свой въздух              → 21
   2×2 „Какво стои зад магазина" е КЛЕТКА (четири карета с черти), но е
   типизирано като ред. Стъпките са клетки, но с тегло 700 срещу 800 на
   картите и светофара. */
@media(min-width:1040px){
  .spec li b{font-size:var(--t5);font-weight:800;line-height:1.34}
  .chain b{font-weight:800}
}

/* 34 · ОПИСАНИЕТО В РЕГИСТЪРА Е ПРОЗА · 10.09.2026 --------------------------
   `.specreg` беше единственият регистър с описание на 15px — 33 реда на
   /polia и 5 на Yellow Door. Другите два („Кой ни търси" и 2×2 на началната)
   са на 17. Скалата решава спора сама: --t4 е „ПРОЗА — единственият размер
   за текст", --t3 е „ситен ред: бележка, връзка, бутон". Описание на ред е
   проза. Цена, измерена: /polia +113px (1,9%), Yellow Door +60px (0,6%). */
.specreg li>span{font-size:var(--t4)}

/* 35 · БУТОНЪТ СТОИ ПОД УВОДА, НЕ ПОД ГЛАВАТА · 10.09.2026 ------------------
   Измерено: разстоянието от увода до бутона беше 40px на три страници и
   66px на /polia. `margin-top` е един и същ навсякъде — разликата идва
   оттам, че бутонът беше СЛЕД главата, а главата е висока колкото
   по-високата от двете си колони. На /polia заглавието „Откъде да започнем
   при вас?" е по-високо от увода, затова бутонът увисваше под заглавието.

   Сега редът с бутоните е ВЪТРЕ в главата, на четвърти ред от нейната
   решетка, в дясната колона — тоест точно под увода, на --s6 от него,
   независимо коя колона е по-висока. */
@media(min-width:1040px){
  .s-cta .shead .cta-col{grid-row:3;grid-column:6/-1;align-self:start}
  .s-cta .shead .cta-col .lead{margin:0}
  .s-cta .shead .cta-col .cta-btns,
  .s-cta .shead-split .stack .cta-btns{margin-top:var(--s6)}
}

/* 36 · „КОЙ НИ ТЪРСИ" Е КЛЕТКА, НЕ РЕД · 10.09.2026 -------------------------
   Измерено: описанието там е на СВОЙ ред (y3942 срещу y3911 на заглавието) —
   тоест строежът е същият като на 2×2. Тирето в началото („— най-после
   някой…") го караше да се чете като продължение на заглавието и заблуди
   и мен: първо го нарекох „получер водещ в изречението" и оставих 17px.

   Тирето отпада, описанието започва с главна буква, а заглавието взима
   размера на клетка — 21/800, както 2×2, картите, стъпките и светофара. */
@media(min-width:1040px){
  .reg b{font-size:var(--t5);font-weight:800;line-height:1.34;margin-bottom:var(--s2)}
  /* 16.09 · ЗНАКЪТ МЕРИ КЕГЕЛА НА ЗАГЛАВИЕТО, НЕ НА РЕДА.
     `.chev` е ПРЯКО ДЕТЕ на `li`, затова неговият em идва от реда (--t4, 17px),
     а тук заглавието порасва на --t5 (21px). Мерено: знакът остава 11.89px
     срещу главна буква 14.83px — 80%. Под 1040 двете съвпадат и дефект няма;
     затова се вижда само на плот.
     Брандовото правило („мастилото е ТОЧНО колкото главната буква") не се
     сменя — тук то се ВЪЗСТАНОВЯВА: пропорцията .4639 × .70em остава, само
     em-ът вече е този на заглавието. */
  .reg li>.chev{font-size:var(--t5)}
}

/* 37 · КАРТИТЕ ГУБЯТ НОМЕРАТА СИ · 10.09.2026 (решение на Георги) -----------
   Шестте ситуации на /za-kogo са НАБОР, не редица: човекът е една от тях,
   няма първа и няма шеста. Номерът твърдеше ред, който не съществува —
   същият довод, с който отпаднаха номерата на „Четири начина да работим
   заедно". Празните `<span class="dno">` са махнати от HTML-а (числото
   идваше от CSS брояч), заедно с мъртвите вече правила.

   Номер остава там, където има РЕД: стълбицата „Първата стъпка", стъпките
   на Yellow Door, и тезите — при тях 01–05 казва „това са пет, ето кое кое е". */

/* 38 · СВЕТОФАРЪТ СТАВА ХОРИЗОНТАЛЕН · 10.09.2026 --------------------------
   Зелено · Жълто · Червено са три ВЪЗМОЖНОСТИ, между които се избира — не
   стъпки. Затова взимат формата на „Четири начина да работим заедно":
   затворена кутия с равни клетки, без номер и без деление.

   `.signal` отпада целият. Той беше единственият компонент в сайта, ползван
   на едно място, с точка 12×12 извън азбуката и с двуколонен ред, който не
   съвпадаше с никой друг. Цветът на категорията не се губи — той слиза в
   ГОРНАТА ЧЕРТА на клетката, точно както полевите карти носят цвета си. */
/* Цветът на категорията стои на КРЪГЧЕ пред името, не на черта над клетката:
   така носи името, а не цялата клетка, и кутията остава същата като „Четири
   начина". Кръгчето е 15px — рамото на азбуката, същото като реперния кръст.
   Думата „Зелено/Жълто/Червено" не се губи — тя остава за екранен четец,
   защото цвят сам по себе си не е информация. */
.sgdot{display:inline-block;width:15px;height:15px;border-radius:50%;
  background:var(--sg);flex:0 0 auto;margin-right:var(--s3);
  transform:translateY(2px)}

/* 39 · ПОСЛЕДНИЯТ `.brief` ОТПАДА -------------------------------------------
   `.brief` беше прозата под етикет „КАКВО ВИЖДАМЕ". Етикетите паднаха от
   /polia и остана един-единствен на Yellow Door — с 34px ляв отстъп, който
   го измъкваше от лявата релса: заглавието започваше на 116, текстът на 150.
   Сега е увод в главата, като на всеки друг лист. */

/* 40 · ЕКРАН ОТ ПРИЛОЖЕНИЕТО · 10.09.2026 · ОТПАДА ------------------------
   Изрязаният екран (`.yd-shot` + `yd_app_scan.webp`) отстъпи на два цели
   апарата — виж правило 44. Класът е махнат заедно с последния си ползвател. */


/* 42 · ПЕТТЕ СТЪПКИ СЛИЗАТ ДО СНИМКАТА · 10.09.2026 -------------------------
   Беше скала на тези: заглавие 33px на 116, описание 15px на 755 — 640px
   празнина между двете, и окото я прескача пет пъти. Но това не е списък от
   независими твърдения, а ПРОЦЕС ВЪВ ВРЕМЕТО, а за процес сайтът си има
   компонент: размерната верига. Тук тя е с една колона, за да застане в
   шестте полета вляво — до екрана, който я илюстрира, вместо под него.
   `.chain-col` е формата, която веригата така или иначе взима под 820px;
   класът просто я държи и на широк лист. Отстъпът отгоре не се пипа — той
   е измереното мастилено разстояние от правило 29/30. */
.chain-col{grid-template-columns:minmax(0,1fr)}
@media(min-width:821px){
  /* Числото ляга ПОД своето деление, както на стълбата: знакът и числото са
     един инструмент и стоят на един и същ ляв ръб. */
  .chain-col li{padding-right:0;padding-bottom:var(--s5);padding-left:0;
    border-top:1px solid var(--rule)}
  .chain-col li:first-child{border-top-color:var(--rule-strong)}
}
/* Стъпките влизат В лявата колона, за да може вдясно да застане ЕДНА колона
   през целия лист — двата телефона един под друг. Затова тук няма втори ред:
   листът е две колони, а не четири клетки. */


/* 44 · ДВА ЦЕЛИ ТЕЛЕФОНА ПО ЦЯЛАТА ВИСОЧИНА · 10.09.2026 -------------------
   Изрязаният екран вършеше работа само срещу стъпка 01, а срещу 04–05 вдясно
   зееше празно. Сега вдясно стои приложението, каквото е в ръката: „Scan shop
   QR to start" срещу входа и каталогът срещу избора. Двата PNG-а от бранд
   активите са чисти изрезки с прозрачен фон — рамката на апарата е част от
   изображението, затова тук няма нито радиус, нито сянка от наша страна.
   Колоната е ТРИ полета (1022→1324), а не четири: при четири телефонът става
   403px широк и двата надхвърлят листа с 500px. При три стъпалата вляво и
   телефоните вдясно свършват на 100px един от друг. */
/* Под чупката двата апарата застават ЕДИН ДО ДРУГ, не един под друг: на
   390px стълб от два телефона е 1250px картинка за пет изречения текст.
   Рамо до рамо са 341px и пак се четат — това е и естественият вид на два
   екрана от едно приложение на телефон. */
.yd-phones{display:grid;justify-items:center}
.yd-phones img{width:100%;max-width:302px;height:auto}
@media(min-width:1040px){
  .yd-phones{justify-items:stretch}
  .yd-phones img{max-width:none}
}

/* 44б · КОЛОНАТА НА ТЕЛЕФОНИТЕ ЗАПОЧВА ОТ ЗАГЛАВИЕТО ------------------------
   Ако стълбът тръгне от увода, двата телефона свършват 244px под стъпка 05 и
   листът расте от 1416 на 1660. Затова главата на листа влиза В решетката:
   вляво заглавие (ред 1) и текст със стъпките (ред 2), вдясно ЕДНА колона
   през двата реда. Така телефоните тръгват на височината на „Пет стъпки" и
   свършват до сантиметри от последното стъпало — без нито един отрицателен
   марж. Разстоянието глава→текст остава --s7, но идва от решетката, не от
   маржа на главата, иначе се удвоява. */
/* Листът е като всеки друг: глава (заглавие + увод), после ЕДИН компонент —
   двуколонният блок със стъпките вляво и екрана вдясно. */
@media(min-width:1040px){
  .yd-steps .steps{grid-column:1/7;padding-right:var(--s6)}
  .yd-steps .yd-phones{grid-column:8/12;margin:0;align-self:start}
}

/* 45 · КАРТИНАТА НЕ СЕ ЛЕПИ ЗА ДЯСНАТА ШИНА · 10.09.2026 -------------------
   Дясната половина на листа е шест полета (7→12). Досега картината вземаше
   последните четири и опираше в шината — четеше се като изрязана от ръба.
   Сега стои с ПОЛЕ въздух от двете страни: знакът е 8→12 (четири полета,
   поле 7 отляво, поле 12 отдясно), телефоните са 9→12 (три полета, поле 12
   отдясно). Телефоните остават три, а не четири: при четири стълбът става
   1718px срещу текстова колона от 1197 и листът расте с още 380px.

   Нощната илюстрация отстъпва на знака на Yellow Door. Причината не е вкус:
   страницата показва истински екрани от приложението два листа по-долу, а
   рисуваната сцена до тях чете като заместител на снимка. Знакът е самата
   марка — и в наръчника вратата е физическият подпис на формата („жълта
   врата, точният нюанс"). Жълтото е #FFD801, същото като `--c-yd`.
   SVG-то е вградено (3 фигури, без заявка) и е точното от бранд активите. */
/* Компонентът след двуколонния блок стои на същото разстояние като всеки
   друг компонент под глава: --s7. (Правилото беше загубено заедно с блок 40.)
   ДУБЛИКАТ: блокове 42–44 стояха в CSS-а ДВА ПЪТИ, дословно, 72 реда.
   Второто копие е махнато на 10.09 — две копия значат, че поправка в едното
   мълчи в другото. */
.yd-split+.spec,.yd-split+.chain,.yd-split+.theses{margin-top:var(--s7)}


/* 43 · СМЕТКАТА Е КАРЕ ОТ ЧЕТИРИ, НЕ РЕГИСТЪР ОТ ПЕТ · 10.09.2026 ----------
   Петият ред („изграждане и поддръжка от един отговорен") не беше ред от
   ТЯХНАТА сметка — той е отговор на „защо вие" и излиза оттук. Остават
   четири, които се оказват четирите оси на един оператор: приход · разход ·
   наличност · данни. Затова карето е 2×2, а не четири в редица: четири в
   редица е стълбата и светофарът, а тази секция не бива да е трета верига
   със същия ритъм. Клетка от 604px събира заглавието на един ред. */
.chain.chain-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:820px){.chain.chain-2{grid-template-columns:minmax(0,1fr)}}

/* 46 · ДЪЛГОТО ДЕЛЕНИЕ Е САМО ЗА ТАЙМЛАЙН · 10.09.2026 ----------------------
   Азбуката го казва от самото начало: деление 2×30 ПРЕСИЧА чертата и значи
   „момент по линия на времето"; деление 2×15 ВИСИ под чертата и значи
   „елемент от изброяване". Веригата беше писана за процес (Диагностика →
   Проект → След откриването) и затова носи дългото. Но „Какво се променя
   във вашата сметка" не е процес — това са четири оси на една сметка, които
   се случват едновременно. Затова взима късото, както тезите с 01·02·03.

   Дългото остава там, където има ред във времето: петте стъпки на клиента,
   стълбата на входа, „Как работим" на началната. */
.chain-2 li::before{top:0;height:15px}

/* 47 · ЧЗВ · СЪЩИЯТ ДВУКОЛОНЕН РЕГИСТЪР КАТО „КАКВО СТОИ ЗАД МАГАЗИНА"
   Регистърът беше акордеон с ШЕВРОН — а в тази азбука шевронът значи
   „врата", тоест препратка нанякъде. Разгъването не води наникъде, тъй че
   знакът стоеше на грешно място. Опитах и по-богата клетка (етикет на
   темата, въпрос на 21px, знак вдясно) — но за осем въпроса това е повече
   строеж, отколкото съдържание.
   Сега ЧЗВ е `.spec` — точно компонентът на „Какво стои зад магазина":
   две колони, силна черта отгоре, косъмна под всяка клетка, разделител по
   средата. Нула нов лейаут.

   На мястото на шеврона стои реперният кръст (15×15, рамене 1px). Азбуката
   се дописва с едно изречение, не се пренарежда:
     реперен кръст · ъгъл на поставен обект — а когато отваря ред, „разгъва";
     отворен, губи изправеното си рамо и става минус.
   Кръстът е 15px, а главната буква на заглавието (21px/800) е ~15px висока:
   с `vertical-align:baseline` знакът заема точно нейната височина.

   Отворен регистър беше пробван и мерен: 1537px на широк лист и 3314px на
   390 — 18% от страницата за най-малко важната ѝ секция. Сгънат е 942/1447. */
/* 15.09 · Подложката беше само под 1040; над него въпросът излизаше 29px
   висок като цел за натискане — под 44. Тъч екрани има и на 1040+ (таблет в
   пейзаж, лаптоп със сензорен екран), а и 29px е малко за прицелване с мишка
   върху ред, който се разгъва. Подложката минава в основното правило. */
.faqspec summary{display:block;cursor:pointer;list-style:none;padding-block:var(--s3)}
.faqspec summary::-webkit-details-marker{display:none}
.faqspec summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
/* 15.09 · Кръстът е инлайн в началото на въпроса и бута само ПЪРВИЯ ред:
   при 390 преносът лягаше 23px вляво от собствения си първи ред. Същият
   дефект като в регистъра на /kakvo-pravim. Въпросът получава висящ отстъп
   точно колкото хода на кръста (15px + неговия марж .45em), тоест знакът
   увисва в полето, а всички редове на въпроса лягат на една линия. */
.faqspec summary>b{
  display:block;
  padding-left:calc(15px + .45em);
  text-indent:calc(-15px - .45em);
}
.faqspec .tgl{
  display:inline-block;width:15px;height:15px;margin-right:.45em;
  vertical-align:baseline;pointer-events:none;
  background:
    linear-gradient(var(--accent),var(--accent)) 0 7px/15px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) 7px 0/1px 15px no-repeat;
}
.faqspec details[open] .tgl{
  background:linear-gradient(var(--accent),var(--accent)) 0 7px/15px 1px no-repeat;
}
.faqspec details>p{margin-top:var(--s3)}


/* 48 · ЛИСТ 03 · ЛОГОТО ГОРЕ ВДЯСНО · 10.09.2026 --------------------------
   Квадратният знак отстъпва на цялото лого — хоризонтална плоча 16:9, която
   ляга по ГОРНИЯ РЪБ на заглавието и заема четири полета (821→1223, поле
   въздух вдясно). SVG-то е вградено: девет фигури, нула заявки, точните
   цветове от бранд активите (#FFD801 · #1D1D1B). */
.yd-logo svg{display:block;width:100%;height:auto;max-width:403px;margin-inline:auto}
@media(min-width:1040px){
  .yd-what{grid-template-rows:auto auto}
  /* Главата има СОБСТВЕНА 12-полева решетка и уводът ляга в НЕЙНАТА дясна
     половина. Тук главата стои в колона от 604 — тогава „половината" е 302
     и уводът се чупи на всеки три думи. В тясна колона решетката на главата
     се свива до една колона. */
  .yd-what .shead{grid-row:1;grid-column:1/7;margin-bottom:0;
    grid-template-columns:minmax(0,1fr)}
  .yd-what .shead h2,.yd-what .shead .lead,.yd-what .shead .stack{grid-column:1}
  .yd-what .shead .lead{grid-row:auto;align-self:auto;margin-top:var(--s5)}
  .yd-what .yd-logo{grid-row:1;grid-column:8/12;align-self:start;margin:0}
  .yd-logo svg{max-width:none}
  /* ВАРИАНТ А · прозата вляво, четирите неща като вертикален списък вдясно.
     Списъкът е ПЕТ полета (821→1324), не шест: тръгва от левия ръб на
     логото, тъй че цялата дясна колона има ЕДНА вертикала. На шест полета
     логото започваше на 821, а списъкът на 720 — два леви ръба на 100px
     един от друг, което окото чете като разминаване.
     Височината не се променя: `.chain p` така или иначе се чупи на мярката
     (544), а не на колоната, тъй че 503 и 604 дават един и същ брой редове.
     Листът пак дели на 720 — дясната колона просто държи поле въздух от
     вътрешната си страна, както картината го държи към шината. */
  /* Дясното поле на прозата е --s6 навсякъде в сайта (правило 27) — колона
     604 минус 34 дава 570, точно както стъпките на лист 06. Тук стоеше --s7,
     после пробвах --s8, за да скъся реда: и двете са измислени числа.
     Дължината на реда я реши МЯРКАТА (544), не отстъпът. */
  .yd-what .yd-text{grid-row:2;grid-column:1/7;padding-right:var(--s6)}
  .yd-what .chain-flat{grid-row:2;grid-column:8/-1}
  /* ВАРИАНТ Б · прозата в модула на „За нас" — полева линия и щрих пред
     всеки абзац. Стои в ДЯСНАТА половина, под логото, точно както на
     /za-nas: заглавието вляво, колоната с текста вдясно. Тогава бялото
     остава под заглавието — обичайната форма на този лист, — а не вдясно
     от прозата, където би зейнало. */
  .yd-what .stack{grid-row:2;grid-column:7/-1;max-width:none}
}

/* 49 · ВЕРТИКАЛЕН СПИСЪК БЕЗ ЦИФРИ · 10.09.2026 ---------------------------
   Четирите съставки не са стъпки: няма ред във времето, могат да се разменят.
   Затова носят КЪСОТО деление (2×15, виси), нямат номер и нямат шеврон —
   в клетката знакът е делението, а не вратата. */
.chain-flat li::before{top:0;height:15px}
.chain-flat li{padding-top:calc(15px + var(--s3))}

/* 50 · БАДЖОВЕТЕ НА МАГАЗИНИТЕ · 10.09.2026 --------------------------------
   Официалните знаци на Apple и Google са търговски марки и не се прерисуват:
   `appstore_bg.svg` е от Apple Marketing Toolbox (българска версия, черен),
   `googleplay_bg.png` е от Google Play Badges (българска версия). Google не
   публикува SVG — раздава PNG и EPS, — затова единият е растер.

   Двата файла имат РАЗЛИЧНА геометрия: знакът на Apple е 119,66×40 без поле,
   а този на Google е 646×250 с 29px прозрачно поле горе и долу (мастилото е
   646×192). Затова кутиите им не са еднакви, а мастилото им е: 44px за
   Apple и 57px кутия за Google, чието мастило е точно 44. Подравняват се по
   ЦЕНТЪР — тогава двата знака лягат на един и същ оптичен ред. */
.stores{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);
  margin-top:var(--s6);max-width:none}
.store{display:inline-block;border-radius:6px;line-height:0}
.store:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.stores img{display:block;height:auto;max-width:none}

/* 51 · ДИРЕКТНИЯТ РЕД ПОЛУЧАВА ГЛАВА, КАКТО ЧЕКЛИСТЪТ · 10.09.2026 ---------
   В страничната колона имаше един озаглавен блок и един неозаглавен: след
   „Какво да ни пратите:" · 12px · чеклист, директният ред идваше на **0px**
   от последното тире, в 15px/400 сиво. Затова се четеше като бележка под
   списъка, а не като втора възможност.

   Сега двата блока са един и същ модул: болд глава (15px/700) · 12px · тяло.
   Прозата „Свържете се директно с нас на" слиза в главата, а редът остава
   само с двата адреса — както в чеклиста тирето носи знака, а не думите.
   Прекъсването между двата блока е --s6 (34px): достатъчно, за да са два, и
   недостатъчно, за да са две секции. Важи и за /kontakti — един компонент,
   едно поведение. */
/* Разстоянието до втората глава се ИЗРАВНЯВА С ЕТАЛОНА, а не се наглася на
   око. Еталонът е горната черта на бокса → мастилото на „Какво да ни
   пратите:" = 34px подложка + 11,5px водещо = 45,5px.

   Затова чеклистът се ЗАТВАРЯ с черта (когато под него следва втори блок) и
   втората глава тръгва на същите 34px под нея. Двете хлабини излизат равни
   ПО КОНСТРУКЦИЯ — едно число, --s6, а не измерена разлика. Същият принцип,
   с който веригата се затвори отдолу, вместо да увисва в извода под себе си. */
.formside .ticklist:has(+.fs-title) li:last-child{border-bottom:1px solid var(--rule)}
.formside .ticklist+.fs-title{margin-top:var(--s6)}
.formside .contactline{margin-top:var(--s3)}

/* 52 · ШЕВРОНЪТ В ЧЕКЛИСТА · 10.09.2026 · ОТПАДА ---------------------------
   Решението беше „кутията да е висока колкото реда"; сега кутията Е мастилото
   и се подравнява по основната линия във всяко разположение. Правилото долу
   вече би СЧУПИЛО знака, затова е махнато.
   Измерено на всичките пет списъка със шеврон: `.reg` −1,1 · `.spec` −1,1 ·
   `.specreg` −0,4 · `.chain` −1,1 — и `.ticklist` **−4,8px**. Само той е
   изместен, и причината е една: `.ticklist li` е РЕШЕТКА, тъй че шевронът е
   клетка от нея, а `vertical-align` не действа на клетка от решетка. В
   останалите знакът стои ВЪТРЕ в текста и подравняването му работи.

   Затова тук не се мести знакът с марж, а се дава на кутията му височината
   на РЕДА: маската е `center/contain`, тъй че се центрира сама в линията.
   Нула магически числа и работи при всяка смяна на кегела. */

/* 53 · АПАРАТЪТ СЕ МЕРИ ПО КОЛОНАТА ДО СЕБЕ СИ · 10.09.2026 ----------------
   При четири полета апаратът е 833px, а стъпките — 744: 88px надвес под
   последната черта. При три полета е 625 — 119px къс. Точното съвпадение иска
   ширина 360, а такава полева линия няма.

   Затова не ширината определя височината, а обратното: кутията се разтяга до
   височината на РЕДА (тоест на стъпките), а апаратът се вписва в нея с
   `object-fit:contain`. Кутията не носи височина — детето ѝ е абсолютно
   позиционирано, — тъй че редът се мери само по стъпките и апаратът ляга
   горе и долу заедно с тях.

   Подравняване ВДЯСНО: полето въздух към шината е правилото, което читателят
   вижда на всеки лист, затова десният ръб остава на полева линия 12.
   При смяна на текста апаратът се преразмерява сам — няма число за пипане. */
@media(min-width:1040px){
  .yd-steps .yd-phones{align-self:stretch;position:relative;min-height:0}
  .yd-steps .yd-phones img{position:absolute;inset:0;width:100%;height:100%;
    object-fit:contain;object-position:left center}
}


/* 55 · ЦЕЛТА ЗА ПРЪСТ НА ЧЗВ · 10.09.2026 ---------------------------------
   Измерено: `summary` е висок точно колкото реда на въпроса — 28px на тесен
   лист, при препоръчани 40. На широк лист клетката има подложка от `.spec`,
   на тесен я няма. Подложката се връща само там, където се пипа с пръст. */
@media(max-width:1039px){
  .faqspec details>p{margin-top:var(--s2)}
}

/* 56 · ПОД 370 ДИРЕКТНИЯТ РЕД СТАВА СПИСЪК · 10.09.2026 -------------------
   `.contactline a` уголемява зоната за пръст с подложка 12/14 и отрицателен
   марж — „цел ≥46px без визуална промяна". Държи, докато редът е един.
   На 330px се пренася и излизат три беди наведнъж, всичките видими само с
   око — нито една не се хваща по кутии:
     · двете цели се застъпват с 26px от 51 — тап в средата е с неясен
       адресат и може да набере телефон вместо да отвори поща;
     · първият опит махаше подложката, но подчертаването е фон, закован на
       `calc(100% - 12px)` от долния ѝ ръб — без нея линията падаше насред
       буквите и имейлът излизаше ЗАЧЕРКНАТ;
     · „·" повеждаше втория ред и заприличваше на водачка на списък.
   Неразделимият интервал не помага: котвата е `inline-block`, а около
   атомарен инлайн винаги стои възможност за пренасяне — nbsp слепва знаци,
   не кутии. Затова под 370 двойката просто СТАВА списък: всяка котва на
   свой ред, разделителят се снема с нулев кегел И нулева височина на реда
   при родителя (котвите си ги връщат), `max-content` пази подчертаването
   широко колкото текста. Класът се удвоява — `.formside p` е с по-висока
   тежест от гол `.contactline` и иначе връщаше кегела на 15px.
   Подложката остава — значи и подчертаването стои където е било, и целта е
   50px, над препоръчаните 46, без застъпване. */
@media(max-width:370px){
  .contactline.contactline{font-size:0;line-height:0;text-wrap:auto}
  .contactline.contactline a{display:block;width:max-content;max-width:100%;
    font-size:var(--t3);line-height:1.7;margin-block:0}
  .contactline.contactline a+a{margin-top:var(--s2)}
}

/* 57 · ПОДЪТ НА ЕДРИЯ КЕГЕЛ СЛЕДВА НАЙ-ДЪЛГАТА ДУМА · 10.09.2026 ----------
   --t8, --t9 и --t10 са clamp-ове: нагоре следват екрана, надолу опират в
   неподвижен под (33 · 42 · 52). Под този под екранът продължава да се
   стеснява, кегелът — не. Оттам излиза дума, по-широка от колоната си: тя
   стърчи навън, БЕЗ да разширява кутията си, тъй че проверката за преливане
   по кутии изобщо не я вижда. Числата казваха „чисто", окото виждаше друго.
   Мерено на живо, най-дългите думи, които сайтът поставя в едър кегел:
     „Магазинът"       317px при 52  =  6.10em  · h1 на херото     (--t10)
     „Пространството"  336px при 33  = 10.18em  · h2 на /polia     (--t8)
     „Изграждаме"      278px при 42  =  6.62em  · h1 на /za-nas    (--t9)
     „счетоводител."   284px при 33  =  8.61em  · тезата на /za-nas (--t7)
     „демонстрация"    223px при 27  =  8.26em  · щемпелът на YD   (--t6)
   Колоната е ширината минус 2×20 подложка; в щемпела — 0.6875 от нея.
   Подът става относителен точно толкова, колкото да събере тази дума:
     --t10 ≤ (W−40)/6.10   → 13.9vw   (хваща едва под 374px)
     --t9  ≤ (W−40)/6.62   → 12.8vw   (хваща едва под 328px)
     --t8  ≤ (W−40)/10.18  →  8.3vw   (хваща едва под 398px)
     --t7  ≤ (W−40)/8.61   →  9.8vw   (хваща едва под 337px)
     --t6  ≤ 0.667W/8.26   →  7.9vw   (хваща едва под 342px)
   Всяко число носи 2% запас, за да е чисто и на 300px — най-тесният екран,
   който още се среща. Най-широкото поемане е на --t8: под 398px то отстъпва
   0.6px от 33 — под прага на забележимото, но спестява дума извън колоната.
   `min()` пази горната стойност непокътната — над тези ширини не мърда нищо.
   Заглавие не се чупи в средата на дума: думата остава цяла, кегелът отстъпва.
   Това подрежда и трите средни размера с трите горни — вече ВСИЧКИ едри
   кегели следват екрана, а не само по-горните. */
:root{
  --t6:min(27px,7.9vw);
  --t7:min(33px,9.8vw);
  --t8:min(clamp(33px,2.9vw,42px),8.3vw);
  --t9:min(clamp(42px,4.03vw,58px),12.8vw);
  --t10:min(clamp(52px,5.6vw,81px),13.9vw);
}

/* ---- 55 · ЗАГЛАВИЕТО НА ХЕРОТО НА ТЕЛЕФОН · 16.09 ----------------------
   Стои СЛЕД правило 57, защото то предефинира --t10 и по ред на източника
   печели — първият ми опит го сложих по-горе и не хвана.

   Мерено при 390 с истинската видима височина на Safari (680):
      52px → 3 реда, рисунката свършва на 716 (36px извън)
      46px → 3 реда, 698 (18 извън)
      44px → 2 реда на 430 и 390, но 3 на 375 и надолу
      42px → 2 реда на 430 · 390 · 375 · 360; рисунката се побира на всички
   При 42 заглавието се чупи на „Магазинът ви / може повече." вместо на
   „Магазинът / ви може / повече." — на цезурата, а не по средата на смисъла.
   По-малко, но и по-добре.
   `13.9vw` остава таван: пази „Магазинът" в колоната при 320 (правило 57). */
@media(max-width:700px){ :root{--t10:min(42px,13.9vw)} }

/* 62 · ОТМЕНЕНО ОТ САМО СЕБЕ СИ · 17.09 ----------------------------------
   Правилото стягаше вертикалния ритъм на телефон със 73px, за да влезе
   бутонът над сгъвката. Основанието беше моя грешка: Георги от самото начало
   каза, че зуумът е за ЛИНИЯТА, а аз вече бях сметнал сгъвката и му зададох
   въпроса с нея. Той отговори на грешната рамка.
   Следствието се видя веднага на живо: лентата „500+ · 20+ · 24/7" е ВЪТРЕ
   в секцията на героя, веднага под бутона — не е следваща секция. Тоест тя се
   вдигна заедно с него и влезе в първия екран. Мерено при 402: преди беше на
   783, стана на 684.
   Затова стягането пада цялото: падингът, трите хлабини и 92%-ният кап на
   илюстрацията. Височината на илюстрацията идва от ШИРИНАТА ѝ, значи
   максимумът ѝ е 100% от листа — вертикален въздух не я увеличава.
   Остава само едно нещо от правилото, защото не струва нищо на тази ширина:
   кегелът на увода е вързан за ширината. Над ~378px --t5 е по-малкото и нищо
   не се мени; на 360 уводът иначе взима ПЕТИ ред, а на 320 — седми. */
@media(max-width:480px){
  .s-hero .plate{max-width:none}
}

/* 64 · ОТМЕНЕНО · 17.09 -------------------------------------------------
   Бутонът беше махнат на телефон и мястото му остана като въздух, за да не
   се вдигне лентата „500+". Георги го видя на живо: 128px празно между
   рисунката и лентата изглеждат по-лошо от самия бутон. Затова бутонът се
   връща и заема мястото си — оригиналният дизайн.
   Другият изход беше разстоянието да падне на 70px, тъй че чертата да се
   подава на ръба, а цифрите да останат зад адресното хапче на Safari. Той
   отпадна по моя препоръка: тези 70px са сметнати за един телефон в едно
   състояние. Хапчето се мени при скрол, различно е на Android и в пейзаж.
   Бутонът не зависи от нищо такова. */
/* Кегелът на увода беше вързан за ширината (min(--t5, 5.55vw)), за да не
   взима пети ред под 378px. Отменено по решение на Георги, 17.09: размерите
   се връщат както бяха. На 402 · 390 · 430 то и без това не правеше нищо.
   Остава като факт за после: на 360 уводът е 5 реда, а на 320 — СЕДЕМ.
   Вертикално вече няма значение, защото бутонът на телефон пада; това е
   въпрос само на типография. */

/* 63 · ГЛАВНИЯТ БУТОН ЛЯГА НА ЛИНИЯ · 17.09 ------------------------------
   Бутонът си взимаше ширината от надписа, затова десният му ръб падаше където
   дойде: мерено, между 2.05 и 5.62 полета — тоест никога на линия. На телефон
   (под 421px) той е на цялата ширина, значи вече лежи на дванайсетата линия;
   несъответствието беше само нагоре оттам.
   Правилото не е число по лента, а изискване: НАЙ-ТЯСНАТА ЦЯЛА ШИРИНА ОТ
   ПОЛЕТА, в която надписът се събира. Надписът „Покажи ми как ↓" мери 137px,
   кантът е 2px, а най-тесният падинг, който Георги прие на 1024, е 13px —
   оттам долната граница 165px. Закръглянето нагоре до цяло поле дава:
      1440 → 2 полета = 201px      (избраното)
      1240 → 2 полета = 189px
      1040 → 3 полета = 238px      (там полето е 79px и две не стигат)
      1024 → 3 полета = 165px      (избраното)
       820 → 3 полета = 165px
       700 → 4 полета = 214px
       430 → 6 полета = 195px
   Ширината е цяла, затова надписът се центрира — същият вид, който телефонът
   вече има. Редът с `width:auto` е стълбата назад: браузър без round() го
   запазва и бутонът остава както беше.
   Полето се мери от --colw-abs, НЕ от --colw: вътре в бутона процентът на
   --colw се мери спрямо неговата колона, не спрямо листа, и полето излиза
   наполовина (мерено: 45px вместо 101 при 1440). Близнакът ползва 100vw.
   Едно следствие: там, където лентата за скролване заема място (Windows,
   Linux с класически ленти), 100vw е с нейната ширина по-голямо от 100% и
   полето се разминава с ~1.2px. Файлът и досега приема това — --sheetw и
   --bleed са на същата основа.
   Обхватът е САМО героят на началната; другите .cta не се пипат. */
@media(min-width:421px){
  .s-hero .hero-ctas .cta{
    --field:calc(var(--colw-abs)/12);
    width:auto;
    width:round(up, 165px, var(--field));
    padding-inline:var(--s2);
    text-align:center;
  }
}

/* 58 · ЖЪЛТОТО НЕ ЧЕРТАЕ КОСЪМ · 10.09 → ОТМЕНЕНО ОТ 61 · 11.09 ------------
   Правилото гласеше: жълтото е или 3px, или плътно поле. Оказа се половин
   стъпка. Мерено, #FFD801 върху хартия е 1.27:1 — при 3px то е също толкова
   невидимо, колкото при 2px. Не дебелината е проблемът, а подложката.
   Затова правило 61 казва по-простото и по-вярното: НА ХАРТИЯ ЖЪЛТОТО МОЖЕ
   ДА Е САМО ПОЛЕ. Дребните знаци минават на мед и в двете теми, а трите
   правила, които уголемяваха невидими жълти чертички, отпадат. */

/* 59 · ПЛОЧАТА С ЛОГОТО СТОИ НА ЛЕВИЯ РЪБ И ДЪРЖИ СВОИТЕ ЧЕТИРИ ПОЛЕТА
   10.09.2026 -------------------------------------------------------------
   Над 1040 плочата заема полета 8–12 — точно четири от дванайсет, тоест 33%
   от колоната. Под 1040 подредбата се разгъва в един стълб и плочата остава
   с фиксирани 403px, центрирана. Мерено, делът ѝ става:

       1040 → 33%    1039 → 42%    900 → 49%    820 → 54%
        700 → 63%     560 → 79%    430 → 100%   390 → 100%

   Един и същ предмет е четвъртинка на плота и билборд на телефона. И през
   цялото време е ЦЕНТРИРАН — единственият центриран предмет на страница,
   построена изцяло върху ляв ръб: заглавие, увод, проза, значки и веригата
   тръгват от полева линия 0, а плочата виси в средата. Това не се вижда по
   числа; вижда се от пръв поглед.

   Затова под чупката плочата прави две неща, които всеки друг предмет прави:
   ляга на левия ръб и държи СВОИТЕ ЧЕТИРИ ПОЛЕТА (33.33% от колоната).
   При 1039 това дава 317px — на един пиксел от 318-те при 1040, тъй че през
   чупката нищо не подскача.
   Подът е 200px: под него плочата спира да е знак и става бележка. Хваща
   едва под 600px ширина, където така или иначе е най-широкото нещо на листа.
   Над чупката контейнерът ВЕЧЕ е четирите полета, тъй че там процентът се
   мери спрямо него и правилото не важи — плочата пълни контейнера си. */
@media(max-width:1039px){
  .yd-logo svg{width:clamp(200px,33.33%,403px);margin-inline:0}
}

/* 60 · РЕЙКАТА С ЩРИХИ ОТПАДА ПОД ЧУПКАТА · 10.09.2026 --------------------
   Забележка на Георги върху телефона: чертата вляво на абзаците „не се връзва,
   излишна е". Права е, и ето с какво:

   · На ПЛОТА я няма изобщо. Там разказът е двуколонно каре с рамка, а
     `.shead-split .stack>p::before` изключва щриха. Тоест рейката не е част
     от системата — тя е останала само на тесния лист, от по-ранна визия.
   · Повтаря казаното. Че четирите абзаца са една редица, вече го казват
     общата глава отгоре, еднаквият отстъп между тях (--s5) и по-тъмният
     първи абзац. Знакът добавя четвърто изречение на същата тема.
   · Не мери нищо. Кота в чертеж обхваща РАЗМЕР; тази обхваща блок проза.
   · И се плаща в мярката: 22px отстъп при колона от 290 е 7% от реда,
     похарчени за украса — а мярката е това, което прави текста четим.

   Отпада и отстъпът заедно с нея: без рейка индентът няма какво да отмери,
   а абзаците застават на един ляв ръб със заглавието и увода над тях.
   Един знак, една работа — а тук работата вече беше свършена. */
@media(max-width:1039px){
  .stack{padding-left:0}
  .stack::before,.stack>p::before{content:none}
}

/* ==========================================================================
   61 · КОРИЦАТА Е ТЯХНО ПОЛЕ · 11.09.2026
   --------------------------------------------------------------------------
   Правилото на листа: ТЯХНОТО ПОЛЕ, НАШИЯТ ЧЕРТЕЖ.
   Жълтото никога не е буква и никога не е косъм — само плътно поле. Там,
   където се яви, листът се отдава ИЗЦЯЛО: тяхно поле, наше мастило, наш
   шрифт, нашата решетка. Между полетата страницата е нашата хартия.
   Две полета, на двата края, където листът говори в първо лице: корицата и
   акцентната лента. Всичко помежду им е чертеж.
   Числата, които позволяват това и нищо друго:
     нашето мастило върху техния жълт   8.87:1  ✔ AAA
     техният жълт върху нашата хартия   1.27:1  ✗ невъзможно
   ========================================================================== */

/* --- 1 · полето: един клас, който всяка секция може да сложи ------------- */
.p-yd .yd-field{
  background:var(--c-yd);
  box-shadow:none;
  --fg:var(--c-ink); --fg-head:var(--c-ink); --fg-muted:var(--c-ink);
  --fg-strong:var(--c-ink); --fg-faint:var(--c-ink);
  --accent:var(--c-ink); --accent-soft:var(--c-ink); --accent-ink:var(--c-yd);
  --accent-tick:rgba(29,29,27,.45);
  --rule:rgba(29,29,27,.22); --rule-strong:rgba(29,29,27,.34);
  --tick:rgba(29,29,27,.42);
  --bg:var(--c-yd); --bg-raised:var(--c-yd); --bg-sunken:var(--c-yd);
  --grid-line:rgba(29,29,27,.07);
}
/* Полето е ПРЕДМЕТ, не повърхност: не сменя цвят с темата. */
:root[data-theme="dark"] .p-yd .yd-field{background:var(--c-yd)}

/* --- 2 · корицата ------------------------------------------------------- */
/* ПОПРАВЕНО 11.09 · долната подложка беше НУЛА, защото лентата с трите
   числа държеше отстоянието отдолу. Щом лентата отпадна, жълтото поле
   свърши ТОЧНО на ръба на бутона — плочата изглеждаше срязана през него.
   Плочата държи еднакъв въздух горе и долу; знакът и действието стоят
   вътре в нея, не на ръба ѝ. */
.p-yd .pagehead.yd-field{padding-top:var(--s8);padding-bottom:var(--s8)}
/* Плочата отстъпва: целият лист Е плочата. Оттам знакът им идва в мастило —
   а тяхното основно заключване Е логото в черно върху жълто. */
.p-yd .ydmark{display:block}
.p-yd .ydmark .ydmark-plate{display:block;width:auto;margin-bottom:var(--s5)}
/* Изрезът е ТОЧНАТА кутия на мастилото, мерена на живо: x 330.1→1589.8,
   y 188.6→891.4. Предишният (367 100 1186 880) режеше по 37px от двете
   страни — това се виждаше като „нещо го реже".
   Размерът се дава в ДЯЛОВЕ ОТ КОЛОНАТА, не в пиксели, за да следва
   решетката: на плота три полета от дванайсет (25%); на таблет половина;
   на телефон цялата колона — там знакът Е корицата. */
.p-yd .ydmark .ydmark-plate svg{width:100%;height:auto;color:var(--c-ink)}
@media(min-width:701px){ .p-yd .ydmark .ydmark-plate svg{width:45%} }
@media(min-width:1040px){ .p-yd .ydmark .ydmark-plate svg{width:25%} }
.p-yd .ydmark .ydmark-line{
  display:block;font-size:var(--t2);letter-spacing:.05em;color:var(--c-ink);
}
.p-yd .ydmark::after{content:none}
/* Бутонът на корицата: мастилен контур върху жълто; при посочване се напълва. */
.p-yd .yd-field .cta-ghost{border-color:var(--c-ink);color:var(--c-ink);background:transparent}
.p-yd .yd-field .cta-ghost:hover{background:var(--c-ink);color:var(--c-yd)}
.p-yd .yd-field .cta-ghost:hover .chev{color:var(--c-yd)}
/* Мрежата на чертожната хартия остава — но в мастило, не в синьо. */
.p-yd .yd-field.gridded{background-image:none}

/* --- 3 · шевът между жълто и хартия ------------------------------------- */
/* Между поле и хартия няма нужда от черта: смяната на полето Е чертата. */
.p-yd .yd-field + .sheet{border-top:0}

/* --- 5 · плочата на лист 03 отпада -------------------------------------
   Щом корицата носи знака им, плочата в средата е трето жълто и повторение.
   Две полета са ритъм; три са разпръснатост. Листът остава с това, за което
   е: какво е това нещо, в думи, плюс четирите факта вдясно. */
.p-yd .yd-logo{display:none}
@media(min-width:1040px){
  /* Главата и прозата си остават на редове 1 и 2 в лявата половина — с
     логото скрито, веригата вдясно просто ОБХВАЩА двата реда, за да тръгне
     от горния ръб на главата, вместо да увисва под празен ред.
     (Първият ми опит слагаше главата И прозата на ред 1 — двете легнаха
     една върху друга. Затова всяка промяна в решетка се гледа с очи.) */
  /* Веригата се връща на ред 2: горе вдясно пак стои предмет. */
  .p-yd .yd-what .chain-flat{grid-row:2;grid-column:8/-1}
}

/* 62 · АКЦЕНТНАТА ЛЕНТА Е ТЯХНО ПОЛЕ · 11.09.2026 -----------------------
   Мерено: Yellow Door имат ТОЧНО два цвята — #FFD801 и #1D1D1B, върху бяло.
   Няма тинтове, няма стълбица. „Жълта гама" няма какво да заемем; всяка,
   която построим, ще е наша, измислена и представена като тяхна.
   Затова жълтото влиза така, както САМИТЕ ТЕ го ползват: като плътно поле.
   Числата позволяват точно това и нищо друго:
     нашето мастило върху техния жълт   8.87:1  ✔ AAA
     техният жълт върху нашата хартия   1.27:1  ✗ невъзможно
   Тоест жълтото не може да е буква или косъм на хартия, но носи целия ни
   текст, щом е поле. Лентата — единственото място на листа, което вече
   говори по-високо — става тяхна изцяло: тяхното поле, нашият шрифт, нашето
   мастило. Един лист от единайсет; ако станат повече, спира да е акцент. */
.yd-page .mission{
  background:var(--c-yd);
  box-shadow:none;
  /* На тяхното поле — ЕДНО мастило. Всяка прозрачност над топъл жълт дава
     кафяво, а кафявото не е техен цвят и не е наш. Йерархията е по кегел и
     тежест, както е в самото им лого. */
  --fg:var(--c-ink); --fg-head:var(--c-ink); --fg-muted:var(--c-ink);
  --fg-strong:var(--c-ink); --fg-faint:var(--c-ink);
  --rule-strong:rgba(29,29,27,.34); --tick:rgba(29,29,27,.42);
  --accent:var(--c-ink); --accent-soft:var(--c-ink);
}


/* 63 · МОСТЪТ ОТ НАШИЯ САЙТ НОСИ ТЯХНОТО ПОЛЕ · 11.09.2026 -------------
   Карето на /polia е единственото място в НАШИЯ сайт, което говори за Yellow
   Door. Днес е нашата повдигната повърхност с жълт ляв ръб — тоест изглежда
   като всяко друго наше каре, само с цветна ивица. Щом жълтото поле е знакът
   на партньора, мостът е точно мястото да го носи: човек вижда чуждата
   територия ПРЕДИ да е кликнал.
   Мастилото пак е нашето (8.87:1). Бутонът вътре обръща тоновете — мастилено
   поле върху жълто — за да остане действието най-тъмното нещо в карето. */
.crossref{
  background:var(--c-yd);
  border-left:0;
  box-shadow:none;
  --fg:var(--c-ink); --fg-head:var(--c-ink); --fg-muted:var(--c-ink);
  --fg-strong:var(--c-ink); --fg-faint:var(--c-ink);
  --bg-raised:var(--c-yd);
}
.crossref .cta{
  background:var(--c-ink);color:var(--c-yd);border-color:var(--c-ink);
}
.crossref .cta:hover{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}
.crossref .cta .chev{color:var(--c-yd)}
.crossref .cta:hover .chev{color:var(--c-ink)}


/* 64 · КОРИЦАТА СЕ СЪБИРА ПОД ШАПКАТА · 11.09.2026 ------------------------
   Мерено на живо, преди поправката:

     1440×900  шапка 75 · корица 754 · място 825  → събира се
     1440×760  шапка 75 · корица 754 · място 685  → НЕ, липсват  69px
     1280×700  шапка 75 · корица 710 · място 625  → НЕ, липсват  85px
     1180×650  шапка 75 · корица 729 · място 575  → НЕ, липсват 154px

   Тоест на обикновен лаптоп корицата е по-висока от прозореца. Щом е
   по-висока, при първото побутване на колелцето лепкавата шапка отрязва
   ПЪРВОТО нещо отгоре — а първото нещо е знакът им. Оттам „реже се".
   Виновникът не е шапката: тя си върши работата. Виновна е височината.

   Затова вертикалният ритъм на корицата спира да е само в пиксели и почва
   да гледа и височината на прозореца: подложката, отстоянието под знака и
   самият знак взимат по-малката от двете мерки. На висок екран нищо не се
   променя (min() пази старите стойности); на нисък всичко се свива заедно,
   вместо знакът да бъде отрязан.
   Само над 1040: на телефон корицата ЛЕГИТИМНО се превърта — там знакът е
   голям нарочно.

   ДОПЪЛНЕНО 11.09 · лентата с трите числа (24/7 · 2 · 1) отпадна по решение
   на Георги — с нея си отиват 124px и корицата вече се събира на всяка
   лаптопна височина без насилие. Затова таваните са разхлабени: на висок
   екран знакът пази своите три полета непокътнати, а стягането почва едва
   там, където наистина трябва. */
@media(min-width:1040px){
  .p-yd .pagehead.yd-field{padding-top:min(var(--s8),9.5vh);padding-bottom:min(var(--s8),9.5vh)}
  .p-yd .ydmark{margin-bottom:min(var(--s6),4.6vh)}
  .p-yd .ydmark .ydmark-plate svg{width:min(25%,34vh)}
  /* `.shead` НЕ се пипа: на корицата отстоянието му вече е нула и всяко
     число тук само я УДЪЛЖАВА. Проверено с мерка, не по усет. */
  .p-yd .pagehead .cta-btns{margin-top:min(var(--s7),7vh)}
}


/* 65 · КОНТЕЙНЕРНИЯТ ОБЕКТ НА ЛИСТ 03 · 11.09.2026 -------------------------
   На мястото на плочата с логото (която отиде на корицата) идва самият
   ПРЕДМЕТ: контейнерният обект, отворен през нощта. Чертежът му вече го
   имаме — `презентации/_генератор/night_illo.js`, откъдето е взет само
   контейнерът (cx 165 · cy 380 · cw 300 · ch 185), без нощната сцена
   наоколо. Същите числа, същата палитра; вратата в средата е жълтата им
   врата — тоест продуктът стои буквално в средата на илюстрацията.
   Обемът е ПРЕДМЕТ, не повърхност: нощен е и в двете теми, както плочата
   и телефонът. Четири полета широк (8→12), горе вдясно, срещу главата. */
/* 15.09 · Под 1040 рисунката оставаше 100% от колоната — банер. На плот е
   33% от листа, тоест ВЪЗЕЛ до текста. Езикът на сайта е чертеж: възелът не
   става банер само защото решетката се е изключила. Таван 480px я държи
   възел; под ~480 колоната сама я ограничава (при 390 → 350px). */
.yd-unit{margin:0;max-width:480px}
@media(min-width:1040px){ .yd-unit{max-width:none} }
.yd-unit-svg{display:block;width:100%;height:auto}
@media(min-width:1040px){
  .yd-what .yd-unit{grid-row:1;grid-column:8/12;align-self:start;margin:0}
}
