/* ═══════════════════════════════════════════════
   Дигитална кантора · Цветелина Ангелова · v0.6
   Типографска скала, фиксирана. Никакви случайни размери.
   ═══════════════════════════════════════════════ */

/* ═══════════ ШРИФТОВЕ ═══════════
   Стоят на сървъра на кантората, не при Google.

   Дотук всяка страница теглеше шрифтовете от fonts.googleapis.com и
   fonts.gstatic.com. Това значи, че браузърът на всеки посетител —
   включително човек, който тъкмо е отворил сайта заради изпълнително
   дело — изпращаше IP адреса си на Google, преди да е натиснал нищо.
   За сайт на адвокат това е неудобно да се обяснява в политиката за
   поверителност, а е излишно: файловете тежат 232 KB и могат да стоят
   тук. Сега сайтът не прави нито една заявка навън.

   Шрифтовете са под SIL Open Font License 1.1 — самостоятелното
   хостване е изрично позволено. Лицензите се качват заедно с тях, в
   assets/shriftove/, защото OFL го изисква.

   unicode-range дели всеки шрифт на кирилица и латиница: браузърът
   тегли само нужното. На българска страница латиницата изобщо не се
   сваля, ако на нея няма латински букви.

   font-display:swap — текстът се чете веднага с резервния шрифт и се
   пребоядисва, когато нашият пристигне. Без него страницата стои
   празна, докато шрифтът се тегли. */

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-cyrillic-300-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-latin-300-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-cyrillic-400-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-cyrillic-500-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-latin-500-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-cyrillic-600-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;
  font-display:swap;src:url(/assets/shriftove/cormorant-garamond-latin-600-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Inter";font-style:normal;font-weight:300;
  font-display:swap;src:url(/assets/shriftove/inter-cyrillic-300-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:300;
  font-display:swap;src:url(/assets/shriftove/inter-latin-300-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Inter";font-style:normal;font-weight:400;
  font-display:swap;src:url(/assets/shriftove/inter-cyrillic-400-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;
  font-display:swap;src:url(/assets/shriftove/inter-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Inter";font-style:normal;font-weight:500;
  font-display:swap;src:url(/assets/shriftove/inter-cyrillic-500-normal.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;
  font-display:swap;src:url(/assets/shriftove/inter-latin-500-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ivory:#F6F3EE; --champ:#D6B98A; --bronze:#9A7352; --bronze-dk:#5E4636;
  --graphite:#151719; --navy:#0B1621; --blue:#9DBDCE;

  --bg:var(--ivory); --bg-2:#EFE9E0; --paper:#FFFDFA;
  --ink:#1B1916; --ink-2:#6A6259; --ink-3:#9C9489;
  --rule:rgba(94,70,54,.15); --rule-2:rgba(94,70,54,.30);
  --acc:var(--bronze); --acc-soft:rgba(214,185,138,.18);
  --veil:linear-gradient(180deg,rgba(246,243,238,.24),rgba(246,243,238,.80) 58%,var(--ivory));

  --f-d:"Cormorant Garamond",Georgia,serif;
  --f-u:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  /* ── типографска скала ──
     Един размер на роля. Няма два h2 с различен размер. */
  --t-display: clamp(2.6rem, 5.4vw, 4.6rem);   /* h1 на сцена */
  --t-h1:      clamp(2.3rem, 4.4vw, 3.7rem);
  --t-h2:      clamp(1.75rem, 3vw, 2.5rem);
  --t-h3:      clamp(1.08rem, 1.5vw, 1.28rem);
  --t-quote:   clamp(1.25rem, 2.1vw, 1.72rem); /* цитат — по-малък, за да се чете */
  --t-lead:    clamp(1.04rem, 1.35vw, 1.2rem);
  --t-body:    17px;
  --t-small:   .88rem;
  --t-cap:     .8rem;
  --t-eyebrow: .69rem;

  --lh-tight:1.08; --lh-head:1.16; --lh-body:1.7; --lh-lead:1.62;

  --max:1280px; --read:66ch; --narrow:74ch;
  --gut:clamp(20px,5vw,72px);
  --sec:clamp(60px,8.5vw,132px);
  --r:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --t1:.45s; --t2:.7s;
}

[data-mode="night"]{
  --bg:var(--navy); --bg-2:#0E1B27; --paper:#122030;
  --ink:#EDE7DE; --ink-2:#A8A096; --ink-3:#6D685F;
  --rule:rgba(214,185,138,.16); --rule-2:rgba(214,185,138,.32);
  --acc:var(--champ); --acc-soft:rgba(214,185,138,.10);
  --veil:linear-gradient(180deg,rgba(11,22,33,.30),rgba(11,22,33,.80) 58%,var(--navy));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:400 var(--t-body)/var(--lh-body) var(--f-u);
  transition:background var(--t2) var(--ease),color var(--t2) var(--ease);
  overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:var(--f-d);font-weight:400;margin:0;letter-spacing:-.008em;
  /* български: дълги думи не се режат, а се пренасят цели */
  overflow-wrap:break-word;hyphens:manual}
h1{font-size:var(--t-h1);line-height:var(--lh-tight)}
h2{font-size:var(--t-h2);line-height:var(--lh-head)}
h3{font-size:var(--t-h3);line-height:1.3;font-weight:600}
p{margin:0 0 1.1em}

.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;
  background:var(--paper);padding:12px 20px;z-index:300;border:1px solid var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

.eyebrow{font-family:var(--f-u);font-size:var(--t-eyebrow);font-weight:500;letter-spacing:.26em;
  text-transform:uppercase;color:var(--acc);margin:0 0 1.1em;line-height:1.5}
.lead{font-size:var(--t-lead);line-height:var(--lh-lead);color:var(--ink-2);max-width:52ch}
.hint{font-size:var(--t-small);line-height:1.6;color:var(--ink-3);max-width:58ch}
.hint.center{max-width:none;text-align:center}
.dim{color:var(--ink-3)}
.center{text-align:center}

/* вътрешни маркери — само във вътрешната версия */
.flag,.dev{font-size:var(--t-cap);color:var(--bronze-dk);max-width:var(--max);
  margin:0 auto 1.4em;padding:0 var(--gut)}
.flag span{display:inline-block;font-size:.66rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;border:1px solid var(--rule-2);border-radius:var(--r);
  padding:2px 9px;margin-right:10px}
.dev-tag{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-dk)}

/* ─── лента ─── */
.bar{position:fixed;inset:0 0 auto;z-index:120;display:flex;align-items:center;
  gap:clamp(16px,3vw,52px);padding:22px var(--gut);border-bottom:1px solid transparent;
  transition:padding var(--t1) var(--ease),background var(--t1),border-color var(--t1)}
.bar.tight{padding:10px var(--gut);border-bottom-color:var(--rule);
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(20px) saturate(1.3)}
.mark{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.mono{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;
  border:1px solid var(--rule-2);font-family:var(--f-d);font-size:.9rem;color:var(--acc);
  transition:background var(--t1),border-color var(--t1)}
.mark:hover .mono{background:var(--acc-soft);border-color:var(--acc)}
.mark-t{display:flex;flex-direction:column;line-height:1.24}
.mark-t b{font-family:var(--f-d);font-size:1rem;font-weight:600;white-space:nowrap}
.mark-t i{font-style:normal;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.menu{display:flex;gap:clamp(14px,2.2vw,34px);flex:1;font-size:.81rem;letter-spacing:.04em}
.menu a{position:relative;padding:6px 0;color:var(--ink-2);white-space:nowrap;transition:color var(--t1)}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--acc);transition:right var(--t1) var(--ease)}
.menu a:hover,.menu a[aria-current]{color:var(--ink)}
.menu a:hover::after,.menu a[aria-current]::after{right:0}
.bar-r{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.mode{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
  border:1px solid var(--rule);border-radius:20px;padding:6px 13px;transition:border-color var(--t1),color var(--t1)}
.mode:hover{border-color:var(--acc);color:var(--acc)}
.mode .m-n{display:none}
[data-mode="night"] .mode .m-d{display:none}
[data-mode="night"] .mode .m-n{display:inline}
.cta-sm{font-size:.75rem;letter-spacing:.08em;padding:9px 19px;border-radius:22px;
  border:1px solid var(--acc);color:var(--acc);white-space:nowrap;transition:background var(--t1),color var(--t1)}
.cta-sm:hover{background:var(--acc);color:var(--paper)}
[data-mode="night"] .cta-sm:hover{color:var(--navy)}

/* ─── сцена ─── */
.stage{position:relative;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;
  min-height:min(90vh,820px);padding:0 var(--gut) clamp(52px,7vw,100px)}
.stage-home{min-height:min(94vh,880px)}
.stage-mid{min-height:min(66vh,560px)}
.stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.02)}
.stage-veil{position:absolute;inset:0;z-index:-1;background:var(--veil)}
.stage-warm .stage-img{filter:saturate(1.06) brightness(1.02)}
[data-mode="night"] .stage-img{filter:brightness(.6) saturate(.85)}
.stage-in{max-width:var(--max);width:100%;margin:0 auto}
.stage-in h1{font-size:var(--t-display);max-width:15ch;margin-bottom:.26em}
.stage-in .lead{margin-bottom:0}
.scroll-h{position:absolute;right:var(--gut);bottom:32px;font-size:.6rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ink-3);writing-mode:vertical-rl}
.jump{display:inline-flex;align-items:center;gap:12px;margin-top:1.8em;font-size:.88rem;
  letter-spacing:.04em;color:var(--acc);border-bottom:1px solid var(--rule-2);
  padding-bottom:8px;transition:gap var(--t1) var(--ease),border-color var(--t1)}
.jump:hover{gap:22px;border-color:var(--acc)}

/* ─── заглавия без сцена ─── */
.head-1,.head-2{max-width:var(--max);margin:0 auto var(--sec);padding:clamp(30px,5vw,70px) var(--gut) 0}
.head-1{max-width:min(var(--max),80ch)}
.head-2{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(26px,5vw,72px);align-items:center}
.head-t h1{margin-bottom:.28em}
.fig{margin:0;overflow:hidden;border-radius:var(--r);background:var(--bg-2)}
.fig img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.4s var(--ease)}
.fig:hover img{transform:scale(1.03)}

/* ─── двата свята ─── */
.worlds{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);margin-bottom:var(--sec)}
.world{position:relative;display:block;min-height:clamp(380px,48vw,580px);overflow:hidden;background:var(--bg)}
.world img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);
  filter:saturate(.74) brightness(1.02);transition:transform 1.5s var(--ease),filter var(--t2)}
.world::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,12,6,.04) 32%,rgba(18,12,6,.66));transition:background var(--t2)}
.w-in{position:absolute;inset:auto 0 0;z-index:2;padding:clamp(24px,3.2vw,50px);color:#FCF8F2}
.w-k{display:block;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.85em}
.w-h{display:block;font-family:var(--f-d);font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08;margin-bottom:.3em}
.w-d{display:block;max-width:34ch;font-size:.92rem;line-height:1.6;color:rgba(252,248,242,.76);
  opacity:0;max-height:0;overflow:hidden;transition:opacity var(--t2),max-height var(--t2) var(--ease)}
.w-go{display:block;margin-top:1em;font-size:.78rem;letter-spacing:.12em;
  opacity:0;transform:translateY(6px);transition:opacity var(--t1) .1s,transform var(--t1) .1s}
.world:hover img,.world:focus-visible img{transform:scale(1.09);filter:saturate(.92) brightness(1)}
.world:hover::after{background:linear-gradient(180deg,rgba(18,12,6,.10) 22%,rgba(18,12,6,.76))}
.world:hover .w-d,.world:focus-visible .w-d{opacity:1;max-height:9em}
.world:hover .w-go,.world:focus-visible .w-go{opacity:1;transform:none}
.w-a .w-k,.w-a .w-go{color:var(--blue)}
.w-m .w-k,.w-m .w-go{color:var(--champ)}

/* ─── кредо (беше „цитат“) ─── */
.credo{max-width:min(var(--max),78ch);margin:0 auto var(--sec);padding:0 var(--gut);text-align:center}
.credo blockquote{margin:0;font-family:var(--f-d);font-weight:300;
  font-size:var(--t-quote);line-height:1.52;color:var(--ink);max-width:64ch;
  margin-inline:auto;text-wrap:pretty}
.sig{margin-top:1.5em;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}

/* ─── лента текст + кадър ─── */
.band{max-width:var(--max);margin:0 auto var(--sec);padding:0 var(--gut);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(26px,5vw,76px);align-items:center}
.band-rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.band-i{margin:0;overflow:hidden;border-radius:var(--r)}
.band-i img{width:100%;aspect-ratio:5/4;object-fit:cover;transition:transform 1.4s var(--ease)}
.band-i:hover img{transform:scale(1.03)}
.band-i.sm{max-width:260px}
.band-i.sm img{aspect-ratio:3/2;object-fit:contain;background:var(--bg-2)}
.band-t h2{margin-bottom:.5em}
.band-t .btn{margin-top:1.4em}
.pull-q{font-family:var(--f-d);font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.55;
  color:var(--ink);max-width:44ch}

/* ─── развилка ─── */
.fork{max-width:var(--max);margin:0 auto var(--sec);padding:0 var(--gut);
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(26px,5vw,72px);align-items:start}
.fork-t h2{margin-bottom:.4em}
.fork-2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);margin-bottom:34px}
.fk{background:var(--bg);padding:26px 22px;border-top:2px solid var(--rule-2);
  transition:border-color var(--t2),background var(--t1)}
.fk:hover{background:var(--paper)}
.fk-a:hover{border-top-color:var(--blue)}
.fk-m:hover{border-top-color:var(--champ)}
.fk-k{display:block;font-family:var(--f-d);font-size:1.5rem;margin-bottom:.3em}
.fk-d{display:block;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);line-height:1.7}
.cmp{width:100%;border-collapse:collapse;font-size:.9rem}
.cmp thead th{font-family:var(--f-u);font-size:.64rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);padding-bottom:12px}
.cmp th[scope=row]{font-family:var(--f-u);font-weight:400;font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);padding:16px 10px;white-space:nowrap;vertical-align:middle}
.cmp td{padding:16px 10px;width:37%;color:var(--ink-2);line-height:1.5;vertical-align:middle}
.cmp tbody tr+tr td,.cmp tbody tr+tr th{border-top:1px solid var(--rule)}
.c-a{text-align:right}
.c-m{text-align:left;color:var(--bronze)}
[data-mode="night"] .c-m{color:var(--champ)}
.fork .hint{margin-top:20px}

/* ─── навигатор ─── */
.ask{max-width:var(--max);margin:0 auto;padding:0 var(--gut) clamp(40px,5vw,76px)}
.ask-f{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;
  border-bottom:1px solid var(--rule-2);padding-bottom:18px;transition:border-color var(--t1)}
.ask-f:focus-within{border-color:var(--acc)}
.ask-f textarea{flex:1 1 340px;min-width:0;border:0;background:none;resize:vertical;padding:0;
  font-family:var(--f-d);font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.4}
.ask-f textarea:focus{outline:none}
.ask-f textarea::placeholder{color:var(--ink-3);opacity:.62}

.entries{max-width:var(--max);margin:0 auto;padding:0 var(--gut) var(--sec)}
.ent{display:grid;grid-template-columns:auto minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(14px,3vw,44px);padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--rule);
  align-items:start;transition:background var(--t1)}
.ent:last-child{border-bottom:1px solid var(--rule)}
.ent.hit{background:var(--acc-soft)}
.ent-n{font-family:var(--f-d);font-size:1.1rem;color:var(--ink-3);margin:0;padding-top:.35em;min-width:2ch}
.ent h2{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:.24em}
.ent-h p{color:var(--ink-2);font-size:.92rem;margin:0}
.chain{list-style:none;margin:0 0 1.2em;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.chain li{position:relative;font-size:.84rem;color:var(--ink-2);padding:5px 18px 5px 0;white-space:nowrap}
.chain li:not(:last-child)::after{content:"→";position:absolute;right:3px;color:var(--ink-3);font-size:.76rem}
.ent-go{display:inline-flex;gap:10px;font-size:.84rem;color:var(--acc);
  border-bottom:1px solid transparent;padding-bottom:4px;transition:gap var(--t1) var(--ease),border-color var(--t1)}
.ent-go:hover{gap:20px;border-color:var(--acc)}

/* ─── правна карта ─── */
.map-wrap{max-width:960px;margin:0 auto var(--sec);padding:0 var(--gut)}
.map-wrap .eyebrow{margin-bottom:2.4em}
.map{position:relative}
.map svg{width:100%;height:auto;overflow:visible}
.ray{stroke:var(--rule-2);stroke-width:1;stroke-dasharray:230;stroke-dashoffset:230;
  animation:draw 1.5s var(--ease) .3s forwards;transition:stroke var(--t1),stroke-width var(--t1)}
@keyframes draw{to{stroke-dashoffset:0}}
.ray.on{stroke:var(--acc);stroke-width:1.6}
.dot{fill:var(--rule-2);transition:fill var(--t1),r var(--t1)}
.dot.on{fill:var(--acc);r:6}
.core{fill:none;stroke:var(--acc);stroke-width:1;opacity:.45}
.core-in{fill:var(--bg);stroke:var(--rule-2);stroke-width:1}
.core-t{font-family:var(--f-d);font-size:21px;fill:var(--ink)}
.nodes{list-style:none;margin:0;padding:0}
.nodes li{position:absolute;transform:translate(-50%,-50%);width:min(192px,30vw)}
.nodes a{display:block;text-align:center;padding:10px 6px;border-radius:var(--r);
  transition:background var(--t1),transform var(--t1) var(--ease)}
.nodes b{display:block;font-family:var(--f-d);font-size:1.06rem;font-weight:600;
  line-height:1.2;margin-bottom:4px}
/* описанията се виждат винаги — картата трябва да се разбира от пръв поглед */
.nodes span{display:block;font-size:.7rem;line-height:1.45;color:var(--ink-3)}
.nodes a:hover,.nodes a:focus-visible{background:var(--acc-soft);transform:translateY(-3px)}
.nodes a:hover span,.nodes a:focus-visible span{color:var(--ink-2)}

/* ─── общи ─── */
.crumbs{max-width:var(--max);margin:0 auto;padding:98px var(--gut) 0;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{color:var(--ink-3);transition:color var(--t1)}
.crumbs a:hover{color:var(--acc)}
.crumbs i{font-style:normal;margin:0 10px;opacity:.55}
.sec{max-width:var(--max);margin:0 auto;padding:0 var(--gut) var(--sec)}
.sec.narrow{max-width:min(var(--max),var(--narrow))}
.sec>h2{margin-bottom:.6em}
.prose{max-width:var(--read)}
.plain{list-style:none;margin:0;padding:0}
.plain li{padding:15px 0;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;letter-spacing:.1em;
  padding:15px 30px;border-radius:30px;border:1px solid var(--acc);color:var(--acc);
  transition:background var(--t1) var(--ease),color var(--t1),transform var(--t1) var(--ease)}
.btn:hover{background:var(--acc-soft);transform:translateY(-2px)}
.btn.primary{background:var(--bronze);border-color:var(--bronze);color:#FFF9F1}
.btn.primary:hover{background:var(--bronze-dk);border-color:var(--bronze-dk)}
[data-mode="night"] .btn.primary{background:var(--champ);border-color:var(--champ);color:var(--navy)}

/* път */
.path{list-style:none;margin:0;padding:0;position:relative;max-width:var(--read)}
.path::before{content:"";position:absolute;left:19px;top:16px;bottom:34px;width:1px;background:var(--rule)}
.path li{position:relative;padding:0 0 clamp(26px,3.2vw,44px) 62px}
.p-n{position:absolute;left:0;top:-1px;display:grid;place-items:center;width:39px;height:39px;
  border:1px solid var(--rule-2);border-radius:50%;background:var(--bg);font-size:.68rem;
  color:var(--acc);transition:border-color var(--t1),background var(--t1)}
.path li:hover .p-n{border-color:var(--acc);background:var(--acc-soft)}
.p-b h3{margin-bottom:.3em}
.p-b p{margin:0;color:var(--ink-2);font-size:.95rem}
.p-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px 26px;margin:16px 0 0}
.p-cols dt{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.p-cols dd{margin:0;font-size:.85rem;color:var(--ink-2);line-height:1.55}

/* факти */
.fx{margin:0}
.fx>div{padding:22px 0;border-top:1px solid var(--rule)}
.fx dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin-bottom:.5em}
.fx dd{margin:0;color:var(--ink-2);max-width:var(--read)}
.fx.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:0 36px}
.cost{margin-top:36px;padding:28px 30px;background:var(--bg-2);border-left:1px solid var(--acc);
  transition:background var(--t2);max-width:var(--read)}
.cost h3{margin-bottom:.5em}
.cost ul{margin:0;padding-left:20px;color:var(--ink-2)}
.cost li{margin-bottom:.45em}

/* три фронта */
.fronts{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:1px;background:var(--rule)}
.fr{position:relative;background:var(--bg);padding:36px 26px 30px;transition:background var(--t1)}
.fr::before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:var(--acc);
  transform:scaleY(0);transform-origin:top;transition:transform var(--t2) var(--ease)}
.fr:hover{background:var(--paper)}
.fr:hover::before{transform:scaleY(1)}
.fr-n{display:block;font-family:var(--f-d);font-size:1.8rem;color:var(--rule-2);margin-bottom:.35em}
.fr h3{margin-bottom:.45em}
.fr p{margin:0;color:var(--ink-2);font-size:.9rem}

/* ─── двете страни на спора ─── */
.duel{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(16px,3vw,40px);align-items:start}
.duel-c{padding-top:6px}
.duel-k{font-family:var(--f-d);font-size:clamp(1.3rem,2.2vw,1.75rem);margin:0 0 1em;
  padding-bottom:.5em;border-bottom:1px solid var(--rule-2)}
.duel-a .duel-k{border-bottom-color:var(--blue)}
.duel-b .duel-k{border-bottom-color:var(--bronze)}
.duel-b{text-align:right}
.duel-s{list-style:none;margin:0;padding:0;counter-reset:d}
.duel-s li{counter-increment:d;position:relative;padding:13px 0;font-size:.92rem;
  color:var(--ink-2);border-bottom:1px solid var(--rule);line-height:1.55}
.duel-axis{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:14px;
  align-self:stretch}
.ax-l{flex:1;width:1px;background:linear-gradient(180deg,transparent,var(--rule-2),transparent)}
.ax-d{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);
  writing-mode:vertical-rl;padding:8px 0}

.urgent,.pull{max-width:min(var(--max),68ch);margin:0 auto;padding:0 var(--gut) var(--sec);
  font-family:var(--f-d);font-weight:300;line-height:1.5}
.urgent{font-size:clamp(1.15rem,2vw,1.55rem);color:var(--bronze-dk)}
[data-mode="night"] .urgent{color:var(--champ)}
.pull{font-size:clamp(1.2rem,2.2vw,1.65rem);color:var(--ink-2)}

/* ─── медиация: мост ─── */
.p-med{--acc:var(--champ)}
.bridge{max-width:var(--max);margin:0 auto var(--sec);padding:0 var(--gut)}
.br-head{max-width:var(--narrow);margin-bottom:clamp(34px,5vw,64px)}
.br-head h2{margin-bottom:.4em}
.br{position:relative;display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,3fr) minmax(90px,.6fr);
  gap:clamp(14px,3vw,40px);align-items:center}
.br-side{position:relative;text-align:center}
.br-side span{display:inline-block;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-3);padding:14px 10px;border:1px solid var(--rule-2);border-radius:var(--r);
  background:var(--bg)}
.br-deck{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule-2);z-index:-1}
.br-steps{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--rule)}
.br-steps li{background:var(--bg);padding:24px 18px 22px;position:relative;
  transition:background var(--t1),transform var(--t1) var(--ease)}
.br-steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:var(--champ);transform:scaleX(0);transform-origin:left;
  transition:transform var(--t2) var(--ease)}
.br-steps li:hover{background:var(--paper);transform:translateY(-4px)}
.br-steps li:hover::before{transform:scaleX(1)}
.br-n{display:block;font-family:var(--f-d);font-size:.95rem;color:var(--champ);margin-bottom:.7em}
.br-b h3{font-size:1rem;margin-bottom:.4em;line-height:1.28}
.br-b p{margin:0;font-size:.85rem;line-height:1.6;color:var(--ink-2)}

.agrid{display:grid;gap:clamp(16px,2.4vw,28px)}
.agrid article{padding-top:18px;border-top:1px solid var(--champ)}
.agrid h3{margin-bottom:.32em}
.agrid p{margin:0;color:var(--ink-2);font-size:.91rem}
.faq{max-width:none}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:20px 34px 20px 0;
  font-family:var(--f-d);font-size:clamp(1.02rem,1.5vw,1.22rem);font-weight:600;
  line-height:1.35;transition:color var(--t1)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:26px;width:10px;height:10px;
  border-right:1px solid var(--acc);border-bottom:1px solid var(--acc);
  transform:rotate(45deg);transition:transform var(--t1) var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq summary:hover{color:var(--acc)}
.fa{padding:0 0 22px;color:var(--ink-2);font-size:.93rem}
.fa ul{padding-left:20px}
.fa li{margin-bottom:.45em}

/* ─── за мен ─── */
.p-about{--acc:var(--bronze)}
.portrait{max-width:var(--max);margin:0 auto var(--sec);padding:clamp(24px,4vw,56px) var(--gut) 0;
  display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(26px,5vw,72px);align-items:center}
/* Резервирана композиция за портрет. Не се слага чуждо лице. */
.pt-frame{position:relative;aspect-ratio:4/5;border:1px solid var(--rule-2);border-radius:var(--r);
  display:grid;place-items:center;background:var(--bg-2);overflow:hidden}
.pt-frame img{width:56%;opacity:.3;filter:saturate(.2)}
.pt-frame::after{content:"";position:absolute;inset:14px;border:1px solid var(--rule)}
.pt-t h1{font-size:var(--t-h1);margin-bottom:.5em}
.pt-q{margin:0;font-family:var(--f-d);font-weight:300;font-size:var(--t-quote);
  line-height:1.52;color:var(--ink-2);max-width:52ch;text-wrap:pretty}
.motto{font-family:var(--f-d);font-size:1.35rem;color:var(--acc);margin-top:1.4em}

/* ─── контакт ─── */
.p-con{--acc:var(--bronze)}
.book .bk{max-width:none}
.bk h2{margin-bottom:.3em}
.bk-g{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:1.5em}
.bk label,.bk-w{display:grid;gap:7px;font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3)}
.bk-w{margin-top:18px}
.bk input,.bk textarea{border:0;border-bottom:1px solid var(--rule-2);background:none;padding:10px 0;
  font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--ink);transition:border-color var(--t1)}
.bk input:focus,.bk textarea:focus{outline:none;border-color:var(--acc)}
.bk .btn{margin-top:26px}
.bk .hint{margin-top:18px}
.ways{max-width:var(--max);margin:0 auto;padding:0 var(--gut) var(--sec);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:1px;background:var(--rule)}
.way{background:var(--bg);padding:26px 22px;transition:background var(--t1),transform var(--t1) var(--ease)}
.way:hover{background:var(--paper);transform:translateY(-3px)}
.way b{display:block;font-family:var(--f-d);font-size:1.24rem;font-weight:600;margin-bottom:.2em}
.way span{font-size:.85rem;color:var(--ink-2)}
.way-viber{box-shadow:inset 2px 0 0 #7360F2}
.way-whatsapp{box-shadow:inset 2px 0 0 #25D366}
.way-tel{box-shadow:inset 2px 0 0 var(--blue)}
.way-mail{box-shadow:inset 2px 0 0 var(--champ)}
.visit h2{margin-bottom:.3em}
.mapbox{margin-top:22px;border:1px dashed var(--rule-2);padding:44px 20px;text-align:center;
  color:var(--ink-3);font-size:.86rem}

/* ─── следваща стъпка ─── */
.next{max-width:var(--max);margin:0 auto;padding:clamp(44px,6vw,88px) var(--gut);
  border-top:1px solid var(--rule);text-align:center}
.next h2{max-width:22ch;margin:0 auto .9em}
.siblings{max-width:var(--max);margin:0 auto;padding:0 var(--gut) var(--sec);
  display:flex;flex-wrap:wrap;gap:10px}
.siblings a{font-size:.76rem;letter-spacing:.05em;padding:10px 18px;border:1px solid var(--rule);
  border-radius:22px;color:var(--ink-2);transition:border-color var(--t1),color var(--t1)}
.siblings a:hover{border-color:var(--acc);color:var(--acc)}

/* ─── подвал ─── */
.foot{border-top:1px solid var(--rule);background:var(--bg-2);
  padding:clamp(44px,6vw,82px) var(--gut) 24px;transition:background var(--t2)}
.foot-in{max-width:var(--max);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:36px}
.foot-h{font-family:var(--f-d);font-size:1.06rem;font-weight:600;margin-bottom:.7em}
.foot p{margin:0 0 .4em;font-size:.85rem;color:var(--ink-2)}
.foot a{transition:color var(--t1)}
.foot a:hover{color:var(--acc)}
.foot-b{max-width:var(--max);margin:34px auto 0;padding-top:18px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.7rem;color:var(--ink-3)}
.sticky{display:none}

/* ─── завеса ─── */
.veil{position:fixed;inset:0;z-index:250;background:var(--navy);
  display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.veil[hidden]{display:none!important}
.veil.on{opacity:1;pointer-events:auto}
.veil video{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}

/* ─── появяване ─── */
[data-r]{opacity:0;transform:translateY(24px);
  transition:opacity var(--t2) var(--ease),transform var(--t2) var(--ease)}
[data-r].in{opacity:1;transform:none}
.ent[data-r],.fr,.agrid article,.way,.br-steps li{transition-delay:calc(var(--i,0)*60ms)}

/* ═══ адаптация ═══ */
@media(max-width:1080px){
  .fork{grid-template-columns:1fr;gap:34px}
  .nodes li{width:min(160px,26vw)}
  .nodes b{font-size:.95rem}
  .nodes span{font-size:.66rem}
}
@media(max-width:960px){
  .worlds,.head-2,.band,.band-rev,.portrait{grid-template-columns:1fr}
  .head-2 .fig,.portrait .pt-frame{order:-1}
  .band-rev .band-i{order:0}
  .pt-frame{max-width:340px;margin-inline:auto}
  .ent{grid-template-columns:auto 1fr;gap:12px 18px}
  .ent-p{grid-column:2}
  .duel{grid-template-columns:1fr}
  .duel-b{text-align:left}
  .duel-axis{flex-direction:row;width:100%;padding:6px 0}
  .duel-axis .ax-l{height:1px;width:auto;background:var(--rule-2)}
  .ax-d{writing-mode:horizontal-tb;padding:0 12px}
  .br{grid-template-columns:1fr;gap:20px}
  .br-deck{display:none}
  .br-side{display:flex;justify-content:center}
  .world{min-height:320px}
}
@media(max-width:760px){
  body{font-size:16px}
  .bar{flex-wrap:wrap;padding:11px var(--gut);gap:9px}
  .menu{order:3;width:100%;gap:16px;overflow-x:auto;font-size:.74rem;
    scrollbar-width:none;padding-bottom:2px}
  .menu::-webkit-scrollbar{display:none}
  .mark-t i,.cta-sm,.scroll-h{display:none}
  .crumbs{padding-top:84px}
  .stage,.stage-home{min-height:min(76vh,560px);padding-bottom:40px}
  .stage-mid{min-height:min(52vh,400px)}
  .stage-in h1{max-width:none}
  .map svg{display:none}
  .nodes{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule)}
  .nodes li{position:static;transform:none;width:auto}
  .nodes a{background:var(--bg);text-align:left;padding:18px 16px}
  .w-d,.w-go{opacity:1;max-height:none;transform:none}
  .cmp th[scope=row]{font-size:.58rem;padding:12px 4px}
  .cmp td{padding:12px 4px;font-size:.8rem}
  .fork-2{grid-template-columns:1fr}
  .path li{padding-left:52px}
  .p-n{width:34px;height:34px}
  .path::before{left:16px}
  .bk-g{grid-template-columns:1fr}
  .br-steps{grid-template-columns:1fr}
  .sticky{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:110;
    align-items:center;justify-content:center;padding:16px;border-radius:32px;
    background:var(--bronze);color:#FFF9F1;font-size:.88rem;letter-spacing:.05em;
    box-shadow:0 10px 32px rgba(30,18,8,.3)}
  [data-mode="night"] .sticky{background:var(--champ);color:var(--navy)}
  .foot{padding-bottom:96px}
}
@media(max-width:400px){
  :root{--t-display:2.15rem;--t-h1:1.95rem;--t-h2:1.5rem}
  .mark-t b{font-size:.9rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  [data-r]{opacity:1;transform:none}
  .ray{stroke-dashoffset:0}
  .w-d,.w-go{opacity:1;max-height:none;transform:none}
  html{scroll-behavior:auto}
  .veil{display:none!important}
}

/* ═══ инверсни ленти ═══
   Част от рендерите са на черен фон. Върху ivory страница те зеят като
   дупка. Затова цялата лента става тъмна и кадърът получава контекст. */
.band-dark{max-width:none;padding:clamp(56px,7vw,104px) 0;margin-bottom:var(--sec);
  background:var(--graphite);grid-template-columns:1fr;gap:0}
.band-inner{max-width:var(--max);margin:0 auto;padding:0 var(--gut);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(26px,5vw,76px);align-items:center}
.band-dark .band-i img{aspect-ratio:1/1;object-fit:cover}
.band-dark .eyebrow{color:var(--champ)}
.band-dark h2{color:#F2EDE5}
.band-dark .lead,.band-dark .fa,.band-dark .faq p{color:#B6ADA1}
.band-dark .btn{border-color:var(--champ);color:var(--champ)}
.band-dark .btn:hover{background:rgba(214,185,138,.14)}
.band-dark .faq details{border-bottom-color:rgba(214,185,138,.20)}
.band-dark .faq summary{color:#F2EDE5}
.band-dark .faq summary:hover{color:var(--champ)}
.band-dark .faq summary::after{border-color:var(--champ)}
.band-dark .fa ul{color:#B6ADA1}
[data-mode="night"] .band-dark{background:#080F17}

@media(max-width:960px){
  .band-inner{grid-template-columns:1fr}
  .band-dark .band-i{order:-1}
}

/* визитката е широка и светла — не бива да се реже като пейзаж */
.fig-card img{aspect-ratio:16/9;object-fit:contain;background:var(--bg-2);padding:clamp(14px,2.5vw,30px)}

/* ═══ широка лента-кадър ═══
   Дава тяло на страници, които иначе са само текст. */
.strip-img{max-width:none;margin:0 0 var(--sec);overflow:hidden}
.strip-img img{width:100%;height:clamp(240px,34vw,440px);object-fit:cover;
  filter:saturate(.78);transition:filter var(--t2)}
.strip-warm img{filter:saturate(1.04)}
[data-mode="night"] .strip-img img{filter:brightness(.62) saturate(.8)}

/* ═══ сравнението на тесен екран ═══
   Три колони с текст под 700px стават нечетими. Затова таблицата
   се разгъва на двойки: показател, после двете стойности една под друга. */
@media(max-width:700px){
  .cmp,.cmp tbody,.cmp tr,.cmp td,.cmp th{display:block;width:auto}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp tbody tr{padding:20px 0;border-top:1px solid var(--rule)}
  .cmp tbody tr+tr td,.cmp tbody tr+tr th{border-top:0}
  .cmp th[scope=row]{padding:0 0 12px;text-align:left;white-space:normal;
    font-size:.62rem;letter-spacing:.2em;color:var(--acc)}
  .cmp td{padding:0 0 0 20px;text-align:left;position:relative;font-size:.9rem;line-height:1.5}
  .cmp td+td{margin-top:10px}
  .cmp td::before{position:absolute;left:0;top:0;font-size:.62rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink-3)}
  .cmp .c-a::before{content:"А"}
  .cmp .c-m::before{content:"М"}
  .cmp .c-a{border-left:1px solid var(--blue);padding-left:14px;margin-left:6px}
  .cmp .c-m{border-left:1px solid var(--champ);padding-left:14px;margin-left:6px}
  .cmp .c-a::before,.cmp .c-m::before{display:none}
}

/* менюто скролва — ръбът го подсказва вместо да го крие */
@media(max-width:760px){
  .menu{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);
    mask-image:linear-gradient(90deg,#000 88%,transparent)}
}

/* ═══ монограм в лентата ═══ */
img.mono{object-fit:cover;background:var(--paper)}
[data-mode="night"] img.mono{filter:brightness(.92)}

/* ═══ рамка в „За мен“ ═══ */
.pt-frame{margin:0;position:relative;aspect-ratio:4/5;border-radius:var(--r);
  overflow:hidden;background:var(--bg-2)}
.pt-frame img{width:100%;height:100%;object-fit:cover;opacity:1;filter:none}
.pt-frame::after{content:none}

/* ═══ карта ═══ */
.geo{position:relative;margin-top:24px;border:1px solid var(--rule);border-radius:var(--r);
  overflow:hidden;background:var(--bg-2);min-height:clamp(240px,32vw,380px)}
.geo iframe{display:block;width:100%;height:clamp(280px,36vw,420px);border:0}
.map-go{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;
  transition:background var(--t1)}
.map-go:hover{background:var(--acc-soft)}
.map-pin{width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  border:2px solid var(--acc)}
.map-t{font-size:.86rem;letter-spacing:.08em;color:var(--acc)}
.map-n{font-size:.74rem;line-height:1.5;color:var(--ink-3);max-width:38ch}
.geo.on{min-height:0}

/* Преходът се изиграва докрай — 2 s, автоматично, без надпис и без
   изискване за клик. По време на прехода второ натискане не се приема. */

/* ═══ Добавка-2 · корекции по бележките на кантората ═══ */

/* 1. Началната сцена: белият слой изяждаше вградените надписи АДВОКАТ и
      МЕДИАЦИЯ над арките. Отслабваме го и го местим по-надолу, вместо
      да изостряме буквите изкуствено. */
.stage-home .stage-veil{
  background:linear-gradient(180deg,
    rgba(246,243,238,.06) 0%,
    rgba(246,243,238,.18) 42%,
    rgba(246,243,238,.72) 78%,
    var(--ivory) 100%)}
[data-mode="night"] .stage-home .stage-veil{
  background:linear-gradient(180deg,
    rgba(11,22,33,.14) 0%,
    rgba(11,22,33,.30) 42%,
    rgba(11,22,33,.76) 78%,
    var(--navy) 100%)}
/* заглавието остава четимо и без силен слой — лека сянка вместо избелване */
.stage-home .stage-in h1,.stage-home .stage-in .lead,.stage-home .stage-in .eyebrow{
  text-shadow:0 1px 22px rgba(246,243,238,.9),0 1px 3px rgba(246,243,238,.7)}
[data-mode="night"] .stage-home .stage-in h1,
[data-mode="night"] .stage-home .stage-in .lead,
[data-mode="night"] .stage-home .stage-in .eyebrow{
  text-shadow:0 1px 24px rgba(6,12,20,.95),0 1px 4px rgba(6,12,20,.8)}

/* 2. Фазите на медиацията: три на ред, два реда. По-широки и по-четими.
      Шестата вече не остава сама. */
.br-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.br-steps li{transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s}
.br-steps li:hover{transform:translateY(-5px);
  box-shadow:0 6px 22px -10px rgba(60,40,20,.28);
  outline:1px solid var(--champ);outline-offset:-1px}
.br-steps li::before{content:none}   /* дебелата черта горе отпада */
[data-mode="night"] .br-steps li:hover{box-shadow:0 6px 24px -10px rgba(0,0,0,.6)}

/* 3. Широката снимка със споразумението — цяла и ясна, папката в центъра */
.strip-podpis img{height:clamp(300px,40vw,520px);object-position:50% 68%;filter:none}
[data-mode="night"] .strip-podpis img{filter:brightness(.72)}

/* 4. Оптима: около 45% от секцията, надписът четим */
.band-i.sm{max-width:min(540px,45%)}
.band-i.sm img{aspect-ratio:3/2;object-fit:cover;background:none}

@media(max-width:960px){
  .br-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band-i.sm{max-width:100%}
}
@media(max-width:640px){
  .br-steps{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════
   Пакет за програмиста · 24.08.2026 — окончателни корекции
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. Начално отваряне ───────────────────────────────────────
   Слой над вече заредената страница. Кадърът е в същите пропорции
   като фона, за да откриват панелите точно него. Без звук, без цикъл.
   При „ended“ скриптът маха целия слой от документа. */
.intro{position:fixed;inset:0;z-index:400;background:var(--ivory);
  display:grid;place-items:center;overflow:hidden;
  opacity:0;transition:opacity .3s var(--ease)}
.intro[hidden]{display:none!important}
.intro.on{opacity:1}
.intro video{width:max(100vw,calc(100vh * 2048 / 986));
  height:max(100vh,calc(100vw * 986 / 2048));
  object-fit:cover;display:block}
[data-mode="night"] .intro{background:var(--navy)}

/* ─── 2. Началната сцена: фонът е отделен слой ──────────────────
   Кадърът се държи като „cover“, но е истински елемент — така
   зоните върху арките стоят точно там, където са арките, при
   всякаква ширина. Без blur и без разтягане. */
/* Мерните единици cqw/cqh са спрямо СЪДЪРЖИМОТО поле на контейнера, а
   абсолютните деца се разполагат спрямо полето с padding. Затова махаме
   padding-а от сцената и го даваме на текста — иначе кадърът увисва. */
.stage-home{container-type:size;padding:0}
.stage-home .stage-in{max-width:calc(var(--max) + 2 * var(--gut));
  padding:0 var(--gut) clamp(52px,7vw,100px)}
.stage-frame{position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:max(100cqw,calc(100cqh * 2048 / 986));
  height:max(100cqh,calc(100cqw * 986 / 2048));
  z-index:0}
.stage-frame .stage-img{position:absolute;inset:0;
  width:100%;height:100%;object-fit:fill;transform:none;filter:none}
.stage-home .stage-veil{z-index:1;pointer-events:none}
.stage-home .stage-in{position:relative;z-index:2;pointer-events:none}
.stage-home .stage-in > *{pointer-events:auto}

/* „Белият градиент да остане само толкова плътен, колкото е необходимо за
   четливостта на текста вляво, без да замъглява двете врати.“
   Вертикалният слой сам не стига: на нисък прозорец заглавието попада в
   средата на кадъра, където слоят е най-слаб. Затова добавяме втори —
   елипса, закачена под долния ляв ъгъл. Пази текста, а нагоре свършва
   на 30% (надписът АДВОКАТ е на 17–21%) и надясно на 54% (арката
   МЕДИАЦИЯ започва на 59%). Двете врати остават недокоснати. */
.stage-home .stage-veil::before{content:"";position:absolute;inset:0;
  background:radial-gradient(62% 78% at -8% 108%,
    rgba(246,243,238,.96) 0%,
    rgba(246,243,238,.78) 34%,
    rgba(246,243,238,.34) 56%,
    rgba(246,243,238,0) 74%)}
[data-mode="night"] .stage-home .stage-veil::before{
  background:radial-gradient(62% 78% at -8% 108%,
    rgba(11,22,33,.96) 0%,
    rgba(11,22,33,.80) 34%,
    rgba(11,22,33,.36) 56%,
    rgba(11,22,33,0) 74%)}

/* Лентата стои върху светъл и детайлен кадър — менюто се губеше.
   Лек слой само зад нея, преди да е започнало превъртането. */
.stage .stage-veil::after{content:"";position:absolute;inset:0 0 auto;
  height:clamp(88px,11vh,124px);
  background:linear-gradient(180deg,
    rgba(246,243,238,.74) 0%, rgba(246,243,238,.34) 58%, rgba(246,243,238,0) 100%)}
[data-mode="night"] .stage .stage-veil::after{
  background:linear-gradient(180deg,
    rgba(11,22,33,.76) 0%, rgba(11,22,33,.36) 58%, rgba(11,22,33,0) 100%)}
.stage-home .scroll-h{z-index:2}

/* Двете арки — истински връзки. Мълчат, докато не ги посочиш. */
.arch{position:absolute;display:grid;place-items:end center;
  padding-bottom:clamp(14px,2vw,26px);border-radius:999px 999px 6px 6px;
  color:transparent;transition:background .45s var(--ease),box-shadow .45s var(--ease)}
.arch span{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:#FFF;opacity:0;transform:translateY(8px);
  text-shadow:0 1px 12px rgba(0,0,0,.55);
  transition:opacity .35s var(--ease),transform .35s var(--ease)}
.arch:hover span,.arch:focus-visible span{opacity:1;transform:none}
.arch-a:hover,.arch-a:focus-visible{background:linear-gradient(180deg,
  rgba(120,190,225,.20),rgba(120,190,225,.04) 60%,transparent);
  box-shadow:inset 0 0 0 1px rgba(157,189,206,.55)}
.arch-m:hover,.arch-m:focus-visible{background:linear-gradient(180deg,
  rgba(214,185,138,.22),rgba(214,185,138,.05) 60%,transparent);
  box-shadow:inset 0 0 0 1px rgba(214,185,138,.6)}
.arch:focus-visible{outline:none}

/* ─── 5. Лентата на тесен екран ─────────────────────────────────
   Дотук петте връзки просто падаха извън екрана, а „Консултация“
   оставаше с нулева ширина — на телефон менюто на практика липсваше.
   Сега се сгъва зад бутон. */
.bar-nav{display:contents}
.burger{display:none;position:relative;width:42px;height:42px;flex:0 0 42px;
  margin-left:auto;border-radius:50%;border:1px solid var(--rule-2);
  transition:border-color var(--t1),background var(--t1)}
.burger:hover{border-color:var(--acc)}
.burger-l,.burger-l::before,.burger-l::after{
  position:absolute;left:50%;width:17px;height:1.5px;background:var(--ink);
  transition:transform .3s var(--ease),opacity .2s}
.burger-l{top:50%;translate:-50% -50%}
.burger-l::before,.burger-l::after{content:"";left:0;translate:0}
.burger-l::before{top:-6px}
.burger-l::after{top:6px}
.burger[aria-expanded="true"] .burger-l{background:transparent}
.burger[aria-expanded="true"] .burger-l::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] .burger-l::after{transform:translateY(-6px) rotate(-45deg)}

@media(max-width:860px){
  .bar{flex-wrap:wrap;padding:14px var(--gut)}
  .bar.tight{padding:10px var(--gut)}
  .burger{display:block}

  /* лентата получава фон веднага — иначе менюто стои върху светъл кадър */
  .bar{background:color-mix(in srgb,var(--bg) 92%,transparent);
    backdrop-filter:blur(18px) saturate(1.2);
    border-bottom-color:var(--rule)}

  .bar-nav{display:block;flex-basis:100%;
    max-height:0;overflow:hidden;
    transition:max-height .38s var(--ease)}
  .bar-nav.on{max-height:60vh;overflow:auto}
  .menu{flex-direction:column;gap:0;padding:8px 0 4px;font-size:1rem}
  .menu a{padding:13px 2px;border-bottom:1px solid var(--rule);color:var(--ink)}
  .menu a::after{content:none}
  .menu a[aria-current]{color:var(--acc)}
  .bar-r{padding:14px 0 6px;gap:16px}
  .cta-sm{flex:1;justify-content:center;text-align:center;padding:13px 20px}
}

/* Телефон: фонът се показва ЦЯЛ — арките не се режат.
   Заглавието слиза под кадъра, върху чист фон. */
@media(max-width:760px){
  .stage-home{container-type:normal;display:block;min-height:0;padding:0}
  .stage-home .stage-frame{position:relative;top:auto;left:auto;translate:none;
    width:100%;height:auto;aspect-ratio:2048 / 986}
  .stage-home .stage-img{position:relative;height:auto;aspect-ratio:2048 / 986}
  .stage-home .stage-veil{display:none}
  .stage-home .stage-in{padding:clamp(26px,7vw,44px) var(--gut) clamp(30px,6vw,52px)}
  .stage-home .stage-in h1,.stage-home .stage-in .lead,.stage-home .stage-in .eyebrow{
    text-shadow:none}
  .stage-home .scroll-h{display:none}
  .arch span{opacity:1;transform:none}   /* на телефон няма посочване */
}

/* ─── 3. Схеми, които се четат: цели, центрирани, без изрязване ──
   Имотни сделки и Договори носят надписи вътре в кадъра. Всяко
   изрязване къса смисъл, затова тук object-fit е contain. */
.plate{margin:0 0 var(--sec);overflow:hidden;border-radius:var(--r);
  background:var(--bg-2)}
.plate img{display:block;width:100%;height:auto;object-fit:contain}
.plate-w{max-width:min(100%,760px);margin-inline:auto;margin-bottom:2.2em;
  background:none}
/* head-1 вече е дал горното поле — тук само отдолу */
.plate-sec{padding-top:0}
.plate-sec .plate{margin-bottom:0}
.head-1 + .plate-sec{margin-top:calc(0px - var(--sec) + clamp(20px,3vw,44px))}
.partner .pull-q{max-width:var(--read);margin-bottom:1.8em}
.partner .btn{margin-top:.4em}

/* ─── 4. Контакти: 3D картата с истински бутон ──────────────────
   Бутонът е HTML елемент точно върху нарисувания. Текстът в него е
   центриран и по двете оси, има фокусен пръстен и се отваря в нов
   раздел. Пояснението е отделен текст под картата, не в кадъра. */
.karta{position:relative;margin:24px 0 0;border-radius:var(--r);
  overflow:hidden;border:1px solid var(--rule);background:var(--bg-2)}
.karta img{display:block;width:100%;height:auto}

/* Бутонът е нарисуван в кадъра — надписът му е центриран и по двете оси
   още в изображението. Затова тук не рисуваме втори надпис върху него, а
   слагаме прозрачна истинска връзка точно отгоре: работи с мишка, с пръст
   и с клавиатура, и отваря адреса в нов раздел. */
.karta-go{position:absolute;border-radius:8px;
  transition:background var(--t1),box-shadow var(--t1)}
.karta-go:hover{background:rgba(60,38,20,.24)}
.karta-go:focus-visible{outline:2px solid var(--graphite);outline-offset:3px}
/* пръстът иска поне 44 px — разширяваме зоната, без да местим рисунката */
.karta-go::after{content:"";position:absolute;left:-6%;right:-6%;
  top:50%;translate:0 -50%;height:max(100%,44px)}
.karta-n{margin-top:.9em}
[data-mode="night"] .karta img{filter:brightness(.86) saturate(.94)}

/* ─── 5. Страницата при сгрешен адрес ───────────────────────────
   Няма голям кадър отгоре. Лентата е фиксирана, значи без отстъп
   заглавието влиза под нея — същите 98 px, които дава пътеката на
   останалите страници без кадър. */
.p-404 main{padding-top:98px}
.p-404 .eyebrow{color:var(--ink-3)}
/* Заглавието и списъкът са едно съобщение — цял раздел разстояние
   между тях праща втората половина под ръба на екрана. */
.p-404 .prose{padding-bottom:clamp(20px,3vw,36px)}

/* Връзките в списъка трябва да личат като връзки. Глобалното правило
   маха подчертаването навсякъде; тук го връщаме дискретно, защото
   човекът вече е сгрешил веднъж и не бива да гадае кое се натиска. */
.p-404 .plain li a{color:var(--ink);text-decoration:underline;
  text-underline-offset:4px;text-decoration-thickness:1px;
  text-decoration-color:var(--ink-3);transition:color var(--t1),
  text-decoration-color var(--t1)}
.p-404 .plain li a:hover{color:var(--acc);text-decoration-color:var(--acc)}

@media(max-width:860px){.p-404 main{padding-top:84px}}

/* ─── 8. Бележката за езика на кореспонденцията ─────────────────
   Само на английската версия. Не е предупреждение и не бива да
   изглежда като грешка — затова е спокойна, не червена. */
.ezik-n{max-width:var(--read);padding:14px 18px;margin:0;
  background:var(--bg-2);border-left:3px solid var(--champ);
  border-radius:0 var(--r) var(--r) 0;
  color:var(--ink-2);font-size:.92rem}

/* ─── 7. Превключвател на езика ─────────────────────────────────
   Трите кода стояха слети — „BGENRU“. Разделят се и текущият се
   отличава, вместо да се гадае. */
.lang{display:flex;align-items:center;gap:2px}
.lang a{font-size:.68rem;letter-spacing:.1em;padding:5px 7px;
  border-radius:4px;color:var(--ink-3);transition:color var(--t1),
  background var(--t1)}
.lang a:hover{color:var(--acc)}
.lang a[aria-current]{color:var(--ink);background:var(--bg-2)}
.lang a + a{position:relative}
.lang a + a::before{content:"";position:absolute;left:-2px;top:50%;
  translate:0 -50%;width:1px;height:11px;background:var(--rule)}
[data-mode="night"] .lang a[aria-current]{background:rgba(255,255,255,.08)}
@media(max-width:860px){.lang{margin:4px 0 8px}}

/* ─── 6. Поверителност ──────────────────────────────────────────
   Правен документ. Единствената му работа е да се чете, затова
   няма кадър, няма картинки и редът е по-къс от обичайното.
   Човек, който отваря такава страница, обикновено търси един
   отговор — затова „накратко“ стои отгоре и личи. */
.p-pv .pv-head{padding-top:0}
.p-pv .pv-head h1{margin-bottom:.3em}
.p-pv .lead{max-width:var(--read)}

.pv-tldr{padding-bottom:clamp(24px,3vw,40px)}
.pv-tl{list-style:none;margin:0;padding:0;max-width:var(--read)}
.pv-tl li{position:relative;padding:10px 0 10px 26px;color:var(--ink)}
.pv-tl li::before{content:"";position:absolute;left:4px;top:1.05em;
  width:7px;height:7px;border-radius:50%;background:var(--acc)}

.pv-body{display:block}
/* Лентата е фиксирана: без този отстъп връзка към #prava оставя
   заглавието точно под нея и човекът не вижда къде е попаднал. */
.pv-r{margin-bottom:clamp(30px,4vw,52px);max-width:var(--read);
  scroll-margin-top:96px}
.pv-r:last-child{margin-bottom:0}
.pv-r h2{font-size:clamp(1.25rem,2.2vw,1.6rem);margin-bottom:.5em;
  padding-top:.6em;border-top:1px solid var(--rule)}
.pv-r p{margin-bottom:.9em}
.pv-r p:last-child{margin-bottom:0}

/* Двойката понятие → обяснение се чете по-добре от таблица:
   на тесен екран таблицата се срива, а описателният списък просто
   подрежда двете едно под друго. */
.pv-l{margin:0 0 1.1em;padding:0}
.pv-l dt{font-weight:500;color:var(--ink);margin-top:.9em}
.pv-l dd{margin:.2em 0 0;color:var(--ink-2)}

/* Ограниченията и предупрежденията се открояват — те са точно
   нещата, които човек трябва да види, ако чете по диагонал. */
.pv-k{margin:1.4em 0 0;padding:clamp(16px,2vw,22px);
  background:var(--bg-2);border-left:3px solid var(--acc);
  border-radius:0 var(--r) var(--r) 0}
.pv-k h3{font-family:var(--f-u);font-size:.95rem;font-weight:500;
  margin:0 0 .5em;color:var(--ink)}
.pv-k p{margin:0;color:var(--ink-2);font-size:.92rem}

.foot-pv{color:var(--ink-3);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:var(--rule);
  transition:color var(--t1)}
.foot-pv:hover{color:var(--acc)}
@media(min-width:861px){.foot-pv{margin-left:18px}}
