/* typography.css - V01.76a. THE shared type scale for the whole marketing
   site. It lives in its own file because templates/home.php does not load
   marketing.css: the homepage carries its own inline styles, so a scale
   defined there could never reach it. All three public surfaces load this.
   Font FAMILY is not set here; the V01.10 locale mapping owns that. */

/* ==========================================================================
   V01.76a  SHARED TYPOGRAPHY SCALE
   Appended so these override the rules above.

   The homepage is built with inline styles and therefore carried its own
   scale; the newer marketing pages took theirs from the rules further up this
   file. The two drifted, most visibly on H1: 58px on the homepage against
   clamp(48px,6vw,76px) here, which resolved to 76px at desktop and 50.04px at
   tablet. Equivalent roles now share one scale across the whole marketing
   site.

   The homepage inline styles are the reference and are NOT changed. Only the
   shared rules move, so the homepage renders exactly as before.

   FONT FAMILY IS UNTOUCHED. The V01.10 locale mapping lives in site-head.php
   and templates/home.php and already renders Manrope + Unbounded for
   bg/ru/uk/el and Plus Jakarta Sans + Bricolage Grotesque elsewhere, confirmed
   by computed style. Only size, line-height, weight and tracking are set here.
   ========================================================================== */
:root{
  --t-h1:58px;   --t-h1-lh:1.04;  --t-h1-ls:-0.02em;
  --t-h2:34px;   --t-h2-lh:1.12;  --t-h2-ls:-0.01em;
  --t-h3:20px;   --t-h3-lh:1.25;
  --t-lead:17.5px;      --t-lead-lh:1.65;
  --t-body:16px;        --t-body-lh:1.7;
  --t-small:14px;       --t-small-lh:1.6;
  --t-eyebrow:11px;     --t-cta:15px;      --t-nav:13.5px;
  --t-caption:13px;
}
@media (max-width:1050px){
  :root{ --t-h1:44px; --t-h1-lh:1.05; --t-h2:30px; --t-h3:19px;
         --t-lead:17px; --t-body:15.5px; }
}
@media (max-width:720px){
  :root{ --t-h1:36px; --t-h1-lh:1.06; --t-h2:26px; --t-h3:18px;
         --t-lead:16.5px; --t-body:15px; --t-cta:14.5px; }
}

/* headings ---------------------------------------------------------------- */
.hero h1, h1{
  font-size:var(--t-h1); line-height:var(--t-h1-lh);
  letter-spacing:var(--t-h1-ls); font-weight:700; max-width:730px;
}
.section-head h2, .capture-copy h2, .cta-box h2, h2{
  font-size:var(--t-h2); line-height:var(--t-h2-lh);
  letter-spacing:var(--t-h2-ls); font-weight:800;
}
.card h3, .feature-copy h3, .timeline-item h3, h3{
  font-size:var(--t-h3); line-height:var(--t-h3-lh); font-weight:700;
}

/* body ------------------------------------------------------------------- */
.lead, .hero .lead{ font-size:var(--t-lead); line-height:var(--t-lead-lh); }
.section-lead{ font-size:var(--t-lead); line-height:var(--t-lead-lh); }
.card p, .feature-copy p, .faq-answer, .notice, .cta-box p{
  font-size:var(--t-body); line-height:var(--t-body-lh);
}
.mini span, .proof, .micro-proof span, .source-list a{
  font-size:var(--t-small); line-height:var(--t-small-lh);
}

/* chrome and supporting roles -------------------------------------------- */
.eyebrow{ font-size:var(--t-eyebrow); }
.btn, .hero-actions a{ font-size:var(--t-cta); font-weight:700; }
figcaption{ font-size:var(--t-caption); line-height:1.5; }
.breadcrumb, .breadcrumb a{ font-size:var(--t-caption); }
.site-footer, .site-footer a, .footer-grid, .footer-grid a{
  font-size:var(--t-small); line-height:var(--t-small-lh);
}
.cookie-consent, .cookie-consent p, .cookie-consent button{
  font-size:var(--t-small); line-height:var(--t-small-lh);
}

/* ==========================================================================
   V01.76b  BULGARIAN TYPOGRAPHY, generalised in V01.77 to every
   Cyrillic-script marketing locale that renders in Manrope/Unbounded:
   bg, ru, uk. Serbian is Latin-script in this project and stays on the
   Latin scale; Greek is not Cyrillic and keeps its V01.10 behaviour, so
   neither appears below. The rule is the script/font footprint, not the
   nationality. The bg values approved in the V01.76b preview are the shared
   starting scale for all three and are verified visually per language.
   Family is NOT changed here. The V01.10 mapping still supplies Manrope for
   body and Unbounded for display; only size and wrapping behaviour differ.
   ========================================================================== */

/* 1. NO AUTOMATIC WORD SPLITTING, EVER.
      Cyrillic words (bg/ru/uk) must break only at spaces. `hyphens:none` stops the
      renderer inserting a hyphen; `overflow-wrap:normal` and
      `word-break:normal` stop it breaking a word without one. Neither
      `break-all` nor `anywhere` appears anywhere in ordinary Cyrillic copy.
      If a heading no longer fits, it takes another whole-word line. */
html[lang="bg"], html[lang="ru"], html[lang="uk"],
html[lang="bg"] body, html[lang="ru"] body, html[lang="uk"] body,
html[lang="bg"] h1, html[lang="ru"] h1, html[lang="uk"] h1, html[lang="bg"] h2, html[lang="ru"] h2, html[lang="uk"] h2, html[lang="bg"] h3, html[lang="ru"] h3, html[lang="uk"] h3,
html[lang="bg"] p, html[lang="ru"] p, html[lang="uk"] p,  html[lang="bg"] li, html[lang="ru"] li, html[lang="uk"] li, html[lang="bg"] summary, html[lang="ru"] summary, html[lang="uk"] summary,
html[lang="bg"] .lead, html[lang="ru"] .lead, html[lang="uk"] .lead, html[lang="bg"] .section-lead, html[lang="ru"] .section-lead, html[lang="uk"] .section-lead,
html[lang="bg"] .card, html[lang="ru"] .card, html[lang="uk"] .card, html[lang="bg"] .card p, html[lang="ru"] .card p, html[lang="uk"] .card p,
html[lang="bg"] .feature-copy, html[lang="ru"] .feature-copy, html[lang="uk"] .feature-copy, html[lang="bg"] .faq-answer, html[lang="ru"] .faq-answer, html[lang="uk"] .faq-answer,
html[lang="bg"] .btn, html[lang="ru"] .btn, html[lang="uk"] .btn, html[lang="bg"] figcaption, html[lang="ru"] figcaption, html[lang="uk"] figcaption,
html[lang="bg"] .eyebrow, html[lang="ru"] .eyebrow, html[lang="uk"] .eyebrow, html[lang="bg"] .notice, html[lang="ru"] .notice, html[lang="uk"] .notice,
html[lang="bg"] .site-footer, html[lang="ru"] .site-footer, html[lang="uk"] .site-footer, html[lang="bg"] .mini span, html[lang="ru"] .mini span, html[lang="uk"] .mini span{
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
/* the one narrow exception: URLs cannot wrap at a space because they have none */
html[lang="bg"] .source-list a, html[lang="ru"] .source-list a, html[lang="uk"] .source-list a{ overflow-wrap: anywhere; }

/* 2. SLIGHTLY REDUCED SCALE, roughly 95%.
      Manrope and Unbounded render wider and taller than Plus Jakarta Sans and
      Bricolage Grotesque at the same nominal size, so equal numbers do not
      mean equal visual weight. These values give Bulgarian text about the same
      footprint as the English equivalent. Latin sizes are untouched. */
html[lang="bg"], html[lang="ru"], html[lang="uk"]{
  --t-h1:48px;   --t-h1-lh:1.09;
  --t-h2:32px;   --t-h3:19px;
  --t-lead:16.5px;
  --t-body:15px;
  --t-small:13.5px;
  --t-eyebrow:10.5px;
  --t-cta:14.5px;
  --t-nav:13px;
  --t-caption:12.5px;
}
@media (max-width:1050px){
  html[lang="bg"], html[lang="ru"], html[lang="uk"]{ --t-h1:39px; --t-h1-lh:1.09; --t-h2:28px; --t-h3:18px;
                   --t-lead:16px; --t-body:14.5px; }
}
@media (max-width:720px){
  /* 31px, not 34px: at 34px the single longest Bulgarian word on the site,
     "Великобритания", is 24px wider than the 375px mobile column. The rule is
     that a Bulgarian word is never split, so the type gets smaller instead. */
  html[lang="bg"], html[lang="ru"], html[lang="uk"]{ --t-h1:31px; --t-h1-lh:1.12; --t-h2:25px; --t-h3:17px;
                   --t-lead:15.5px; --t-body:14px; --t-cta:14px; }
}
