/* ==========================================================================
   Text styles: the single source of truth for typography on the site.
   Each style is a set of CSS variables + a .t-* class; existing elements are
   mapped to the styles below, so changing a variable changes the whole site.
   Font: Manrope (self-hosted, variable 200–800). Names match TYPOGRAPHY.md / Figma.
   ========================================================================== */
:root{
  --t-display-size:clamp(34px,4.4vw,76px); --t-display-lh:1.04; --t-display-w:700; --t-display-ls:-.04em;
  --t-h1-size:clamp(36px,4vw,64px);        --t-h1-lh:1;         --t-h1-w:700;      --t-h1-ls:-.035em;
  --t-h2-size:clamp(32px,4vw,64px);        --t-h2-lh:1.02;      --t-h2-w:600;      --t-h2-ls:-.035em;
  --t-h3-size:clamp(22px,2vw,32px);        --t-h3-lh:1.1;       --t-h3-w:600;      --t-h3-ls:-.025em;
  --t-h4-size:clamp(18px,1.6vw,24px);      --t-h4-lh:1.2;       --t-h4-w:600;      --t-h4-ls:-.01em;
  --t-lead-size:clamp(17px,1.5vw,22px);    --t-lead-lh:1.25;    --t-lead-w:500;    --t-lead-ls:-.01em;
  --t-body-size:15px;                      --t-body-lh:22px;    --t-body-w:400;    --t-body-ls:0;
  --t-body-s-size:13px;                    --t-body-s-lh:19px;  --t-body-s-w:400;  --t-body-s-ls:0;
  --t-caption-size:14px;                   --t-caption-lh:20px; --t-caption-w:500; --t-caption-ls:0;
  --t-label-size:11px;                     --t-label-lh:16px;   --t-label-w:600;   --t-label-ls:.08em;
}
@media (max-width: 900px){:root{--t-display-size:clamp(30px,8.6vw,44px)}}

/* Display: the hero statement */
.t-display,.hero .hero-big h1.hs-text{font-size:var(--t-display-size) !important;line-height:var(--t-display-lh) !important;font-weight:var(--t-display-w) !important;letter-spacing:var(--t-display-ls) !important}
/* H1: section titles (Опыт, Кейсы, …) */
.t-h1,.sw-h,.xp-h{font-size:var(--t-h1-size) !important;line-height:var(--t-h1-lh) !important;font-weight:var(--t-h1-w) !important;letter-spacing:var(--t-h1-ls) !important}
/* H2: featured case title */
.t-h2,.big .rc-co{font-size:var(--t-h2-size) !important;line-height:var(--t-h2-lh) !important;font-weight:var(--t-h2-w) !important;letter-spacing:var(--t-h2-ls) !important}
/* H3: case tile titles */
.t-h3,.rc.sm .rc-co,.rc:not(.big) .rc-co{font-size:var(--t-h3-size) !important;line-height:var(--t-h3-lh) !important;font-weight:var(--t-h3-w) !important;letter-spacing:var(--t-h3-ls) !important}
/* H4: company names */
.t-h4,.xp-co{font-size:var(--t-h4-size) !important;line-height:var(--t-h4-lh) !important;font-weight:var(--t-h4-w) !important;letter-spacing:var(--t-h4-ls) !important}
/* Lead: roles, subtitles */
.t-lead,.xp-role{font-size:var(--t-lead-size) !important;line-height:var(--t-lead-lh) !important;font-weight:var(--t-lead-w) !important;letter-spacing:var(--t-lead-ls) !important}
/* Body: descriptions */
.t-body,.xp-d,.big .rc-t{font-size:var(--t-body-size) !important;line-height:var(--t-body-lh) !important;font-weight:var(--t-body-w) !important;letter-spacing:var(--t-body-ls) !important}
/* Body S: small descriptions in tiles */
.t-body-s,.rc:not(.big) .rc-t{font-size:var(--t-body-s-size) !important;line-height:var(--t-body-s-lh) !important;font-weight:var(--t-body-s-w) !important;letter-spacing:var(--t-body-s-ls) !important}
/* Caption: years, counters, buttons, menu */
.t-caption,.xp-y,.xp-total,.sw-n,.fill .btn{font-size:var(--t-caption-size) !important;line-height:var(--t-caption-lh) !important;font-weight:var(--t-caption-w) !important;letter-spacing:var(--t-caption-ls) !important}
/* Label: eyebrows and small uppercase meta */
.t-label,.rc-meta{font-size:var(--t-label-size) !important;line-height:var(--t-label-lh) !important;font-weight:var(--t-label-w) !important;letter-spacing:var(--t-label-ls) !important;text-transform:uppercase}

/* Section headings share one pattern: title, thin rule, meta on the right. */
.sec-head{display:flex !important;align-items:center !important;gap:24px;padding:0 !important;border-bottom:0 !important}
.sec-head .sec-rule{flex:1 1 auto;min-width:24px;height:1px;background:var(--line2)}
.sec-head h2{margin:0;white-space:nowrap}
