/*!
 * skaryna.css — СКАРЫНА design system for `arneiron-skaryna-child`
 * Built by work/lanes/L2/tools/build-css.py from the 9 reconciled comp sheets.
 * DO NOT HAND-EDIT. Edit the sources / additions.css and re-run the builder.
 *
 * Layer order (single file, plain CSS, no @layer):
 *   1 faces      2 tokens      3 base/reset      4 shared components (sk-*)
 *   5 template layers, each scoped to a `.sk-tpl-*` wrapper class
 *
 * Enqueue AFTER `arneiron-child-style` (handle dependency) so it wins over the
 * 70,370 bytes of raw CSS carried in wp_global_styles #766.
 */


/* ==========================================================================
   1. FACES
   ========================================================================== */

/* ---------------------------------------------------------------------------
   FACES.  WordPress emits <style class="wp-fonts-local"> with EIGHT @font-face
   rules (Fedorovsk CS, Share Tech Mono, Inter x4, Source Serif 4 x2) — measured
   on the live head, 2026-08-11.  It emits ZERO for Carina AI Antiqua even though
   theme.json declares three weights, because wp_global_styles #766 replaces the
   theme layer's typography.fontFamilies wholesale and #766 has no Carina.
   So the display face is declared HERE.  Removing this block silently drops the
   wordmark, the section-head titles, the drop-caps and the initials to Fedorovsk.
   The two local()-only faces below issue no network request.
   --------------------------------------------------------------------------- */
@font-face{font-family:"Carina AI Antiqua";font-weight:300;font-style:normal;font-display:swap;
  src:url("../fonts/CarinaAIAntiqua-Light.woff2") format("woff2");}
@font-face{font-family:"Carina AI Antiqua";font-weight:400;font-style:normal;font-display:swap;
  src:url("../fonts/CarinaAIAntiqua-Regular.woff2") format("woff2");}
@font-face{font-family:"Carina AI Antiqua";font-weight:700;font-style:normal;font-display:swap;
  src:url("../fonts/CarinaAIAntiqua-Bold.woff2") format("woff2");}

@supports (size-adjust: 100%) {
  @font-face{font-family:"Display Fallback";src:local("Georgia"),local("Times New Roman");
    ascent-override:92%;descent-override:24%;line-gap-override:0%;size-adjust:104%;}
  @font-face{font-family:"Source Serif 4 Fallback";src:local("Georgia"),local("Cambria");
    ascent-override:96%;descent-override:26%;line-gap-override:0%;size-adjust:100%;}
}


/* ==========================================================================
   2. TOKENS
   ========================================================================== */

/* ============================================================================
   СЛОВО — Design Tokens (Lane A / foundation)
   Early-modern Cyrillic print-culture e-journal.
   All tokens exposed as CSS custom properties on :root.
   Companion files: fonts.css, base.css, theme/slovo.skin.json
   Mirrors the 8-artboard slovo.ai / plan-slovo/ design system.
   ----------------------------------------------------------------------------
   Contract: consume tokens via var(--slovo-*). Raw hex/px values are declared
   ONCE here and nowhere else. Dark variant preserves the editorial feel.
   ============================================================================ */

:root {
  color-scheme: light;

  /* ---- Palette (authoritative — mirror the boards) ---------------------- */
  --slovo-parchment:   var(--wp--preset--color--bg, #F7F2E6);  /* page ground                             */
  --slovo-ivory:       var(--wp--preset--color--surface, #FBF7EE);  /* raised cards / panels                   */
  --slovo-ink:         var(--wp--preset--color--ink, #111111);  /* primary text, keylines                  */
  --slovo-charcoal:    var(--wp--preset--color--ink-2, #343434);  /* secondary text                         */
  --slovo-sepia:       var(--wp--preset--color--subtle, #8B6E4D);  /* large-text accent only (AA on paper)    */
  --slovo-oxblood:     var(--wp--preset--color--accent, #7A0F1A);  /* primary accent, lozenges, tags          */
  --slovo-gold:        var(--wp--preset--color--gold, #C6A24A);  /* antique gold — hairline accents         */
  --slovo-muted-gray:  #D9D4CA;  /* decorative dividers only (non-text)     */
  --slovo-white:       #FFFFFF;

  /* ---- Semantic color roles -------------------------------------------- */
  --slovo-bg:            var(--slovo-parchment);
  --slovo-bg-raised:     var(--slovo-ivory);
  --slovo-bg-inset:      var(--wp--preset--color--surface-2, #EFE8D6);               /* recessed wells           */
  --slovo-surface:       var(--slovo-ivory);
  --slovo-text:          var(--slovo-ink);
  --slovo-text-2:        var(--slovo-charcoal);
  --slovo-text-muted:    var(--wp--preset--color--ink-3, #5C5346);               /* AA on parchment (7.0:1)  */
  --slovo-text-accent:   var(--slovo-oxblood);
  --slovo-text-on-accent: var(--slovo-ivory);
  --slovo-link:          var(--slovo-oxblood);
  --slovo-link-hover:    var(--wp--preset--color--accent-strong, #5C0B14);
  --slovo-accent:        var(--slovo-oxblood);
  --slovo-gold-line:     var(--slovo-gold);
  --slovo-selection-bg:  var(--slovo-oxblood);
  --slovo-selection-fg:  var(--slovo-ivory);

  /* ---- Borders & rules -------------------------------------------------- */
  --slovo-border:            var(--slovo-ink);          /* functional ≥3:1   */
  --slovo-border-soft:       var(--wp--preset--color--border, #B9B0A0);                   /* subtle key ≥3:1   */
  --slovo-border-decorative: var(--slovo-muted-gray);   /* non-functional    */
  --slovo-rule-hairline:  0.75px;                       /* thin ink rule     */
  --slovo-rule-accent:    1.5px;                         /* accent ink rule   */
  --slovo-rule-gold:      1px;                            /* gold accent rule  */
  --slovo-rule-hairline-color: var(--slovo-ink);
  --slovo-rule-gold-color:     var(--slovo-gold);
  /* Double ink frame (2.5px outer + 0.75px inner keyline) */
  --slovo-frame-outer:  2.5px;
  --slovo-frame-inner:  0.75px;
  --slovo-frame-gap:    3px;                              /* inter-keyline    */
  --slovo-frame-color:  var(--slovo-ink);

  /* ---- Radii (sharp editorial = 0) ------------------------------------- */
  --slovo-radius-none: 0;

  /* ---- Shadows (editorial = none; optional flat paper offset) ---------- */
  --slovo-shadow-none:  none;
  --slovo-shadow:       var(--slovo-shadow-none);

  /* ---- Type families (resolved in fonts.css) --------------------------- */
  --slovo-font-display: "Fedorovsk CS", "Old Standard TT", Georgia, "Times New Roman", Times, serif;
  --slovo-font-body:    "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --slovo-font-meta:    "Source Serif 4", "Source Serif Pro", Georgia, serif;

  /* ---- Type scale (pt→rem @16px base, fluid via clamp) ------------------ */
  /* H1 44/52 · H2 30/38 · H3 24/30 · subhead 20/28 · body 16/26
     caption 12/18 · meta 10/14 (+8% tracking) */
  --slovo-fs-h1:      clamp(2.125rem, 1.55rem + 2.7vw, 2.75rem);   /* 34→44 */
  --slovo-fs-h2:      clamp(1.625rem, 1.35rem + 1.3vw, 1.875rem);  /* 26→30 */
  --slovo-fs-h3:      clamp(1.375rem, 1.25rem + 0.6vw, 1.5rem);    /* 22→24 */
  --slovo-fs-subhead: clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem);  /* 18→20 */
  --slovo-fs-body:    1rem;                                        /* 16    */
  --slovo-fs-body-lg: 1.0625rem;                                   /* 17    */
  --slovo-fs-caption: 0.75rem;                                     /* 12    */
  --slovo-fs-meta:    0.625rem;                                    /* 10    */

  --slovo-lh-h1:      1.18;   /* 52/44 */
  --slovo-lh-h2:      1.27;   /* 38/30 */
  --slovo-lh-h3:      1.25;   /* 30/24 */
  --slovo-lh-subhead: 1.4;    /* 28/20 */
  --slovo-lh-body:    1.625;  /* 26/16 */
  --slovo-lh-caption: 1.5;    /* 18/12 */
  --slovo-lh-meta:    1.4;    /* 14/10 */
  --slovo-lh-tight:   1.15;

  --slovo-fw-regular: 400;
  --slovo-fw-medium:  600;   /* Fedorovsk CS ships 400; Source Serif has 600 */
  --slovo-fw-bold:    700;

  --slovo-tracking-tight:  -0.01em;
  --slovo-tracking-label:  0.08em;   /* +8% for meta / labels / nav          */
  --slovo-tracking-wide:   0.14em;   /* masthead sublines                    */

  /* ---- Spacing scale (4px base: 4 8 12 16 24 32 48 64 96) --------------- */
  --slovo-space-1:  0.25rem;   /*  4 */
  --slovo-space-2:  0.5rem;    /*  8 */
  --slovo-space-3:  0.75rem;   /* 12 */
  --slovo-space-4:  1rem;      /* 16 */
  --slovo-space-5:  1.5rem;    /* 24 */
  --slovo-space-6:  2rem;      /* 32 */
  --slovo-space-7:  3rem;      /* 48 */
  --slovo-space-8:  4rem;      /* 64 */
  --slovo-space-9:  6rem;      /* 96 */

  /* ---- Layout grid ----------------------------------------------------- */
  --slovo-grid-cols:      12;
  /* ---- Container ladder (L2) -------------------------------------------
     The comps carried FIVE unrelated max-widths (1080 / 1200 / 1240 / 1280 /
     760+820). They are NAMED here rather than merged: merging them would move
     the article measure with no design mandate. Drift is now impossible
     because nothing declares a raw width any more. */
  --slovo-container-max:    1080px;  /* measure-led content pages           */
  --slovo-container-read:   1240px;  /* 3-column reading layout (article)   */
  --slovo-container-wide:   1200px;  /* listing / grid pages (archive,issue)*/
  --slovo-container-full:   1280px;  /* full-bleed utility                  */
  --slovo-container-narrow:  820px;  /* narrow prose column                 */
  --slovo-measure:        66ch;                 /* optimal reading measure   */
  --slovo-gutter:         clamp(1rem, 2.2vw, 1.5rem);   /* 24 at desktop     */
  --slovo-margin:         clamp(1rem, 5vw, 3.75rem);    /* 60 page margin    */

  /* ---- Motion ---------------------------------------------------------- */
  --slovo-ease:          cubic-bezier(0.2, 0, 0, 1);
  --slovo-dur:           180ms;
  --slovo-dur-slow:      280ms;

  /* ---- Focus ----------------------------------------------------------- */
  --slovo-focus-ring:        var(--slovo-oxblood);
  --slovo-focus-ring-width:  2px;
  --slovo-focus-ring-offset: 2px;

  /* ---- z-index scale --------------------------------------------------- */
  --slovo-z-header:   200;
  --slovo-z-dropdown: 300;
  --slovo-z-overlay:  400;
  --slovo-z-max:      9999;
}

/* ============================================================================
   Dark variant — editorial night edition.
   Parchment ground → warm ink-brown; keeps sepia/oxblood/gold character.
   Triggered by [data-theme="dark"] OR by the OS when no explicit choice.
   ============================================================================ */
:root[data-theme="dark"],
:root [data-theme="dark"] {
  color-scheme: dark;

  --slovo-bg:            #17140F;   /* warm near-black brown ground          */
  --slovo-bg-raised:     #201B14;   /* raised card                           */
  --slovo-bg-inset:      #120F0B;   /* recessed well                         */
  --slovo-surface:       #201B14;

  --slovo-text:          #EDE6D4;   /* parchment-tint text (13.9:1)          */
  --slovo-text-2:        #CFC6B2;
  --slovo-text-muted:    #A99E88;   /* AA on dark ground (5.5:1)             */
  --slovo-text-accent:   #E28A8E;   /* lightened oxblood (AA on dark)        */
  --slovo-text-on-accent: #17140F;

  --slovo-link:          #E4979B;
  --slovo-link-hover:    #F2B7BA;
  --slovo-accent:        #B4323C;   /* oxblood, still deep on dark card      */
  --slovo-gold-line:     #D8B65E;   /* brighter gold                         */
  --slovo-selection-bg:  #E28A8E;
  --slovo-selection-fg:  #17140F;

  --slovo-border:            #6E6350;   /* functional key ≥3:1 on dark       */
  --slovo-border-soft:       #4A4235;
  --slovo-border-decorative: #322B21;
  --slovo-rule-hairline-color: #C9BFA9;
  --slovo-rule-gold-color:     #D8B65E;
  --slovo-frame-color:         #C9BFA9;

  --slovo-focus-ring: #E4979B;
}

/* System preference fallback (only when the site made no explicit choice) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;

    --slovo-bg:            #17140F;
    --slovo-bg-raised:     #201B14;
    --slovo-bg-inset:      #120F0B;
    --slovo-surface:       #201B14;

    --slovo-text:          #EDE6D4;
    --slovo-text-2:        #CFC6B2;
    --slovo-text-muted:    #A99E88;
    --slovo-text-accent:   #E28A8E;
    --slovo-text-on-accent: #17140F;

    --slovo-link:          #E4979B;
    --slovo-link-hover:    #F2B7BA;
    --slovo-accent:        #B4323C;
    --slovo-gold-line:     #D8B65E;
    --slovo-selection-bg:  #E28A8E;
    --slovo-selection-fg:  #17140F;

    --slovo-border:            #6E6350;
    --slovo-border-soft:       #4A4235;
    --slovo-border-decorative: #322B21;
    --slovo-rule-hairline-color: #C9BFA9;
    --slovo-rule-gold-color:     #D8B65E;
    --slovo-frame-color:         #C9BFA9;

    --slovo-focus-ring: #E4979B;
  }
}

/* Reduced-motion: neutralise durations globally */
@media (prefers-reduced-motion: reduce) {
  :root {
    --slovo-dur:      0ms;
    --slovo-dur-slow: 0ms;
  }
}



@supports (size-adjust: 100%) {
  :root{
    --slovo-font-display:"Fedorovsk CS","Display Fallback","Old Standard TT",Georgia,"Times New Roman",serif;
    --slovo-font-body:"Source Serif 4","Source Serif 4 Fallback","Source Serif Pro",Georgia,Cambria,"Times New Roman",serif;
    --slovo-font-meta:"Source Serif 4","Source Serif 4 Fallback","Source Serif Pro",Georgia,serif;
  }
}


/* ==========================================================================
   3. BASE — reset, elements, a11y, layout primitives, print
   ========================================================================== */

/* ============================================================================
   СЛОВО — Base layer (Lane A / foundation)
   Modern reset · base typography · 12-col responsive grid · chrome primitives
   Depends on: tokens.css (custom properties), fonts.css (families)
   Load order: fonts.css → tokens.css → base.css → pages.css (Lane C)
   Target: WCAG 2.2 AA, responsive, print-culture editorial feel.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   1. MODERN RESET (box-sizing, margins, media, form inheritance)
   --------------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd,
ul, ol { margin: 0; }

ul[role="list"],
ol[role="list"] { list-style: none; padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
  text-wrap: balance;
}
p { text-wrap: pretty; }

img, picture, svg, video, canvas {
  max-width: 100%;
  height: auto;
  display: block;
}
svg { fill: currentColor; }

input, button, textarea, select {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}
button { background: none; border: 0; cursor: pointer; }

a { color: var(--slovo-link); }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

hr {
  border: 0;
  border-top: var(--slovo-rule-hairline) solid var(--slovo-rule-hairline-color);
  margin: var(--slovo-space-6) 0;
}

:target { scroll-margin-top: var(--slovo-space-7); }

/* ---------------------------------------------------------------------------
   2. BASE ELEMENTS / TYPOGRAPHY
   --------------------------------------------------------------------------- */
body {
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  background-color: var(--slovo-bg);
  color: var(--slovo-text);
  font-family: var(--slovo-font-body);
  font-size: var(--slovo-fs-body);
  line-height: var(--slovo-lh-body);
  font-weight: var(--slovo-fw-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "onum" 1, "pnum" 1;
  /* faint laid-paper tone that survives dark mode */
  background-image:
    radial-gradient(1200px 800px at 100% -10%, rgba(198, 162, 74, 0.05), transparent 60%);
  background-attachment: fixed;
}

/* Headings → display token (Fedorovsk CS) */
h1, h2, h3, h4, h5, h6,
.slovo-display {
  font-family: var(--slovo-font-display);
  color: var(--slovo-text);
  font-weight: var(--slovo-fw-bold);
  letter-spacing: var(--slovo-tracking-tight);
  line-height: var(--slovo-lh-tight);
}

h1, .slovo-h1 { font-size: var(--slovo-fs-h1); line-height: var(--slovo-lh-h1); }
h2, .slovo-h2 { font-size: var(--slovo-fs-h2); line-height: var(--slovo-lh-h2); }
h3, .slovo-h3 { font-size: var(--slovo-fs-h3); line-height: var(--slovo-lh-h3); }
h4, .slovo-h4 {
  font-size: var(--slovo-fs-subhead);
  line-height: var(--slovo-lh-subhead);
  font-weight: var(--slovo-fw-bold);
}
h5, h6 {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  line-height: var(--slovo-lh-caption);
  font-weight: var(--slovo-fw-bold);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
}

.slovo-subhead {
  font-family: var(--slovo-font-body);
  font-size: var(--slovo-fs-subhead);
  line-height: var(--slovo-lh-subhead);
  color: var(--slovo-text-2);
}

p { max-width: var(--slovo-measure); }
p + p { margin-top: var(--slovo-space-4); }

/* Flow rhythm for prose */
.slovo-prose > * + * { margin-top: var(--slovo-space-4); }
.slovo-prose > h2 { margin-top: var(--slovo-space-7); }
.slovo-prose > h3 { margin-top: var(--slovo-space-6); }
.slovo-prose a { text-underline-offset: 0.18em; text-decoration-thickness: from-font; }

a:hover { color: var(--slovo-link-hover); }

strong, b { font-weight: var(--slovo-fw-bold); }
em, i { font-style: italic; }

small,
.slovo-caption {
  font-size: var(--slovo-fs-caption);
  line-height: var(--slovo-lh-caption);
  color: var(--slovo-text-muted);
}

.slovo-meta,
.slovo-overline {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-meta);
  line-height: var(--slovo-lh-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-text-muted);
}

blockquote {
  border-left: var(--slovo-rule-accent) solid var(--slovo-oxblood);
  padding-left: var(--slovo-space-5);
  margin-block: var(--slovo-space-6);
  font-style: italic;
  color: var(--slovo-text-2);
}
blockquote cite {
  display: block;
  margin-top: var(--slovo-space-3);
  font-style: normal;
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-text-muted);
}

code, pre, kbd, samp {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9em;
}

/* Drop-cap (opt-in) for lead paragraphs */
.slovo-dropcap::first-letter {
  font-family: var(--slovo-font-display);
  color: var(--slovo-oxblood);
  float: left;
  font-size: 3.4em;
  line-height: 0.82;
  padding: 0.05em 0.12em 0 0;
  font-weight: var(--slovo-fw-bold);
}

::selection {
  background: var(--slovo-selection-bg);
  color: var(--slovo-selection-fg);
}

/* ---------------------------------------------------------------------------
   3. FOCUS / ACCESSIBILITY (WCAG 2.2 — visible focus, target size, skip link)
   --------------------------------------------------------------------------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--slovo-focus-ring-width) solid var(--slovo-focus-ring);
  outline-offset: var(--slovo-focus-ring-offset);
  border-radius: 0;
}
/* Remove default outline only where a focus-visible ring is provided */
:where(a, button, input, select, textarea, summary):focus:not(:focus-visible) {
  outline: none;
}

.slovo-skip-link {
  position: absolute;
  left: var(--slovo-space-3);
  top: -4rem;
  z-index: var(--slovo-z-max);
  background: var(--slovo-oxblood);
  color: var(--slovo-ivory);
  padding: var(--slovo-space-2) var(--slovo-space-4);
  font-family: var(--slovo-font-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  transition: top var(--slovo-dur) var(--slovo-ease);
}
.slovo-skip-link:focus { top: var(--slovo-space-3); }

.slovo-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* WCAG 2.2 (2.5.8) minimum interactive target */
.slovo-btn,
.slovo-tag,
.slovo-nav a { min-height: 44px; }

/* ---------------------------------------------------------------------------
   4. LAYOUT — containers & 12-column responsive grid
   --------------------------------------------------------------------------- */
.slovo-container {
  width: 100%;
  max-width: var(--slovo-container-max);
  margin-inline: auto;
  padding-inline: var(--slovo-margin);
}
.slovo-container--wide { max-width: var(--slovo-container-full); }
.slovo-container--narrow { max-width: 760px; }
.slovo-container--measure { max-width: calc(var(--slovo-measure) + 2 * var(--slovo-margin)); }

.slovo-grid {
  display: grid;
  grid-template-columns: repeat(var(--slovo-grid-cols), minmax(0, 1fr));
  column-gap: var(--slovo-gutter);
  row-gap: var(--slovo-space-6);
}

/* Column span helpers (desktop) */
.slovo-col-1  { grid-column: span 1; }
.slovo-col-2  { grid-column: span 2; }
.slovo-col-3  { grid-column: span 3; }
.slovo-col-4  { grid-column: span 4; }
.slovo-col-5  { grid-column: span 5; }
.slovo-col-6  { grid-column: span 6; }
.slovo-col-7  { grid-column: span 7; }
.slovo-col-8  { grid-column: span 8; }
.slovo-col-9  { grid-column: span 9; }
.slovo-col-10 { grid-column: span 10; }
.slovo-col-11 { grid-column: span 11; }
.slovo-col-12 { grid-column: span 12; }

.slovo-start-2 { grid-column-start: 2; }
.slovo-start-3 { grid-column-start: 3; }
.slovo-start-4 { grid-column-start: 4; }

/* Tablet: collapse to 6 tracks */
@media (max-width: 960px) {
  .slovo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .slovo-col-7, .slovo-col-8, .slovo-col-9,
  .slovo-col-10, .slovo-col-11, .slovo-col-12 { grid-column: span 6; }
  .slovo-col-5, .slovo-col-6 { grid-column: span 6; }
  .slovo-col-3, .slovo-col-4 { grid-column: span 3; }
  .slovo-start-2, .slovo-start-3, .slovo-start-4 { grid-column-start: auto; }
}

/* Mobile: single column stack */
@media (max-width: 640px) {
  :root { --slovo-margin: clamp(1rem, 6vw, 1.5rem); }
  .slovo-grid { grid-template-columns: 1fr; row-gap: var(--slovo-space-5); }
  [class*="slovo-col-"] { grid-column: 1 / -1; }
}

/* Generic stack / cluster utilities */
.slovo-stack { display: flex; flex-direction: column; gap: var(--slovo-space-4); }
.slovo-stack--tight { gap: var(--slovo-space-2); }
.slovo-stack--loose { gap: var(--slovo-space-6); }
.slovo-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--slovo-space-3);
}
.slovo-section { padding-block: var(--slovo-space-8); }
@media (max-width: 640px) { .slovo-section { padding-block: var(--slovo-space-7); } }

/* ---------------------------------------------------------------------------
   5. CHROME PRIMITIVES — the reusable print-frame vocabulary
   --------------------------------------------------------------------------- */

/* 5.1 .frame — double ink frame (2.5px outer + 0.75px inner keyline) --------
   Outer border on the box; inner keyline drawn with an offset inset outline
   via a ::before so no wrapper element is required. */
.slovo-frame,
.frame {
  position: relative;
  border: var(--slovo-frame-outer) solid var(--slovo-frame-color);
  background: var(--slovo-bg-raised);
  padding: var(--slovo-space-6);
}
.slovo-frame::before,
.frame::before {
  content: "";
  position: absolute;
  inset: var(--slovo-frame-gap);
  border: var(--slovo-frame-inner) solid var(--slovo-frame-color);
  pointer-events: none;
}
.slovo-frame--flush,
.frame--flush { padding: 0; }
.slovo-frame--tight,
.frame--tight { padding: var(--slovo-space-4); }

/* 5.2 .panel — ivory card on parchment ground ----------------------------- */
.slovo-panel,
.panel {
  background: var(--slovo-surface);
  border: var(--slovo-rule-hairline) solid var(--slovo-border-soft);
  border-radius: var(--slovo-radius-none);
  padding: var(--slovo-space-6);
  box-shadow: var(--slovo-shadow);
}
.slovo-panel--inset,
.panel--inset { background: var(--slovo-bg-inset); }
.slovo-panel--framed,
.panel--framed {
  border: var(--slovo-rule-accent) solid var(--slovo-border);
}

/* 5.3 .section-label — small overline with gold underline ------------------ */
.slovo-section-label,
.section-label {
  display: inline-block;
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  line-height: 1.2;
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-text-accent);
  padding-bottom: var(--slovo-space-2);
  border-bottom: 2px solid var(--slovo-gold-line);
  margin-bottom: var(--slovo-space-4);
}
.slovo-section-label--muted,
.section-label--muted { color: var(--slovo-text-2); }

/* 5.4 .rule — hairline divider + .rule-lozenge (oxblood diamond centre) ---- */
.slovo-rule,
.rule {
  border: 0;
  border-top: var(--slovo-rule-hairline) solid var(--slovo-rule-hairline-color);
  margin-block: var(--slovo-space-6);
}
.slovo-rule--accent,
.rule--accent { border-top-width: var(--slovo-rule-accent); }
.slovo-rule--gold,
.rule--gold { border-top-color: var(--slovo-rule-gold-color); }

/* Divider carrying a centred oxblood lozenge (diamond) flanked by hairlines */
.slovo-rule-lozenge,
.rule-lozenge {
  display: flex;
  align-items: center;
  gap: var(--slovo-space-4);
  margin-block: var(--slovo-space-6);
  color: var(--slovo-oxblood);
  border: 0;
}
.slovo-rule-lozenge::before,
.slovo-rule-lozenge::after,
.rule-lozenge::before,
.rule-lozenge::after {
  content: "";
  flex: 1 1 auto;
  height: var(--slovo-rule-hairline);
  background: var(--slovo-rule-hairline-color);
}
/* The lozenge glyph itself sits between the two hairlines */
.slovo-rule-lozenge > .slovo-lozenge,
.rule-lozenge > .slovo-lozenge { flex: 0 0 auto; }

/* Reusable lozenge mark (also used inside cartouche flanks) */
.slovo-lozenge {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--slovo-accent);
  transform: rotate(45deg);
  flex: 0 0 auto;
}
.slovo-lozenge--sm { width: 5px; height: 5px; }
.slovo-lozenge--gold { background: var(--slovo-gold-line); }
.slovo-lozenge--hollow {
  background: transparent;
  border: 1.25px solid var(--slovo-accent);
}
/* Convenience: lozenge cluster ◆ ◆ ◆ */
.slovo-lozenge-trio {
  display: inline-flex;
  gap: var(--slovo-space-2);
  align-items: center;
}

/* 5.5 .cartouche — centred title box with flanking hairlines + lozenges ----
   Structure:
     <div class="slovo-cartouche">
       <span class="slovo-lozenge"></span>
       <div class="slovo-cartouche__box"> … title … </div>
       <span class="slovo-lozenge"></span>
     </div>
   The __box carries a double keyline; flanking hairline rules extend to edges
   with oxblood lozenges seated on the rules. */
.slovo-cartouche,
.cartouche {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--slovo-space-4);
  width: 100%;
  color: var(--slovo-oxblood);
  text-align: center;
}
.slovo-cartouche::before,
.slovo-cartouche::after,
.cartouche::before,
.cartouche::after {
  content: "";
  flex: 1 1 auto;
  height: var(--slovo-rule-hairline);
  background: var(--slovo-rule-hairline-color);
}
.slovo-cartouche__box,
.cartouche__box {
  position: relative;
  flex: 0 1 auto;
  padding: var(--slovo-space-3) var(--slovo-space-6);
  border: var(--slovo-frame-inner) solid var(--slovo-frame-color);
  outline: var(--slovo-frame-outer) solid var(--slovo-frame-color);
  outline-offset: var(--slovo-frame-gap);
  background: var(--slovo-bg-raised);
}
.slovo-cartouche__title,
.cartouche__title {
  font-family: var(--slovo-font-display);
  font-weight: var(--slovo-fw-bold);
  color: var(--slovo-text);
  font-size: var(--slovo-fs-h3);
  line-height: var(--slovo-lh-tight);
  letter-spacing: var(--slovo-tracking-tight);
  margin: 0;
}
.slovo-cartouche__sub,
.cartouche__sub {
  display: block;
  margin-top: var(--slovo-space-1);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-meta);
  letter-spacing: var(--slovo-tracking-wide);
  text-transform: uppercase;
  color: var(--slovo-text-muted);
}

/* ---------------------------------------------------------------------------
   6. SMALL COMPONENTS built on the primitives (buttons, tags)
   --------------------------------------------------------------------------- */
.slovo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--slovo-space-2);
  padding: var(--slovo-space-3) var(--slovo-space-5);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--slovo-ink);
  background: transparent;
  border: var(--slovo-rule-accent) solid var(--slovo-ink);
  transition: background var(--slovo-dur) var(--slovo-ease),
              color var(--slovo-dur) var(--slovo-ease);
}
.slovo-btn:hover { background: var(--slovo-ink); color: var(--slovo-bg-raised); }
.slovo-btn--accent {
  color: var(--slovo-text-on-accent);
  background: var(--slovo-accent);
  border-color: var(--slovo-accent);
}
.slovo-btn--accent:hover { background: var(--slovo-link-hover); border-color: var(--slovo-link-hover); }
:root[data-theme="dark"] .slovo-btn { color: var(--slovo-text); border-color: var(--slovo-border); }
:root[data-theme="dark"] .slovo-btn:hover { background: var(--slovo-border); color: var(--slovo-bg); }

.slovo-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--slovo-space-2);
  padding: var(--slovo-space-1) var(--slovo-space-3);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-text-accent);
  border: var(--slovo-rule-gold) solid var(--slovo-gold-line);
}

/* ---------------------------------------------------------------------------
   7. PRINT — flatten to true editorial page
   --------------------------------------------------------------------------- */
@media print {
  :root { --slovo-bg: #fff; }
  body { background: #fff; color: #000; }
  .slovo-skip-link, .slovo-nav { display: none; }
  .slovo-frame, .frame, .slovo-panel, .panel { break-inside: avoid; }
  a { color: #000; text-decoration: underline; }
}


/* ==========================================================================
   4. SHARED COMPONENT LAYER (sk-*) — global, no scope required
   ========================================================================== */

/* ============================================================================
   СКАРЫНА — site.css  ·  SHARED COMPONENT LAYER  (Lane A / owner)
   ----------------------------------------------------------------------------
   Every page loads this after fonts.css → tokens.css → base.css and before its
   own page sheet. All component classes are namespaced `sk-*` and consume the
   authoritative `--slovo-*` design tokens ONLY (no raw hex/px except structural
   1px keylines already implied by the token contract).

   TABLE OF CONTENTS
     0.  Layout helpers ....... .sk-container .sk-grid .sk-visually-hidden .sk-skip
     1.  Masthead header ...... .sk-header .sk-masthead .sk-brand .sk-wordmark
     2.  Primary nav .......... .sk-nav  (+ pure-CSS mobile drawer)
     3.  Search bar ........... .sk-searchbar  (pure-CSS reveal)
     4.  Buttons .............. .sk-btn --primary/--secondary/--text
     5.  Chips / tabs / page .. .sk-chip .sk-tabs .sk-pagination
     6.  Form controls ........ .sk-field .sk-input .sk-select .sk-check .sk-switch
     7.  Section headers ...... .sk-section-head  (gold rule)
     8.  Cards ................ .sk-card  (article / archive)
     9.  Ornament dividers .... .sk-divider .sk-rule-lozenge  + .sk-dropcap
    10.  Footer / colophon .... .sk-footer .sk-endpiece .sk-colophon
   ============================================================================ */

/* ───────────────────────────────────────────────────────────────────────────
   0.  LAYOUT HELPERS
   ─────────────────────────────────────────────────────────────────────────── */
.sk-container {
  width: 100%;
  max-width: var(--slovo-container-max);
  margin-inline: auto;
  padding-inline: var(--slovo-margin);
}
.sk-container--wide { max-width: 1280px; }

/* light 12-col grid used by colophon + card rows (base.css also ships .slovo-grid) */
.sk-grid {
  display: grid;
  gap: var(--slovo-gutter);
}

.sk-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* skip link (mirrors base.css .slovo-skip-link, kept sk-* for partial parity) */
.sk-skip {
  position: absolute; left: var(--slovo-space-3); top: -4rem;
  z-index: var(--slovo-z-max);
  background: var(--slovo-oxblood); color: var(--slovo-ivory);
  padding: var(--slovo-space-2) var(--slovo-space-4);
  font-family: var(--slovo-font-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase; text-decoration: none;
  transition: top var(--slovo-dur) var(--slovo-ease);
}
.sk-skip:focus { top: var(--slovo-space-3); }

/* the two hidden checkboxes that drive nav + search (no JS) */
.sk-toggle { position: absolute; opacity: 0; pointer-events: none; }

/* ───────────────────────────────────────────────────────────────────────────
   1.  MASTHEAD HEADER  (p01 + p04)  — sticky black bar, gold hairline underline
   ─────────────────────────────────────────────────────────────────────────── */
.sk-header {
  position: sticky; top: 0;
  z-index: var(--slovo-z-header);
  background: var(--slovo-ink);
  color: var(--slovo-ivory);
  border-bottom: 1px solid var(--slovo-gold-line);
}
.sk-masthead__inner {
  display: flex;
  align-items: center;
  gap: var(--slovo-space-4);
  min-height: 66px;
}

/* brand lockup ------------------------------------------------------------- */
.sk-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--slovo-space-3);
  text-decoration: none;
  color: var(--slovo-ivory);
  padding-inline: var(--slovo-space-1);
  /* gold divider bar to the left of the wordmark, echoing p04 */
  position: relative;
}
.sk-brand__emblem { flex: 0 0 auto; width: 40px; height: 38px; display: block; }
.sk-brand__emblem svg { width: 100%; height: 100%; overflow: visible; }
.sk-wordmark {
  font-family: "Carina AI Antiqua", var(--slovo-font-display);
  font-weight: 400;
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.7rem);
  letter-spacing: 0.14em;
  line-height: 1;
  color: var(--slovo-ivory);
  padding-left: var(--slovo-space-3);
  border-left: 1px solid var(--slovo-gold-line);
}
.sk-brand:hover .sk-wordmark { color: var(--slovo-gold-line); }

/* header action icons (search + account) ----------------------------------- */
.sk-masthead__actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--slovo-space-2);
}
.sk-iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  color: var(--slovo-ivory);
  background: transparent; border: 0;
  text-decoration: none; cursor: pointer;
  transition: color var(--slovo-dur) var(--slovo-ease);
}
.sk-iconbtn svg { width: 20px; height: 20px; }
/* stroke-only line icons must not inherit base.css `svg{fill:currentColor}` */
.sk-iconbtn svg,
.sk-searchbar__submit svg,
.sk-listrow__thumb svg,
.hero__bookmark svg { fill: none; }
.sk-iconbtn:hover { color: var(--slovo-gold-line); }
/* search icon shows an "open" (gold) affordance when its checkbox is checked */
#sk-searchtoggle:checked ~ .sk-masthead .sk-iconbtn[for="sk-searchtoggle"] { color: var(--slovo-gold-line); }

/* hamburger (mobile only) -------------------------------------------------- */
.sk-burger {
  display: none;
  flex: 0 0 auto;
  width: 44px; height: 44px;
  flex-direction: column; justify-content: center; align-items: center;
  gap: 5px; cursor: pointer;
}
.sk-burger span {
  display: block; width: 22px; height: 2px;
  background: var(--slovo-ivory);
  transition: transform var(--slovo-dur) var(--slovo-ease),
              opacity var(--slovo-dur) var(--slovo-ease);
}
#sk-navtoggle:checked ~ .sk-masthead .sk-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#sk-navtoggle:checked ~ .sk-masthead .sk-burger span:nth-child(2) { opacity: 0; }
#sk-navtoggle:checked ~ .sk-masthead .sk-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ───────────────────────────────────────────────────────────────────────────
   2.  PRIMARY NAV  — inline on desktop, slide-in drawer on mobile
   ─────────────────────────────────────────────────────────────────────────── */
.sk-nav { margin-inline: var(--slovo-space-4); }
.sk-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 1.4vw, 1.35rem);
  list-style: none; margin: 0; padding: 0;
}
.sk-nav__list a {
  display: inline-flex; align-items: center;
  min-height: 44px;
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--slovo-ivory);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color var(--slovo-dur) var(--slovo-ease),
              border-color var(--slovo-dur) var(--slovo-ease);
}
.sk-nav__list a:hover { color: var(--slovo-gold-line); }
.sk-nav__list a[aria-current="page"] {
  color: var(--slovo-gold-line);
  border-bottom-color: var(--slovo-gold-line);
}

/* scrim behind the mobile drawer (label toggles the nav checkbox off) */
.sk-nav-scrim { display: none; }

@media (max-width: 900px) {
  .sk-burger { display: inline-flex; }
  .sk-nav {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(78vw, 320px);
    margin: 0;
    background: var(--slovo-ink);
    border-right: 1px solid var(--slovo-gold-line);
    padding: calc(66px + var(--slovo-space-5)) var(--slovo-space-5) var(--slovo-space-6);
    transform: translateX(-102%);
    transition: transform var(--slovo-dur-slow) var(--slovo-ease);
    z-index: var(--slovo-z-dropdown);
    overflow-y: auto;
  }
  .sk-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .sk-nav__list li { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
  .sk-nav__list a { width: 100%; padding-block: var(--slovo-space-3); border-bottom: 0; }
  .sk-nav__list a[aria-current="page"] { border-bottom: 0; }

  #sk-navtoggle:checked ~ .sk-masthead .sk-nav { transform: translateX(0); }
  #sk-navtoggle:checked ~ .sk-nav-scrim {
    display: block; position: fixed; inset: 0;
    background: rgba(17, 17, 17, 0.55);
    z-index: var(--slovo-z-overlay);
  }
  /* place nav visually before actions again on small screens */
  .sk-masthead__inner { gap: var(--slovo-space-2); }
}

/* ───────────────────────────────────────────────────────────────────────────
   3.  SEARCH BAR  (p04)  — revealed by #sk-searchtoggle
   ─────────────────────────────────────────────────────────────────────────── */
.sk-searchbar {
  max-height: 0; overflow: hidden;
  background: var(--slovo-charcoal);
  transition: max-height var(--slovo-dur-slow) var(--slovo-ease);
}
#sk-searchtoggle:checked ~ .sk-searchbar { max-height: 120px; }
.sk-searchbar__inner {
  display: flex; align-items: stretch;
  gap: 0;
  padding-block: var(--slovo-space-3);
}
.sk-searchbar__input {
  flex: 1 1 auto;
  background: var(--slovo-parchment);
  color: var(--slovo-ink);
  border: 1px solid var(--slovo-ink);
  border-right: 0;
  padding: var(--slovo-space-3) var(--slovo-space-4);
  font-family: var(--slovo-font-body);
  font-style: italic;
}
.sk-searchbar__input::placeholder { color: var(--slovo-text-muted); font-style: italic; }
.sk-searchbar__submit {
  flex: 0 0 auto;
  width: 52px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--slovo-ink); color: var(--slovo-ivory);
  border: 1px solid var(--slovo-ink);
  cursor: pointer;
  transition: background var(--slovo-dur) var(--slovo-ease);
}
.sk-searchbar__submit:hover { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }
.sk-searchbar__submit svg { width: 20px; height: 20px; }

/* ───────────────────────────────────────────────────────────────────────────
   4.  BUTTONS  (p05 + p07)
       .sk-btn base ·  --primary (oxblood fill) ·  --secondary (outline)
       .sk-btn--text  (tertiary link with arrow)  ·  --lg size modifier
   ─────────────────────────────────────────────────────────────────────────── */
.sk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--slovo-space-2);
  min-height: 44px;
  padding: var(--slovo-space-3) var(--slovo-space-6);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  border: var(--slovo-rule-accent) solid var(--slovo-ink);
  background: transparent;
  color: var(--slovo-ink);
  cursor: pointer;
  transition: background var(--slovo-dur) var(--slovo-ease),
              color var(--slovo-dur) var(--slovo-ease),
              border-color var(--slovo-dur) var(--slovo-ease);
}
.sk-btn svg { width: 1.05em; height: 1.05em; }

/* primary — filled oxblood */
.sk-btn--primary {
  background: var(--slovo-oxblood);
  border-color: var(--slovo-oxblood);
  color: var(--slovo-ivory);
}
.sk-btn--primary:hover { background: var(--slovo-link-hover); border-color: var(--slovo-link-hover); color: var(--slovo-ivory); }

/* secondary — ink outline, inks on hover */
.sk-btn--secondary { background: transparent; border-color: var(--slovo-ink); color: var(--slovo-ink); }
.sk-btn--secondary:hover { background: var(--slovo-ink); color: var(--slovo-ivory); }

/* tertiary — text link with trailing rule/arrow */
.sk-btn--text {
  min-height: 0; padding: 0; gap: var(--slovo-space-2);
  border: 0; background: transparent;
  color: var(--slovo-oxblood);
}
.sk-btn--text svg,
.sk-btn--text .sk-arrow { transition: transform var(--slovo-dur) var(--slovo-ease); }
.sk-btn--text:hover { color: var(--slovo-link-hover); }
.sk-btn--text:hover .sk-arrow,
.sk-btn--text:hover svg { transform: translateX(4px); }

.sk-btn--lg { min-height: 52px; padding-inline: var(--slovo-space-7); }
.sk-btn--block { width: 100%; }

/* reusable "→" arrow glyph for text-links (inherits currentColor) */
.sk-arrow { display: inline-block; }
.sk-arrow::before { content: "→"; }

/* dark-theme legibility for outline buttons */
:root[data-theme="dark"] .sk-btn--secondary { border-color: var(--slovo-border); color: var(--slovo-text); }
:root[data-theme="dark"] .sk-btn--secondary:hover { background: var(--slovo-border); color: var(--slovo-bg); }

/* ───────────────────────────────────────────────────────────────────────────
   5.  CHIPS / TABS / PAGINATION  (p04)
   ─────────────────────────────────────────────────────────────────────────── */
/* filter chips */
.sk-chips { display: flex; flex-wrap: wrap; gap: var(--slovo-space-2); }
.sk-chip {
  display: inline-flex; align-items: center; gap: var(--slovo-space-2);
  min-height: 34px;
  padding: var(--slovo-space-1) var(--slovo-space-4);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--slovo-text-2);
  background: var(--slovo-bg-raised);
  border: 1px solid var(--slovo-border-soft);
  border-radius: 999px;               /* the ONE rounded element (pill chip, p04) */
  cursor: pointer;
  transition: background var(--slovo-dur) var(--slovo-ease),
              color var(--slovo-dur) var(--slovo-ease),
              border-color var(--slovo-dur) var(--slovo-ease);
}
.sk-chip:hover { border-color: var(--slovo-ink); color: var(--slovo-ink); }
.sk-chip[aria-pressed="true"],
.sk-chip--active {
  background: var(--slovo-oxblood);
  border-color: var(--slovo-oxblood);
  color: var(--slovo-ivory);
}

/* tabs (underline row) */
.sk-tabs {
  display: flex; flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--slovo-border-soft);
}
.sk-tab {
  appearance: none;
  padding: var(--slovo-space-3) var(--slovo-space-5);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--slovo-text-2);
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: color var(--slovo-dur) var(--slovo-ease), border-color var(--slovo-dur) var(--slovo-ease);
}
.sk-tab:hover { color: var(--slovo-ink); }
.sk-tab[aria-selected="true"],
.sk-tab--active {
  color: var(--slovo-oxblood);
  border-bottom-color: var(--slovo-oxblood);
}

/* pagination */
.sk-pagination {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--slovo-space-1);
  list-style: none; margin: 0; padding: 0;
  font-family: var(--slovo-font-meta);
}
.sk-pagination a,
.sk-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; min-height: 40px;
  padding-inline: var(--slovo-space-2);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-decoration: none;
  color: var(--slovo-text-2);
  border: 1px solid transparent;
}
.sk-pagination a:hover { color: var(--slovo-ink); border-color: var(--slovo-border-soft); }
.sk-pagination [aria-current="page"] {
  color: var(--slovo-oxblood);
  border-color: var(--slovo-oxblood);
  font-weight: var(--slovo-fw-bold);
}
.sk-pagination .is-ellipsis { border: 0; color: var(--slovo-text-muted); }

/* pagination DOTS (hero carousel style, p05/p08) */
.sk-dots { display: inline-flex; align-items: center; gap: var(--slovo-space-2); }
.sk-dots__dot {
  width: 8px; height: 8px; border-radius: 999px;
  background: transparent;
  border: 1px solid var(--slovo-border-soft);
  padding: 0; cursor: pointer;
}
.sk-dots__dot[aria-current="true"],
.sk-dots__dot.is-active { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }

/* ───────────────────────────────────────────────────────────────────────────
   6.  FORM CONTROLS  (p07)  — sharp editorial fields, oxblood accent
   ─────────────────────────────────────────────────────────────────────────── */
.sk-field { display: flex; flex-direction: column; gap: var(--slovo-space-2); margin-bottom: var(--slovo-space-4); }
.sk-label {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-text-2);
}
.sk-field__hint { font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); }

.sk-input, .sk-select, .sk-textarea {
  width: 100%;
  padding: var(--slovo-space-3) var(--slovo-space-4);
  font-family: var(--slovo-font-body);
  font-size: var(--slovo-fs-body);
  color: var(--slovo-ink);
  background: var(--slovo-white);
  border: 1px solid var(--slovo-ink);
  border-radius: 0;
  transition: border-color var(--slovo-dur) var(--slovo-ease), box-shadow var(--slovo-dur) var(--slovo-ease);
}
.sk-textarea { min-height: 8rem; resize: vertical; line-height: var(--slovo-lh-body); }
.sk-input::placeholder, .sk-textarea::placeholder { color: var(--slovo-text-muted); font-style: italic; }
.sk-input:focus, .sk-select:focus, .sk-textarea:focus {
  outline: none;
  border-color: var(--slovo-oxblood);
  box-shadow: inset 0 0 0 1px var(--slovo-oxblood);
}
.sk-input:disabled, .sk-select:disabled, .sk-textarea:disabled {
  background: var(--slovo-bg-inset); color: var(--slovo-text-muted); cursor: not-allowed;
}

/* select with custom caret */
.sk-select {
  appearance: none; -webkit-appearance: none;
  padding-right: var(--slovo-space-7);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--slovo-ink) 50%),
    linear-gradient(135deg, var(--slovo-ink) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 14px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* checkbox + radio (accent-color keeps them native + accessible) */
.sk-check, .sk-radio {
  display: inline-flex; align-items: flex-start; gap: var(--slovo-space-3);
  font-size: var(--slovo-fs-body); color: var(--slovo-text); cursor: pointer;
}
.sk-check input, .sk-radio input {
  appearance: auto;
  width: 18px; height: 18px; margin-top: 0.2em;
  accent-color: var(--slovo-oxblood);
  cursor: pointer; flex: 0 0 auto;
}

/* toggle switch (p07) */
.sk-switch { display: inline-flex; align-items: center; gap: var(--slovo-space-3); cursor: pointer; }
.sk-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.sk-switch__track {
  position: relative;
  width: 46px; height: 24px;
  background: var(--slovo-bg-inset);
  border: 1px solid var(--slovo-border);
  border-radius: 999px;
  transition: background var(--slovo-dur) var(--slovo-ease), border-color var(--slovo-dur) var(--slovo-ease);
  flex: 0 0 auto;
}
.sk-switch__track::after {
  content: ""; position: absolute; top: 2px; left: 2px;
  width: 18px; height: 18px; border-radius: 999px;
  background: var(--slovo-ink);
  transition: transform var(--slovo-dur) var(--slovo-ease), background var(--slovo-dur) var(--slovo-ease);
}
.sk-switch input:checked + .sk-switch__track { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }
.sk-switch input:checked + .sk-switch__track::after { transform: translateX(22px); background: var(--slovo-ivory); }
.sk-switch input:focus-visible + .sk-switch__track {
  outline: var(--slovo-focus-ring-width) solid var(--slovo-focus-ring);
  outline-offset: var(--slovo-focus-ring-offset);
}

/* ───────────────────────────────────────────────────────────────────────────
   7.  SECTION HEADERS  (p11)  — Carina label + long gold rule + "ВСЕ →"
   ─────────────────────────────────────────────────────────────────────────── */
.sk-section-head {
  display: flex; align-items: baseline; gap: var(--slovo-space-4);
  margin-bottom: var(--slovo-space-5);
}
.sk-section-head__title {
  font-family: "Carina AI Antiqua", var(--slovo-font-display);
  font-weight: 400;
  font-size: var(--slovo-fs-h3);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--slovo-ink);
  white-space: nowrap;
}
.sk-section-head__rule {
  flex: 1 1 auto;
  height: 1px;
  background: var(--slovo-gold-line);
  align-self: center;
}
.sk-section-head__all {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: var(--slovo-space-2);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--slovo-oxblood);
  white-space: nowrap;
}
.sk-section-head__all:hover { color: var(--slovo-link-hover); }
.sk-section-head__all:hover .sk-arrow { transform: translateX(4px); }

/* centered cartouche-style section heading (p11 top "— ◆ СЕКЦИИ ГЛАВНОЙ ◆ —") */
.sk-section-mark {
  display: flex; align-items: center; justify-content: center; gap: var(--slovo-space-4);
  margin-block: var(--slovo-space-6);
  color: var(--slovo-ink);
}
.sk-section-mark::before, .sk-section-mark::after {
  content: ""; width: clamp(1.5rem, 8vw, 4rem); height: 1px; background: var(--slovo-ink);
}
.sk-section-mark__label {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-wide);
  text-transform: uppercase;
  color: var(--slovo-ink);
}
.sk-section-mark__lz { color: var(--slovo-gold-line); }

/* ───────────────────────────────────────────────────────────────────────────
   8.  CARDS  (p09 / p11)  — article & archive cards
   ─────────────────────────────────────────────────────────────────────────── */
.sk-card {
  display: flex; flex-direction: column;
  background: var(--slovo-bg-raised);
  border: 1px solid var(--slovo-border-soft);
  transition: border-color var(--slovo-dur) var(--slovo-ease);
}
.sk-card:hover { border-color: var(--slovo-ink); }

.sk-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--slovo-bg-inset);
  border-bottom: 1px solid var(--slovo-border-soft);
  overflow: hidden;
  display: grid; place-items: center;
}
.sk-card__media svg, .sk-card__media img { width: 100%; height: 100%; object-fit: cover; }

.sk-card__body { display: flex; flex-direction: column; gap: var(--slovo-space-3); padding: var(--slovo-space-5); flex: 1 1 auto; }

.sk-card__kicker {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-oxblood);
}
.sk-card__title {
  font-family: var(--slovo-font-display);
  font-size: var(--slovo-fs-h4, var(--slovo-fs-subhead));
  font-weight: var(--slovo-fw-bold);
  line-height: var(--slovo-lh-subhead);
  color: var(--slovo-ink);
  letter-spacing: var(--slovo-tracking-tight);
}
.sk-card__title a { color: inherit; text-decoration: none; }
.sk-card__title a:hover { color: var(--slovo-oxblood); }
.sk-card__excerpt { font-size: var(--slovo-fs-body); color: var(--slovo-text-2); max-width: none; }
.sk-card__meta {
  margin-top: auto;
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  font-style: italic;
  color: var(--slovo-text-muted);
}
.sk-card__meta a { color: inherit; }

/* compact horizontal list row (p11 "Свежие эссе") ------------------------- */
.sk-listrow {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: var(--slovo-space-4);
  align-items: center;
  padding-block: var(--slovo-space-4);
  border-top: 1px solid var(--slovo-border-soft);
}
.sk-listrow:last-child { border-bottom: 1px solid var(--slovo-border-soft); }
.sk-listrow__thumb {
  width: 64px; height: 52px;
  border: 1px solid var(--slovo-ink);
  background: var(--slovo-bg-raised);
  display: grid; place-items: center;
  color: var(--slovo-ink);
}
.sk-listrow__thumb svg { width: 34px; height: 34px; }
.sk-listrow__title {
  font-family: var(--slovo-font-display);
  font-weight: var(--slovo-fw-bold);
  font-size: var(--slovo-fs-subhead);
  line-height: var(--slovo-lh-subhead);
  letter-spacing: var(--slovo-tracking-tight);
  color: var(--slovo-ink);
  margin: 0;
}
.sk-listrow__title a { color: inherit; text-decoration: none; }
.sk-listrow__title a:hover { color: var(--slovo-oxblood); }
.sk-listrow__meta {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  font-style: italic;
  color: var(--slovo-text-muted);
  margin-top: var(--slovo-space-1);
}

/* CFP / announcement card (p11) */
.sk-callout {
  background: var(--slovo-bg-inset);
  border: 1px solid var(--slovo-border-soft);
  border-left: 3px solid var(--slovo-oxblood);
  padding: var(--slovo-space-5);
  display: flex; flex-direction: column; gap: var(--slovo-space-2);
}
.sk-badge {
  align-self: flex-start;
  display: inline-block;
  padding: 2px var(--slovo-space-3);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-meta);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-ivory);
  background: var(--slovo-oxblood);
}
.sk-badge--gold { background: var(--slovo-gold-line); color: var(--slovo-ink); }
.sk-callout__title { font-family: var(--slovo-font-display); font-weight: var(--slovo-fw-bold); font-size: var(--slovo-fs-subhead); color: var(--slovo-ink); }
.sk-callout__deadline { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); }
.sk-callout__deadline b { color: var(--slovo-oxblood); font-weight: var(--slovo-fw-bold); }

/* ───────────────────────────────────────────────────────────────────────────
   9.  ORNAMENT DIVIDERS + DROP-CAP  (p06)
   ─────────────────────────────────────────────────────────────────────────── */
/* full-bleed inline-SVG divider wrapper (use with the SVGs in the partials) */
.sk-divider { display: block; width: 100%; margin-block: var(--slovo-space-7); color: var(--slovo-ink); }
.sk-divider svg { width: 100%; height: auto; display: block; }
.sk-divider--tight { margin-block: var(--slovo-space-5); }

/* CSS-only lozenge rule: ——— ◆ ——— (oxblood diamond, gold flankers) */
.sk-rule-lozenge {
  display: flex; align-items: center; gap: var(--slovo-space-4);
  margin-block: var(--slovo-space-6); border: 0;
}
.sk-rule-lozenge::before, .sk-rule-lozenge::after {
  content: ""; flex: 1 1 auto; height: 1px; background: var(--slovo-gold-line);
}
.sk-lozenge { flex: 0 0 auto; width: 8px; height: 8px; background: var(--slovo-oxblood); transform: rotate(45deg); }
.sk-lozenge--hollow { background: transparent; border: 1.25px solid var(--slovo-oxblood); }
.sk-lozenge--gold { background: var(--slovo-gold-line); }

/* drop-cap (Carina, oxblood) — richer than base .slovo-dropcap */
.sk-dropcap > p:first-of-type::first-letter,
.sk-dropcap::first-letter {
  font-family: "Carina AI Antiqua", var(--slovo-font-display);
  color: var(--slovo-oxblood);
  float: left;
  font-size: 3.6em;
  line-height: 0.78;
  padding: 0.04em 0.14em 0 0;
  font-weight: 400;
}

/* ───────────────────────────────────────────────────────────────────────────
   10.  FOOTER / COLOPHON  (p01 + p16)
   ─────────────────────────────────────────────────────────────────────────── */
.sk-footer {
  margin-top: var(--slovo-space-9);
  background: var(--slovo-ink);
  color: var(--slovo-ivory);
  padding-block: var(--slovo-space-8) var(--slovo-space-6);
  border-top: 2px solid var(--slovo-gold-line);
}

/* engraved FINIS endpiece */
.sk-endpiece { display: flex; flex-direction: column; align-items: center; gap: var(--slovo-space-2); margin-bottom: var(--slovo-space-7); }
.sk-endpiece__rule { width: min(100%, 620px); height: auto; }
.sk-endpiece__word {
  font-family: "Carina AI Antiqua", var(--slovo-font-display);
  letter-spacing: 0.32em; font-size: var(--slovo-fs-caption);
  color: var(--slovo-gold-line);
  padding-left: 0.32em;
}

/* colophon columns */
.sk-colophon {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: var(--slovo-space-6);
  padding-bottom: var(--slovo-space-7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.sk-wordmark--footer {
  color: var(--slovo-ivory);
  border-left: 0; padding-left: 0;
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2rem);
  display: block; margin-bottom: var(--slovo-space-3);
}
.sk-colophon__line {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-gold-line);
  max-width: none;
}
.sk-colophon__tag { font-style: italic; color: var(--slovo-text-2); margin-top: var(--slovo-space-3); max-width: 34ch; }
.sk-colophon__places {
  margin-top: var(--slovo-space-3);
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-wide);
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}
.sk-colophon__head {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  text-transform: uppercase;
  color: var(--slovo-gold-line);
  margin-bottom: var(--slovo-space-3);
}
.sk-colophon__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--slovo-space-2); }
.sk-colophon__col a {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  font-size: var(--slovo-fs-body);
}
.sk-colophon__col a:hover { color: var(--slovo-gold-line); }

.sk-footer__base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--slovo-space-3);
  padding-top: var(--slovo-space-5);
}
.sk-footer__legal, .sk-footer__meta {
  font-family: var(--slovo-font-meta);
  font-size: var(--slovo-fs-caption);
  letter-spacing: var(--slovo-tracking-label);
  color: rgba(255, 255, 255, 0.55);
  max-width: none; margin: 0;
}

@media (max-width: 900px) {
  .sk-colophon { grid-template-columns: 1fr 1fr; }
  .sk-colophon__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .sk-colophon { grid-template-columns: 1fr; }
  .sk-footer__base { flex-direction: column; }
}


/* ============================================================================
   Promoted at B2: shared components that had NO owner and were duplicated
   across about.css / styleguide.css. site.css owns them per SPEC.md.
   ============================================================================ */
.sk-carina { font-family: "Carina AI Antiqua", var(--slovo-font-display); }
.sk-diamond { color: var(--slovo-gold-line); }
.sk-chip--active { color: var(--slovo-ivory); background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }
.sk-tab--active { color: var(--slovo-ink); border-bottom-color: var(--slovo-oxblood); }


/* ==========================================================================
   4b. L2 ADDITIONS — variants, dead-hook fixes, consistency
   ========================================================================== */

/* ---------------------------------------------------------------------------
   L2-A.  SECTION BAND  —  `.sk-section` was used 23x across the comps' HTML with
   ZERO CSS anywhere.  It is a real <section> band (4 uses on index alone), so it
   gets the same vertical rhythm `.slovo-section` already defined.  `--tint` is
   promoted here from home.css because `.sk-section` is now a shared component
   and a modifier must live with its base.
   --------------------------------------------------------------------------- */
.sk-section { padding-block: var(--slovo-space-8); }
.sk-section--tint {
  background: var(--slovo-bg-inset);
  border-block: 1px solid var(--slovo-border-decorative);
}
@media (max-width: 640px) { .sk-section { padding-block: var(--slovo-space-7); } }

/* ---------------------------------------------------------------------------
   L2-B.  GRID BLOW-OUT GUARD.  Every one of these is the TEXT COLUMN of a
   two-track grid whose other track holds an engraving.  A grid item defaults to
   `min-width:auto`, so one long unbreakable token (a DOI, a URL, a Cyrillic
   compound) pushes the track past its `minmax(0,Nfr)` and the engraving column
   collapses.  Four of them are among the seven classes the comps used with no
   CSS at all; this is what they should always have done.
   --------------------------------------------------------------------------- */
.hero__lede,
.dossier__body,
.archive-feature__text,
.sk-issue__body { min-width: 0; }

/* ---------------------------------------------------------------------------
   L2-C.  STATE PARITY.  site.css drives active state from ARIA
   (`[aria-pressed]`, `[aria-selected]`, `[aria-current]`) plus `--active`
   modifiers; archive.css used `.is-active`.  Both are now honoured everywhere,
   so a pattern cannot pick the "wrong" one and silently render an inert chip.
   --------------------------------------------------------------------------- */
.sk-chip.is-active {
  background: var(--slovo-oxblood);
  border-color: var(--slovo-oxblood);
  color: var(--slovo-ivory);
}
.sk-tab.is-active {
  color: var(--slovo-oxblood);
  border-bottom-color: var(--slovo-oxblood);
}

/* ---------------------------------------------------------------------------
   L2-D.  CONTAINER LADDER bindings for the shared layer.  See the token block:
   the five raw widths are now named, and nothing declares a bare pixel width.
   --------------------------------------------------------------------------- */
.sk-container--wide { max-width: var(--slovo-container-full); }

/* ---------------------------------------------------------------------------
   L2-E.  [DS-HEAD] — DELIBERATELY DISABLED, DO NOT ENABLE WITHOUT A DECISION.
   ---------------------------------------------------------------------------
   MEASURED: `wp_global_styles` #766 sets elements.h1..h5 to
   `font-weight:900; line-height:1.1; text-transform:uppercase`.  WordPress emits
   those as `:root :where(h1){…}` — specificity (0,1,0) — which BEATS this
   stylesheet's `h1{…}` at (0,0,1) no matter what order the sheets load in.
   So every BARE heading on the site renders 900-weight and UPPERCASE, not the
   comps' 700 / 1.18 / sentence-case.

   Component headings are unaffected: `.article__body h2` (0,1,1),
   `.sk-card__title`, `.hero__title` etc. all outrank the global-styles rule.
   The exposure is bare `<h1>`–`<h6>` only.

   The lane contract says "do not fight #766; layer on it", so the fix is NOT
   applied.  Two honest ways to close it, in order of preference:
     1. edit #766 (remove the three leaves from elements.h1..h5) — one user-layer
        change, no specificity war; or
     2. uncomment the block below, which wins at (0,1,1).
   Enabling it changes the live look of every bare heading on the site.

.sk-typography-restore-heading { --marker: "see L2-E"; }
:root :is(h1, h2, h3, h4, h5, h6) {
  font-weight: var(--slovo-fw-bold);
  line-height: var(--slovo-lh-tight);
  text-transform: none;
}
:root :is(h1) { line-height: var(--slovo-lh-h1); }
:root :is(h2) { line-height: var(--slovo-lh-h2); }
:root :is(h3) { line-height: var(--slovo-lh-h3); }
   --------------------------------------------------------------------------- */


/* ==========================================================================
   5.a TEMPLATE LAYER — home  (scope: .sk-tpl-home)
   ========================================================================== */

.sk-tpl-home .hero { padding-block: var(--slovo-space-8); border-bottom: 1px solid var(--slovo-border-decorative); background: radial-gradient(900px 520px at 12% 0%, rgba(198, 162, 74, 0.06), transparent 62%); }
.sk-tpl-home .hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.sk-tpl-home .hero__plate { margin: 0; background: var(--slovo-bg-raised); padding: var(--slovo-space-5); }
.sk-tpl-home .hero__engraving { border: 1px solid var(--slovo-border-soft); background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(17,17,17,0.02) 22px 23px), var(--slovo-bg-raised); padding: var(--slovo-space-4); display: grid; place-items: center; }
.sk-tpl-home .armillary { width: 100%; max-width: 340px; height: auto; }
.sk-tpl-home .hero__caption { margin-top: var(--slovo-space-3); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); font-style: italic; letter-spacing: 0.02em; color: var(--slovo-text-muted); text-align: center; }
.sk-tpl-home .hero__kicker { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); margin-bottom: var(--slovo-space-4); max-width: none; }
.sk-tpl-home .hero__title { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 400; font-size: clamp(2.6rem, 1.6rem + 4.4vw, 4.6rem); line-height: 0.98; letter-spacing: 0.01em; text-transform: uppercase; color: var(--slovo-ink); margin-bottom: var(--slovo-space-5); }
.sk-tpl-home .hero__title span { display: block; }
.sk-tpl-home .hero__title-first::first-letter { color: var(--slovo-oxblood); }
.sk-tpl-home .hero__intro { font-size: var(--slovo-fs-subhead); line-height: var(--slovo-lh-subhead); color: var(--slovo-text-2); max-width: 46ch; margin-bottom: var(--slovo-space-6); }
.sk-tpl-home .hero__actions { display: flex; flex-wrap: wrap; gap: var(--slovo-space-4); margin-bottom: var(--slovo-space-6); }
.sk-tpl-home .hero__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--slovo-space-4); padding-top: var(--slovo-space-5); border-top: 1px solid var(--slovo-border-decorative); }
.sk-tpl-home .hero__issue { font-family: var(--slovo-font-meta); font-style: italic; font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); max-width: none; margin: 0; }
.sk-tpl-home .hero__nav { display: inline-flex; align-items: center; gap: var(--slovo-space-5); }
.sk-tpl-home .hero__bookmark { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; color: var(--slovo-ink); transition: color var(--slovo-dur) var(--slovo-ease); }
.sk-tpl-home .hero__bookmark svg { width: 22px; height: 22px; }
.sk-tpl-home .hero__bookmark:hover { color: var(--slovo-oxblood); }
@media (max-width: 860px) {
  .sk-tpl-home .hero__grid { grid-template-columns: 1fr; }
  .sk-tpl-home .hero__plate { max-width: 480px; margin-inline: auto; }
}
.sk-tpl-home .sk-listrows { list-style: none; margin: 0; padding: 0; }
.sk-tpl-home .archive-feature { display: grid; grid-template-columns: 200px 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.sk-tpl-home .archive-feature__plate { margin: 0; max-width: 200px; }
.sk-tpl-home .archive-feature__plate svg { width: 100%; height: auto; display: block; background: var(--slovo-bg-raised); }
.sk-tpl-home .archive-feature__title { font-family: var(--slovo-font-display); font-weight: var(--slovo-fw-bold); font-size: var(--slovo-fs-h3); line-height: var(--slovo-lh-h3); color: var(--slovo-ink); margin-bottom: var(--slovo-space-4); max-width: 22ch; }
.sk-tpl-home .archive-feature__desc { font-style: italic; color: var(--slovo-text-2); margin-bottom: var(--slovo-space-4); max-width: 52ch; }
@media (max-width: 640px) {
  .sk-tpl-home .archive-feature { grid-template-columns: 1fr; justify-items: start; }
  .sk-tpl-home .archive-feature__plate { max-width: 180px; }
}
.sk-tpl-home .cfp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--slovo-gutter); }
.sk-tpl-home .cfp-more { margin-top: var(--slovo-space-5); max-width: none; }
@media (max-width: 640px) {
  .sk-tpl-home .cfp-grid { grid-template-columns: 1fr; }
}
.sk-tpl-home .dossier { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.sk-tpl-home .dossier__plate { position: relative; margin: 0; padding: var(--slovo-space-5); background: var(--slovo-bg-raised); }
.sk-tpl-home .dossier__engraving { width: 100%; height: auto; display: block; background: var(--slovo-bg-raised); }
.sk-tpl-home .dossier__ribbon { position: absolute; left: -4px; bottom: 48px; z-index: 2; background: var(--slovo-oxblood); color: var(--slovo-ivory); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; padding: var(--slovo-space-2) var(--slovo-space-4); }
.sk-tpl-home .dossier__caption { margin-top: var(--slovo-space-3); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); font-style: italic; color: var(--slovo-text-muted); text-align: center; }
.sk-tpl-home .dossier__vol { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); font-weight: var(--slovo-fw-bold); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-ink); margin-bottom: var(--slovo-space-3); max-width: none; }
.sk-tpl-home .dossier__title { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 400; font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem); line-height: 1.02; letter-spacing: 0.02em; text-transform: uppercase; color: var(--slovo-ink); margin-bottom: var(--slovo-space-4); }
.sk-tpl-home .dossier__desc { font-size: var(--slovo-fs-subhead); color: var(--slovo-text-2); margin-bottom: var(--slovo-space-5); max-width: 42ch; }
.sk-tpl-home .dossier__editors { font-size: var(--slovo-fs-body); color: var(--slovo-text-2); margin-bottom: var(--slovo-space-5); max-width: none; }
.sk-tpl-home .dossier__editors-label { display: block; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); font-weight: var(--slovo-fw-bold); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); margin-bottom: var(--slovo-space-1); }
.sk-tpl-home .dossier__cta { margin-bottom: var(--slovo-space-6); max-width: none; }
.sk-tpl-home .dossier__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--slovo-space-4); padding-top: var(--slovo-space-5); border-top: 1px solid var(--slovo-border-decorative); }
.sk-tpl-home .dossier__note { margin-top: var(--slovo-space-6); text-align: center; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); font-style: italic; letter-spacing: 0.04em; color: var(--slovo-text-muted); max-width: none; }
@media (max-width: 860px) {
  .sk-tpl-home .dossier { grid-template-columns: 1fr; }
  .sk-tpl-home .dossier__plate { max-width: 480px; margin-inline: auto; }
}


/* ==========================================================================
   5.b TEMPLATE LAYER — article  (scope: .sk-tpl-article)
   ========================================================================== */

.sk-tpl-article .reading-strip { display: flex; align-items: center; gap: var(--slovo-space-4, 1rem); max-width: var(--slovo-container-read); margin: 0 auto; padding: var(--slovo-space-4,1rem) var(--slovo-margin,2rem) 0; color: var(--slovo-text-muted, #5c5346); }
.sk-tpl-article .reading-strip::before, .sk-tpl-article .reading-strip::after { content: ""; flex: 1 1 auto; height: 0; border-top: 1px solid var(--slovo-gold-line, #d8b65e); }
.sk-tpl-article .reading-strip__label { flex: 0 0 auto; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta, .68rem); letter-spacing: .22em; text-transform: uppercase; color: var(--slovo-text-2, #343434); }
.sk-tpl-article .reading { display: grid; grid-template-columns: minmax(200px, 244px) minmax(0, 1fr) minmax(232px, 300px); gap: clamp(1.5rem, 3.6vw, 3rem); align-items: start; max-width: var(--slovo-container-read); margin: var(--slovo-space-5, 1.5rem) auto var(--slovo-space-8, 4rem); padding-inline: var(--slovo-margin, 2rem); }
.sk-tpl-article .toc { position: sticky; top: var(--slovo-space-5, 1.5rem); font-family: var(--slovo-font-meta); }
.sk-tpl-article .toc__summary { list-style: none; cursor: default; font-size: var(--slovo-fs-caption, .78rem); letter-spacing: .16em; text-transform: uppercase; color: var(--slovo-ink); font-weight: 700; padding-bottom: var(--slovo-space-2, .5rem); border-bottom: 2px solid var(--slovo-gold-line, #d8b65e); display: flex; align-items: center; justify-content: space-between; }
.sk-tpl-article .toc__summary::-webkit-details-marker { display: none; }
.sk-tpl-article .toc__summary .toc__chevron { display: none; }
.sk-tpl-article .toc__list { list-style: none; margin: var(--slovo-space-4,1rem) 0 0; padding: 0; }
.sk-tpl-article .toc__list li { margin: 0; }
.sk-tpl-article .toc__list a { display: block; padding: .28rem 0 .28rem .7rem; border-left: 2px solid transparent; margin-left: -2px; font-size: .84rem; letter-spacing: .01em; text-transform: none; color: var(--slovo-text-2, #343434); text-decoration: none; line-height: 1.35; transition: color var(--slovo-dur,180ms) var(--slovo-ease); }
.sk-tpl-article .toc__list a:hover { color: var(--slovo-oxblood); }
.sk-tpl-article .toc__list a[aria-current="true"] { color: var(--slovo-oxblood); font-style: italic; border-left-color: var(--slovo-oxblood); }
.sk-tpl-article .toc__dotrule { border: 0; height: 0; margin: var(--slovo-space-4,1rem) 0; border-top: 1.5px dotted var(--slovo-border-soft, #cdbf9e); }
.sk-tpl-article .toc__label { font-size: var(--slovo-fs-meta, .68rem); letter-spacing: .16em; text-transform: uppercase; color: var(--slovo-text-accent, #8b6e4d); margin: 0 0 var(--slovo-space-3, .75rem); }
.sk-tpl-article .toc__share { display: flex; gap: .5rem; }
.sk-tpl-article .icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--slovo-border-soft, #b7ad97); color: var(--slovo-ink); background: var(--slovo-bg-raised); transition: background var(--slovo-dur,180ms) var(--slovo-ease), color var(--slovo-dur,180ms) var(--slovo-ease), border-color var(--slovo-dur,180ms) var(--slovo-ease); }
.sk-tpl-article .icon-btn:hover { background: var(--slovo-ink); color: var(--slovo-bg-raised); border-color: var(--slovo-ink); }
.sk-tpl-article .icon-btn svg { width: 18px; height: 18px; }
.sk-tpl-article .toc__cite { margin-top: var(--slovo-space-5, 1.5rem); background: var(--slovo-bg-inset, #efe8d6); border: 1px solid var(--slovo-border-soft, #cdbf9e); padding: var(--slovo-space-3, .75rem) var(--slovo-space-4, 1rem); }
.sk-tpl-article .toc__cite p { margin: 0; max-width: none; font-family: var(--slovo-font-body); font-style: italic; font-size: .82rem; line-height: 1.45; color: var(--slovo-text-2, #343434); }
.sk-tpl-article .toc__cite .toc__doi { display: block; margin-top: .4rem; font-style: normal; font-size: .72rem; color: var(--slovo-text-muted, #5c5346); }
.sk-tpl-article .toc__fleuron { display: block; margin: var(--slovo-space-5,1.5rem) auto 0; width: 26px; color: var(--slovo-gold, #c6a24a); }
.sk-tpl-article .article { min-width: 0; }
.sk-tpl-article .article__metabar { display: flex; align-items: center; justify-content: space-between; gap: var(--slovo-space-4, 1rem); flex-wrap: wrap; padding-bottom: var(--slovo-space-3, .75rem); }
.sk-tpl-article .article__status { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta, .68rem); letter-spacing: .16em; text-transform: uppercase; color: var(--slovo-text-accent, #8b6e4d); margin: 0; max-width: none; }
.sk-tpl-article .article__tools { display: flex; gap: .4rem; align-items: center; }
.sk-tpl-article .article__tools .icon-btn { width: 34px; height: 34px; border-color: transparent; background: transparent; }
.sk-tpl-article .article__tools .icon-btn:hover { background: var(--slovo-bg-inset, #efe8d6); color: var(--slovo-oxblood); }
.sk-tpl-article .article__tools .icon-btn--type { font-family: var(--slovo-font-display); font-weight: 700; letter-spacing: -.02em; }
.sk-tpl-article .article__tools .icon-btn--type b { font-size: 1rem; }
.sk-tpl-article .article__tools .icon-btn--type span { font-size: .7rem; }
.sk-tpl-article .article__title { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: clamp(1.95rem, 3.5vw, 2.75rem); line-height: 1.08; letter-spacing: .004em; color: var(--slovo-ink); text-transform: uppercase; margin: var(--slovo-space-2, .5rem) 0 0; max-width: 15ch; text-wrap: balance; }
.sk-tpl-article .article__byline { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption, .78rem); letter-spacing: .12em; text-transform: uppercase; color: var(--slovo-text-2, #343434); margin: var(--slovo-space-4, 1rem) 0 0; max-width: none; }
.sk-tpl-article .article__byline strong { color: var(--slovo-ink); font-weight: 700; }
.sk-tpl-article .article__rule { border: 0; height: 0; margin: var(--slovo-space-4, 1rem) 0 var(--slovo-space-5, 1.5rem); border-top: 2px solid var(--slovo-gold-line, #d8b65e); }
.sk-tpl-article .article__body { font-feature-settings: "kern" 1, "liga" 1, "onum" 1, "pnum" 1; }
.sk-tpl-article .article__body > section + section { margin-top: var(--slovo-space-7, 3rem); }
.sk-tpl-article .article__body h2 { font-family: var(--slovo-font-display); font-size: var(--slovo-fs-h2, 1.7rem); line-height: 1.2; color: var(--slovo-ink); margin: 0 0 var(--slovo-space-4, 1rem); scroll-margin-top: var(--slovo-space-6, 2rem); }
.sk-tpl-article .article__body h3 { font-family: var(--slovo-font-display); font-size: var(--slovo-fs-h3, 1.3rem); line-height: 1.25; color: var(--slovo-ink); margin: var(--slovo-space-5,1.5rem) 0 var(--slovo-space-3,.75rem); }
.sk-tpl-article .article__body p { max-width: 68ch; }
.sk-tpl-article .article__body p + p { margin-top: var(--slovo-space-4, 1rem); }
.sk-tpl-article .article__body section { scroll-margin-top: var(--slovo-space-6, 2rem); }
.sk-tpl-article .article__lede { color: var(--slovo-text); }
.sk-tpl-article .fn-ref { font-size: .7em; line-height: 0; vertical-align: super; }
.sk-tpl-article .fn-ref a { color: var(--slovo-oxblood); text-decoration: none; padding: 0 .1em; }
.sk-tpl-article .fn-ref a:hover { text-decoration: underline; }
.sk-tpl-article .dropcap { float: left; margin: .12em .7rem .1rem 0; width: 3.15em; height: 3.15em; position: relative; background: var(--slovo-ink); color: var(--slovo-ivory); display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(251,247,238,.16), inset 0 0 0 4px var(--slovo-ink), inset 0 0 0 5px rgba(251,247,238,.55); }
.sk-tpl-article .dropcap__glyph { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: 2.35em; line-height: 1; color: var(--slovo-ivory); position: relative; z-index: 2; transform: translateY(-.02em); }
.sk-tpl-article .dropcap__deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; color: var(--slovo-gold, #c6a24a); }
@media (max-width: 480px) {
  .sk-tpl-article .dropcap { width: 2.8em; height: 2.8em; }
  .sk-tpl-article .dropcap__glyph { font-size: 2em; }
}
.sk-tpl-article .pullquote { margin: var(--slovo-space-6, 2rem) 0; padding: 0 var(--slovo-space-5, 1.5rem); border: 0; border-left: 3px solid var(--slovo-oxblood); font-family: var(--slovo-font-display); font-style: italic; font-size: clamp(1.2rem, 2.4vw, 1.55rem); line-height: 1.34; color: var(--slovo-oxblood); max-width: 40ch; }
.sk-tpl-article .article__body blockquote { max-width: 62ch; border-left: 3px solid var(--slovo-gold-line, #d8b65e); padding-left: var(--slovo-space-5, 1.5rem); margin: var(--slovo-space-6, 2rem) 0; font-style: italic; color: var(--slovo-text-2, #343434); }
.sk-tpl-article .article__body blockquote cite { display: block; margin-top: var(--slovo-space-3, .75rem); font-family: var(--slovo-font-meta); font-style: normal; font-size: var(--slovo-fs-caption, .78rem); letter-spacing: .1em; text-transform: uppercase; color: var(--slovo-text-muted, #5c5346); }
.sk-tpl-article .figure-engraving { margin: var(--slovo-space-6, 2rem) 0; background: var(--slovo-ivory); border: 2px solid var(--slovo-ink); padding: var(--slovo-space-3, .75rem); position: relative; }
.sk-tpl-article .figure-engraving::before { content: ""; position: absolute; inset: 5px; border: .75px solid var(--slovo-ink); opacity: .5; pointer-events: none; }
.sk-tpl-article .figure-engraving svg { width: 100%; height: auto; display: block; }
.sk-tpl-article .figure-engraving figcaption { margin-top: var(--slovo-space-3, .75rem); text-align: center; font-family: var(--slovo-font-meta); font-style: italic; font-size: var(--slovo-fs-caption, .78rem); color: var(--slovo-text-muted, #5c5346); }
.sk-tpl-article .orn-divider { display: block; width: 100%; height: auto; margin: var(--slovo-space-6,2rem) auto; color: var(--slovo-ink); }
.sk-tpl-article .orn-divider--tight { margin: var(--slovo-space-5,1.5rem) auto; max-width: 420px; }
.sk-tpl-article .footnotes ol { margin: 0; padding-left: 1.4rem; }
.sk-tpl-article .footnotes li { font-size: .84rem; line-height: 1.5; color: var(--slovo-text-2, #343434); margin-bottom: var(--slovo-space-3, .75rem); max-width: 66ch; scroll-margin-top: var(--slovo-space-6, 2rem); }
.sk-tpl-article .footnotes li a[href^="#ref"] { color: var(--slovo-oxblood); text-decoration: none; }
.sk-tpl-article .footnotes li:target { background: var(--slovo-bg-inset, #efe8d6); }
.sk-tpl-article .biblio { list-style: none; margin: 0; padding: 0; }
.sk-tpl-article .biblio li { padding-left: 1.4rem; text-indent: -1.4rem; font-size: .88rem; line-height: 1.5; color: var(--slovo-text-2, #343434); margin-bottom: var(--slovo-space-3, .75rem); max-width: 66ch; }
.sk-tpl-article .biblio li em { color: var(--slovo-ink); }
.sk-tpl-article .reading-aside { position: sticky; top: var(--slovo-space-5, 1.5rem); }
.sk-tpl-article .vignette { margin: 0; background: var(--slovo-ivory); border: 2px solid var(--slovo-ink); padding: var(--slovo-space-4, 1rem); position: relative; }
.sk-tpl-article .vignette::before { content: ""; position: absolute; inset: 6px; border: .75px solid var(--slovo-ink); opacity: .5; pointer-events: none; }
.sk-tpl-article .vignette svg { width: 100%; height: auto; display: block; }
.sk-tpl-article .vignette figcaption { margin-top: var(--slovo-space-3, .75rem); text-align: center; font-family: var(--slovo-font-meta); font-style: italic; font-size: var(--slovo-fs-caption, .78rem); color: var(--slovo-text-muted, #5c5346); }
.sk-tpl-article .reading-aside__fleuron { display: block; margin: var(--slovo-space-4,1rem) auto 0; width: 26px; color: var(--slovo-gold, #c6a24a); }
@media (max-width: 1080px) {
  .sk-tpl-article .reading { grid-template-columns: minmax(190px, 224px) minmax(0, 1fr); }
  .sk-tpl-article .reading-aside { grid-column: 1 / -1; position: static; max-width: 480px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .sk-tpl-article .reading { grid-template-columns: 1fr; gap: var(--slovo-space-5, 1.5rem); }
  .sk-tpl-article .reading-strip { padding-top: var(--slovo-space-3, .75rem); }
  .sk-tpl-article .toc { position: static; border: 1px solid var(--slovo-border-soft, #cdbf9e); padding: var(--slovo-space-3,.75rem) var(--slovo-space-4,1rem); }
  .sk-tpl-article .toc__summary { cursor: pointer; border-bottom: 0; padding-bottom: 0; }
  .sk-tpl-article .toc__summary .toc__chevron { display: inline-block; transition: transform var(--slovo-dur,180ms) var(--slovo-ease); }
  .sk-tpl-article .toc[open] .toc__summary .toc__chevron { transform: rotate(90deg); }
  .sk-tpl-article .toc[open] .toc__summary { padding-bottom: var(--slovo-space-3,.75rem); border-bottom: 2px solid var(--slovo-gold-line,#d8b65e); }
  .sk-tpl-article .article__title { max-width: none; }
}
@media (min-width: 761px) {
  .sk-tpl-article .toc__body { display: block !important; }
  .sk-tpl-article .toc__summary { pointer-events: none; }
}
@media print {
  .sk-tpl-article .reading { display: block; max-width: none; }
  .sk-tpl-article .reading-strip, .sk-tpl-article .toc, .sk-tpl-article .reading-aside, .sk-tpl-article .article__tools { display: none; }
  .sk-tpl-article .article__title { color: #000; }
  .sk-tpl-article .dropcap { background: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}


/* ==========================================================================
   5.c TEMPLATE LAYER — about  (scope: .sk-tpl-about)
   ========================================================================== */

.sk-tpl-about .sk-ab-main { padding-block: var(--slovo-space-8) var(--slovo-space-9); }
.sk-tpl-about .sk-ab-container { width: 100%; max-width: var(--slovo-container-max); margin-inline: auto; padding-inline: var(--slovo-margin); }
.sk-tpl-about .sk-ab-container--narrow { max-width: var(--slovo-container-narrow); }
.sk-tpl-about .sk-ab-head { text-align: center; margin-bottom: var(--slovo-space-7); }
.sk-tpl-about .sk-ab-head__label { display: inline-flex; align-items: center; gap: var(--slovo-space-3); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-wide); text-transform: uppercase; color: var(--slovo-text-accent); }
.sk-tpl-about .sk-ab-head__label::before, .sk-tpl-about .sk-ab-head__label::after { content: ""; width: clamp(24px, 8vw, 72px); height: 1px; background: var(--slovo-gold-line); }
.sk-tpl-about .sk-ab-head__label
.sk-diamond { display: inline-block; width: 7px; height: 7px; transform: rotate(45deg); background: currentColor; }
.sk-tpl-about .sk-ab-essence { text-align: center; padding-block: var(--slovo-space-8); border-bottom: var(--slovo-rule-hairline) solid var(--slovo-border-soft); }
.sk-tpl-about .sk-ab-essence__crest { width: clamp(84px, 14vw, 120px); height: auto; margin: 0 auto var(--slovo-space-5); color: var(--slovo-ink); }
.sk-tpl-about .sk-ab-essence__title { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: clamp(2.75rem, 1.9rem + 4vw, 4.25rem); line-height: 1.02; letter-spacing: 0.06em; color: var(--slovo-ink); margin: 0; }
.sk-tpl-about .sk-ab-essence__sub { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-subhead); letter-spacing: var(--slovo-tracking-wide); text-transform: uppercase; color: var(--slovo-oxblood); margin-top: var(--slovo-space-3); }
.sk-tpl-about .sk-ab-essence__kicker { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); margin-top: var(--slovo-space-2); }
.sk-tpl-about .sk-ab-essence__values { margin: var(--slovo-space-6) auto var(--slovo-space-4); max-width: 620px; font-family: var(--slovo-font-display); font-size: var(--slovo-fs-subhead); color: var(--slovo-ink); letter-spacing: 0.02em; }
.sk-tpl-about .sk-ab-essence__values b { font-weight: 700; }
.sk-tpl-about .sk-ab-essence__values .sep { color: var(--slovo-gold-line); padding: 0 0.35em; }
.sk-tpl-about .sk-ab-essence__motto { font-family: var(--slovo-font-display); font-style: italic; font-size: var(--slovo-fs-body-lg); color: var(--slovo-text-2); margin-top: var(--slovo-space-4); }
.sk-tpl-about .sk-ab-fleuron { display: flex; align-items: center; justify-content: center; gap: var(--slovo-space-3); color: var(--slovo-gold-line); margin: var(--slovo-space-5) auto 0; }
.sk-tpl-about .sk-ab-fleuron::before, .sk-tpl-about .sk-ab-fleuron::after { content: ""; width: clamp(40px, 18vw, 130px); height: 1px; background: currentColor; }
.sk-tpl-about .sk-ab-fleuron .sk-diamond--ox { color: var(--slovo-oxblood); }
.sk-tpl-about .sk-ab-emblems { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--slovo-space-6); text-align: center; }
.sk-tpl-about .sk-emblem { display: flex; flex-direction: column; align-items: center; gap: var(--slovo-space-3); }
.sk-tpl-about .sk-emblem__art { width: clamp(96px, 15vw, 150px); height: auto; color: var(--slovo-ink); }
.sk-tpl-about .sk-emblem__name { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-2); }
@media (max-width: 760px) {
  .sk-tpl-about .sk-ab-emblems { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 380px) {
  .sk-tpl-about .sk-ab-emblems { grid-template-columns: 1fr; }
}
.sk-tpl-about .sk-ab-mission { padding-block: var(--slovo-space-8); }
.sk-tpl-about .sk-ab-mission p { max-width: var(--slovo-measure); margin-inline: auto; font-size: var(--slovo-fs-body-lg); }
.sk-tpl-about .sk-ab-mission p + p { margin-top: var(--slovo-space-4); }
.sk-tpl-about .sk-dropcap::first-letter { font-family: "Carina AI Antiqua", var(--slovo-font-display); color: var(--slovo-oxblood); float: left; font-size: 3.6em; line-height: 0.78; padding: 0.04em 0.14em 0 0; font-weight: 700; }
.sk-tpl-about .sk-ab-principles { padding-block: var(--slovo-space-8); }
.sk-tpl-about .sk-ab-princ-grid { display: grid; grid-template-columns: 1fr 1px 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.sk-tpl-about .sk-ab-princ-grid > .sk-ab-princ-div { background: var(--slovo-border-soft); width: 1px; align-self: stretch; }
.sk-tpl-about .sk-ab-princ-col__head { text-align: center; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-wide); text-transform: uppercase; color: var(--slovo-oxblood); padding-bottom: var(--slovo-space-3); margin-bottom: var(--slovo-space-5); border-bottom: 1px solid var(--slovo-border-soft); position: relative; }
.sk-tpl-about .sk-ab-princ-col__head::after { content: ""; position: absolute; left: 50%; bottom: -1px; transform: translateX(-50%); width: 42px; height: 2px; background: var(--slovo-gold-line); }
.sk-tpl-about .sk-princ { display: grid; grid-template-columns: 44px 1fr; gap: var(--slovo-space-4); align-items: start; padding-block: var(--slovo-space-4); }
.sk-tpl-about .sk-princ + .sk-princ { border-top: var(--slovo-rule-hairline) solid var(--slovo-border-decorative); }
.sk-tpl-about .sk-princ__icon { width: 40px; height: 40px; color: var(--slovo-ink); }
.sk-tpl-about .sk-princ__icon svg { width: 40px; height: 40px; }
.sk-tpl-about .sk-princ__title { font-family: var(--slovo-font-display); font-weight: 700; font-size: var(--slovo-fs-body); letter-spacing: 0.01em; text-transform: uppercase; color: var(--slovo-ink); margin: 0 0 2px; }
.sk-tpl-about .sk-princ__desc { font-style: italic; font-size: var(--slovo-fs-caption); line-height: 1.45; color: var(--slovo-text-muted); margin: 0; }
@media (max-width: 760px) {
  .sk-tpl-about .sk-ab-princ-grid { grid-template-columns: 1fr; }
  .sk-tpl-about .sk-ab-princ-grid > .sk-ab-princ-div { display: none; }
  .sk-tpl-about .sk-ab-princ-col + .sk-ab-princ-col { margin-top: var(--slovo-space-6); }
}
.sk-tpl-about .sk-ab-board { padding-block: var(--slovo-space-8); }
.sk-tpl-about .sk-ab-board__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--slovo-space-5) var(--slovo-space-6); }
.sk-tpl-about .sk-member { padding: var(--slovo-space-5); background: var(--slovo-surface); border: var(--slovo-rule-hairline) solid var(--slovo-border-soft); }
.sk-tpl-about .sk-member__name { font-family: var(--slovo-font-display); font-weight: 700; font-size: var(--slovo-fs-subhead); color: var(--slovo-ink); margin: 0 0 2px; }
.sk-tpl-about .sk-member__role { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); margin: 0 0 var(--slovo-space-2); }
.sk-tpl-about .sk-member__aff { font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); margin: 0; }
@media (max-width: 760px) {
  .sk-tpl-about .sk-ab-board__grid { grid-template-columns: 1fr; }
}
.sk-tpl-about .sk-ab-calls { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--slovo-space-6); padding-block: var(--slovo-space-7); }
.sk-tpl-about .sk-call { border-top: var(--slovo-rule-accent) solid var(--slovo-ink); padding-top: var(--slovo-space-4); }
.sk-tpl-about .sk-call h3 { font-family: var(--slovo-font-display); font-weight: 700; font-size: var(--slovo-fs-h3); color: var(--slovo-ink); margin: 0 0 var(--slovo-space-3); }
.sk-tpl-about .sk-call p { font-size: var(--slovo-fs-caption); color: var(--slovo-text-2); }
.sk-tpl-about .sk-call a.sk-ab-link { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; margin-top: var(--slovo-space-3); }
.sk-tpl-about .sk-call a.sk-ab-link:hover { color: var(--slovo-link-hover); }
@media (max-width: 760px) {
  .sk-tpl-about .sk-ab-calls { grid-template-columns: 1fr; }
}
.sk-tpl-about .sk-ab-endpiece { text-align: center; padding-block: var(--slovo-space-8) var(--slovo-space-6); }
.sk-tpl-about .sk-ab-endpiece__shelf { width: clamp(200px, 34vw, 300px); height: auto; margin: 0 auto var(--slovo-space-5); color: var(--slovo-ink); }
.sk-tpl-about .sk-ab-endpiece__finis { display: inline-flex; align-items: center; gap: var(--slovo-space-4); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: 0.4em; text-transform: uppercase; color: var(--slovo-text-2); }
.sk-tpl-about .sk-ab-endpiece__finis::before, .sk-tpl-about .sk-ab-endpiece__finis::after { content: ""; width: clamp(40px, 12vw, 90px); height: 1px; background: var(--slovo-gold-line); }
.sk-tpl-about .sk-ab-div { border: 0; border-top: var(--slovo-rule-hairline) solid var(--slovo-border-decorative); margin: 0; }
.sk-tpl-about .sk-ab-emblems-wrap { padding-block: var(--slovo-space-8); }


/* ==========================================================================
   5.d TEMPLATE LAYER — archive  (scope: .sk-tpl-archive, .sk-tpl-issue)
   ========================================================================== */

:is(.sk-tpl-archive,.sk-tpl-issue) { --sk-carina: "Carina AI Antiqua", var(--slovo-font-display); --sk-max: var(--slovo-container-wide); --sk-pad: clamp(1rem, 4vw, 3rem); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-wrap { width: 100%; max-width: var(--sk-max); margin-inline: auto; padding-inline: var(--sk-pad); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche { display: flex; align-items: center; gap: var(--slovo-space-4); margin: var(--slovo-space-6) 0 var(--slovo-space-5); color: var(--slovo-gold); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche::before, :is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--slovo-gold); opacity: .7; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche__t { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .22em; font-size: .8125rem; color: var(--slovo-oxblood); white-space: nowrap; display: inline-flex; align-items: center; gap: .8rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche__t::before, :is(.sk-tpl-archive,.sk-tpl-issue) .sk-cartouche__t::after { content: "◆"; color: var(--slovo-gold); font-size: .6em; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-archive-head { padding-top: var(--slovo-space-6); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-archive-head h1 { font-family: var(--sk-carina); font-weight: 400; text-transform: uppercase; font-size: clamp(2.2rem, 1.4rem + 3.4vw, 3.4rem); line-height: 1.05; letter-spacing: .01em; margin: 0; color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-archive-head p { max-width: 60ch; color: var(--slovo-text-muted); font-size: var(--slovo-fs-body-lg); margin: var(--slovo-space-3) 0 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-filters { margin: var(--slovo-space-6) 0 var(--slovo-space-7); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-filters__label { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: var(--slovo-tracking-label); font-size: .7rem; color: var(--slovo-text-muted); margin: 0 0 .5rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search { display: flex; max-width: 620px; border: 1.5px solid var(--slovo-ink); background: var(--slovo-white); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search input { flex: 1 1 auto; border: 0; background: transparent; padding: .7rem .9rem; font-family: var(--slovo-font-body); font-size: .95rem; color: var(--slovo-text); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search input::placeholder { color: var(--slovo-text-muted); font-style: italic; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search input:focus { outline: none; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search button { flex: 0 0 auto; width: 48px; background: var(--slovo-ink); color: var(--slovo-ivory); border: 0; cursor: pointer; display: grid; place-items: center; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search button svg { width: 18px; height: 18px; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-search:focus-within { outline: var(--slovo-focus-ring-width) solid var(--slovo-focus-ring); outline-offset: 2px; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-chips, .sk-chips--filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--slovo-space-5); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-chip, .sk-chip--plain { font-family: var(--slovo-font-body); font-size: .85rem; line-height: 1; padding: .5rem .9rem; border: 1px solid var(--slovo-border-soft); border-radius: 999px; background: var(--slovo-bg-raised); color: var(--slovo-text-2); cursor: pointer; text-decoration: none; white-space: nowrap; transition: border-color var(--slovo-dur) var(--slovo-ease), color var(--slovo-dur) var(--slovo-ease); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-chip:hover, .sk-chip--plain:hover { border-color: var(--slovo-oxblood); color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-chip[aria-pressed="true"], :is(.sk-tpl-archive,.sk-tpl-issue) .sk-chip.is-active, .sk-chip--plain[aria-pressed="true"], .sk-chip--plain.is-active { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); color: var(--slovo-ivory); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-chip--more { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tabs, .sk-tabs--boxed { display: flex; flex-wrap: wrap; margin-top: var(--slovo-space-6); border: 1px solid var(--slovo-border-soft); background: var(--slovo-bg-raised); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab, .sk-tabs--boxed .sk-tab { flex: 1 1 auto; text-align: center; padding: .7rem 1rem; text-decoration: none; font-family: var(--slovo-font-body); font-size: .9rem; color: var(--slovo-text-2); border-right: 1px solid var(--slovo-border-soft); border-top: 2.5px solid transparent; white-space: nowrap; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab:last-child, .sk-tabs--boxed .sk-tab:last-child { border-right: 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab:hover, .sk-tabs--boxed .sk-tab:hover { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab[aria-selected="true"], :is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab.is-active, .sk-tabs--boxed .sk-tab[aria-selected="true"], .sk-tabs--boxed .sk-tab.is-active { color: var(--slovo-oxblood); border-top-color: var(--slovo-oxblood); background: var(--slovo-white); font-weight: var(--slovo-fw-medium); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-grid, .sk-grid--cards { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin-bottom: var(--slovo-space-7); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card, .sk-card--archive { display: flex; flex-direction: column; background: var(--slovo-bg-raised); border: 1px solid var(--slovo-border-soft); padding: var(--slovo-space-5); position: relative; transition: border-color var(--slovo-dur) var(--slovo-ease); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card:hover, .sk-card--archive:hover { border-color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__thumb, .sk-card--archive .sk-card__thumb { aspect-ratio: 16 / 10; margin: 0 0 var(--slovo-space-5); border: 1px solid var(--slovo-ink); background: var(--slovo-ivory); overflow: hidden; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__thumb svg, .sk-card--archive .sk-card__thumb svg { display: block; width: 100%; height: 100%; color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-tag { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .16em; font-size: .7rem; font-weight: var(--slovo-fw-bold); color: var(--slovo-oxblood); margin: 0 0 var(--slovo-space-3); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__title, .sk-card--archive .sk-card__title { margin: 0 0 var(--slovo-space-4); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__title a, .sk-card--archive .sk-card__title a { font-family: var(--sk-carina); font-weight: 400; text-transform: uppercase; font-size: clamp(1.25rem, 1.1rem + .7vw, 1.5rem); line-height: 1.12; letter-spacing: .01em; color: var(--slovo-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__title a:hover, .sk-card--archive .sk-card__title a:hover { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__author, .sk-card--archive .sk-card__author { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; font-weight: var(--slovo-fw-bold); color: var(--slovo-text); margin: 0 0 .3rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__date, .sk-card--archive .sk-card__date { font-family: var(--slovo-font-body); font-style: italic; font-size: .78rem; color: var(--slovo-text-muted); margin: 0 0 var(--slovo-space-5); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__foot, .sk-card--archive .sk-card__foot { margin-top: auto; display: flex; align-items: center; gap: .5rem; padding-top: var(--slovo-space-4); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pill { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .08em; font-size: .64rem; padding: .3rem .6rem; border: 1px solid var(--slovo-border-soft); border-radius: 999px; color: var(--slovo-text-2); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-bookmark { margin-left: auto; background: transparent; border: 0; padding: .2rem; cursor: pointer; color: var(--slovo-ink); display: inline-grid; place-items: center; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-bookmark svg { width: 16px; height: 20px; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-bookmark:hover { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__title a::after, .sk-card--archive .sk-card__title a::after { content: ""; position: absolute; inset: 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-card__foot, .sk-card--archive .sk-card__foot { position: relative; z-index: 1; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .25rem; border: 1px solid var(--slovo-border-soft); background: var(--slovo-bg-raised); padding: .35rem; margin: var(--slovo-space-6) 0 var(--slovo-space-8); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager a, :is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager span { min-width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0 .6rem; font-family: var(--slovo-font-body); font-size: .9rem; color: var(--slovo-text-2); text-decoration: none; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager a:hover { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager__cur { color: var(--slovo-oxblood) !important; border: 1.5px solid var(--slovo-oxblood); font-weight: var(--slovo-fw-medium); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager__gap { color: var(--slovo-text-muted) !important; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-pager__edge { font-family: var(--slovo-font-meta) !important; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem !important; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue { padding-top: var(--slovo-space-6); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate { position: relative; margin: 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate__frame { border: 2.5px solid var(--slovo-ink); padding: 10px; background: var(--slovo-ivory); box-shadow: 0 0 0 1px var(--slovo-ink) inset; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate__frame svg { display: block; width: 100%; height: auto; color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate__ribbon { position: absolute; left: -6px; bottom: 28px; background: var(--slovo-oxblood); color: var(--slovo-ivory); font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .18em; font-size: .68rem; padding: .5rem 1rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate__cap { font-family: var(--slovo-font-body); font-style: italic; font-size: .8rem; color: var(--slovo-text-muted); text-align: center; margin: var(--slovo-space-4) 0 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__vol { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; font-weight: var(--slovo-fw-bold); color: var(--slovo-oxblood); margin: 0 0 var(--slovo-space-4); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__title { font-family: var(--sk-carina); font-weight: 400; text-transform: uppercase; font-size: clamp(2.4rem, 1.6rem + 3.6vw, 3.8rem); line-height: 1.02; letter-spacing: .01em; margin: 0 0 var(--slovo-space-5); color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__lede { font-size: var(--slovo-fs-body-lg); line-height: var(--slovo-lh-body); color: var(--slovo-text-2); max-width: 46ch; margin: 0 0 var(--slovo-space-5); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__editors { margin: 0 0 var(--slovo-space-6); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__editors dt { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; color: var(--slovo-oxblood); margin-bottom: .3rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__editors dd { margin: 0; font-family: var(--slovo-font-body); font-style: italic; color: var(--slovo-text); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-btn, .sk-btn--plate { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: var(--slovo-fw-bold); color: var(--slovo-ink); border: 1.5px solid var(--slovo-ink); padding: .8rem 1.4rem; background: var(--slovo-white); transition: background var(--slovo-dur) var(--slovo-ease), color var(--slovo-dur) var(--slovo-ease); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-btn:hover, .sk-btn--plate:hover { background: var(--slovo-ink); color: var(--slovo-ivory); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-btn svg, .sk-btn--plate svg { width: 20px; height: 12px; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__strip { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: var(--slovo-space-7) 0 var(--slovo-space-6); border-top: 1px solid var(--slovo-border-soft); border-bottom: 1px solid var(--slovo-border-soft); padding: var(--slovo-space-4) 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--slovo-border-soft); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-dot.is-active { background: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc { margin: var(--slovo-space-7) 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__head { display: flex; align-items: baseline; gap: var(--slovo-space-4); margin-bottom: var(--slovo-space-4); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__head h2 { font-family: var(--sk-carina); text-transform: uppercase; font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem); letter-spacing: .02em; margin: 0; color: var(--slovo-ink); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__head::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--slovo-gold); align-self: center; opacity: .7; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__list { list-style: none; margin: 0; padding: 0; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__item { display: grid; grid-template-columns: 2.4rem 1fr auto; align-items: baseline; gap: var(--slovo-space-4); padding: var(--slovo-space-4) 0; border-bottom: 1px solid var(--slovo-border-soft); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__num { font-family: var(--sk-carina); font-size: 1.4rem; color: var(--slovo-gold); line-height: 1; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__body h3 { margin: 0 0 .2rem; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__body h3 a { font-family: var(--slovo-font-display); font-weight: var(--slovo-fw-bold); font-size: 1.1rem; color: var(--slovo-ink); text-decoration: none; }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__body h3 a:hover { color: var(--slovo-oxblood); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__body p { margin: 0; font-size: .85rem; color: var(--slovo-text-muted); }
:is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__kind { font-family: var(--slovo-font-meta); text-transform: uppercase; letter-spacing: .12em; font-size: .66rem; color: var(--slovo-oxblood); white-space: nowrap; }
@media (max-width: 860px) {
  :is(.sk-tpl-archive,.sk-tpl-issue) .sk-issue__grid { grid-template-columns: 1fr; }
  :is(.sk-tpl-archive,.sk-tpl-issue) .sk-plate { max-width: 420px; margin-inline: auto; }
}
@media (max-width: 520px) {
  :is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__item { grid-template-columns: 1.8rem 1fr; }
  :is(.sk-tpl-archive,.sk-tpl-issue) .sk-toc__kind { grid-column: 2; }
  :is(.sk-tpl-archive,.sk-tpl-issue) .sk-tab, .sk-tabs--boxed .sk-tab { flex-basis: 40%; }
}


/* ==========================================================================
   5.e TEMPLATE LAYER — styleguide  (scope: .sk-tpl-styleguide)
   ========================================================================== */

.sk-tpl-styleguide .sk-sg-main { padding-block: var(--slovo-space-7) var(--slovo-space-9); }
.sk-tpl-styleguide .sk-sg-container { width: 100%; max-width: var(--slovo-container-max); margin-inline: auto; padding-inline: var(--slovo-margin); }
.sk-tpl-styleguide .sk-sg-intro { text-align: center; padding-block: var(--slovo-space-7); }
.sk-tpl-styleguide .sk-sg-intro__title { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: clamp(2.4rem, 1.7rem + 3vw, 3.6rem); letter-spacing: 0.05em; color: var(--slovo-ink); margin: 0; }
.sk-tpl-styleguide .sk-sg-intro__sub { font-size: var(--slovo-fs-body-lg); color: var(--slovo-text-2); max-width: 60ch; margin: var(--slovo-space-4) auto 0; }
.sk-tpl-styleguide .sk-sg-section { padding-block: var(--slovo-space-8); border-top: var(--slovo-rule-hairline) solid var(--slovo-border-decorative); }
.sk-tpl-styleguide .sk-sg-sechead { display: flex; align-items: center; justify-content: center; gap: var(--slovo-space-4); margin-bottom: var(--slovo-space-7); color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-sechead::before, .sk-tpl-styleguide .sk-sg-sechead::after { content: ""; flex: 1; height: 1px; background: var(--slovo-gold-line); max-width: 180px; }
.sk-tpl-styleguide .sk-sg-sechead__t { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-wide); text-transform: uppercase; color: var(--slovo-oxblood); display: inline-flex; align-items: center; gap: var(--slovo-space-3); }
.sk-tpl-styleguide .sk-sg-note { font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); font-style: italic; }
.sk-tpl-styleguide .sk-sg-type { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
@media (max-width: 860px) {
  .sk-tpl-styleguide .sk-sg-type { grid-template-columns: 1fr; }
}
.sk-tpl-styleguide .sk-sg-aa { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-size: clamp(6rem, 4rem + 10vw, 10rem); line-height: 0.9; color: var(--slovo-ink); margin: 0; }
.sk-tpl-styleguide .sk-sg-aa small { font-style: italic; font-family: var(--slovo-font-display); }
.sk-tpl-styleguide .sk-sg-famlabel { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); margin: 0 0 4px; }
.sk-tpl-styleguide .sk-sg-famname { font-family: var(--slovo-font-display); font-size: var(--slovo-fs-h3); color: var(--slovo-ink); margin: 0; }
.sk-tpl-styleguide .sk-sg-famweights { font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); margin: 2px 0 0; }
.sk-tpl-styleguide .sk-sg-famnote { font-size: var(--slovo-fs-caption); color: var(--slovo-text-2); margin: var(--slovo-space-3) 0 0; max-width: 42ch; }
.sk-tpl-styleguide .sk-sg-alpha { margin-top: var(--slovo-space-6); }
.sk-tpl-styleguide .sk-sg-alpha__grid { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem); letter-spacing: 0.14em; color: var(--slovo-ink); line-height: 1.6; word-spacing: 0.15em; }
.sk-tpl-styleguide .sk-sg-signs { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-size: 1.6rem; letter-spacing: 0.2em; color: var(--slovo-charcoal); margin-top: var(--slovo-space-3); }
.sk-tpl-styleguide .sk-sg-scale { display: flex; flex-direction: column; }
.sk-tpl-styleguide .sk-sg-row { display: grid; grid-template-columns: 40px 1fr auto; gap: var(--slovo-space-4); align-items: baseline; padding-block: var(--slovo-space-4); border-top: var(--slovo-rule-hairline) solid var(--slovo-border-decorative); }
.sk-tpl-styleguide .sk-sg-row:first-child { border-top: 0; }
.sk-tpl-styleguide .sk-sg-row__tag { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-row__label { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); align-self: center; }
.sk-tpl-styleguide .sk-sg-row__dim { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); align-self: center; white-space: nowrap; }
.sk-tpl-styleguide .sk-sg-sample { color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-sg-sample--h1 { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: clamp(2.6rem, 1.8rem + 3.4vw, 3.75rem); line-height: 1.05; letter-spacing: 0.02em; }
.sk-tpl-styleguide .sk-sg-sample--h2 { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: var(--slovo-fs-h2); line-height: 1.15; letter-spacing: 0.02em; }
.sk-tpl-styleguide .sk-sg-sample--h3 { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: var(--slovo-fs-h3); letter-spacing: 0.02em; }
.sk-tpl-styleguide .sk-sg-sample--sub { font-family: var(--slovo-font-body); font-size: var(--slovo-fs-subhead); color: var(--slovo-text-2); }
.sk-tpl-styleguide .sk-sg-sample--body { font-family: var(--slovo-font-body); font-size: var(--slovo-fs-body); max-width: 46ch; }
.sk-tpl-styleguide .sk-sg-sample--cap { font-family: var(--slovo-font-body); font-style: italic; font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); }
.sk-tpl-styleguide .sk-sg-swatches { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--slovo-space-5); }
@media (max-width: 720px) {
  .sk-tpl-styleguide .sk-sg-swatches { grid-template-columns: repeat(2, 1fr); }
}
.sk-tpl-styleguide .sk-swatch__chip { height: 96px; border: var(--slovo-rule-hairline) solid var(--slovo-border-soft); }
.sk-tpl-styleguide .sk-swatch__name { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-ink); margin: var(--slovo-space-3) 0 0; }
.sk-tpl-styleguide .sk-swatch__hex { font-family: ui-monospace, Menlo, monospace; font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); margin: 2px 0 0; }
.sk-tpl-styleguide .sk-sg-textures { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--slovo-space-5); margin-top: var(--slovo-space-7); }
@media (max-width: 720px) {
  .sk-tpl-styleguide .sk-sg-textures { grid-template-columns: repeat(2, 1fr); }
}
.sk-tpl-styleguide .sk-texture { text-align: center; }
.sk-tpl-styleguide .sk-texture__box { aspect-ratio: 1/1; border: var(--slovo-rule-hairline) solid var(--slovo-border-soft); background: var(--slovo-parchment); overflow: hidden; }
.sk-tpl-styleguide .sk-texture__box svg { width: 100%; height: 100%; display: block; }
.sk-tpl-styleguide .sk-texture__name { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-2); margin: var(--slovo-space-3) 0 0; }
.sk-tpl-styleguide .sk-sg-controls { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem,4vw,3rem) clamp(2rem,5vw,4rem); }
@media (max-width: 720px) {
  .sk-tpl-styleguide .sk-sg-controls { grid-template-columns: 1fr; }
}
.sk-tpl-styleguide .sk-sg-cluster { display: flex; flex-direction: column; gap: var(--slovo-space-3); align-items: flex-start; }
.sk-tpl-styleguide .sk-sg-label { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-charcoal); margin: 0 0 var(--slovo-space-2); }
.sk-tpl-styleguide .sk-btn--hover { background: var(--slovo-link-hover); border-color: var(--slovo-link-hover); outline: 1px dashed var(--slovo-oxblood); outline-offset: 3px; }
.sk-tpl-styleguide .sk-textlink { font-family: var(--slovo-font-display); color: var(--slovo-oxblood); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.sk-tpl-styleguide .sk-textlink:hover { color: var(--slovo-link-hover); }
.sk-tpl-styleguide .sk-textlink--hover { font-style: italic; }
.sk-tpl-styleguide .sk-toggle-demo { display: inline-flex; align-items: center; gap: var(--slovo-space-3); font-size: var(--slovo-fs-caption); color: var(--slovo-text-2); }
.sk-tpl-styleguide .sk-sg-switch { width: 46px; height: 22px; border-radius: 999px; position: relative; border: 1.4px solid var(--slovo-border); background: var(--slovo-bg-inset); }
.sk-tpl-styleguide .sk-sg-switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 999px; background: var(--slovo-ivory); border: 1px solid var(--slovo-border); }
.sk-tpl-styleguide .sk-sg-switch--on { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-switch--on::after { left: auto; right: 2px; background: var(--slovo-ivory); border-color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-field { width: 100%; padding: var(--slovo-space-3) var(--slovo-space-4); font-family: var(--slovo-font-body); font-size: var(--slovo-fs-body); color: var(--slovo-ink); background: var(--slovo-white); border: 1.4px solid var(--slovo-border); border-radius: 0; }
.sk-tpl-styleguide .sk-sg-field::placeholder { color: var(--slovo-text-muted); font-style: italic; }
.sk-tpl-styleguide .sk-sg-field:focus-visible { outline: 2px solid var(--slovo-oxblood); outline-offset: 2px; }
.sk-tpl-styleguide textarea.sk-sg-field { min-height: 92px; resize: vertical; }
.sk-tpl-styleguide .sk-sg-select { position: relative; }
.sk-tpl-styleguide .sk-sg-select .sk-sg-field { appearance: none; padding-right: 44px; }
.sk-tpl-styleguide .sk-sg-select::after { content: ""; position: absolute; right: 14px; top: 50%; width: 10px; height: 10px; border-right: 1.6px solid var(--slovo-ink); border-bottom: 1.6px solid var(--slovo-ink); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.sk-tpl-styleguide .sk-choice { display: inline-flex; align-items: center; gap: var(--slovo-space-3); font-size: var(--slovo-fs-caption); color: var(--slovo-text); }
.sk-tpl-styleguide .sk-box { width: 20px; height: 20px; border: 1.6px solid var(--slovo-ink); display: inline-flex; align-items: center; justify-content: center; }
.sk-tpl-styleguide .sk-box--on { background: var(--slovo-oxblood); border-color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-box--on svg { width: 13px; height: 13px; color: var(--slovo-ivory); }
.sk-tpl-styleguide .sk-sg-dot { width: 20px; height: 20px; border-radius: 999px; border: 1.6px solid var(--slovo-ink); display: inline-flex; align-items: center; justify-content: center; }
.sk-tpl-styleguide .sk-sg-dot--on::after { content: ""; width: 10px; height: 10px; border-radius: 999px; background: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-page { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); color: var(--slovo-ink); border: 1.2px solid var(--slovo-border-soft); text-decoration: none; }
.sk-tpl-styleguide .sk-sg-page--active { background: var(--slovo-ink); color: var(--slovo-ivory); border-color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-sg-page--ell { border: 0; }
.sk-tpl-styleguide .sk-sg-icons { display: grid; grid-template-columns: repeat(8, 1fr); gap: var(--slovo-space-5) var(--slovo-space-4); }
@media (max-width: 860px) {
  .sk-tpl-styleguide .sk-sg-icons { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
  .sk-tpl-styleguide .sk-sg-icons { grid-template-columns: repeat(3, 1fr); }
}
.sk-tpl-styleguide .sk-ico { text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--slovo-space-3); }
.sk-tpl-styleguide .sk-ico svg { width: 40px; height: 40px; color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-ico svg, .sk-tpl-styleguide .sk-initial__bg, .sk-tpl-styleguide .sk-orn-row svg, .sk-tpl-styleguide .sk-texture__box svg { fill: none; }
.sk-tpl-styleguide .sk-ico__n { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); }
.sk-tpl-styleguide .sk-sg-orn { display: flex; flex-direction: column; gap: var(--slovo-space-6); }
.sk-tpl-styleguide .sk-orn-row { display: grid; grid-template-columns: 24px 1fr; gap: var(--slovo-space-4); align-items: center; }
.sk-tpl-styleguide .sk-orn-row__n { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); color: var(--slovo-text-muted); }
.sk-tpl-styleguide .sk-orn-row svg { width: 100%; height: 34px; color: var(--slovo-ink); display: block; }
.sk-tpl-styleguide .sk-sg-initials { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--slovo-space-6); margin-top: var(--slovo-space-7); }
@media (max-width: 720px) {
  .sk-tpl-styleguide .sk-sg-initials { grid-template-columns: repeat(2, 1fr); }
}
.sk-tpl-styleguide .sk-initial { text-align: center; }
.sk-tpl-styleguide .sk-initial__frame { aspect-ratio: 1/1; display: grid; place-items: center; position: relative; overflow: hidden; border: 2.4px solid var(--slovo-ink); }
.sk-tpl-styleguide .sk-initial__frame::before { content: ""; position: absolute; inset: 4px; border: 0.8px solid var(--slovo-ink); pointer-events: none; }
.sk-tpl-styleguide .sk-initial__glyph { font-family: "Carina AI Antiqua", var(--slovo-font-display); font-weight: 700; font-size: clamp(3rem, 5vw + 1rem, 5rem); line-height: 1; position: relative; z-index: 1; }
.sk-tpl-styleguide .sk-initial--ink { background: var(--slovo-ink); }
.sk-tpl-styleguide .sk-initial--ink .sk-initial__frame { border-color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-initial--ink .sk-initial__glyph { color: var(--slovo-ivory); }
.sk-tpl-styleguide .sk-initial--knot .sk-initial__glyph, .sk-tpl-styleguide .sk-initial--hatch .sk-initial__glyph, .sk-tpl-styleguide .sk-initial--stipple .sk-initial__glyph { color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-initial__bg { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--slovo-ink); }
.sk-tpl-styleguide .sk-initial--ink .sk-initial__bg { color: var(--slovo-ivory); opacity: 0.85; }
.sk-tpl-styleguide .sk-initial__name { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-ink); margin: var(--slovo-space-3) 0 0; }
.sk-tpl-styleguide .sk-initial__lat { font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-gridfig { border: 2.4px solid var(--slovo-ink); background: var(--slovo-surface); padding: var(--slovo-space-5); }
.sk-tpl-styleguide .sk-sg-gridfig__bar { height: 16px; background: var(--slovo-bg-inset); border: 1px solid var(--slovo-border-soft); display: flex; align-items: center; gap: 6px; padding-inline: 8px; margin-bottom: var(--slovo-space-4); }
.sk-tpl-styleguide .sk-sg-gridfig__bar span { width: 6px; height: 6px; border-radius: 999px; border: 1px solid var(--slovo-border); }
.sk-tpl-styleguide .sk-sg-cols { display: grid; grid-template-columns: repeat(12, 1fr); gap: 8px; }
.sk-tpl-styleguide .sk-sg-cols div { height: 150px; background: color-mix(in srgb, var(--slovo-oxblood) 12%, var(--slovo-parchment)); border: 1px solid color-mix(in srgb, var(--slovo-oxblood) 30%, transparent); }
.sk-tpl-styleguide .sk-sg-gridmeta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--slovo-space-3); margin-top: var(--slovo-space-4); font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); }
.sk-tpl-styleguide .sk-sg-gridmeta b { color: var(--slovo-oxblood); }
.sk-tpl-styleguide .sk-sg-spacing { display: flex; align-items: flex-end; gap: var(--slovo-space-4); flex-wrap: wrap; margin-top: var(--slovo-space-7); }
.sk-tpl-styleguide .sk-sp { text-align: center; }
.sk-tpl-styleguide .sk-sp__box { background: var(--slovo-ink); margin-inline: auto; }
.sk-tpl-styleguide .sk-sp__n { font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-meta); color: var(--slovo-text-2); margin-top: var(--slovo-space-2); }
.sk-tpl-styleguide .sk-sg-spacing__cap { text-align: center; font-family: var(--slovo-font-meta); font-size: var(--slovo-fs-caption); letter-spacing: var(--slovo-tracking-label); text-transform: uppercase; color: var(--slovo-text-muted); margin-top: var(--slovo-space-5); }
.sk-tpl-styleguide .sk-swatch { display: flex; flex-direction: column; min-width: 0; }
.sk-tpl-styleguide .sk-sg-sample--h1 { font-size: var(--slovo-fs-h1); line-height: var(--slovo-lh-h1); }
.sk-tpl-styleguide .sk-sg-sample--h2 { font-size: var(--slovo-fs-h2); line-height: var(--slovo-lh-h2); }
.sk-tpl-styleguide .sk-sg-sample--h3 { font-size: var(--slovo-fs-h3); line-height: var(--slovo-lh-h3); }
.sk-tpl-styleguide .sk-sg-sample--sub { font-size: var(--slovo-fs-subhead); line-height: var(--slovo-lh-subhead); }
.sk-tpl-styleguide .sk-sg-sample--body { font-size: var(--slovo-fs-body); line-height: var(--slovo-lh-body); }
.sk-tpl-styleguide .sk-sg-sample--cap { font-size: var(--slovo-fs-caption); line-height: var(--slovo-lh-caption); }
.sk-tpl-styleguide .sk-sg-swatches { grid-template-columns: repeat(4, minmax(0, 1fr)); }

