<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <title>Guides et conseils votre thématique | nixsoftware</title>
    <meta name="description" content="Guides, comparatifs et conseils pratiques pour mieux comprendre votre thématique.">
    <meta name="robots" content="index,follow,max-image-preview:large">
        <meta content="Guides et conseils votre thématique | nixsoftware" property="og:title">
    <meta content="Guides, comparatifs et conseils pratiques pour mieux comprendre votre thématique." property="og:description">
    <meta content="https://nixsoftware.com/" property="og:url">
    <meta content="nixsoftware" property="og:site_name">
    <meta content="fr_FR" property="og:locale">
    <meta content="https://nixsoftware.com/assets/images/brand/logo.png?v=1779890646" property="og:image">    <meta content="website" property="og:type">
    <meta content="summary_large_image" name="twitter:card">
    <meta content="Guides et conseils votre thématique | nixsoftware" name="twitter:title">
    <meta content="Guides, comparatifs et conseils pratiques pour mieux comprendre votre thématique." name="twitter:description">
    <meta content="https://nixsoftware.com/assets/images/brand/logo.png?v=1779890646" name="twitter:image">    <meta content="width=device-width, initial-scale=1" name="viewport">
    <link rel="canonical" href="https://nixsoftware.com/">
    
    
    <!-- Theme CSS Variables -->
    <style>:root {
  --color-primary: #1D090B;
  --color-accent: #1D090B;
  --color-accent2: #8B3A2E;
  --color-accent3: #3A1014;
  --color-bg: #FFFFFF;
  --color-bg-alt: #F7F2EF;
  --color-text: #172033;
  --color-text-muted: #62708C;
  --color-border: #E7D8D0;
  --color-dark-bg: #1D090B;
  --color-dark-bg-alt: #2B0F12;
  --color-dark-text: #FFFFFF;
  --color-dark-text-muted: #B4C2D8;
  --font-heading: 'Source Sans 3', 'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-accent: 'Source Sans 3', 'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Inter', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --radius: 1.15rem;
  --radius-lg: 1.85rem;
  --radius-full: 9999px;
  --shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
  --shadow-hover: 0 18px 44px rgba(15, 23, 42, 0.13);
  --shadow-lg: 0 26px 70px rgba(15, 23, 42, 0.16);
  --spacing-section: clamp(72px, 8vw, 116px);
  --container: 1200px;
  --style-card-padding-scale: 1.08;
  --style-card-border-width: 1px;
  --style-heading-letter-spacing: -0.035em;
  --style-button-radius: 999px;
  --style-media-radius: calc(var(--radius-lg) * 1.05);
  --style-icon-radius: 1.15rem;
}</style>

    <style>/**
 * Site Variables — JS-CMS Generic
 * The site-builder generates a complete version during build.
 * These are sensible defaults.
 */
:root {
    /* Palette */
    --cms-primary: #2563eb;
    --cms-primary-light: #eff6ff;
    --cms-primary-dark: #1d4ed8;
    --cms-primary-rgb: 37, 99, 235;
    --cms-secondary: #64748b;
    --cms-accent: #f59e0b;
    --cms-text: #1e293b;
    --cms-text-light: #64748b;
    --cms-text-muted: #94a3b8;
    --cms-bg: #ffffff;
    --cms-bg-alt: #f8fafc;
    --cms-bg-dark: #0f172a;
    --cms-border: #e2e8f0;

    /* Typography */
    --cms-font: system-ui, -apple-system, sans-serif;
    --cms-font-heading: var(--cms-font);
    --cms-h1: clamp(32px, 5vw, 48px);
    --cms-h2: clamp(24px, 3.5vw, 36px);
    --cms-h3: clamp(20px, 2.5vw, 28px);
    --cms-h4: clamp(18px, 2vw, 22px);
    --cms-body: 16px;
    --cms-line-height: 1.7;
    --cms-line-height-heading: 1.2;
    --cms-font-weight-heading: 700;

    /* Layout */
    --cms-max-width: 1200px;
    --cms-max-width-narrow: 768px;
    --cms-header-height: 72px;

    /* Spacing */
    --cms-section-pad: 64px;
    --cms-gap-sm: 16px;
    --cms-gap-md: 24px;
    --cms-gap-lg: 32px;

    /* Effects */
    --cms-radius: 8px;
    --cms-radius-lg: 12px;
    --cms-shadow: 0 1px 3px rgba(0,0,0,0.1);
    --cms-transition: 0.3s ease;

    /* Design system tokens used by CMS templates and post components */
    --cms-ds-container: var(--container, var(--cms-max-width));
    --cms-ds-container-narrow: var(--container-narrow, var(--cms-max-width-narrow));
    --cms-ds-section-pad-none: 0px;
    --cms-ds-section-pad-sm: calc(var(--spacing-section, var(--cms-section-pad)) * 0.4);
    --cms-ds-section-pad-md: calc(var(--spacing-section, var(--cms-section-pad)) * 0.65);
    --cms-ds-section-pad-lg: var(--spacing-section, var(--cms-section-pad));
    --cms-ds-section-pad-xl: calc(var(--spacing-section, var(--cms-section-pad)) * 1.4);
    --cms-ds-gap-sm: var(--cms-gap-sm);
    --cms-ds-gap-md: var(--cms-gap-md);
    --cms-ds-gap-lg: var(--cms-gap-lg);
    --cms-ds-radius-sm: var(--radius-sm, var(--cms-radius));
    --cms-ds-radius-md: var(--radius, var(--cms-radius));
    --cms-ds-radius-lg: var(--radius-lg, var(--cms-radius-lg));
    --cms-ds-radius-full: var(--radius-full, 999px);
    --cms-ds-card-pad: clamp(16px, 2vw, 24px);
    --cms-ds-card-bg: var(--color-bg, var(--cms-bg));
    --cms-ds-card-bg-alt: var(--color-bg-alt, var(--cms-bg-alt));
    --cms-ds-card-bg-dark: var(--color-dark-bg, var(--cms-bg-dark));
    --cms-ds-card-border: var(--color-border, var(--cms-border));
    --cms-ds-card-shadow: var(--shadow, var(--cms-shadow));
    --cms-ds-text: var(--color-text, var(--cms-text));
    --cms-ds-muted: var(--color-text-muted, var(--cms-text-light));
    --cms-ds-accent: var(--color-accent, var(--cms-primary));
}</style>    <style>/**
 * JS-CMS Components Stylesheet
 * Base styles for all content components.
 * Colors/fonts are overridden via site-vars.css (generated by Builder).
 */

/* ---------------------------------------------------------------------------
   CSS Custom Properties (defaults — overridden by site-vars.css)
   --------------------------------------------------------------------------- */
:root {
    --cms-primary: #0f766e;
    --cms-primary-light: #eff6ff;
    --cms-primary-dark: #1d4ed8;
    --cms-secondary: #64748b;
    --cms-accent: #f59e0b;
    --cms-success: #10b981;
    --cms-warning: #f59e0b;
    --cms-danger: #ef4444;
    --cms-info: #3b82f6;

    --cms-text: #1e293b;
    --cms-text-light: #64748b;
    --cms-text-muted: #94a3b8;
    --cms-bg: #ffffff;
    --cms-bg-alt: #f8fafc;
    --cms-border: #e2e8f0;

    --cms-font: system-ui, -apple-system, sans-serif;
    --cms-font-heading: var(--cms-font);
    --cms-font-mono: 'Fira Code', 'Consolas', monospace;

    --cms-radius: 8px;
    --cms-radius-lg: 12px;
    --cms-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    --cms-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.1);

    --cms-spacing: 1.5rem;
    --cms-spacing-lg: 2.5rem;
    --cms-max-width: 1200px;

    --cms-ds-container: var(--container, var(--cms-max-width));
    --cms-ds-container-narrow: var(--container-narrow, 768px);
    --cms-ds-section-pad-none: 0px;
    --cms-ds-section-pad-sm: calc(var(--spacing-section, 80px) * 0.4);
    --cms-ds-section-pad-md: calc(var(--spacing-section, 80px) * 0.65);
    --cms-ds-section-pad-lg: var(--spacing-section, 80px);
    --cms-ds-section-pad-xl: calc(var(--spacing-section, 80px) * 1.4);
    --cms-ds-gap-sm: clamp(12px, 1.4vw, 18px);
    --cms-ds-gap-md: clamp(18px, 2vw, 28px);
    --cms-ds-gap-lg: clamp(28px, 3vw, 44px);
    --cms-ds-radius-md: var(--radius, var(--cms-radius));
    --cms-ds-radius-lg: var(--radius-lg, var(--cms-radius-lg));
    --cms-ds-radius-full: var(--radius-full, 999px);
    --cms-ds-card-pad: calc(clamp(16px, 2vw, 24px) * var(--style-card-padding-scale, 1));
    --cms-ds-card-bg: var(--color-bg, var(--cms-bg));
    --cms-ds-card-bg-alt: var(--color-bg-alt, var(--cms-bg-alt));
    --cms-ds-card-bg-dark: var(--color-dark-bg, #1C1917);
    --cms-ds-card-border: var(--color-border, var(--cms-border));
    --cms-ds-card-shadow: var(--shadow, var(--cms-shadow));
    --cms-ds-text: var(--color-text, var(--cms-text));
    --cms-ds-muted: var(--color-text-muted, var(--cms-text-light));
    --cms-ds-accent: var(--color-accent, var(--cms-primary));
}

[x-cloak] {
    display: none !important;
}

[data-cms-menu-panel][hidden] {
    display: none !important;
}

[data-cms-menu-panel].is-open[x-cloak] {
    display: block !important;
}

:where(.cms-ds-card, .cms-pc, .cms-gc, [class*="__card"]) {
    border-width: var(--style-card-border-width, 1px);
}

:where(.cms-ds-card, .cms-pc, .cms-gc, .cms-section-header__title, .cms-hero-title, .cms-hero__title, h1, h2, h3) {
    letter-spacing: var(--style-heading-letter-spacing, inherit);
}

:where(.cms-ds-card img, .cms-pc img, .cms-gc img, .cms-image-decorated, .cms-post-card__image, .cms-hero img) {
    border-radius: var(--style-media-radius, var(--radius-lg));
}

/* ---------------------------------------------------------------------------
   CMS Design System
   --------------------------------------------------------------------------- */
.cms-content-vb {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(18px, 3vw, 32px);
    overflow: hidden;
    padding: clamp(24px, 4vw, 44px);
    border-radius: var(--radius-lg);
    background: var(--color-dark-bg);
    color: var(--color-dark-text, #fff);
}

.cms-content-vb--light {
    background: var(--color-bg-alt, #f8fafc);
    color: var(--color-text);
}

.cms-content-vb--accent {
    background: var(--color-accent);
    color: #fff;
}

.cms-content-vb--with-image {
    min-height: clamp(260px, 34vw, 420px);
    align-items: end;
}

.cms-content-vb:not(.cms-content-vb--with-image) {
    min-height: auto;
    align-items: start;
    padding: clamp(18px, 3vw, 30px);
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) {
    background: linear-gradient(135deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 78%, #0f172a 22%));
    color: #fff;
}

.cms-content-vb__visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.cms-content-vb__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(.92) brightness(.72);
}

.cms-content-vb__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.64));
}

.cms-content-vb__content {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.cms-content-vb__eyebrow {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cms-content-vb--accent .cms-content-vb__eyebrow { color: rgba(255,255,255,.78); }

.cms-content-vb--with-image .cms-content-vb__eyebrow { color: #fff; }

.cms-content-vb__title {
    margin: 0 0 10px;
    color: inherit;
    font-family: var(--font-heading);
    font-size: clamp(24px, 3.4vw, 42px);
    line-height: 1.12;
}

.cms-content-vb__text {
    margin: 0;
    color: color-mix(in srgb, currentColor 78%, transparent);
    font-family: var(--font-body);
    font-size: clamp(15px, 1.45vw, 18px);
    line-height: 1.7;
}

.cms-content-ds__eyebrow,
.cms-content-pp__eyebrow,
.cms-content-clp__eyebrow,
.cms-content-tool__eyebrow {
    display: inline-flex;
    width: max-content;
    margin: 0 0 11px;
    padding: 6px 10px;
    border-radius: var(--radius-full, 999px);
    color: var(--color-accent);
    background: color-mix(in srgb, var(--color-accent) 14%, white 86%);
    font: 900 10px/1 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-ds {
    margin: 42px 0;
    padding: clamp(22px, 4vw, 34px);
    border-radius: var(--radius-lg);
    background: var(--color-text, #0f172a);
    color: #fff;
}

.cms-content-ds--light {
    color: var(--color-text);
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
}

.cms-content-ds--accent {
    background: linear-gradient(135deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 72%, #0f172a 28%));
}

.cms-content-ds__title,
.cms-content-pp__title,
.cms-content-clp__title,
.cms-content-tool__title {
    margin: 0 0 10px;
    color: inherit;
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 35px);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.cms-content-ds__grid,
.cms-content-pp__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

.cms-content-ds__card {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-md, 22px);
    background: rgba(255,255,255,.08);
    transition: transform .18s ease, background .18s ease;
}

.cms-content-ds--light .cms-content-ds__card {
    background: var(--color-bg);
    border-color: var(--color-border);
}

.cms-content-ds__card:hover,
.cms-content-pp__card:hover {
    transform: translateY(-3px);
}

.cms-content-ds__num {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--color-accent);
    font: 900 12px/1 var(--font-body);
}

.cms-content-ds__card-title,
.cms-content-pp__label {
    margin: 0 0 8px;
    color: inherit;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.22;
}

.cms-content-ds__text,
.cms-content-pp__text,
.cms-content-pp__intro,
.cms-content-clp__intro,
.cms-content-tool__intro {
    margin: 0;
    color: color-mix(in srgb, currentColor 76%, transparent);
    font: 400 14px/1.68 var(--font-body);
}

.cms-content-pp {
    position: relative;
    overflow: hidden;
    margin: 42px 0;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
    border-radius: var(--radius-lg);
    background: radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 26%), linear-gradient(135deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 6%, var(--color-bg) 94%));
    box-shadow: var(--shadow, 0 20px 58px rgba(15,23,42,.08));
}

.cms-content-pp::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -90px;
    width: 220px;
    height: 220px;
    border: 42px solid color-mix(in srgb, var(--color-accent) 10%, transparent);
    border-radius: 999px;
    pointer-events: none;
}

.cms-content-pp__head,
.cms-content-pp__grid {
    position: relative;
    z-index: 1;
}

.cms-content-pp__head {
    max-width: 720px;
}

.cms-content-pp__card {
    min-height: 100%;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--color-border) 74%, var(--color-accent) 26%);
    border-radius: var(--radius-md, 22px);
    background: color-mix(in srgb, var(--color-bg) 88%, white 12%);
    box-shadow: 0 14px 32px rgba(15,23,42,.055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cms-content-pp__card:hover {
    border-color: color-mix(in srgb, var(--color-accent) 46%, var(--color-border));
    box-shadow: 0 20px 42px rgba(15,23,42,.09);
}

.cms-content-pp__num,
.cms-content-clp__tick {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 900 12px/1 var(--font-body);
}

.cms-content-pp__num {
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
}

.cms-content-clp {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 26px;
    margin: 42px 0;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 7%, var(--color-bg) 93%));
}

.cms-content-clp__list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cms-content-clp__item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 13px 14px;
    border-radius: var(--radius-md, 16px);
    color: var(--color-text-muted);
    background: var(--color-bg);
    box-shadow: 0 10px 22px rgba(15,23,42,.045);
}

.cms-content-clp__tick {
    width: 20px;
    height: 20px;
}

.cms-content-tool {
    position: relative;
    overflow: hidden;
    margin: 42px 0;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 9%, var(--color-bg) 91%), var(--color-bg-alt)), radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--color-accent) 22%, transparent), transparent 34%);
    box-shadow: var(--shadow, 0 22px 60px rgba(15,23,42,.10));
}

.cms-content-tool::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    background: var(--color-accent);
}

.cms-content-tool__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0 0;
}

.cms-content-tool__field {
    display: grid;
    gap: 8px;
    margin: 0;
}

.cms-content-tool__field span {
    color: var(--color-text);
    font: 800 11px/1.2 var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cms-content-tool select {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid color-mix(in srgb, var(--color-border) 88%, var(--color-accent) 12%);
    border-radius: var(--radius-md, 16px);
    color: var(--color-text);
    background: var(--color-bg);
    font: 600 14px/1.2 var(--font-body);
    box-shadow: 0 8px 20px rgba(15,23,42,.045);
}

.cms-content-tool__actions {
    display: flex;
    justify-content: center;
    margin: 24px 0 0;
}

.cms-content-tool__actions button {
    border: 0;
    border-radius: 999px;
    padding: 14px 22px;
    color: #fff;
    background: var(--color-accent);
    font: 900 12px/1 var(--font-body);
    letter-spacing: .07em;
    text-transform: uppercase;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--color-accent) 28%, transparent);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.cms-content-tool__actions button:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 44px color-mix(in srgb, var(--color-accent) 36%, transparent);
}

.cms-content-tool__result {
    margin: 22px auto 0;
    padding: 18px 20px;
    border: 1px dashed color-mix(in srgb, var(--color-accent) 35%, var(--color-border));
    border-radius: var(--radius-md, 20px);
    color: var(--color-text-muted);
    background: color-mix(in srgb, var(--color-bg) 76%, white 24%);
    font: 500 14px/1.7 var(--font-body);
}

.cms-content-tool.is-complete .cms-content-tool__result {
    border-style: solid;
    color: var(--color-text);
    background: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg));
}

.cms-content-ts {
    margin: 38px 0;
    padding: clamp(18px, 3.2vw, 26px);
    border-top: 4px solid var(--color-accent);
    border-radius: var(--radius-lg);
    background: var(--color-bg-alt);
}

.cms-content-ts__head {
    max-width: 760px;
    margin-bottom: 12px;
}

.cms-content-ts__eyebrow {
    display: inline-flex;
    margin: 0 0 8px;
    color: var(--color-accent);
    font: 900 10px/1 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-ts__title {
    margin: 0;
    color: var(--color-text);
    font: 800 clamp(21px, 2.4vw, 30px)/1.12 var(--font-heading);
    letter-spacing: -.02em;
}

.cms-content-ts__intro {
    margin: 10px 0 0;
    color: var(--color-text-muted);
    font: 400 14px/1.65 var(--font-body);
}

.cms-content-ts__list {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.cms-content-ts__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-accent) 18%);
    border-radius: var(--radius-md, 16px);
    background: var(--color-bg);
}

.cms-content-ts__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 900 11px/1 var(--font-body);
}

.cms-content-ts__item-title {
    margin: 0 0 4px !important;
    color: var(--color-text);
    font: 800 15px/1.3 var(--font-heading);
}

.cms-content-ts__text {
    margin: 0;
    color: var(--color-text);
    font: 400 14px/1.6 var(--font-body);
}

.cms-content-ts__meta {
    margin: 6px 0 0;
    color: var(--color-text-muted);
    font: 600 12px/1.4 var(--font-body);
}

@media (max-width: 820px) {
    .cms-content-ds__grid,
    .cms-content-pp__grid,
    .cms-content-clp,
    .cms-content-tool__grid {
        grid-template-columns: 1fr;
    }
}

.cms-ds-container {
    width: min(100% - 48px, var(--cms-ds-container));
    margin-inline: auto;
}

.cms-ds-container--narrow {
    width: min(100% - 48px, var(--cms-ds-container-narrow));
}

.cms-ds-grid {
    display: grid;
    gap: var(--cms-ds-gap-md);
}

.cms-ds-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cms-ds-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cms-ds-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cms-ds-stack {
    display: flex;
    flex-direction: column;
    gap: var(--cms-ds-gap-md);
}

.cms-ds-card {
    --cms-pc-bg: var(--cms-ds-card-bg);
    --cms-pc-border: var(--style-card-border-width, 1px) solid var(--cms-ds-card-border);
    --cms-pc-radius: var(--cms-ds-radius-lg);
    --cms-pc-text: var(--cms-ds-text);
    --cms-pc-muted: var(--cms-ds-muted);
    --cms-pc-border-color: var(--cms-ds-card-border);
    --cms-pc-overlay-bg: var(--cms-ds-card-bg-dark);
    --cms-gc-bg: var(--cms-ds-card-bg);
    --cms-gc-border: var(--style-card-border-width, 1px) solid var(--cms-ds-card-border);
    --cms-gc-radius: var(--cms-ds-radius-lg);
    --cms-gc-text: var(--cms-ds-text);
    --cms-gc-muted: var(--cms-ds-muted);
    --cms-gc-border-color: var(--cms-ds-card-border);
    --cms-gc-overlay-bg: var(--cms-ds-card-bg-dark);
}

.cms-ds-card--bg-alt {
    --cms-pc-bg: var(--cms-ds-card-bg-alt);
    --cms-gc-bg: var(--cms-ds-card-bg-alt);
}

.cms-ds-card--bg-dark,
.cms-ds-card--dark {
    --cms-pc-bg: var(--cms-ds-card-bg-dark);
    --cms-pc-text: #fff;
    --cms-pc-muted: rgba(255,255,255,.7);
    --cms-pc-border-color: rgba(255,255,255,.14);
    --cms-pc-border: var(--style-card-border-width, 1px) solid rgba(255,255,255,.14);
    --cms-gc-bg: var(--cms-ds-card-bg-dark);
    --cms-gc-text: #fff;
    --cms-gc-muted: rgba(255,255,255,.7);
    --cms-gc-border-color: rgba(255,255,255,.14);
    --cms-gc-border: var(--style-card-border-width, 1px) solid rgba(255,255,255,.14);
}

.cms-ds-card--bg-transparent,
.cms-ds-card--appearance-flat {
    --cms-pc-bg: transparent;
    --cms-pc-border: none;
    --cms-pc-radius: 0;
    --cms-gc-bg: transparent;
    --cms-gc-border: none;
    --cms-gc-radius: 0;
}

/* ---------------------------------------------------------------------------
   Base Block
   --------------------------------------------------------------------------- */
.cms-block {
    margin: var(--cms-spacing-lg) 0;
    font-family: var(--cms-font);
    color: var(--cms-text);
    line-height: 1.7;
}

.cms-block--inline {
    margin: var(--cms-spacing) 0;
}

.cms-block--full {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: var(--cms-spacing-lg) calc((100vw - var(--cms-max-width)) / 2);
    background: var(--cms-bg-alt);
}

.cms-block--highlight {
    border-left: 4px solid var(--cms-primary);
    padding: var(--cms-spacing);
    background: var(--cms-primary-light);
    border-radius: 0 var(--cms-radius) var(--cms-radius) 0;
}

.cms-block--card {
    padding: var(--cms-spacing);
    background: var(--cms-bg);
    border: 1px solid var(--cms-border);
    border-radius: var(--cms-radius-lg);
    box-shadow: var(--cms-shadow);
}

/* ---------------------------------------------------------------------------
   Summary Box ("En résumé")
   --------------------------------------------------------------------------- */
.cms-summary {
    background: var(--cms-primary-light);
    border-radius: var(--cms-radius-lg);
    padding: var(--cms-spacing);
}

.cms-summary__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--cms-font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--cms-primary-dark);
    margin: 0 0 0.75rem;
}

.cms-summary__title::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: var(--cms-primary);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2'/%3E%3C/svg%3E");
}

.cms-summary__list {
    margin: 0;
    padding-left: 1.25rem;
}

.cms-summary__list li {
    margin-bottom: 0.4rem;
}

/* ---------------------------------------------------------------------------
   FAQ
   --------------------------------------------------------------------------- */
.cms-faq {
    border-radius: var(--cms-radius-lg);
}

.cms-faq__title {
    font-family: var(--cms-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 1rem;
}

.cms-faq__item {
    border-bottom: 1px solid var(--cms-border);
    padding: 0;
}

.cms-faq__item:last-child {
    border-bottom: none;
}

.cms-faq__question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
    background: none;
    border: none;
    font-family: var(--cms-font);
    font-size: 1rem;
    font-weight: 600;
    color: var(--cms-text);
    cursor: pointer;
    text-align: left;
}

.cms-faq__question::after {
    content: '+';
    font-size: 1.25rem;
    color: var(--cms-primary);
    transition: transform 0.2s;
    flex-shrink: 0;
    margin-left: 1rem;
}

.cms-faq__item.is-open .cms-faq__question::after {
    content: '−';
}

.cms-faq__answer {
    display: none;
    padding: 0 0 1rem;
    color: var(--cms-text-light);
}

.cms-faq__item.is-open .cms-faq__answer {
    display: block;
}

/* ---------------------------------------------------------------------------
   Short Blocks (Astuce, Note, Définition, À savoir, Attention)
   --------------------------------------------------------------------------- */
.cms-inline-accent {
    border: 0;
    border-left: 3px solid var(--color-accent, var(--cms-primary));
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    padding: 14px 18px;
    margin: 24px 0;
}

.cms-inline-accent__eyebrow {
    display: block;
    margin: 0 0 10px;
    font-family: var(--font-body, var(--cms-font));
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--cms-inline-accent-color, var(--color-accent, var(--cms-primary)));
}

.cms-inline-accent__content {
    font-family: var(--font-body, var(--cms-font));
    font-size: 14px;
    line-height: 1.7;
    color: var(--color-text-muted, var(--cms-text-light));
}

.cms-inline-accent__content p {
    margin: 0;
    font-family: var(--font-body, var(--cms-font));
    font-size: 14px;
    line-height: 1.7;
    color: var(--color-text-muted, var(--cms-text-light));
}

.cms-short {
    --cms-inline-accent-color: var(--color-accent, var(--cms-primary));
}

.cms-short--warning {
    --cms-inline-accent-color: #f59e0b;
}

/* ---------------------------------------------------------------------------
   PAA Block (People Also Ask — direct answer)
   --------------------------------------------------------------------------- */
.cms-paa {
    padding: 0;
    background: transparent;
    border-radius: 0;
    border-left: 3px solid var(--cms-inline-accent-color, var(--color-accent, var(--cms-primary)));
}

.cms-paa__question {
    font-family: var(--cms-font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.75rem;
    color: var(--cms-primary-dark);
}

.cms-paa__answer {
    color: var(--cms-text);
}

/* ---------------------------------------------------------------------------
   Expert Opinion
   --------------------------------------------------------------------------- */
.cms-expert {
    padding: var(--cms-spacing);
    background: var(--cms-bg);
    border: 1px solid var(--cms-border);
    border-radius: var(--cms-radius-lg);
    box-shadow: var(--cms-shadow);
}

.cms-expert__quote {
    font-size: 1.05rem;
    font-style: italic;
    color: var(--cms-text);
    margin: 0 0 1rem;
    padding-left: 1rem;
    border-left: 3px solid var(--cms-primary);
    line-height: 1.8;
}

.cms-expert__author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cms-expert__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-expert__name {
    font-weight: 700;
    color: var(--cms-text);
}

.cms-expert__role {
    font-size: 0.875rem;
    color: var(--cms-text-muted);
}

/* ---------------------------------------------------------------------------
   Author Box
   --------------------------------------------------------------------------- */
.cms-author {
    display: flex;
    gap: 1.25rem;
    padding: var(--cms-spacing);
    background: var(--cms-bg-alt);
    border-radius: var(--cms-radius-lg);
    border-top: 1px solid var(--cms-border);
}

.cms-author__avatar {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-author__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cms-text-muted);
    margin-bottom: 0.25rem;
}

.cms-author__name {
    font-family: var(--cms-font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.cms-author__bio {
    font-size: 0.9rem;
    color: var(--cms-text-light);
}

/* ---------------------------------------------------------------------------
   Video Embed
   --------------------------------------------------------------------------- */
.cms-video {
    border-radius: var(--cms-radius-lg);
    overflow: hidden;
}

.cms-video__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.cms-video__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.cms-video__caption {
    padding: 0.75rem 0 0;
    font-size: 0.875rem;
    color: var(--cms-text-muted);
    text-align: center;
}

/* ---------------------------------------------------------------------------
   Image / Infographic Figure
   --------------------------------------------------------------------------- */
.cms-figure {
    text-align: center;
}

.cms-figure__image {
    max-width: 100%;
    height: auto;
    border-radius: var(--cms-radius);
}

.cms-figure__caption {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--cms-text-muted);
    font-style: italic;
}

.cms-figure--infographic {
    background: var(--cms-bg-alt);
    padding: var(--cms-spacing);
    border-radius: var(--cms-radius-lg);
}

/* ---------------------------------------------------------------------------
   Simulator / Tool
   --------------------------------------------------------------------------- */
.cms-simulator {
    padding: var(--cms-spacing);
    background: var(--cms-bg);
    border: 2px solid var(--cms-primary);
    border-radius: var(--cms-radius-lg);
}

.cms-simulator__title {
    font-family: var(--cms-font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--cms-primary-dark);
    margin: 0 0 1rem;
}

.cms-simulator__body {
    /* Custom tool content goes here */
}

/* Shared form styles for tools */
.cms-simulator input,
.cms-simulator select {
    display: block;
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--cms-border);
    border-radius: var(--cms-radius);
    font-family: var(--cms-font);
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
    box-sizing: border-box;
}

.cms-simulator input:focus,
.cms-simulator select:focus {
    outline: none;
    border-color: var(--cms-primary);
    box-shadow: 0 0 0 3px var(--cms-primary-light);
}

.cms-simulator label {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.3rem;
}

.cms-simulator button,
.cms-simulator .btn {
    display: inline-block;
    padding: 0.7rem 1.5rem;
    background: var(--cms-primary);
    color: #fff;
    border: none;
    border-radius: var(--cms-radius);
    font-family: var(--cms-font);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.cms-simulator button:hover,
.cms-simulator .btn:hover {
    background: var(--cms-primary-dark);
}

.cms-simulator__result {
    margin-top: 1rem;
    padding: var(--cms-spacing);
    background: var(--cms-primary-light);
    border-radius: var(--cms-radius);
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    color: var(--cms-primary-dark);
}

/* ---------------------------------------------------------------------------
   Chart
   --------------------------------------------------------------------------- */
.cms-chart {
    padding: var(--cms-spacing);
    background: var(--cms-bg);
    border: 1px solid var(--cms-border);
    border-radius: var(--cms-radius-lg);
}

.cms-chart__title {
    font-family: var(--cms-font-heading);
    font-weight: 700;
    margin: 0 0 1rem;
}

.cms-chart__canvas {
    width: 100%;
    max-height: 400px;
}

.cms-chart__caption {
    margin-top: 0.75rem;
    font-size: 0.875rem;
    color: var(--cms-text-muted);
    text-align: center;
}

/* ---------------------------------------------------------------------------
   Table
   --------------------------------------------------------------------------- */
.cms-table {
    overflow-x: auto;
}

.cms-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.cms-table caption {
    font-weight: 700;
    text-align: left;
    margin-bottom: 0.75rem;
    font-size: 1.05rem;
}

.cms-table thead {
    background: var(--cms-bg-alt);
}

.cms-table th,
.cms-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--cms-border);
}

.cms-table th {
    font-weight: 700;
    color: var(--cms-text);
    white-space: nowrap;
}

.cms-table tbody tr:hover {
    background: var(--cms-bg-alt);
}

.cms-table--striped tbody tr:nth-child(even) {
    background: var(--cms-bg-alt);
}

/* ---------------------------------------------------------------------------
   Responsive
   --------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .cms-block--full {
        padding: var(--cms-spacing) 1rem;
    }

    .cms-author {
        flex-direction: column;
        text-align: center;
    }

    .cms-author__avatar {
        margin: 0 auto;
    }

    .cms-expert__author {
        flex-direction: column;
        text-align: center;
    }
}

/* ---------------------------------------------------------------------------
   Article Content Prose — Headings, Lists, Images, Videos, Tables
   Base styles applied inside .article-content or .prose
   --------------------------------------------------------------------------- */

/* Headings */
.article-content h2,
.prose h2 {
    font-family: var(--cms-font-serif, 'Playfair Display', serif);
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--cms-dark, #1C1917);
    margin: 2.5rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--cms-accent, #D97706);
    line-height: 1.3;
}

.article-content h3,
.prose h3 {
    font-family: var(--cms-font-serif, 'Playfair Display', serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--cms-dark, #1C1917);
    margin: 2rem 0 0.75rem;
    line-height: 1.3;
}

.article-content h4,
.prose h4 {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--cms-dark, #1C1917);
    margin: 1.5rem 0 0.5rem;
}

/* Paragraphs */
.article-content p,
.prose p {
    margin: 1rem 0;
    line-height: 1.8;
    color: var(--cms-text, #44403C);
}

/* Lists */
.article-content ul,
.prose ul {
    list-style: disc;
    padding-left: 1.5rem;
    margin: 1rem 0;
}

.article-content ol,
.prose ol {
    list-style: decimal;
    padding-left: 1.5rem;
    margin: 1rem 0;
}

.article-content li,
.prose li {
    margin: 0.5rem 0;
    line-height: 1.7;
    color: var(--cms-text, #44403C);
}

.article-content ul ul,
.prose ul ul {
    list-style: circle;
    margin: 0.25rem 0;
}

/* Links */
.article-content a,
.prose a {
    color: var(--cms-accent, #D97706);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.article-content a:hover,
.prose a:hover {
    border-bottom-color: var(--cms-accent, #D97706);
}

/* Images (exclude video thumbnails) */
.article-content img:not(.yt-thumbnail):not(.yt-lite img),
.prose img:not(.yt-thumbnail) {
    max-width: 100%;
    height: auto;
    border-radius: 0.75rem;
    margin: 1.25rem 0 0.5rem;
}

/* Reset for images inside video wrappers */
.article-content .yt-lite img,
.article-content .video-embed-wrapper img {
    max-width: none;
    height: 100%;
    border-radius: 0;
    margin: 0;
}

.article-content figure,
.prose figure {
    margin: 1.5rem 0 1rem;
}

.article-content figcaption,
.prose figcaption {
    text-align: center;
    font-size: 0.75rem;
    color: var(--cms-secondary, #78716C);
    margin-top: 0.25rem;
    font-style: italic;
    line-height: 1.4;
}

.article-content .medias-wrapper,
.prose .medias-wrapper,
.post-content .medias-wrapper {
    display: block;
    margin: 1.5rem 0 1rem;
}

.article-content .medias-wrapper > img,
.prose .medias-wrapper > img,
.post-content .medias-wrapper > img {
    display: block;
    width: 100%;
    margin: 0 auto !important;
}

.article-content .medias-legend,
.prose .medias-legend,
.post-content .medias-legend {
    display: block;
    margin-top: 0.2rem;
    text-align: center;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #94a3b8;
    font-style: italic;
}

/* Videos — YouTube embeds (standard iframes) */
.article-content iframe,
.prose iframe {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 0.75rem;
    margin: 1.5rem 0;
    border: none;
}

/* YouTube Lite (lazy-load thumbnails — WP imports + new component) */
.yt-lite,
.video-embed-wrapper {
    position: relative;
    display: block;
    cursor: pointer;
    width: 100%;
    padding-bottom: 56.25%;
    margin: 1.5rem 0;
    background: #000;
    overflow: hidden;
    border-radius: 0.75rem;
}

.yt-lite img,
.video-embed-wrapper img {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 1;
}

.yt-lite iframe,
.video-embed-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    margin: 0;
    border-radius: 0;
}

/* Play button (shared by yt-lite + video-embed) */
.yt-play-button,
.video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 48px;
    border: none;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    z-index: 2;
}

.yt-play-button svg {
    width: 26px;
    height: 26px;
    fill: #fff;
}

.video-play-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 10px 0 10px 18px;
    border-color: transparent transparent transparent #fff;
}

.yt-play-button:hover,
.video-play-icon:hover {
    background: var(--cms-accent, #D97706);
}

/* SVG play icon (from WP yt-lite) */
.yt-lite svg.yt-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 48px;
    z-index: 2;
    opacity: 0.9;
    transition: opacity 0.2s;
}

.yt-lite:hover svg.yt-play-icon { opacity: 1; }

/* Blockquotes */
.article-content blockquote,
.prose blockquote {
    border-left: 4px solid var(--cms-accent, #D97706);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: var(--cms-light-bg, #FAF5F2);
    border-radius: 0 0.5rem 0.5rem 0;
    font-style: italic;
    color: var(--cms-text, #44403C);
}

/* Tables — responsive with horizontal swipe */
.article-content .table-wrapper,
.prose .table-wrapper,
.cms-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
    border-radius: 0.75rem;
    border: 1px solid #e7e5e4;
}

.article-content table,
.prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    /* No min-width — let JS wrapper handle overflow */
}

.article-content thead,
.prose thead {
    background: var(--cms-accent, #D97706);
    color: #fff;
}

.article-content th,
.prose th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.article-content td,
.prose td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e7e5e4;
    vertical-align: top;
}

.article-content tbody tr:hover,
.prose tbody tr:hover {
    background: var(--cms-light-bg, #FAF5F2);
}

/* Code blocks */
.article-content code,
.prose code {
    background: #f5f5f4;
    padding: 0.15rem 0.4rem;
    border-radius: 0.25rem;
    font-size: 0.875em;
}

.article-content pre,
.prose pre {
    background: #1C1917;
    color: #e7e5e4;
    padding: 1.25rem;
    border-radius: 0.75rem;
    overflow-x: auto;
    margin: 1.5rem 0;
    font-size: 0.875rem;
    line-height: 1.6;
}

.article-content pre code,
.prose pre code {
    background: transparent;
    padding: 0;
}

/* Horizontal rule */
.article-content hr,
.prose hr {
    border: none;
    border-top: 2px solid #e7e5e4;
    margin: 2rem 0;
}

/* Strong / Bold */
.article-content strong,
.prose strong {
    font-weight: 600;
    color: var(--cms-dark, #1C1917);
}

/* ---------------------------------------------------------------------------
   Content Blocks — Résumé, FAQ, Short, PAA, Related Inline
   Compatible with WordPress imports + new CMS components
   Same visual language as author-box (white card, border-left accent, rounded)
   --------------------------------------------------------------------------- */

/* Bloc Résumé (summary) — fond coloré, border standard */
.bloc_resume_post,
.cms-block.cms-summary {
    background: var(--cms-light-bg, #FAF5F2);
    border-radius: 0.75rem;
    padding: 1.5rem 1.5rem 1rem;
    margin: 1.5rem 0 2rem;
    border: 1px solid #e7e5e4;
}

.bloc_resume_post_title,
.cms-summary__title {
    font-family: var(--cms-font-serif, 'Playfair Display', serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cms-accent, #D97706);
    margin: 0 0 0.75rem;
    padding: 0;
}

.bloc_resume_post h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cms-accent, #D97706);
    margin: 0 0 0.75rem;
    padding: 0;
    border: none;
}

.bloc_resume_post ul,
.cms-summary__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bloc_resume_post_list,
.bloc_resume_post ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bloc_resume_post_list li,
.bloc_resume_post li,
.cms-summary__list li {
    font-size: 0.9rem;
    padding: 0 0 0.75rem;
    line-height: 1.5;
    color: var(--cms-text, #44403C);
    list-style: none !important;
}

/* Bloc FAQ (inside résumé or standalone) */
.bloc_resume_post p.faq-question,
.bloc_resume_post h4,
.cms-block.cms-faq .cms-faq__question {
    font-size: 1rem;
    font-weight: 600;
    color: var(--cms-dark, #1C1917);
    margin: 0.75rem 0 0.25rem;
}

.bloc_resume_post p.faq-answer,
.cms-block.cms-faq .cms-faq__answer {
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--cms-text, #44403C);
    margin: 0 0 0.75rem;
}

/* Generated interactive tools — shared base style */
.cms-tool {
    background: var(--color-bg-alt) !important;
    border: 0 !important;
    border-top: 6px solid var(--color-accent) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: none !important;
    padding: 20px !important;
    margin: 36px 0 20px !important;
    overflow: hidden;
    position: relative;
}

.cms-tool__inner { padding: 0 !important; }

.cms-tool__eyebrow {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--color-accent) !important;
}

.cms-tool__eyebrow::before { content: none !important; }

.cms-tool__title {
    margin: 0 0 12px !important;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: var(--color-text) !important;
}

.cms-tool__intro {
    margin: 0 0 14px !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: var(--color-text-muted) !important;
}

.cms-tool__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
    margin: 6px 0 8px;
}

.cms-tool--fields-1 .cms-tool__grid { grid-template-columns: 1fr !important; }

.cms-tool--fields-2 .cms-tool__grid,
.cms-tool--fields-3 .cms-tool__grid,
.cms-tool--fields-4 .cms-tool__grid,
.cms-tool--fields-many .cms-tool__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.cms-tool__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 6px 0;
    border: 0;
    background: transparent;
}

.cms-tool__field span {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: var(--color-text) !important;
    font-weight: 600 !important;
}

.cms-tool__field input,
.cms-tool__field select {
    width: 100%;
    padding: 10px 12px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md, 8px) !important;
    background: #fff !important;
    color: var(--color-text) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.cms-tool__field input:focus,
.cms-tool__field select:focus {
    outline: none;
    border-color: var(--color-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent) !important;
}

.cms-tool__actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.cms-tool__btn {
    border: 0;
    border-radius: var(--radius-lg) !important;
    padding: 10px 16px !important;
    background: var(--color-accent) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.cms-tool__btn:hover { filter: brightness(.95); }

.cms-tool__result {
    display: none;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md, 8px) !important;
    background: #fff !important;
    color: var(--color-text) !important;
    font-family: var(--font-body);
    font-size: 13px !important;
    line-height: 1.65 !important;
}

.cms-tool__result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.cms-tool__result-head strong,
.cms-tool__result strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.cms-tool__result-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: var(--radius-md, 8px);
    background: color-mix(in srgb, var(--color-accent) 14%, transparent);
    color: var(--color-accent);
    font-weight: 700;
}

.cms-tool__chart {
    margin: 14px 0;
    padding: 12px;
    border-radius: var(--radius-md, 8px);
    background: var(--color-bg-alt);
}

.cms-tool__bar {
    display: grid;
    grid-template-columns: minmax(92px, 1fr) 2fr 34px;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    font-size: 12px;
    color: var(--color-text-muted);
}

.cms-tool__bar div {
    height: 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-border) 70%, #fff 30%);
    overflow: hidden;
}

.cms-tool__bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--color-accent);
}

.cms-tool__bar b {
    text-align: right;
    color: var(--color-text);
    font-weight: 700;
}

.cms-tool__result-list { margin-top: 12px; }

.cms-tool__result-list ul { margin: 6px 0 0; padding: 0; list-style: none; }

.cms-tool__result-list li { position: relative; margin: 0 0 6px; padding-left: 18px; list-style: none; }

.cms-tool__result-list li::before { content: "✓"; position: absolute; left: 0; color: var(--color-accent); font-weight: 700; }

.cms-tool__result-list--warnings li::before { content: "!"; }

.cms-tool__disclaimer {
    margin: 10px 0 0 !important;
    padding: 8px 10px !important;
    text-align: center !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: color-mix(in srgb, var(--color-text-muted) 85%, #fff 15%) !important;
}

.tc-fw {
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.tc-fw__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-text);
    text-align: center;
}

.tc-fw__desc {
    max-width: 600px;
    margin: 0 auto 32px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text-muted);
    text-align: center;
}

.tc-fw--dark .tc-fw__title,
.tc-std--dark .tc-std__title,
.tc-split--dark .tc-split__title { color: var(--color-dark-text); }

.tc-fw--dark .tc-fw__desc,
.tc-std--dark .tc-std__desc,
.tc-split--dark .tc-split__desc { color: var(--color-dark-text-muted); }

.tc-std__card {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg, 12px);
    padding: clamp(28px, 4vw, 48px);
    position: relative;
    overflow: hidden;
}

.tc-std--white-card .tc-std__card { background: #fff; }

.tc-std__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-text);
}

.tc-std__desc {
    max-width: 640px;
    margin: 0 0 28px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text-muted);
}

.tc-split__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: flex;
    gap: clamp(32px, 4vw, 56px);
    align-items: flex-start;
}

.tc-split__info {
    flex: 1 1 35%;
    min-width: 0;
    position: sticky;
    top: 100px;
}

.tc-split__title {
    margin: 0 0 16px;
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text);
}

.tc-split__desc {
    margin: 0 0 24px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.tc-split__tool {
    flex: 1 1 60%;
    min-width: 0;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg, 12px);
    padding: clamp(24px, 3vw, 40px);
}

.tc-split--white-card .tc-split__tool { background: #fff; }

@media (max-width: 860px) {
    .cms-tool__grid,
    .cms-tool--fields-2 .cms-tool__grid,
    .cms-tool--fields-3 .cms-tool__grid,
    .cms-tool--fields-4 .cms-tool__grid,
    .cms-tool--fields-many .cms-tool__grid {
        grid-template-columns: 1fr !important;
    }

    .cms-tool__bar {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .cms-tool__bar b { text-align: left; }
    .tc-split__wrap { flex-direction: column; }
    .tc-split__info { position: static; }
}

/* Bloc Short (quick answer) — same style as TOC: white bg, border */
.short_bloc,
.cms-block.cms-short {
    background: transparent;
    border: 0;
    border-left: 3px solid var(--cms-inline-accent-color, var(--color-accent, var(--cms-primary)));
    border-radius: 0;
    box-shadow: none;
    padding: 14px 18px;
    margin: 24px 0;
    display: block;
}

.short_bloc p,
.cms-short p {
    margin: 0;
    color: var(--color-text-muted, var(--cms-text-light));
    line-height: 1.7;
    font-size: 14px;
}

.short_bloc_title,
.cms-short__title,
.cms-inline-accent__eyebrow {
    display: block;
    width: 100%;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--cms-inline-accent-color, var(--color-accent, var(--cms-primary)));
    margin-bottom: 10px;
}

.short_bloc.answer::before {
    content: "📌 Réponse rapide";
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--cms-accent, #D97706);
    margin-bottom: 0.35rem;
}

/* PAA (People Also Ask) block — same style as TOC */
.cms-block.cms-paa {
    background: transparent;
    border: 0;
    border-left: 3px solid var(--cms-inline-accent-color, var(--color-accent, var(--cms-primary)));
    border-radius: 0;
    box-shadow: none;
    padding: 16px 20px;
    margin: 28px 0;
}

/* Related inline block (WP imports) */
.related-inline-block {
    background: var(--cms-light-bg, #FAF5F2);
    border-radius: 0.75rem;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0 2rem;
    border: 1px solid #e7e5e4;
}

.related-inline-block a {
    color: var(--cms-accent, #D97706);
    font-weight: 500;
}

.related-inline-block a:hover {
    text-decoration: underline;
}

.cms-form-feedback {
    display: none;
    position: relative;
    margin-top: 14px;
    padding: 14px 44px 14px 16px;
    border-radius: 14px;
    border: 1px solid transparent;
    font: 600 14px/1.5 var(--font-body, inherit);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
    transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1), transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms cubic-bezier(0.22, 1, 0.36, 1);
    transform: translateY(10px) scale(0.985);
    filter: blur(4px);
    opacity: 0;
    will-change: opacity, transform, filter;
}

.cms-form-feedback::before {
    content: attr(data-message);
    display: block;
    white-space: normal;
}

.cms-form-feedback.is-visible {
    display: block;
    transform: translateY(0) scale(1);
    filter: blur(0);
    opacity: 1;
}

.cms-form-feedback.is-hiding {
    transform: translateY(-4px) scale(0.985);
    filter: blur(4px);
    opacity: 0;
}

.cms-form-feedback.is-loading {
    color: var(--color-text);
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.04), rgba(148, 163, 184, 0.14));
    border-color: rgba(148, 163, 184, 0.28);
}

.cms-form-feedback.is-success {
    color: #fff;
    background: linear-gradient(135deg, #198754, #157347);
    border-color: rgba(255, 255, 255, 0.18);
}

.cms-form-feedback.is-error {
    color: #fff;
    background: linear-gradient(135deg, #dc3545, #b02a37);
    border-color: rgba(255, 255, 255, 0.14);
}

form.is-submitting button[type="submit"],
form.is-submitting input[type="submit"] {
    opacity: 0.72;
    cursor: wait;
}

.cms-form-feedback__close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    color: inherit;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: background 140ms ease, transform 140ms ease, opacity 140ms ease;
}

.cms-form-feedback__close:hover {
    background: rgba(255, 255, 255, 0.24);
    transform: scale(1.04);
}

.cms-consent-banner {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 1200;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 220ms ease, transform 220ms ease;
}

.cms-consent-banner.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.cms-consent-banner__card {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(27, 36, 52, 0.96));
    color: #fff;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.34);
    backdrop-filter: blur(18px);
}

.cms-consent-banner__close {
    position: absolute;
    top: 12px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.74);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: background 140ms ease, color 140ms ease, transform 140ms ease;
}

.cms-consent-banner__close:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    transform: translateY(-1px);
}

.cms-consent-banner__copy {
    max-width: 760px;
}

.cms-consent-banner__eyebrow {
    margin: 0 0 10px;
    font: 700 11px/1 var(--font-body, inherit);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.68);
}

.cms-consent-banner__title {
    margin: 0 0 10px;
    font: 700 clamp(20px, 2.1vw, 27px)/1.15 var(--font-heading, inherit);
    color: #fff;
}

.cms-consent-banner__text {
    max-width: 72ch;
    margin: 0;
    font: 400 14.5px/1.7 var(--font-body, inherit);
    color: rgba(255,255,255,0.78);
}

.cms-consent-banner__actions,
.cms-consent-modal__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.cms-consent-modal__footer .cms-consent-btn--primary {
    margin-top: 6px;
}

.cms-consent-banner__actions {
    min-width: 360px;
}

.cms-consent-btn {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 12px 18px;
    font: 600 14px/1 var(--font-body, inherit);
    cursor: pointer;
    transition: transform 140ms ease, opacity 140ms ease, background 140ms ease, border-color 140ms ease;
}

.cms-consent-btn:hover {
    transform: translateY(-1px);
}

.cms-consent-btn--primary {
    background: var(--color-primary, var(--color-accent, #D97706));
    color: #fff;
}

.cms-consent-btn--hero {
    min-width: 172px;
    padding: 15px 24px;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 16px 36px color-mix(in srgb, var(--color-primary, var(--color-accent, #D97706)) 38%, transparent);
}

.cms-consent-btn--soft {
    background: rgba(255,255,255,0.12);
    color: #fff;
}

.cms-consent-btn--ghost {
    background: transparent;
    border-color: rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.86);
}

.cms-consent-btn--link {
    padding: 8px 4px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.48);
    font-size: 12px;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
    box-shadow: none;
}

.cms-consent-btn--link:hover {
    color: rgba(255, 255, 255, 0.72);
}

.cms-consent-modal__footer .cms-consent-btn--link {
    color: var(--color-text-muted, #78716C);
}

.cms-consent-modal {
    position: fixed;
    inset: 0;
    z-index: 10080;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
}

.cms-consent-modal.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.cms-consent-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(6px);
}

.cms-consent-modal__dialog {
    position: relative;
    width: min(720px, calc(100vw - 32px));
    margin: min(8vh, 64px) auto 0;
    padding: 28px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(15, 23, 42, 0.24);
}

.cms-consent-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.cms-consent-modal__title {
    margin: 0;
    font: 700 28px/1.15 var(--font-heading, inherit);
    color: var(--color-text, #1C1917);
}

.cms-consent-modal__close {
    appearance: none;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--color-text, #1C1917);
    font-size: 24px;
    cursor: pointer;
}

.cms-consent-modal__body {
    display: grid;
    gap: 14px;
}

.cms-consent-toggle {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--color-border, #E7E5E4);
    border-radius: 18px;
    background: var(--color-bg-alt, #F8F7F4);
}

.cms-consent-toggle.is-locked {
    opacity: 0.82;
}

.cms-consent-toggle--recommended {
    border-color: color-mix(in srgb, var(--color-primary, var(--color-accent, #D97706)) 32%, var(--color-border, #E7E5E4));
    background: color-mix(in srgb, var(--color-primary, var(--color-accent, #D97706)) 8%, var(--color-bg-alt, #F8F7F4));
}

.cms-consent-toggle__copy {
    display: grid;
    gap: 6px;
}

.cms-consent-toggle__copy strong {
    font: 700 15px/1.3 var(--font-body, inherit);
    color: var(--color-text, #1C1917);
}

.cms-consent-toggle__copy small {
    font: 400 13px/1.6 var(--font-body, inherit);
    color: var(--color-text-muted, #78716C);
}

.cms-consent-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cms-consent-toggle__switch {
    width: 54px;
    height: 32px;
    border-radius: 999px;
    background: #cbd5e1;
    position: relative;
    transition: background 160ms ease;
}

.cms-consent-toggle__switch::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
    transition: transform 160ms ease;
}

.cms-consent-toggle input:checked + .cms-consent-toggle__switch {
    background: var(--color-primary, var(--color-accent, #D97706));
}

.cms-consent-toggle input:checked + .cms-consent-toggle__switch::after {
    transform: translateX(22px);
}

.cms-cookie-preferences-btn {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
}

[data-consent-embed] {
    position: relative;
}

.cms-consent-embed {
    position: relative;
    width: 100%;
    min-height: 240px;
    overflow: hidden;
    border: 1px solid var(--color-border, #E7E5E4);
    border-radius: var(--radius-lg, 16px);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--color-accent, #D97706) 14%, transparent) 0%, transparent 42%),
        linear-gradient(135deg, var(--color-bg-alt, #F8F7F4), #fff);
}

.cms-consent-embed__placeholder {
    display: grid;
    place-items: center;
    min-height: inherit;
    padding: 24px;
    text-align: center;
}

.cms-consent-embed__panel {
    max-width: 560px;
    display: grid;
    gap: 12px;
}

.cms-consent-embed__eyebrow {
    margin: 0;
    font: 700 11px/1 var(--font-body, inherit);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-text-muted, #78716C);
}

.cms-consent-embed__title {
    margin: 0;
    font: 700 18px/1.35 var(--font-heading, inherit);
    color: var(--color-text, #1C1917);
}

.cms-consent-embed__text {
    margin: 0;
    font: 400 14px/1.7 var(--font-body, inherit);
    color: var(--color-text-muted, #78716C);
}

.cms-consent-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.cms-consent-embed iframe.cms-consent-frame--fill {
    position: absolute;
    inset: 0;
}

.cms-consent-embed iframe.cms-consent-frame--cover {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120vw;
    height: 120vh;
    min-width: 120%;
    min-height: 120%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

@media (max-width: 768px) {
    .cms-consent-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .cms-consent-banner__card,
    .cms-consent-modal__dialog {
        padding: 18px;
        border-radius: 22px;
    }

    .cms-consent-banner__card {
        align-items: stretch;
        flex-direction: column;
    }

    .cms-consent-banner__actions,
    .cms-consent-modal__footer {
        justify-content: stretch;
        min-width: 0;
    }

    .cms-consent-banner__actions .cms-consent-btn--hero {
        order: 1;
    }

    .cms-consent-banner__actions .cms-consent-btn--soft {
        order: 2;
    }

    .cms-consent-banner__actions .cms-consent-btn--link {
        order: 3;
    }

    .cms-consent-btn {
        width: 100%;
    }
}

/* ---------------------------------------------------------------------------
   Post Author Card
   --------------------------------------------------------------------------- */
.cms-author-card {
    max-width: 880px;
    margin: 0 auto;
}

.cms-author-card__shell {
    position: relative;
    display: grid;
    grid-template-columns: 144px minmax(0, 1fr);
    gap: clamp(24px, 3vw, 40px);
    align-items: center;
    padding: clamp(28px, 3vw, 40px);
    border: 1px solid color-mix(in srgb, var(--color-accent, var(--cms-accent)) 18%, var(--color-border, var(--cms-border)));
    border-radius: 28px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--color-accent, var(--cms-accent)) 6%, transparent), transparent 42%),
        color-mix(in srgb, var(--color-bg-alt, var(--cms-bg-alt)) 88%, transparent);
    box-shadow:
        0 18px 46px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.cms-author-card__shell::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--color-accent, var(--cms-accent)), color-mix(in srgb, var(--color-accent, var(--cms-accent)) 28%, transparent));
    opacity: 0.95;
}

.cms-author-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cms-author-card__media .cms-person-avatar {
    width: 128px;
    height: 128px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid color-mix(in srgb, var(--color-accent, var(--cms-accent)) 40%, transparent);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
    background: color-mix(in srgb, var(--color-accent, var(--cms-accent)) 12%, transparent);
    color: var(--color-accent, var(--cms-accent));
    font-size: 34px;
    font-weight: 700;
}

.cms-author-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cms-author-card__body {
    min-width: 0;
}

.cms-author-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-family: var(--font-body, var(--cms-font));
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-accent, var(--cms-accent));
}

.cms-author-card__eyebrow::before {
    content: '';
    width: 34px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
}

.cms-author-card__name {
    margin: 0 0 12px;
    font-family: var(--font-heading, var(--cms-font-heading));
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--color-text, var(--cms-text));
}

.cms-author-card__bio {
    margin: 0;
    max-width: 62ch;
    font-family: var(--font-body, var(--cms-font));
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text-muted, var(--cms-text-light));
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cms-author-card__social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.cms-author-card__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--color-accent, var(--cms-accent)) 24%, transparent);
    background: color-mix(in srgb, var(--color-accent, var(--cms-accent)) 10%, transparent);
    color: var(--color-accent, var(--cms-accent));
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cms-author-card__social-link:hover {
    transform: translateY(-2px);
    background: var(--color-accent, var(--cms-accent));
    border-color: var(--color-accent, var(--cms-accent));
    color: #fff;
}

.cms-author-card__social-link svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

@media (max-width: 760px) {
    .cms-author-card__shell {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 26px 22px;
    }

    .cms-author-card__eyebrow {
        justify-content: center;
    }

    .cms-author-card__bio {
        margin-left: auto;
        margin-right: auto;
    }

    .cms-author-card__social {
        justify-content: center;
    }
}

/* ---------------------------------------------------------------------------
   Testimonials Cards 3 Columns
   --------------------------------------------------------------------------- */
.cms-testi3 {
    --cms-testi3-card-bg: var(--color-bg);
    --cms-testi3-card-border: var(--color-border);
    --cms-testi3-text: var(--color-text);
    --cms-testi3-muted: var(--color-text-muted);
    width: 100%;
}

.cms-testi3--dark {
    --cms-testi3-card-bg: rgba(255,255,255,0.05);
    --cms-testi3-card-border: rgba(255,255,255,0.08);
    --cms-testi3-text: var(--color-dark-text);
    --cms-testi3-muted: var(--color-dark-text-muted);
}

.cms-testi3__grid {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.cms-testi3__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: clamp(24px, 3vw, 32px);
    border-radius: var(--radius-lg, 12px);
    border: 1px solid var(--cms-testi3-card-border, var(--color-border));
    background: var(--cms-testi3-card-bg, var(--color-bg));
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-testi3__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.cms-testi3__quote-mark {
    position: absolute;
    top: 20px;
    right: 24px;
    opacity: 0.08;
}

.cms-testi3__quote-mark svg {
    width: 48px;
    height: 48px;
}

.cms-testi3__stars {
    display: flex;
    gap: 2px;
}

.cms-testi3__text {
    margin: 0;
    flex: 1;
    font-family: var(--font-body, var(--cms-font));
    font-size: clamp(14px, 1.3vw, 16px);
    font-style: italic;
    line-height: 1.65;
    color: var(--cms-testi3-text, var(--color-text));
}

.cms-testi3__author {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.cms-testi3__name {
    margin: 0;
    font-family: var(--font-body, var(--cms-font));
    font-size: 14px;
    font-weight: 600;
    color: var(--cms-testi3-text, var(--color-text));
}

.cms-testi3__role {
    margin: 2px 0 0;
    font-family: var(--font-body, var(--cms-font));
    font-size: 12px;
    color: var(--cms-testi3-muted, var(--color-text-muted));
}

@media (max-width: 768px) {
    .cms-testi3__grid {
        grid-template-columns: 1fr;
        max-width: 500px;
    }
}

.testi-sl,
.testi-sf,
.testi-mq,
.testi-sc {
    --cms-testi-text: var(--color-text);
    --cms-testi-muted: var(--color-text-muted);
    --cms-testi-card-bg: var(--color-bg);
    --cms-testi-card-border: var(--color-border);
    --cms-testi-dot: rgba(0,0,0,0.15);
    --cms-testi-fade-bg: var(--color-bg-section, #f8f9fa);
    width: 100%;
}

.testi-sl--dark,
.testi-sf--dark,
.testi-mq--dark,
.testi-sc--dark {
    --cms-testi-text: var(--color-dark-text);
    --cms-testi-muted: var(--color-dark-text-muted);
    --cms-testi-card-bg: rgba(255,255,255,0.05);
    --cms-testi-card-border: rgba(255,255,255,0.08);
    --cms-testi-dot: rgba(255,255,255,0.2);
    --cms-testi-fade-bg: var(--color-dark-bg, #1a1a2e);
}

.testi-sl { overflow: hidden; }

.testi-sl__inner { position: relative; max-width: 700px; margin: 0 auto; text-align: center; }

.testi-sl__mark { margin-bottom: 16px; opacity: 0.1; }

.testi-sl__mark svg { width: 48px; height: 48px; }

.testi-sl__track { position: relative; min-height: 200px; }

.testi-sl__slide { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; gap: 20px; opacity: 0; pointer-events: none; transition: opacity 0.5s ease; }

.testi-sl__slide--active { position: relative; opacity: 1; pointer-events: auto; }

.testi-sl__stars { display: flex; justify-content: center; gap: 3px; }

.testi-sl__text { margin: 0; color: var(--cms-testi-text); font-family: var(--font-heading); font-size: clamp(18px, 2.5vw, 26px); font-style: italic; font-weight: 500; line-height: 1.55; }

.testi-sl__author-wrap { display: flex; flex-direction: column; align-items: center; gap: 2px; }

.testi-sl__name { margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: 15px; font-weight: 600; text-align: left; }

.testi-sl__role { margin: 2px 0 0; color: var(--cms-testi-muted); font-family: var(--font-body); font-size: 12px; text-align: left; }

.testi-sl__dots { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }

.testi-sl__dot { width: 10px; height: 10px; padding: 0; border: none; border-radius: 50%; background: var(--cms-testi-dot); cursor: pointer; transition: background 0.3s ease, transform 0.3s ease; }

.testi-sl__dot--active { background: var(--color-accent); transform: scale(1.2); }

.testi-sf__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; max-width: 800px; margin: 0 auto; text-align: center; }

.testi-sf__mark { opacity: 0.12; }

.testi-sf__mark svg { width: 56px; height: 56px; }

.testi-sf__stars { display: flex; justify-content: center; gap: 4px; }

.testi-sf__text { margin: 0; color: var(--cms-testi-text); font-family: var(--font-heading); font-size: clamp(20px, 3vw, 32px); font-style: italic; font-weight: 500; line-height: 1.5; }

.testi-sf__author-wrap { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 8px; }

.testi-sf__avatar { display: none; }

.testi-sf__name { margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: 16px; font-weight: 600; }

.testi-sf__role { margin: 2px 0 0; color: var(--cms-testi-muted); font-family: var(--font-body); font-size: 13px; }

@keyframes cms-testi-marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.testi-mq { position: relative; overflow: hidden; padding: 0; }

.testi-mq::before,
.testi-mq::after { content: ''; position: absolute; top: 0; bottom: 0; z-index: 2; width: 80px; pointer-events: none; }

.testi-mq::before { left: 0; background: linear-gradient(to right, var(--cms-testi-fade-bg), transparent); }

.testi-mq::after { right: 0; background: linear-gradient(to left, var(--cms-testi-fade-bg), transparent); }

.testi-mq__track { display: flex; width: max-content; animation: cms-testi-marquee-scroll 30s linear infinite; }

.testi-mq:hover .testi-mq__track { animation-play-state: paused; }

.testi-mq__card { display: flex; flex: 0 0 340px; flex-direction: column; gap: 12px; margin-right: 20px; padding: clamp(20px, 2.5vw, 28px); border: 1px solid var(--cms-testi-card-border); border-radius: var(--radius-lg, 12px); background: var(--cms-testi-card-bg); }

.testi-mq__stars { display: flex; gap: 2px; }

.testi-mq__text { flex: 1; margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: 14px; font-style: italic; line-height: 1.6; }

.testi-mq__author { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }

.testi-mq__avatar { display: none; }

.testi-mq__name { margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: 13px; font-weight: 600; }

.testi-mq__role { margin: 2px 0 0; color: var(--cms-testi-muted); font-family: var(--font-body); font-size: 11px; }

.testi-sc__wrap { position: relative; max-width: 560px; height: 276px; margin: 0 auto; }

.testi-sc--count-1 .testi-sc__wrap { height: 240px; }

.testi-sc--count-2 .testi-sc__wrap { height: 252px; }

.testi-sc--count-3 .testi-sc__wrap { height: 264px; }

.testi-sc__card { position: absolute; top: 0; right: 0; left: 0; display: flex; flex-direction: column; gap: 16px; padding: clamp(28px, 3vw, 36px); border: 1px solid var(--cms-testi-card-border); border-radius: var(--radius-lg, 12px); background: var(--cms-testi-card-bg); box-shadow: 0 4px 16px rgba(0,0,0,0.06); transition: transform 0.6s cubic-bezier(0.23,1,0.32,1), opacity 0.6s ease; will-change: transform, opacity; }

.testi-sc__card[data-card="0"] { z-index: 4; transform: translateY(0) scale(1); opacity: 1; }

.testi-sc__card[data-card="1"] { z-index: 3; transform: translateY(12px) scale(.97); opacity: .7; }

.testi-sc__card[data-card="2"] { z-index: 2; transform: translateY(24px) scale(.94); opacity: .4; }

.testi-sc__card[data-card="3"] { z-index: 1; transform: translateY(36px) scale(.91); opacity: .4; }

.testi-sc__card.testi-sc__card--dismissed { transform: translateX(-120%) rotate(-8deg); opacity: 0; pointer-events: none; }

.testi-sc__card.testi-sc__card--promoted { transform: translateY(0) scale(1); opacity: 1; }

.testi-sc__quote-mark { position: absolute; top: 20px; right: 24px; opacity: 0.08; }

.testi-sc__quote-mark svg { width: 44px; height: 44px; }

.testi-sc__stars { display: flex; gap: 2px; }

.testi-sc__text { flex: 1; margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: clamp(15px, 1.4vw, 17px); font-style: italic; line-height: 1.65; }

.testi-sc__author { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }

.testi-sc__avatar { display: none; }

.testi-sc__name { margin: 0; color: var(--cms-testi-text); font-family: var(--font-body); font-size: 14px; font-weight: 600; }

.testi-sc__role { margin: 2px 0 0; color: var(--cms-testi-muted); font-family: var(--font-body); font-size: 12px; }

@media (max-width: 768px) {
    .testi-sc__wrap { max-width: 100%; }
}

/* ---------------------------------------------------------------------------
   Banner CTA Stacked
   --------------------------------------------------------------------------- */
.cms-bcta-stacked {
    position: relative;
    width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
    padding: 80px 20px;
    text-align: center;
    background: var(--color-dark-bg);
}

.cms-bcta-stacked--bg-dark { background: var(--color-dark-bg); }

.cms-bcta-stacked--bg-accent { background: var(--color-accent); }

.cms-bcta-stacked--bg-accent2 { background: var(--color-accent2); }

.cms-bcta-stacked--bg-accent3 { background: var(--color-accent-soft, var(--color-accent)); }

.cms-bcta-stacked--bg-accent4 { background: var(--color-accent2-soft, var(--color-accent2)); }

.cms-bcta-stacked--with-image { padding-bottom: 140px; }

.cms-bcta-stacked__container {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    box-sizing: border-box;
}

.cms-bcta-stacked__title {
    margin: 0 0 16px;
    font-family: var(--font-heading, var(--cms-font-heading));
    font-size: clamp(32px, 6vw, 56px);
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
}

.cms-bcta-stacked__subtitle {
    max-width: 600px;
    margin: 0 auto 32px;
    font-family: var(--font-body, var(--cms-font));
    font-size: 1.05rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.cms-bcta-stacked__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 0;
}

.cms-bcta-stacked--with-image .cms-bcta-stacked__actions { margin-bottom: 40px; }

.cms-bcta-stacked__image-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 800px;
    margin: 0 auto -60px;
    box-sizing: border-box;
}

.cms-bcta-stacked__image {
    display: block;
    width: 100%;
    height: 400px;
    border-radius: var(--radius-lg, 16px);
    object-fit: cover;
    box-shadow: var(--shadow-lg);
}

@media (max-width: 768px) {
    .cms-bcta-stacked {
        padding: 48px 16px;
    }

    .cms-bcta-stacked--with-image { padding-bottom: 100px; }

    .cms-bcta-stacked__actions {
        flex-direction: column;
        align-items: center;
    }

    .cms-bcta-stacked__image {
        height: 240px;
    }
}

/* ---------------------------------------------------------------------------
   Steps Cards Scroll
   --------------------------------------------------------------------------- */
.cms-steps-cs {
    width: 100%;
    padding: 0 24px;
}

.cms-steps-cs__list {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 3vw, 32px);
}

.cms-steps-cs__card {
    display: flex;
    gap: clamp(16px, 2vw, 24px);
    align-items: flex-start;
    padding: clamp(24px, 3vw, 36px);
    border-radius: var(--radius-lg, 12px);
    border: 1px solid var(--cms-steps-cs-border, var(--color-border));
    background: var(--cms-steps-cs-bg, var(--color-bg));
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    opacity: 0;
    transition: opacity .7s ease, transform .7s ease, box-shadow 0.3s ease;
    will-change: transform, opacity;
}

.cms-steps-cs--dark { --cms-steps-cs-bg: rgba(255,255,255,0.05); --cms-steps-cs-border: rgba(255,255,255,0.08); --cms-steps-cs-text: var(--color-dark-text); --cms-steps-cs-muted: var(--color-dark-text-muted); }

.cms-steps-cs__card--from-left { transform: translateX(-60px); }

.cms-steps-cs__card--from-right { transform: translateX(60px); }

.cms-steps-cs__card.is-visible { opacity: 1; transform: translateX(0); }

.cms-steps-cs__card:nth-child(2) { transition-delay: .15s; }

.cms-steps-cs__card:nth-child(3) { transition-delay: .3s; }

.cms-steps-cs__card:nth-child(4) { transition-delay: .45s; }

.cms-steps-cs__card:nth-child(5) { transition-delay: .6s; }

.cms-steps-cs__card:nth-child(6) { transition-delay: .75s; }

.cms-steps-cs__card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-steps-cs__badge {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading, var(--cms-font-heading));
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.cms-steps-cs__body {
    flex: 1;
    min-width: 0;
}

.cms-steps-cs__title {
    margin: 0 0 8px;
    font-family: var(--font-heading, var(--cms-font-heading));
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--cms-steps-cs-text, var(--color-text));
}

.cms-steps-cs__desc {
    margin: 0;
    font-family: var(--font-body, var(--cms-font));
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.65;
    color: var(--cms-steps-cs-muted, var(--color-text-muted));
}

.cms-steps-cs__image {
    margin-top: 16px;
    border-radius: var(--radius, 8px);
    overflow: hidden;
}

.cms-steps-cs__image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .cms-steps-cs__card {
        flex-direction: column;
    }
}

@keyframes cmsHeroFcBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-8px); }
    60% { transform: translateX(-50%) translateY(-4px); }
}

.cms-hero-fc {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--cms-post-cocon-hero-bg, var(--color-accent));
}

.cms-hero-fc__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
    filter: saturate(0.85) brightness(0.95);
    transition: transform 0.18s ease-out;
}

.cms-hero-fc__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(20,15,10,0.3) 0%, rgba(20,15,10,0.55) 100%);
}

.cms-hero-fc__content {
    position: relative;
    z-index: 3;
    max-width: 800px;
    width: 100%;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-fc__title {
    margin: 0 0 20px;
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: #fff;
}

.cms-hero-fc__subtitle {
    margin: 0 0 40px;
    max-width: 540px;
    font-family: var(--font-body);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.7;
    font-weight: 400;
    color: rgba(255,255,255,0.75);
}

.cms-hero-fc__cta {
    display: flex;
    justify-content: center;
}

.cms-hero-fc__scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    opacity: 0.5;
    animation: cmsHeroFcBounce 2.5s ease infinite;
}

.cms-hero-fc a:hover {
    background: rgba(255,255,255,0.15) !important;
    border-color: #fff !important;
}

.cms-steps-nl {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-steps-nl__list {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.cms-steps-nl__item {
    display: flex;
    gap: clamp(20px, 3vw, 36px);
    position: relative;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease, transform .6s ease;
}

.cms-steps-nl--dark { --cms-steps-nl-text: var(--color-dark-text); --cms-steps-nl-muted: var(--color-dark-text-muted); --cms-steps-nl-line: rgba(255,255,255,0.12); }

.cms-steps-nl__item.is-visible { opacity: 1; transform: translateY(0); }

.cms-steps-nl__item:nth-child(2) { transition-delay: .1s; }

.cms-steps-nl__item:nth-child(3) { transition-delay: .2s; }

.cms-steps-nl__item:nth-child(4) { transition-delay: .3s; }

.cms-steps-nl__item:nth-child(5) { transition-delay: .4s; }

.cms-steps-nl__item:nth-child(6) { transition-delay: .5s; }

.cms-steps-nl__left {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    min-width: 48px;
}

.cms-steps-nl__number {
    width: 48px;
    height: 48px;
    min-height: 48px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    position: relative;
    z-index: 1;
}

.cms-steps-nl__number svg {
    width: 18px;
    height: 18px;
}

.cms-steps-nl__line {
    width: 2px;
    flex: 1;
    background: var(--cms-steps-nl-line, var(--color-border));
    margin: 8px 0;
}

.cms-steps-nl__item:last-child .cms-steps-nl__line {
    display: none;
}

.cms-steps-nl__content {
    padding: 8px 0 clamp(28px, 4vw, 48px);
    flex: 1;
}

.cms-steps-nl__item:last-child .cms-steps-nl__content {
    padding-bottom: 0;
}

.cms-steps-nl__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--cms-steps-nl-text, var(--color-text));
}

.cms-steps-nl__desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.65;
    color: var(--cms-steps-nl-muted, var(--color-text-muted));
}

.cms-hero-min {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: var(--cms-hero-min-bg, var(--color-bg));
}

.cms-hero-min__bg {
    position: absolute;
    inset: -6% 0;
    z-index: 1;
}

.cms-hero-min__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(135deg, rgba(0,0,0,0.76) 0%, rgba(0,0,0,0.45) 45%, rgba(0,0,0,0.25) 100%);
}

.cms-hero-min__content {
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 3;
    width: 100%;
    text-align: var(--cms-hero-min-text-align, center);
    align-items: var(--cms-hero-min-align, center);
    padding: var(--cms-hero-min-padding, 0);
}

.cms-hero-min__title {
    margin: 0;
    max-width: 800px;
    font-family: var(--font-heading);
    font-size: clamp(32px, 6vw, 64px);
    font-weight: 600;
    line-height: 1.15;
    color: var(--cms-hero-min-text, var(--color-text));
}

.cms-hero-min__subtitle {
    margin: 20px 0 0;
    max-width: 680px;
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    color: var(--cms-hero-min-muted, var(--color-text-muted));
}

.cms-hero-min__cta {
    margin-top: 36px;
}

.cms-hero-split {
    width: 100%;
    overflow-x: clip;
    overflow-y: hidden;
    position: relative;
    background: var(--cms-hero-split-bg, var(--color-bg));
    display: flex;
    align-items: center;
}

.cms-hero-split__shell {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(60px, 10vw, 120px) 24px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cms-hero-split__text {
    flex: 1 1 55%;
    min-width: 0;
}

.cms-hero-split__title {
    margin: 0 0 20px;
    font-family: var(--font-heading);
    font-size: clamp(28px, 5vw, 56px);
    font-weight: 600;
    line-height: 1.15;
    color: var(--cms-hero-split-text, var(--color-text));
}

.cms-hero-split__subtitle {
    margin: 0 0 36px;
    max-width: 560px;
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    color: var(--cms-hero-split-muted, var(--color-text-muted));
}

.cms-hero-split__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cms-hero-split__media {
    flex: 1 1 42%;
    min-width: 0;
    overflow: hidden;
}

.cms-hero-split__image {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 4/3;
}

.cms-steps-pb {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-steps-pb--dark { --cms-steps-pb-text: var(--color-dark-text); --cms-steps-pb-muted: var(--color-dark-text-muted); --cms-steps-pb-track: rgba(255,255,255,0.1); --cms-steps-pb-dot: rgba(255,255,255,0.2); --cms-steps-pb-dot-border: var(--color-dark-bg, #1a1a2e); }

.cms-steps-pb__wrap {
    max-width: min(1040px, var(--container, 1200px));
    margin: 0 auto;
}

.cms-steps-pb__bar {
    position: relative;
    height: 4px;
    background: var(--cms-steps-pb-track, var(--color-border));
    border-radius: 2px;
    margin-bottom: clamp(36px, 5vw, 56px);
}

.cms-steps-pb__fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: var(--color-accent);
    border-radius: 2px;
    transition: width 0.5s ease;
}

.cms-steps-pb__dots {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
}

.cms-steps-pb__dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--cms-steps-pb-dot, #d1d5db);
    border: 3px solid var(--cms-steps-pb-dot-border, var(--color-bg, #fff));
    transition: background 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
    z-index: 1;
}

.cms-steps-pb__dot--active {
    background: var(--color-accent);
    transform: scale(1.3);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-accent) 25%, transparent);
}

.cms-steps-pb__steps {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 4vw, 48px);
}

.cms-steps-pb__step {
    display: flex;
    gap: clamp(16px, 2vw, 24px);
    align-items: flex-start;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease, transform .6s ease;
}

.cms-steps-pb__step--active { opacity: 1; transform: translateY(0); }

.cms-steps-pb__step:nth-child(2) { transition-delay: .1s; }

.cms-steps-pb__step:nth-child(3) { transition-delay: .2s; }

.cms-steps-pb__step:nth-child(4) { transition-delay: .3s; }

.cms-steps-pb__step:nth-child(5) { transition-delay: .4s; }

.cms-steps-pb__step:nth-child(6) { transition-delay: .5s; }

.steps-ng {
    width: 100%;
    padding: 0 24px;
}

.steps-ng__grid {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.steps-ng__card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg, 12px);
    padding: clamp(24px, 3vw, 32px);
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease;
}

.steps-ng--dark .steps-ng__card {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.08);
}

.steps-ng__card.is-visible { opacity: 1; transform: translateY(0); }

.steps-ng__card:nth-child(2) { transition-delay: .1s; }

.steps-ng__card:nth-child(3) { transition-delay: .2s; }

.steps-ng__card:nth-child(4) { transition-delay: .3s; }

.steps-ng__card:nth-child(5) { transition-delay: .4s; }

.steps-ng__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.steps-ng__top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.steps-ng__number {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.steps-ng__icon { font-size: 28px; line-height: 1; }

.steps-ng__title {
    font-family: var(--font-heading);
    font-size: clamp(16px, 1.8vw, 20px);
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
    line-height: 1.3;
}

.steps-ng--dark .steps-ng__title { color: var(--color-dark-text); }

.steps-ng__desc {
    font-family: var(--font-body);
    font-size: clamp(13px, 1.2vw, 15px);
    color: var(--color-text-muted);
    line-height: 1.6;
    margin: 0;
}

.steps-ng--dark .steps-ng__desc { color: var(--color-dark-text-muted); }

.steps-ng__image {
    border-radius: var(--radius, 8px);
    overflow: hidden;
    margin-top: 4px;
}

.steps-ng__image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.steps-tl {
    width: 100%;
    padding: 0 24px;
}

.steps-tl__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    position: relative;
}

.steps-tl__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 0;
    position: relative;
}

.steps-tl__grid::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 50px;
    right: 50px;
    height: 2px;
    background: var(--color-border);
    z-index: 0;
}

.steps-tl--dark .steps-tl__grid::before { background: rgba(255,255,255,0.15); }

.steps-tl__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease;
}

.steps-tl__item.is-visible { opacity: 1; transform: translateY(0); }

.steps-tl__item:nth-child(2) { transition-delay: .12s; }

.steps-tl__item:nth-child(3) { transition-delay: .24s; }

.steps-tl__item:nth-child(4) { transition-delay: .36s; }

.steps-tl__item:nth-child(5) { transition-delay: .48s; }

.steps-tl__dot {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 4px solid var(--color-bg);
    box-shadow: 0 0 0 2px var(--color-accent);
    margin-bottom: 20px;
    transition: transform .3s ease;
}

.steps-tl--dark .steps-tl__dot { border-color: rgba(255,255,255,0.1); }

.steps-tl__dot--pulse { animation: steps-tl-pulse 1.5s ease-in-out 2; }

.steps-tl__item:hover .steps-tl__dot { transform: scale(1.15); }

.steps-tl__icon { font-size: 18px; margin-bottom: 8px; }

.steps-tl__title {
    font-family: var(--font-heading);
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 6px;
    line-height: 1.3;
    padding: 0 8px;
}

.steps-tl--dark .steps-tl__title { color: var(--color-dark-text); }

.steps-tl__desc {
    font-family: var(--font-body);
    font-size: clamp(12px, 1.1vw, 14px);
    color: var(--color-text-muted);
    line-height: 1.55;
    margin: 0;
    padding: 0 8px;
    max-width: 220px;
}

.steps-tl--dark .steps-tl__desc { color: var(--color-dark-text-muted); }

@keyframes steps-tl-pulse {
    0% { box-shadow: 0 0 0 2px var(--color-accent); }
    50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--color-accent) 30%, transparent); }
    100% { box-shadow: 0 0 0 2px var(--color-accent); }
}

@media (max-width: 768px) {
    .steps-ng__grid { grid-template-columns: 1fr; }
    .steps-tl__grid {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding-left: 32px;
    }
    .steps-tl__grid::before {
        top: 20px;
        bottom: 20px;
        left: 19px;
        right: auto;
        width: 2px;
        height: auto;
    }
    .steps-tl__item {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        gap: 16px;
        padding-bottom: clamp(24px, 3vw, 36px);
    }
    .steps-tl__item:last-child { padding-bottom: 0; }
    .steps-tl__dot {
        margin-bottom: 0;
        margin-left: -32px;
        min-width: 40px;
    }
    .steps-tl__content {
        flex: 1;
        padding-top: 6px;
    }
    .steps-tl__title,
    .steps-tl__desc {
        padding: 0;
        max-width: none;
    }
}

.cms-steps-pb__number {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0.4;
    transition: opacity 0.4s ease;
}

.cms-steps-pb__number svg {
    width: 18px;
    height: 18px;
    display: block;
}

.cms-steps-pb__step--active .cms-steps-pb__number {
    opacity: 1;
}

.cms-steps-pb__content {
    flex: 1;
    min-width: 0;
}

.cms-steps-pb__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 600;
    line-height: 1.3;
    color: var(--cms-steps-pb-text, var(--color-text));
}

.cms-steps-pb__desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.65;
    color: var(--cms-steps-pb-muted, var(--color-text-muted));
}

.cms-hero-lt {
    width: 100%;
    overflow: hidden;
    background: var(--cms-hero-lt-bg, var(--color-bg));
}

.cms-hero-lt__shell {
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(60px, 10vw, 120px) 24px;
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
    flex-wrap: wrap;
    width: 100%;
}

.cms-hero-lt__text {
    flex: 1 1 55%;
    min-width: 300px;
}

.cms-hero-lt__title {
    margin: 0 0 clamp(20px, 3vw, 36px);
    font-family: var(--font-heading);
    font-size: clamp(48px, 10vw, 120px);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.02em;
    color: var(--cms-hero-lt-text, var(--color-text));
}

.cms-hero-lt__subtitle {
    margin: 0 0 32px;
    max-width: 460px;
    font-family: var(--font-body);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
    color: var(--cms-hero-lt-muted, var(--color-text-muted));
}

.cms-hero-lt__actions {
    display: flex;
}

.cms-hero-lt__media {
    flex: 1 1 40%;
    min-width: 260px;
    position: relative;
}

.cms-hero-lt__image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
    object-fit: cover;
    max-height: 560px;
    margin-top: -20px;
    margin-right: -40px;
}

.cms-footer-cta {
    --cms-ftr-cta-banner-shadow: 0 8px 32px rgba(0,0,0,0.15);
    --cms-ftr-cta-bg: var(--color-dark-bg);
    --cms-ftr-cta-text: var(--color-dark-text, #fff);
    --cms-ftr-cta-muted: var(--color-dark-text-muted, rgba(255,255,255,0.7));
    --cms-ftr-cta-border: rgba(255,255,255,0.08);
}

.cms-footer-cta--light {
    --cms-ftr-cta-bg: var(--color-bg);
    --cms-ftr-cta-text: var(--color-text);
    --cms-ftr-cta-muted: var(--color-text-muted);
    --cms-ftr-cta-border: var(--color-border);
}

.cms-footer-cta__banner-wrap {
    position: relative;
    z-index: 2;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-footer-cta__banner {
    background: var(--color-accent);
    border-radius: var(--radius-lg);
    padding: 48px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
    margin-bottom: -48px;
    position: relative;
    z-index: 2;
    box-shadow: var(--cms-ftr-cta-banner-shadow);
}

.cms-footer-cta__banner-copy {
    flex: 1;
    min-width: 280px;
}

.cms-footer-cta__banner-title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 700;
    color: #fff;
}

.cms-footer-cta__banner-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255,255,255,0.85);
}

.cms-footer-cta__banner-link {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    background: #fff;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--radius-full);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s, transform 0.2s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.cms-footer-cta__banner-link:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.cms-footer-cta__footer {
    background: var(--cms-ftr-cta-bg, var(--color-dark-bg));
    color: var(--cms-ftr-cta-text, #fff);
    padding: 96px 0 0;
    font-family: var(--font-body);
}

.cms-footer-cta__grid {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px 40px;
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 40px;
}

.cms-footer-cta__logo {
    height: 43px;
    width: auto;
    margin-bottom: 14px;
}

.cms-footer-cta__brand {
    margin-bottom: 14px;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
}

.cms-footer-cta__description {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--cms-ftr-cta-muted, rgba(255,255,255,0.7));
}

.cms-footer-cta__social {
    display: flex;
    gap: 10px;
}

.cms-footer-cta__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-full);
    border: 1px solid var(--cms-ftr-cta-border, rgba(255,255,255,0.15));
    color: var(--cms-ftr-cta-muted, rgba(255,255,255,0.7));
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-footer-cta__social-link:hover,
.cms-footer-cta__link:hover,
.cms-footer-cta__legal-link:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

.cms-footer-cta__heading {
    margin: 0 0 18px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cms-ftr-cta-text, #fff);
}

.cms-footer-cta__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cms-footer-cta__list-item {
    margin-bottom: 10px;
}

.cms-footer-cta__link,
.cms-footer-cta__address,
.cms-footer-cta__copyright,
.cms-footer-cta__legal-link {
    font-size: 14px;
    line-height: 1.6;
    color: var(--cms-ftr-cta-muted, rgba(255,255,255,0.7));
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-footer-cta__separator {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    border-top: 1px solid var(--cms-ftr-cta-border, rgba(255,255,255,0.15));
}

.cms-footer-cta__bottom {
    max-width: var(--container);
    margin: 0 auto;
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.cms-footer-cta__copyright,
.cms-footer-cta__legal-link {
    font-size: 13px;
}

.cms-footer-cta__legal {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.cms-footer-mega {
    --cms-ftr-mega-bg: var(--color-dark-bg);
    --cms-ftr-mega-text: var(--color-dark-text, #fff);
    --cms-ftr-mega-muted: var(--color-dark-text-muted, rgba(255,255,255,0.7));
    --cms-ftr-mega-border: rgba(255,255,255,0.08);
    background: var(--cms-ftr-mega-bg, var(--color-dark-bg));
    color: var(--cms-ftr-mega-text, #fff);
    font-family: var(--font-body);
}

.cms-footer-mega--light {
    --cms-ftr-mega-bg: var(--color-bg);
    --cms-ftr-mega-text: var(--color-text);
    --cms-ftr-mega-muted: var(--color-text-muted);
    --cms-ftr-mega-border: var(--color-border);
}

.cms-footer-mega__main {
    padding: 56px 0 40px;
}

.cms-footer-mega__grid {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    gap: 40px;
}

.cms-footer-mega__grid--cols-0 { grid-template-columns: 1.5fr 1fr 1fr; }

.cms-footer-mega__grid--cols-1 { grid-template-columns: 1.5fr repeat(1, 1fr) 1fr 1fr; }

.cms-footer-mega__grid--cols-2 { grid-template-columns: 1.5fr repeat(2, 1fr) 1fr 1fr; }

.cms-footer-mega__grid--cols-3 { grid-template-columns: 1.5fr repeat(3, 1fr) 1fr 1fr; }

.cms-footer-mega__grid--cols-4 { grid-template-columns: 1.5fr repeat(4, 1fr) 1fr 1fr; }

.cms-footer-mega__grid--cols-5 { grid-template-columns: 1.5fr repeat(5, 1fr) 1fr 1fr; }

.cms-footer-mega__logo {
    height: 43px;
    width: auto;
    margin-bottom: 16px;
}

.cms-footer-mega__brand {
    margin-bottom: 16px;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 700;
}

.cms-footer-mega__description {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--cms-ftr-mega-muted, rgba(255,255,255,0.7));
}

.cms-footer-mega__heading {
    margin: 0 0 18px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cms-ftr-mega-text, #fff);
}

.cms-footer-mega__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cms-footer-mega__list-item {
    margin-bottom: 10px;
}

.cms-footer-mega__link,
.cms-footer-mega__address,
.cms-footer-mega__copyright,
.cms-footer-mega__legal-link {
    font-size: 14px;
    color: var(--cms-ftr-mega-muted, rgba(255,255,255,0.7));
    text-decoration: none;
    line-height: 1.6;
    transition: color 0.2s, border-color 0.2s;
}

.cms-footer-mega__link:hover,
.cms-footer-mega__legal-link:hover,
.cms-footer-mega__social-link:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

.cms-footer-mega__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cms-footer-mega__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    border: 1px solid var(--cms-ftr-mega-border, rgba(255,255,255,0.15));
    color: var(--cms-ftr-mega-muted, rgba(255,255,255,0.7));
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-footer-mega__separator {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    border-top: 1px solid var(--cms-ftr-mega-border, rgba(255,255,255,0.15));
}

.cms-footer-mega__bottom {
    max-width: var(--container);
    margin: 0 auto;
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.cms-footer-mega__bottom-right {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.cms-footer-mega__copyright,
.cms-footer-mega__legal-link,
.cms-footer-mega__lang {
    font-size: 13px;
}

.cms-footer-mega__lang {
    color: var(--cms-ftr-mega-muted, rgba(255,255,255,0.7));
    padding: 4px 12px;
    border: 1px solid var(--cms-ftr-mega-border, rgba(255,255,255,0.15));
    border-radius: var(--radius);
}

@media (max-width: 480px) {
    .cms-steps-nl__left {
        min-width: 44px;
    }

    .cms-steps-nl__number {
        width: 40px;
        height: 40px;
        min-height: 40px;
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .cms-hero-lt__shell {
        flex-direction: column;
    }

    .cms-hero-lt__image {
        margin-top: 0;
        margin-right: 0;
    }

    .cms-hero-split__shell {
        flex-direction: column;
        text-align: center;
        padding: clamp(76px, 14vw, 112px) 20px clamp(40px, 9vw, 64px);
        gap: 24px;
    }

    .cms-hero-split__text,
    .cms-hero-split__media {
        flex: 1 1 auto;
        width: 100%;
    }

    .cms-hero-split__media img {
        aspect-ratio: 16/9;
        max-height: 300px;
    }

    .cms-hero-split__text[data-reveal] {
        order: -1;
    }

    .cms-steps-pb__bar {
        display: none;
    }

    .cms-footer-cta__banner {
        flex-direction: column;
        text-align: center;
        padding: 32px 24px;
    }

    .cms-footer-cta__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .cms-footer-cta__bottom {
        flex-direction: column;
        text-align: center;
    }
}

.cms-header-topbar {
    display: block;
    background: var(--cms-header-topbar-bg, var(--color-dark-bg));
    color: var(--cms-header-topbar-text, #fff);
    height: 36px;
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 36px;
}

.cms-header-topbar--dark {
    --cms-header-topbar-bg: var(--color-dark-bg);
    --cms-header-topbar-text: #fff;
}

.cms-header-topbar--accent {
    --cms-header-topbar-bg: var(--color-accent);
    --cms-header-topbar-text: #fff;
}

.cms-header-topbar__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.cms-header-topbar__phone,
.cms-header-topbar__social {
    display: flex;
    align-items: center;
}

.cms-header-topbar__phone { gap: 6px; }

.cms-header-topbar__social { gap: 12px; }

.cms-header-topbar__link,
.cms-header-topbar__social-link { color: inherit; text-decoration: none; transition: opacity 0.2s; }

.cms-header-topbar__link { opacity: 0.85; }

.cms-header-topbar__social-link { opacity: 0.7; display: flex; align-items: center; }

.cms-header-topbar__link:hover,
.cms-header-topbar__social-link:hover { opacity: 1; }

.cms-header-std {
    z-index: 50;
    color: var(--cms-hstd-text, var(--color-text));
    background: var(--cms-hstd-bg, var(--color-bg));
    border-bottom: var(--cms-hstd-border, 1px solid var(--color-border));
    transition: background .3s, box-shadow .3s, border-color .3s;
}

.cms-header-std--light {
    --cms-hstd-bg: var(--color-bg);
    --cms-hstd-text: var(--color-text);
    --cms-hstd-link: var(--color-text-muted);
    --cms-hstd-drop-bg: var(--color-bg);
    --cms-hstd-drop-text: var(--color-text);
}

.cms-header-std--dark {
    --cms-hstd-bg: var(--color-dark-bg);
    --cms-hstd-text: #fff;
    --cms-hstd-link: rgba(255,255,255,.7);
    --cms-hstd-drop-bg: var(--color-dark-bg);
    --cms-hstd-drop-text: rgba(255,255,255,.85);
    --cms-hstd-border: 1px solid rgba(255,255,255,.08);
}

.cms-header-std--transparent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    --cms-hstd-bg: transparent;
    --cms-hstd-text: #fff;
    --cms-hstd-link: rgba(255,255,255,.85);
    --cms-hstd-drop-bg: rgba(0,0,0,.85);
    --cms-hstd-drop-text: rgba(255,255,255,.9);
    --cms-hstd-border: none;
}

.cms-header-std--transparent.cms-header-std--with-topbar { top: 36px; }

.cms-header-std--contained {
    width: calc(100% - 32px);
    max-width: var(--container);
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.cms-header-std--contained.cms-header-std--fixed {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.cms-header-std--contained.cms-header-std--fixed.cms-header-std--with-topbar { top: 48px; }

.cms-header-std--bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.cms-header-std--bottom.cms-header-std--contained {
    bottom: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-std--shell {
    position: relative;
    border: inherit;
    border-radius: inherit;
    background: inherit;
    box-shadow: inherit;
}

.cms-header-nav-typo {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.cms-header-nav-typo--heading { font-family: var(--font-heading); }

.cms-header-nav-typo--w-400 { font-weight: 400; }

.cms-header-nav-typo--w-500 { font-weight: 500; }

.cms-header-nav-typo--w-600 { font-weight: 600; }

.cms-header-nav-typo--w-700 { font-weight: 700; }

.cms-header-nav-typo--uppercase { text-transform: uppercase; letter-spacing: .04em; }

.cms-header-std__bar {
    max-width: var(--cms-header-std-bar-width, var(--container));
    margin: 0 auto;
    min-height: 72px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cms-header-std__bar--full { --cms-header-std-bar-width: 100%; }

.cms-header-std__logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.cms-header-std__logo-img {
    width: auto;
    height: var(--cms-header-std-logo-height, 40px);
    max-height: 72px;
    display: block;
}

.cms-header-std__logo-mark {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
}

.cms-header-std__logo-text {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
}

.cms-header-std__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex: 1 1 auto;
}

.cms-header-std__item {
    position: relative;
    display: flex;
    align-items: center;
}

.cms-header-std__item--has-children::after {
    content: "";
    position: absolute;
    left: -10px;
    right: -10px;
    top: 100%;
    height: 16px;
}

.cms-header-std__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cms-hstd-link, var(--color-text));
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.cms-header-std__link:hover,
.cms-header-std__link.is-active { color: var(--color-accent) !important; }

.cms-header-std__link--button { background: none; border: none; padding: 0; cursor: pointer; }

.cms-header-std__dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: -10px;
    min-width: 220px;
    padding: 12px;
    border-radius: var(--radius-lg);
    background: var(--cms-hstd-drop-bg, var(--color-bg));
    color: var(--cms-hstd-drop-text, var(--color-text));
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 4px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.16s ease, visibility 0.16s ease;
    z-index: 60;
}

.cms-header-std__item--has-children {
    position: relative;
}

.cms-header-std__item--has-children:hover > .cms-header-std__dropdown,
.cms-header-std__item--has-children:focus-within > .cms-header-std__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.cms-header-std__dropdown--align-center {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-std__dropdown-link {
    display: block;
    padding: 10px 12px;
    border-radius: var(--radius);
    color: inherit;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 14px;
    transition: background 0.2s ease, color 0.2s ease;
}

.cms-header-std__dropdown-link:hover {
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    color: var(--color-accent);
}

.cms-header-std__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.cms-header-std__cta:hover { opacity: 0.92; transform: translateY(-1px); }

.cms-header-std__burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: none;
    background: none;
    color: inherit;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .cms-header-std__dropdown {
        display: none !important;
    }
}

.cms-post-std {
    padding-bottom: var(--spacing-section);
    background: var(--color-bg-alt);
}

/* ---------------------------------------------------------------------------
   Features Grid — Cards Image Top
   --------------------------------------------------------------------------- */
.cms-fg-imgtop__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.cms-fg-imgtop__card {
    background: var(--cms-fg-imgtop-card-bg, var(--color-bg));
    border: 1px solid var(--cms-fg-imgtop-card-border, rgba(0,0,0,0.06));
    border-radius: var(--radius-lg, 12px);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-fg-imgtop__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.cms-fg-imgtop__image,
.cms-fg-imgtop__placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: block;
}

.cms-fg-imgtop__image {
    object-fit: cover;
}

.cms-fg-imgtop__placeholder {
    background: var(--cms-fg-imgtop-placeholder-bg, var(--color-bg-alt, #f5f5f5));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
}

.cms-fg-imgtop__body {
    padding: clamp(20px, 2.5vw, 28px);
}

.cms-fg-imgtop__link {
    text-decoration: none;
    color: inherit;
}

.cms-fg-imgtop__title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 600;
    color: var(--cms-fg-imgtop-text, var(--color-text));
    margin: 0 0 8px;
    line-height: 1.3;
}

.cms-fg-imgtop__desc {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--cms-fg-imgtop-muted, var(--color-text-muted));
    margin: 0;
}

/* ---------------------------------------------------------------------------
   Text Image — With List
   --------------------------------------------------------------------------- */
.cms-ti-list__wrap {
    display: flex;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.cms-ti-list--image-left .cms-ti-list__wrap {
    flex-direction: row-reverse;
}

.cms-ti-list--dark {
    --cms-ti-list-text: var(--color-dark-text);
    --cms-ti-list-muted: var(--color-dark-text-muted);
    --cms-ti-list-icon-bg: rgba(255,255,255,0.1);
}

.cms-ti-list__text,
.cms-ti-list__image-col {
    flex: 1 1 50%;
    min-width: 0;
}

.cms-ti-list__title {
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.2;
    color: var(--cms-ti-list-text, var(--color-text));
    margin: 0 0 24px;
}

.cms-ti-list__intro {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--cms-ti-list-muted, var(--color-text-muted));
    margin: 0 0 24px;
}

.cms-ti-list__intro p {
    margin: 0 0 16px;
}

.cms-ti-list__intro p:last-child {
    margin-bottom: 0;
}

.cms-ti-list__item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.cms-ti-list__item:last-child {
    margin-bottom: 0;
}

.cms-ti-list__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--cms-ti-list-icon-bg, color-mix(in srgb, var(--color-accent) 12%, transparent));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    margin-top: 2px;
}

.cms-ti-list__item-title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--cms-ti-list-text, var(--color-text));
    margin: 0 0 3px;
    line-height: 1.3;
}

.cms-ti-list__item-desc {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    color: var(--cms-ti-list-muted, var(--color-text-muted));
    margin: 0;
}

.cms-ti-list__cta {
    margin-top: 28px;
}

.cms-ti-list__image-col .cms-img-deco--none {
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

/* ---------------------------------------------------------------------------
   Text Image — Overlap
   --------------------------------------------------------------------------- */
.cms-ti-overlap__wrap {
    display: flex;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.cms-ti-overlap--image-left .cms-ti-overlap__wrap {
    flex-direction: row-reverse;
}

.cms-ti-overlap--dark {
    --cms-ti-overlap-text: var(--color-dark-text);
    --cms-ti-overlap-muted: var(--color-dark-text-muted);
    --cms-ti-overlap-card-bg: rgba(255,255,255,0.05);
    --cms-ti-overlap-secondary-border: var(--color-dark-bg, #1a1a2e);
}

.cms-ti-overlap__text {
    flex: 1 1 42%;
    min-width: 0;
}

.cms-ti-overlap__title {
    font-family: var(--font-heading);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 600;
    line-height: 1.15;
    color: var(--cms-ti-overlap-text, var(--color-text));
    margin: 0 0 20px;
}

.cms-ti-overlap__content {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--cms-ti-overlap-muted, var(--color-text-muted));
}

.cms-ti-overlap__content p {
    margin: 0 0 16px;
}

.cms-ti-overlap__content p:last-child {
    margin-bottom: 0;
}

.cms-ti-overlap__card {
    margin-top: 24px;
    padding: 20px 24px;
    background: var(--cms-ti-overlap-card-bg, var(--color-bg));
    border-left: 3px solid var(--color-accent);
    border-radius: 0 var(--radius-md, 8px) var(--radius-md, 8px) 0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.cms-ti-overlap__card-text {
    font-family: var(--font-body);
    font-size: 15px;
    font-style: italic;
    line-height: 1.6;
    color: var(--cms-ti-overlap-text, var(--color-text));
    margin: 0;
}

.cms-ti-overlap__cta {
    margin-top: 28px;
}

.cms-ti-overlap__images {
    flex: 1 1 58%;
    min-width: 0;
    position: relative;
    min-height: 440px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.cms-ti-overlap__img-main {
    width: 88%;
    position: relative;
    z-index: 1;
}

.cms-ti-overlap__img-main .cms-img-deco--none {
    box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}

.cms-ti-overlap__img-secondary {
    width: 55%;
    border-radius: var(--radius-lg, 12px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.18);
    object-fit: cover;
    aspect-ratio: 4 / 3;
    display: block;
    position: absolute;
    bottom: -20px;
    right: 0;
    z-index: 2;
    border: 4px solid var(--cms-ti-overlap-secondary-border, var(--color-bg, #fff));
}

/* ---------------------------------------------------------------------------
   Case Study — Mini Grid
   --------------------------------------------------------------------------- */
.cms-cs-grid__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(var(--cms-cs-grid-cols, 3), 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.cms-cs-grid--cols-1 { --cms-cs-grid-cols: 1; }

.cms-cs-grid--cols-2 { --cms-cs-grid-cols: 2; }

.cms-cs-grid--cols-3 { --cms-cs-grid-cols: 3; }

.cms-cs-grid--dark {
    --cms-cs-grid-text: var(--color-dark-text);
    --cms-cs-grid-muted: var(--color-dark-text-muted);
    --cms-cs-grid-card-bg: rgba(255,255,255,0.04);
    --cms-cs-grid-card-border: rgba(255,255,255,0.08);
}

.cms-cs-grid__card {
    background: var(--cms-cs-grid-card-bg, var(--color-bg));
    border: 1px solid var(--cms-cs-grid-card-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cs-grid__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.cms-cs-grid__card:hover img {
    transform: scale(1.05);
}

.cms-cs-grid__img {
    overflow: hidden;
    aspect-ratio: 16/10;
}

.cms-cs-grid__img .cms-img-deco {
    height: 100%;
}

.cms-cs-grid__img img {
    transition: transform 0.5s ease;
}

.cms-cs-grid__body {
    padding: clamp(20px, 2.5vw, 28px);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.cms-cs-grid__title {
    font-family: var(--font-heading);
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 600;
    color: var(--cms-cs-grid-text, var(--color-text));
    margin: 0 0 10px;
    line-height: 1.3;
}

.cms-cs-grid__desc {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--cms-cs-grid-muted, var(--color-text-muted));
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cms-cs-grid__stats {
    display: flex;
    gap: 0;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--cms-cs-grid-card-border, var(--color-border));
}

.cms-cs-grid__stat {
    flex: 1;
    text-align: center;
    padding: 0 8px;
    border-right: 1px solid var(--cms-cs-grid-card-border, var(--color-border));
}

.cms-cs-grid__stat:last-child {
    border-right: none;
}

.cms-cs-grid__stat-val {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--color-accent);
    line-height: 1.2;
    margin: 0 0 2px;
}

.cms-cs-grid__stat-lbl {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--cms-cs-grid-muted, var(--color-text-muted));
    margin: 0;
}

/* ---------------------------------------------------------------------------
   FAQ — Accordion
   --------------------------------------------------------------------------- */
.cms-faq-acc {
    width: 100%;
    --cms-faq-acc-text: var(--color-text);
    --cms-faq-acc-muted: var(--color-text-muted);
    --cms-faq-acc-border: var(--color-border);
}

.cms-faq-acc--dark {
    --cms-faq-acc-text: var(--color-dark-text);
    --cms-faq-acc-muted: var(--color-dark-text-muted);
    --cms-faq-acc-border: rgba(255,255,255,0.1);
}

.cms-faq-acc__list {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    list-style: none;
    padding: 0;
}

.cms-faq-acc__item {
    border-bottom: 1px solid var(--cms-faq-acc-border, var(--color-border));
}

.cms-faq-acc__trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--cms-faq-acc-text, var(--color-text));
    line-height: 1.4;
}

.cms-faq-acc__trigger:hover {
    color: var(--color-accent);
}

.cms-faq-acc__chevron {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
    color: var(--cms-faq-acc-muted, var(--color-text-muted));
}

.cms-faq-acc__chevron--open {
    transform: rotate(180deg);
}

.cms-faq-acc__answer {
    overflow: hidden;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--cms-faq-acc-muted, var(--color-text-muted));
    padding-bottom: 20px;
}

.cms-faq-acc__answer p {
    margin: 0 0 12px;
}

.cms-faq-acc__answer p:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------------------------------------
   Blog Listing
   --------------------------------------------------------------------------- */
.cms-bl-grid {
    width: 100%;
}

.cms-bl-grid__grid {
    display: grid;
    grid-template-columns: repeat(var(--cms-bl-grid-cols, 3), 1fr);
    gap: clamp(24px, 2.8vw, 36px);
}

.cms-bl-grid--cols-1 { --cms-bl-grid-cols: 1; }

.cms-bl-grid--cols-2 { --cms-bl-grid-cols: 2; }

.cms-bl-grid--cols-3 { --cms-bl-grid-cols: 3; }

.cms-bl-grid--cols-4 { --cms-bl-grid-cols: 4; }

.cms-bl-grid__cta {
    margin-top: 40px;
    text-align: center;
}

.cms-bl-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: var(--container, 1200px);
    margin: 0 auto 32px;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-bl-filter__link {
    padding: 8px 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--cms-bl-filter-text, var(--color-text));
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cms-bl-filter--dark .cms-bl-filter__link {
    border-color: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.cms-bl-filter__link:hover {
    background: var(--color-bg-alt);
}

.cms-bl-filter--dark .cms-bl-filter__link:hover {
    background: rgba(255, 255, 255, 0.12);
}

.cms-bl-filter__link.is-active {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
    font-weight: 600;
}

.cms-bl-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 48px;
}

.cms-bl-pagination__link {
    padding: 8px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: transparent;
    color: var(--cms-bl-pagination-text, var(--color-text));
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cms-bl-pagination__link:hover {
    background: var(--color-bg-alt);
}

.cms-bl-pagination__link.is-active {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
    font-weight: 600;
}

.cms-bl-card__title-link {
    color: inherit;
    text-decoration: none;
}

.cms-bl-card__title-link:hover {
    color: var(--color-accent);
}

.cms-bl-card__cat {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cms-bl-card__cat--overlay {
    padding: 4px 12px;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    font-size: 11px;
    margin-bottom: 8px;
}

.cms-bl-card__author {
    font-weight: 500;
}

.cms-bl-card__avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-bl-card__avatar--sm {
    width: 20px;
    height: 20px;
}

.cms-bl-card__excerpt {
    font-family: var(--font-body);
    margin: 0;
    color: var(--cms-bl-card-muted, var(--color-text-muted));
}

.cms-bl-card--dark {
    --cms-bl-card-bg: rgba(255,255,255,.06);
    --cms-bl-card-border: rgba(255,255,255,.12);
    --cms-bl-card-text: var(--color-dark-text);
    --cms-bl-card-muted: var(--color-dark-text-muted);
}

.cms-bl-card--aspect-wide {
    --cms-bl-image-aspect: 16 / 9;
}

.cms-bl-card__excerpt--clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cms-bl-card__excerpt--ellipsis {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
}

.cms-bl-card__excerpt--grow {
    flex: 1;
}

.cms-bl-card__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
}

.cms-bl-card__meta--overlay {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
}

.cms-bl-card__meta--horizontal,
.cms-bl-card__meta--vertical {
    font-size: 12px;
    color: var(--cms-bl-card-muted, var(--color-text-muted));
}

.cms-bl-card__meta--horizontal {
    margin-top: 4px;
}

.cms-bl-card__meta--vertical {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--cms-bl-card-border, var(--color-border));
}

.cms-bl-card__meta--minimal {
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--cms-bl-card-muted, var(--color-text-muted));
}

.cms-bl-card--overlay {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
    aspect-ratio: var(--cms-bl-image-aspect, 3 / 2);
}

.cms-bl-card__overlay-link {
    position: absolute;
    inset: 0;
    display: block;
    text-decoration: none;
}

.cms-bl-card__overlay-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cms-bl-card__overlay-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.75) 100%);
}

.cms-bl-card__overlay-body {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: clamp(16px, 2vw, 24px);
}

.cms-bl-card__title {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.cms-bl-card__title--overlay {
    margin-bottom: 8px;
    font-size: clamp(16px, 2vw, 22px);
    color: #fff;
}

.cms-bl-card--horizontal {
    display: flex;
    overflow: hidden;
    border: 1px solid var(--cms-bl-card-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-bl-card-bg, var(--color-bg));
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-bl-card--horizontal:hover,
.cms-bl-card--vertical:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.cms-bl-card__h-media {
    display: block;
    width: 35%;
    flex-shrink: 0;
    overflow: hidden;
}

.cms-bl-card__h-image,
.cms-bl-card__v-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cms-bl-card--horizontal:hover .cms-bl-card__h-image,
.cms-bl-card--vertical:hover .cms-bl-card__v-image,
.cms-bl-card--overlay:hover .cms-bl-card__overlay-image {
    transform: scale(1.05);
}

.cms-bl-card__h-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: clamp(16px, 2vw, 24px);
}

.cms-bl-card__title--horizontal,
.cms-bl-card__title--vertical {
    font-size: clamp(16px, 1.5vw, 20px);
    color: var(--cms-bl-card-text, var(--color-text));
}

.cms-bl-card--minimal {
    padding: 16px 0;
    border-bottom: 1px solid var(--cms-bl-card-border, var(--color-border));
}

.cms-bl-card__title--minimal {
    margin-bottom: 4px;
    font-size: 16px;
    color: var(--cms-bl-card-text, var(--color-text));
    line-height: 1.4;
}

.cms-bl-card--vertical {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--cms-bl-card-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-bl-card-bg, var(--color-bg));
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-bl-card__v-media {
    display: block;
    overflow: hidden;
    aspect-ratio: var(--cms-bl-image-aspect, 3 / 2);
}

.cms-bl-card__v-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    padding: clamp(16px, 2vw, 24px);
}

.cms-bl-ff {
    width: 100%;
}

.cms-bl-ff__featured {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-bottom: clamp(24px, 3vw, 40px);
    border-radius: var(--radius-lg);
    max-height: 450px;
}

.cms-bl-ff__featured :is(.bl__card--overlay, .cms-post-card--overlay, .cms-generic-card--overlay) {
    aspect-ratio: auto !important;
    min-height: auto;
    height: 450px;
}

.cms-bl-ff__featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-bl-ff__featured :is(.bl__card--overlay:hover img, .cms-post-card--overlay:hover img, .cms-generic-card--overlay:hover img) {
    transform: scale(1.03);
}

.cms-bl-ff__grid-wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-bl-ff__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.cms-bl-ff__grid :is(.bl__card--vertical, .cms-post-card--vertical, .cms-generic-card--vertical):hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-bl-ff__grid :is(.bl__card--vertical:hover img, .cms-post-card--vertical:hover img, .cms-generic-card--vertical:hover img) {
    transform: scale(1.05);
}

.cms-bl-ff__grid :is(.bl__card--vertical, .cms-post-card--vertical, .cms-generic-card--vertical):hover :is(h2, h3, h4, h5, h6) a {
    color: var(--color-accent);
}

.cms-bl-ff__cta,
.cms-bl-fg__cta {
    margin-top: 40px;
    text-align: center;
}

.cms-bl-fg {
    width: 100%;
}

.cms-bl-fg__top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 540px;
    gap: clamp(24px, 2.8vw, 36px);
    max-width: var(--container, 1200px);
    margin: 0 auto clamp(16px, 2vw, 24px);
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-bl-fg__featured {
    overflow: hidden;
    border-radius: var(--radius-lg);
    transform: translateY(-6px);
}

.cms-bl-fg__featured :is(.cms-post-card--overlay, .cms-generic-card--overlay) {
    aspect-ratio: auto !important;
    height: 100%;
}

.cms-bl-fg__side {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.8vw, 22px);
    min-height: 0;
}

.cms-bl-fg__side-item {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.cms-bl-fg__side-item article {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    overflow: hidden;
    box-shadow: none !important;
}

.cms-bl-fg__side-item article:hover {
    box-shadow: none !important;
}

.cms-bl-fg__side-item article > *:first-child {
    flex: 0 0 60%;
    overflow: hidden;
    aspect-ratio: auto !important;
}

.cms-bl-fg__side-item article > *:first-child img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.cms-bl-fg__side-item article > *:last-child {
    flex: 1;
    overflow: hidden;
    padding: 8px 12px !important;
}

.cms-bl-fg__side-item :is(h2, h3, h4, h5, h6) {
    margin: 0 0 3px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.cms-bl-fg__side-item :is(h2, h3, h4, h5, h6) a {
    font-size: 13px !important;
}

.cms-bl-fg__side-item article > *:last-child > p {
    display: none !important;
}

.cms-bl-fg__side-item article > *:last-child > div {
    margin: 0 !important;
    font-size: 11px !important;
}

.cms-bl-fg__side-item :is(.cms-post-card--overlay, .cms-generic-card--overlay) {
    aspect-ratio: auto !important;
    height: 100%;
}

.cms-bl-fg__rest,
.cms-bl-fg__bottom {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-bl-fg__rest {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 2.8vw, 36px);
}

/* ---------------------------------------------------------------------------
   Stats
   --------------------------------------------------------------------------- */
.cms-stats-ml {
    width: 100%;
}

.cms-stats-ml--light {
    --cms-stats-ml-pipe: var(--color-border);
    --cms-stats-ml-muted: var(--color-text-muted);
}

.cms-stats-ml--dark {
    --cms-stats-ml-pipe: rgba(255,255,255,0.15);
    --cms-stats-ml-muted: var(--color-dark-text-muted);
}

.cms-stats-ml__row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-stats-ml__item {
    display: flex;
    align-items: baseline;
    gap: clamp(6px, 1vw, 10px);
    padding: 8px clamp(20px, 3vw, 36px);
    white-space: nowrap;
}

.cms-stats-ml__pipe {
    width: 1px;
    height: 28px;
    background: var(--cms-stats-ml-pipe, var(--color-border));
    flex-shrink: 0;
}

.cms-stats-ml__value {
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    line-height: 1;
    color: var(--color-accent);
}

.cms-stats-ml__label {
    font-family: var(--font-body);
    font-size: clamp(13px, 1.2vw, 15px);
    color: var(--cms-stats-ml-muted, var(--color-text-muted));
}

.cms-stats-ib {
    width: 100%;
}

.cms-stats-ib--light {
    --cms-stats-ib-divider: var(--color-border);
    --cms-stats-ib-muted: var(--color-text-muted);
}

.cms-stats-ib--dark {
    --cms-stats-ib-divider: rgba(255,255,255,0.15);
    --cms-stats-ib-muted: var(--color-dark-text-muted);
}

.cms-stats-ib__grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-stats-ib__item {
    flex: 1;
    padding: 16px clamp(12px, 3vw, 40px);
    text-align: center;
}

.cms-stats-ib__item + .cms-stats-ib__item {
    border-left: 1px solid var(--cms-stats-ib-divider, var(--color-border));
}

.cms-stats-ib__value {
    margin: 0 0 6px;
    font-family: var(--font-heading);
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-accent);
}

.cms-stats-ib__label {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 500;
    color: var(--cms-stats-ib-muted, var(--color-text-muted));
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cms-stats-ib__desc {
    margin: 4px 0 0;
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--cms-stats-ib-muted, var(--color-text-muted));
    opacity: 0.7;
}

/* ---------------------------------------------------------------------------
   Content Bento
   --------------------------------------------------------------------------- */
.cms-cb--light {
    --cms-cb-text: var(--color-text);
    --cms-cb-muted: var(--color-text-muted);
    --cms-cb-surface: var(--color-bg);
    --cms-cb-surface-alt: var(--color-bg-alt, #f5f5f4);
    --cms-cb-border: var(--color-border);
    --cms-cb-track: color-mix(in srgb, var(--color-accent) 10%, transparent);
    --cms-cb-dark-surface: var(--color-dark-bg, #1c1917);
    --cms-cb-dark-border: transparent;
    --cms-cb-dark-muted: rgba(255,255,255,0.7);
    --cms-cb-dark-icon-bg: rgba(255,255,255,0.1);
}

.cms-cb--dark {
    --cms-cb-text: var(--color-dark-text);
    --cms-cb-muted: var(--color-dark-text-muted);
    --cms-cb-surface: rgba(255,255,255,0.05);
    --cms-cb-surface-alt: rgba(255,255,255,0.08);
    --cms-cb-border: rgba(255,255,255,0.08);
    --cms-cb-track: rgba(255,255,255,0.1);
    --cms-cb-dark-surface: rgba(0,0,0,0.3);
    --cms-cb-dark-border: transparent;
    --cms-cb-dark-muted: rgba(255,255,255,0.7);
    --cms-cb-dark-icon-bg: rgba(255,255,255,0.1);
}

.cms-cb__grid {
    display: grid;
    grid-auto-rows: minmax(var(--cms-cb-row-min, 190px), auto);
    gap: clamp(14px, 1.6vw, 22px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-cb__cell--a { grid-area: a; }

.cms-cb__cell--b { grid-area: b; }

.cms-cb__cell--c { grid-area: c; }

.cms-cb__cell--d { grid-area: d; }

.cms-cb__cell--e { grid-area: e; }

.cms-cb__cell--f { grid-area: f; }

.cms-cb__cell--g { grid-area: g; }

.cms-cb__cell--h { grid-area: h; }

.cms-cb__cell {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    overflow: hidden;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--cms-cb-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cb-surface);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    box-sizing: border-box;
}

.cms-cb__cell:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover, 0 8px 30px rgba(0,0,0,0.12));
    border-color: color-mix(in srgb, var(--color-accent) 30%, transparent);
}

.cms-cb__cell--bg-default { background: var(--cms-cb-surface); }

.cms-cb__cell--bg-alt { background: var(--cms-cb-surface-alt); }

.cms-cb__cell--bg-accent {
    background: var(--color-accent);
    border-color: transparent;
}

.cms-cb__cell--bg-accent:hover {
    border-color: transparent;
}

.cms-cb__cell--bg-accent .cms-cb__title,
.cms-cb__cell--bg-accent .cms-cb__stat-value { color: #fff; }

.cms-cb__cell--bg-accent .cms-cb__desc,
.cms-cb__cell--bg-accent .cms-cb__stat-label,
.cms-cb__cell--bg-accent .cms-cb__list-item { color: rgba(255,255,255,0.85); }

.cms-cb__cell--bg-accent .cms-cb__icon-wrap,
.cms-cb__cell--bg-accent .cms-cb__icon-lg { background: rgba(255,255,255,0.2); }

.cms-cb__cell--bg-dark {
    background: var(--cms-cb-dark-surface);
    border-color: var(--cms-cb-dark-border);
}

.cms-cb__cell--bg-dark:hover {
    border-color: rgba(255,255,255,0.15);
}

.cms-cb__cell--bg-dark .cms-cb__title,
.cms-cb__cell--bg-dark .cms-cb__stat-value { color: #fff; }

.cms-cb__cell--bg-dark .cms-cb__desc,
.cms-cb__cell--bg-dark .cms-cb__stat-label,
.cms-cb__cell--bg-dark .cms-cb__list-item { color: var(--cms-cb-dark-muted); }

.cms-cb__cell--bg-dark .cms-cb__icon-wrap,
.cms-cb__cell--bg-dark .cms-cb__icon-lg { background: var(--cms-cb-dark-icon-bg); }

.cms-cb__cell--accent {
    border-left: 3px solid var(--color-accent);
}

.cms-cb__icon-wrap,
.cms-cb__icon-lg {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
}

.cms-cb__icon-wrap {
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    border-radius: var(--radius, 8px);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    flex-shrink: 0;
}

.cms-cb__icon-lg {
    width: 64px;
    height: 64px;
    margin-bottom: 14px;
    border-radius: var(--radius-lg, 12px);
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    font-size: 32px;
    line-height: 1;
}

.cms-cb__icon-wrap svg,
.cms-cb__icon-lg svg {
    width: 22px;
    height: 22px;
    display: block;
}

.cms-cb__title {
    margin: 0 0 8px;
    color: var(--cms-cb-text);
    font-family: var(--font-heading);
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 600;
    line-height: 1.3;
}

.cms-cb__desc {
    margin: 0;
    color: var(--cms-cb-muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
}

.cms-cb__desc--spaced {
    margin-top: 6px;
}

.cms-cb__cell--icon-large,
.cms-cb__cell--stat,
.cms-cb__cell--circle {
    align-items: center;
    text-align: center;
}

.cms-cb__stat-value {
    margin: 0 0 6px;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.1;
}

.cms-cb__stat-label {
    margin: 0;
    color: var(--cms-cb-muted);
    font-family: var(--font-body);
    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cms-cb__cell--image {
    min-height: 220px;
    padding: 0;
    border: none;
    background: transparent;
}

.cms-cb__cell--image:hover {
    border: none;
}

.cms-cb__cell--image .cms-img-deco,
.cms-cb__cell--image > img {
    position: absolute;
    inset: 0;
}

.cms-cb__cell--image .cms-img-deco img,
.cms-cb__cell--image > img {
    border-radius: var(--radius-lg, 12px);
    transition: transform 0.5s ease;
}

.cms-cb__cell--image:hover img {
    transform: scale(1.05);
}

.cms-cb__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(18px, 2vw, 28px);
    border-radius: var(--radius-lg, 12px);
    background: linear-gradient(180deg, transparent 36%, rgba(0,0,0,0.74) 100%);
}

.cms-cb__overlay .cms-cb__title { color: #fff; }

.cms-cb__overlay .cms-cb__desc { color: rgba(255,255,255,0.85); }

.cms-cb__progress-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    margin-bottom: 10px;
    gap: 10px;
}

.cms-cb__progress-label {
    color: var(--cms-cb-text);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
}

.cms-cb__progress-pct {
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
}

.cms-cb__progress-track {
    width: 100%;
    height: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: var(--radius-full, 50px);
    background: var(--cms-cb-track);
}

.cms-cb__progress-bar {
    width: 0;
    height: 100%;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.cms-cb__circle-wrap {
    position: relative;
    width: 100px;
    height: 100px;
    margin-bottom: 12px;
}

.cms-cb__circle-svg {
    transform: rotate(-90deg);
}

.cms-cb__circle-bg {
    fill: none;
    stroke: var(--cms-cb-track);
    stroke-width: 6;
}

.cms-cb__circle-fg {
    fill: none;
    stroke: var(--color-accent);
    stroke-width: 6;
    stroke-linecap: round;
    transition: stroke-dashoffset 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.cms-cb__circle-value {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 700;
}

.cms-cb__list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.cms-cb__list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    color: var(--cms-cb-muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
}

.cms-cb__list-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex-shrink: 0;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.cms-cb__list-check svg {
    width: 10px;
    height: 10px;
    color: var(--color-accent);
}

.cms-cb--layout-2x2 .cms-cb__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "a b" "c d";
}

.cms-cb--layout-tall-left .cms-cb__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    grid-template-areas: "a b" "a c";
}

.cms-cb--layout-tall-right .cms-cb__grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    grid-template-areas: "a c" "b c";
}

.cms-cb--layout-wide-bottom .cms-cb__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "a b" "c c";
}

.cms-cb--layout-sidebar-stack .cms-cb__grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    grid-template-areas: "a b" "a c" "a d";
    --cms-cb-row-min: 165px;
}

.cms-cb--layout-3-col .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a b c";
}

.cms-cb--layout-wide-top .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a a a" "b c d";
}

.cms-cb--layout-wide-bottom-3 .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a b c" "d d d";
}

.cms-cb--layout-featured-left .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a a b" "a a c";
    --cms-cb-row-min: 170px;
}

.cms-cb--layout-featured-right .cms-cb__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "a a b b" "c c b b";
}

.cms-cb--layout-mosaic .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a b c" "a d e";
}

.cms-cb--layout-mosaic-right .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a b c" "d e c";
}

.cms-cb--layout-mosaic-wide .cms-cb__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "a a b b" "c c c c" "d d e e";
    --cms-cb-row-min: 170px;
}

.cms-cb--layout-3x2 .cms-cb__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "a b c" "d e f";
}

.cms-cb--layout-4-col .cms-cb__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "a b c d";
}

.cms-cb--layout-dashboard .cms-cb__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "a a b b" "c d e f";
}

.cms-cb--layout-balanced-5 .cms-cb__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "a a b c" "a a d e";
}

.cms-cb--layout-editorial-band .cms-cb__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas: "a a a b b b" "c c d d e e";
    --cms-cb-row-min: 165px;
}

.cms-cb--layout-offset-showcase .cms-cb__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas: "a a b b c c" ". d d e e ." ;
    --cms-cb-row-min: 175px;
}

/* ---------------------------------------------------------------------------
   Team
   --------------------------------------------------------------------------- */
.cms-team-gc {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-team-gc--light {
    --cms-team-gc-bg: var(--color-bg);
    --cms-team-gc-border: var(--color-border);
    --cms-team-gc-text: var(--color-text);
    --cms-team-gc-muted: var(--color-text-muted);
}

.cms-team-gc--dark {
    --cms-team-gc-bg: rgba(255,255,255,0.05);
    --cms-team-gc-border: rgba(255,255,255,0.08);
    --cms-team-gc-text: var(--color-dark-text);
    --cms-team-gc-muted: var(--color-dark-text-muted);
}

.cms-team-gc__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-team-gc__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid var(--cms-team-gc-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-team-gc-bg, var(--color-bg));
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-team-gc__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-team-gc__avatar {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}

.cms-team-gc__avatar .cms-person-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.cms-team-gc__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-team-gc__name {
    margin: 0;
    color: var(--cms-team-gc-text, var(--color-text));
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.cms-team-gc__role {
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
}

.cms-team-gc__bio {
    margin: 0;
    color: var(--cms-team-gc-muted, var(--color-text-muted));
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------------------------------------------------------
   Content Cards
   --------------------------------------------------------------------------- */
.cms-cc-horiz {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-cc-horiz--light {
    --cms-cc-horiz-text: var(--color-text);
    --cms-cc-horiz-muted: var(--color-text-muted);
    --cms-cc-horiz-border: var(--color-border);
}

.cms-cc-horiz--dark {
    --cms-cc-horiz-text: var(--color-dark-text);
    --cms-cc-horiz-muted: var(--color-dark-text-muted);
    --cms-cc-horiz-border: rgba(255,255,255,0.08);
}

.cms-cc-horiz__list {
    display: flex;
    flex-direction: column;
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-cc-horiz__card {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: clamp(16px, 3vw, 32px);
    align-items: center;
    padding: clamp(16px, 2vw, 24px) 0;
    border-bottom: 1px solid var(--cms-cc-horiz-border, var(--color-border));
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.cms-cc-horiz__card:first-child {
    padding-top: 0;
}

.cms-cc-horiz__card:last-child {
    border-bottom: none;
}

.cms-cc-horiz__card:hover {
    opacity: 0.85;
}

.cms-cc-horiz__img-wrap {
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
    aspect-ratio: 16 / 10;
}

.cms-cc-horiz__img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cms-cc-horiz__card:hover .cms-cc-horiz__img-wrap img {
    transform: scale(1.03);
}

.cms-cc-horiz__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cms-cc-horiz__title {
    margin: 0;
    color: var(--cms-cc-horiz-text, var(--color-text));
    font-family: var(--font-heading);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.cms-cc-horiz__card:hover .cms-cc-horiz__title {
    color: var(--color-accent);
}

.cms-cc-horiz__desc {
    margin: 0;
    color: var(--cms-cc-horiz-muted, var(--color-text-muted));
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cms-cc-horiz__arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
}

/* ---------------------------------------------------------------------------
   Newsletter
   --------------------------------------------------------------------------- */
.cms-nl-card {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-nl-card--dark {
    --cms-nl-card-bg: var(--color-dark-bg);
    --cms-nl-card-btn-bg: var(--color-accent);
    --cms-nl-card-btn-color: #fff;
    --cms-nl-card-btn-hover-bg: var(--color-accent2);
}

.cms-nl-card--accent {
    --cms-nl-card-bg: var(--color-accent);
    --cms-nl-card-btn-bg: #fff;
    --cms-nl-card-btn-color: var(--color-accent);
    --cms-nl-card-btn-hover-bg: var(--color-accent3);
}

.cms-nl-card__inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 600px;
    padding: clamp(32px, 4vw, 48px);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-nl-card-bg);
    box-shadow: var(--shadow-lg, 0 8px 32px rgba(0,0,0,0.12));
    text-align: center;
}

.cms-nl-card__title {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-nl-card__subtitle {
    margin: 0 0 24px;
    color: rgba(255,255,255,0.7);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
}

.cms-nl-card__form {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.cms-nl-card__input {
    flex: 1;
    min-width: 200px;
    padding: 14px 18px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--radius-full, 50px);
    outline: none;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.cms-nl-card__input:focus {
    border-color: rgba(255,255,255,0.5);
}

.cms-nl-card__input::placeholder {
    color: rgba(255,255,255,0.5);
}

.cms-nl-card__btn {
    padding: 14px 28px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--cms-nl-card-btn-bg);
    color: var(--cms-nl-card-btn-color);
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    transition: background 0.3s ease, color 0.3s ease;
}

.cms-nl-card__btn:hover {
    background: var(--cms-nl-card-btn-hover-bg);
    color: #fff;
}

.cms-nl-card__disclaimer {
    margin: 0;
    color: rgba(255,255,255,0.5);
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-nl-card .newsletter-msg {
    display: none;
    margin-top: 12px;
    font-family: var(--font-body);
    font-size: 14px;
}

/* ---------------------------------------------------------------------------
   Newsletter Centered
   --------------------------------------------------------------------------- */
.cms-nl-center {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-nl-center--light {
    --cms-nl-center-text: var(--color-text);
    --cms-nl-center-muted: var(--color-text-muted);
    --cms-nl-center-input-bg: var(--color-bg);
    --cms-nl-center-input-border: var(--color-border);
    --cms-nl-center-icon-bg: color-mix(in srgb, var(--color-accent) 10%, transparent);
}

.cms-nl-center--dark {
    --cms-nl-center-text: var(--color-dark-text);
    --cms-nl-center-muted: var(--color-dark-text-muted);
    --cms-nl-center-input-bg: rgba(255,255,255,0.08);
    --cms-nl-center-input-border: rgba(255,255,255,0.15);
    --cms-nl-center-icon-bg: rgba(255,255,255,0.08);
}

.cms-nl-center__inner {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}

.cms-nl-center__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--cms-nl-center-icon-bg);
    color: var(--color-accent);
}

.cms-nl-center__title {
    margin: 0 0 8px;
    color: var(--cms-nl-center-text);
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-nl-center__subtitle {
    margin: 0 0 28px;
    color: var(--cms-nl-center-muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
}

.cms-nl-center__form {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.cms-nl-center__input {
    flex: 1;
    min-width: 220px;
    max-width: 340px;
    padding: 14px 18px;
    border: 1px solid var(--cms-nl-center-input-border);
    border-radius: var(--radius-full, 50px);
    outline: none;
    background: var(--cms-nl-center-input-bg);
    color: var(--cms-nl-center-text);
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.cms-nl-center__input:focus {
    border-color: var(--color-accent);
}

.cms-nl-center__input::placeholder {
    color: var(--cms-nl-center-muted);
}

.cms-nl-center__btn {
    padding: 14px 28px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    transition: background 0.3s ease;
}

.cms-nl-center__btn:hover {
    background: var(--color-accent2);
}

.cms-nl-center__disclaimer {
    margin: 0;
    color: var(--cms-nl-center-muted);
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-nl-center .newsletter-msg {
    display: none;
    margin-top: 12px;
    font-family: var(--font-body);
    font-size: 14px;
}

/* ---------------------------------------------------------------------------
   Newsletter Inline
   --------------------------------------------------------------------------- */
.cms-nl-inline {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-nl-inline--light {
    --cms-nl-inline-text: var(--color-text);
    --cms-nl-inline-muted: var(--color-text-muted);
    --cms-nl-inline-input-bg: var(--color-bg);
    --cms-nl-inline-input-border: var(--color-border);
}

.cms-nl-inline--dark {
    --cms-nl-inline-text: var(--color-dark-text);
    --cms-nl-inline-muted: var(--color-dark-text-muted);
    --cms-nl-inline-input-bg: rgba(255,255,255,0.08);
    --cms-nl-inline-input-border: rgba(255,255,255,0.15);
}

.cms-nl-inline__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-nl-inline__input {
    flex: 1 1 280px;
    min-width: 240px;
    max-width: 400px;
    padding: 14px 18px;
    border: 1px solid var(--cms-nl-inline-input-border);
    border-radius: var(--radius-full, 50px);
    outline: none;
    background: var(--cms-nl-inline-input-bg);
    color: var(--cms-nl-inline-text);
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.cms-nl-inline__input:focus {
    border-color: var(--color-accent);
}

.cms-nl-inline__input::placeholder {
    color: var(--cms-nl-inline-muted);
}

.cms-nl-inline__btn {
    flex: 0 0 auto;
    padding: 14px 28px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    transition: background 0.3s ease;
}

.cms-nl-inline__btn:hover {
    background: var(--color-accent2);
}

.cms-nl-inline .newsletter-msg {
    display: none;
    width: 100%;
    margin-top: 8px;
    text-align: center;
    font-family: var(--font-body);
    font-size: 14px;
}

/* ---------------------------------------------------------------------------
   Stats Cards Grid
   --------------------------------------------------------------------------- */
.cms-stats-cg--light {
    --cms-stats-cg-card-bg: var(--color-bg);
    --cms-stats-cg-card-border: var(--color-border);
    --cms-stats-cg-text: var(--color-text);
    --cms-stats-cg-muted: var(--color-text-muted);
}

.cms-stats-cg--dark {
    --cms-stats-cg-card-bg: rgba(255,255,255,0.05);
    --cms-stats-cg-card-border: rgba(255,255,255,0.08);
    --cms-stats-cg-text: var(--color-dark-text);
    --cms-stats-cg-muted: var(--color-dark-text-muted);
}

.cms-stats-cg__grid {
    display: grid;
    grid-template-columns: repeat(var(--cms-stats-cg-cols, 4), 1fr);
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-stats-cg--cols-1 { --cms-stats-cg-cols: 1; }

.cms-stats-cg--cols-2 { --cms-stats-cg-cols: 2; }

.cms-stats-cg--cols-3 { --cms-stats-cg-cols: 3; }

.cms-stats-cg--cols-4 { --cms-stats-cg-cols: 4; }

.cms-stats-cg__card {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--cms-stats-cg-card-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-stats-cg-card-bg);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-stats-cg__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-stats-cg__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border-radius: var(--radius, 8px);
    background: var(--color-accent);
    color: #fff;
    font-size: 24px;
    opacity: 0.9;
}

.cms-stats-cg__value {
    margin: 0 0 8px;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 700;
    line-height: 1.1;
}

.cms-stats-cg__label {
    margin: 0;
    color: var(--cms-stats-cg-text);
    font-family: var(--font-body);
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 600;
}

.cms-stats-cg__desc {
    margin: 6px 0 0;
    color: var(--cms-stats-cg-muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.4;
}

/* ---------------------------------------------------------------------------
   Team Featured
   --------------------------------------------------------------------------- */
.cms-team-feat {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-team-feat--light {
    --cms-team-feat-text: var(--color-text);
    --cms-team-feat-muted: var(--color-text-muted);
}

.cms-team-feat--dark {
    --cms-team-feat-text: var(--color-dark-text);
    --cms-team-feat-muted: var(--color-dark-text-muted);
}

.cms-team-feat__container {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 5vw, 64px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-team-feat__member {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: clamp(24px, 4vw, 48px);
    align-items: start;
}

.cms-team-feat__avatar {
    width: 200px;
    height: 200px;
    flex-shrink: 0;
}

.cms-team-feat__avatar .cms-person-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.cms-team-feat__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-team-feat__info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cms-team-feat__name {
    margin: 0;
    color: var(--cms-team-feat-text);
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    line-height: 1.2;
}

.cms-team-feat__role {
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-team-feat__bio {
    margin: 0;
    color: var(--cms-team-feat-muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
}

.cms-team-feat__social {
    display: flex;
    gap: 12px;
    margin-top: 4px;
}

.cms-team-feat__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    color: var(--color-accent);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.cms-team-feat__social a:hover {
    background: var(--color-accent);
    color: #fff;
}

/* ---------------------------------------------------------------------------
   Team Circles
   --------------------------------------------------------------------------- */
.cms-team-circ {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-team-circ--light {
    --cms-team-circ-text: var(--color-text);
}

.cms-team-circ--dark {
    --cms-team-circ-text: var(--color-dark-text);
}

.cms-team-circ__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: clamp(24px, 3vw, 40px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-team-circ__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    text-decoration: none;
}

.cms-team-circ__avatar {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.cms-team-circ__item:hover .cms-team-circ__avatar {
    transform: scale(1.05);
}

.cms-team-circ__avatar .cms-person-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.cms-team-circ__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-team-circ__name {
    margin: 0;
    color: var(--cms-team-circ-text);
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.cms-team-circ__role {
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
}

/* ---------------------------------------------------------------------------
   Team Carousel
   --------------------------------------------------------------------------- */
.cms-team-car--light {
    --cms-team-car-bg: var(--color-bg);
    --cms-team-car-border: var(--color-border);
    --cms-team-car-text: var(--color-text);
    --cms-team-car-muted: var(--color-text-muted);
}

.cms-team-car--dark {
    --cms-team-car-bg: rgba(255,255,255,0.05);
    --cms-team-car-border: rgba(255,255,255,0.08);
    --cms-team-car-text: var(--color-dark-text);
    --cms-team-car-muted: var(--color-dark-text-muted);
}

.cms-team-car__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    height: 100%;
    box-sizing: border-box;
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid var(--cms-team-car-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-team-car-bg);
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-team-car__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-team-car__avatar {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
}

.cms-team-car__avatar .cms-person-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.cms-team-car__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-team-car__name {
    margin: 0;
    color: var(--cms-team-car-text);
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.cms-team-car__role {
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
}

.cms-team-car__bio {
    margin: 0;
    color: var(--cms-team-car-muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------------------------------------------------------
   Content Cards Editorial Grid
   --------------------------------------------------------------------------- */
.cms-cc-edgrid {
    width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-cc-edgrid--light {
    --cms-cc-edgrid-bg: var(--color-bg);
    --cms-cc-edgrid-border: var(--color-border);
    --cms-cc-edgrid-text: var(--color-text);
    --cms-cc-edgrid-muted: var(--color-text-muted);
}

.cms-cc-edgrid--dark {
    --cms-cc-edgrid-bg: rgba(255,255,255,0.05);
    --cms-cc-edgrid-border: rgba(255,255,255,0.08);
    --cms-cc-edgrid-text: var(--color-dark-text);
    --cms-cc-edgrid-muted: var(--color-dark-text-muted);
}

.cms-cc-edgrid__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-cc-edgrid__card {
    display: block;
    overflow: hidden;
    border: 1px solid var(--cms-cc-edgrid-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cc-edgrid-bg);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cc-edgrid__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-cc-edgrid__img-wrap {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 3 / 4;
}

.cms-cc-edgrid__img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cms-cc-edgrid__card:hover .cms-cc-edgrid__img-wrap img {
    transform: scale(1.05);
}

.cms-cc-edgrid__body {
    padding: clamp(16px, 2vw, 24px);
}

.cms-cc-edgrid__title {
    margin: 0 0 8px;
    color: var(--cms-cc-edgrid-text);
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.cms-cc-edgrid__card:hover .cms-cc-edgrid__title {
    color: var(--color-accent);
}

.cms-cc-edgrid__desc {
    margin: 0;
    color: var(--cms-cc-edgrid-muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------------------------------------------------------
   Content Cards Carousel
   --------------------------------------------------------------------------- */
.cms-cc-car--light {
    --cms-cc-car-bg: var(--color-bg);
    --cms-cc-car-border: var(--color-border);
    --cms-cc-car-text: var(--color-text);
    --cms-cc-car-muted: var(--color-text-muted);
}

.cms-cc-car--dark {
    --cms-cc-car-bg: rgba(255,255,255,0.05);
    --cms-cc-car-border: rgba(255,255,255,0.08);
    --cms-cc-car-text: var(--color-dark-text);
    --cms-cc-car-muted: var(--color-dark-text-muted);
}

.cms-cc-car__card {
    display: block;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid var(--cms-cc-car-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cc-car-bg);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cc-car__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.cms-cc-car__img-wrap {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 3 / 4;
}

.cms-cc-car__img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cms-cc-car__card:hover .cms-cc-car__img-wrap img {
    transform: scale(1.05);
}

.cms-cc-car__body {
    padding: clamp(12px, 1.5vw, 20px);
}

.cms-cc-car__title {
    margin: 0 0 6px;
    color: var(--cms-cc-car-text);
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.cms-cc-car__card:hover .cms-cc-car__title {
    color: var(--color-accent);
}

.cms-cc-car__desc {
    margin: 0;
    color: var(--cms-cc-car-muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ---------------------------------------------------------------------------
   Banner CTA Card
   --------------------------------------------------------------------------- */
.cms-bcta-card {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 80px 20px;
    background-color: var(--color-bg-alt);
    overflow: hidden;
}

.cms-bcta-card--bg-dark { --cms-bcta-card-surface: var(--color-dark-bg); }

.cms-bcta-card--bg-accent { --cms-bcta-card-surface: var(--color-accent); }

.cms-bcta-card--bg-accent2 { --cms-bcta-card-surface: var(--color-accent2); }

.cms-bcta-card--bg-accent3 { --cms-bcta-card-surface: var(--color-accent-soft, var(--color-accent)); }

.cms-bcta-card--bg-accent4 { --cms-bcta-card-surface: var(--color-accent2-soft, var(--color-accent2)); }

.cms-bcta-card--backdrop {
    background-color: var(--color-dark-bg);
}

.cms-bcta-card__backdrop-img,
.cms-bcta-card__inner-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-bcta-card__backdrop-img {
    opacity: .85;
}

.cms-bcta-card__inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 700px;
    padding: 48px 40px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    background-color: var(--cms-bcta-card-surface, var(--color-dark-bg));
    text-align: center;
    transition: transform 0.3s ease;
}

.cms-bcta-card__inner--image {
    background-color: var(--color-dark-bg);
}

.cms-bcta-card__inner--image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.55);
}

.cms-bcta-card__inner--image > *:not(.cms-bcta-card__inner-img) {
    position: relative;
    z-index: 2;
}

.cms-bcta-card__inner:hover {
    transform: translateY(-4px);
}

.cms-bcta-card__title {
    margin: 0 0 12px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    line-height: 1.25;
}

.cms-bcta-card__subtitle {
    max-width: 560px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    line-height: 1.6;
}

.cms-bcta-card__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* ---------------------------------------------------------------------------
   Banner CTA Minimal
   --------------------------------------------------------------------------- */
.cms-bcta-min {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: clamp(48px, 6vw, 80px) 24px;
    background: var(--cms-bcta-min-bg, var(--color-dark-bg));
}

.cms-bcta-min--bg-dark,
.cms-bcta-split--bg-dark .cms-bcta-split__text,
.cms-bcta-overlay--bg-dark,
.cms-bcta-imgbar--bg-dark .cms-bcta-imgbar__bar { --cms-bcta-min-bg: var(--color-dark-bg); background-color: var(--color-dark-bg); }

.cms-bcta-min--bg-accent,
.cms-bcta-split--bg-accent .cms-bcta-split__text,
.cms-bcta-overlay--bg-accent,
.cms-bcta-imgbar--bg-accent .cms-bcta-imgbar__bar { --cms-bcta-min-bg: var(--color-accent); background-color: var(--color-accent); }

.cms-bcta-min--bg-accent2,
.cms-bcta-split--bg-accent2 .cms-bcta-split__text,
.cms-bcta-overlay--bg-accent2,
.cms-bcta-imgbar--bg-accent2 .cms-bcta-imgbar__bar { --cms-bcta-min-bg: var(--color-accent2); background-color: var(--color-accent2); }

.cms-bcta-min--bg-accent3,
.cms-bcta-split--bg-accent3 .cms-bcta-split__text,
.cms-bcta-overlay--bg-accent3,
.cms-bcta-imgbar--bg-accent3 .cms-bcta-imgbar__bar { --cms-bcta-min-bg: var(--color-accent-soft, var(--color-accent)); background-color: var(--color-accent-soft, var(--color-accent)); }

.cms-bcta-min--bg-accent4,
.cms-bcta-split--bg-accent4 .cms-bcta-split__text,
.cms-bcta-overlay--bg-accent4,
.cms-bcta-imgbar--bg-accent4 .cms-bcta-imgbar__bar { --cms-bcta-min-bg: var(--color-accent2-soft, var(--color-accent2)); background-color: var(--color-accent2-soft, var(--color-accent2)); }

.cms-bcta-min__pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 1;
    background-image: var(--cms-bcta-min-pattern-image);
    background-repeat: repeat;
}

.cms-bcta-min--pattern-dots .cms-bcta-min__pattern {
    background-image: radial-gradient(circle, rgba(255,255,255,.5) 1px, transparent 1.5px);
    background-size: 20px 20px;
}

.cms-bcta-min--pattern-grid .cms-bcta-min__pattern {
    background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: .35;
}

.cms-bcta-min--pattern-diagonal .cms-bcta-min__pattern {
    background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.18) 0 1px, transparent 1px 16px);
}

.cms-bcta-min--pattern-waves .cms-bcta-min__pattern {
    background-image: radial-gradient(ellipse at center, rgba(255,255,255,.24) 0 1px, transparent 1px);
    background-size: 80px 24px;
}

.cms-bcta-min__pattern--noise {
    opacity: 0.03;
    background-size: 256px 256px;
}

.cms-bcta-min__blob {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border-radius: 999px;
    background: var(--color-accent);
    filter: blur(clamp(40px, 7vw, 96px));
    opacity: 0.08;
}

.cms-bcta-min__blob--soft {
    background: rgba(255, 255, 255, 0.1);
}

.cms-bcta-min__blob--one {
    top: -15%;
    left: -5%;
    width: clamp(150px, 30vw, 350px);
    height: clamp(150px, 30vw, 350px);
}

.cms-bcta-min__blob--two {
    right: -8%;
    bottom: -20%;
    width: clamp(120px, 25vw, 300px);
    height: clamp(120px, 25vw, 300px);
    opacity: 0.06;
}

.cms-bcta-min__inner {
    position: relative;
    z-index: 1;
    max-width: var(--container);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.cms-bcta-min--center .cms-bcta-min__inner {
    align-items: center;
    text-align: center;
}

.cms-bcta-min__title {
    max-width: 650px;
    margin: 0 0 14px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(22px, 3.5vw, 36px);
    font-weight: 600;
    line-height: 1.2;
}

.cms-bcta-min__subtitle {
    max-width: 550px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-body);
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.6;
}

.cms-bcta-min__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px;
}

.cms-bcta-min--center .cms-bcta-min__actions {
    justify-content: center;
}

/* ---------------------------------------------------------------------------
   Banner CTA Split
   --------------------------------------------------------------------------- */
.cms-bcta-split {
    display: flex;
    width: 100%;
    min-height: clamp(300px, 40vh, 450px);
    overflow: hidden;
}

.cms-bcta-split__text,
.cms-bcta-split__image {
    flex: 1 1 50%;
}

.cms-bcta-split__text {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(40px, 6vw, 80px) clamp(24px, 4vw, 60px);
    background: var(--cms-bcta-split-bg, var(--color-dark-bg));
}

.cms-bcta-split__content {
    width: 100%;
    max-width: 480px;
}

.cms-bcta-split__title {
    margin: 0 0 14px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(22px, 3.5vw, 36px);
    font-weight: 600;
    line-height: 1.2;
}

.cms-bcta-split__subtitle {
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-body);
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.6;
}

.cms-bcta-split__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cms-bcta-split__image {
    min-height: 300px;
    overflow: hidden;
}

.cms-bcta-split__image-el,
.cms-bcta-overlay__bg-img,
.cms-bcta-imgbar__image-el {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------------------------------------------------------------------------
   Banner CTA Overlay
   --------------------------------------------------------------------------- */
.cms-bcta-overlay {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(300px, 45vh, 500px);
    overflow: hidden;
    background: var(--cms-bcta-overlay-bg, var(--color-dark-bg));
}

.cms-bcta-overlay__video,
.cms-bcta-overlay__bg,
.cms-bcta-overlay__scrim {
    position: absolute;
    inset: 0;
}

.cms-bcta-overlay__video {
    z-index: 1;
    overflow: hidden;
}

.cms-bcta-overlay__placeholder {
    position: absolute;
    inset: 0;
    background: rgba(12, 17, 24, 0.24);
}

.cms-bcta-overlay__video-el {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

.cms-bcta-overlay__bg {
    z-index: 1;
    overflow: hidden;
}

.cms-bcta-overlay__bg--behind-video {
    z-index: 0;
}

.cms-bcta-overlay__scrim {
    z-index: 2;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0.25) 100%);
}

.cms-bcta-overlay__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: var(--container);
    padding: 60px 24px;
    text-align: left;
}

.cms-bcta-overlay--center .cms-bcta-overlay__content {
    align-items: center;
    text-align: center;
}

.cms-bcta-overlay__title {
    max-width: 700px;
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(24px, 4vw, 40px);
    font-weight: 600;
    line-height: 1.2;
}

.cms-bcta-overlay__subtitle {
    max-width: 600px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--font-body);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.6;
}

.cms-bcta-overlay__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 16px;
}

.cms-bcta-overlay--center .cms-bcta-overlay__actions {
    justify-content: center;
}

/* ---------------------------------------------------------------------------
   Banner CTA Image Bar
   --------------------------------------------------------------------------- */
.cms-bcta-imgbar {
    position: relative;
    overflow: hidden;
}

.cms-bcta-imgbar__image {
    width: 100%;
    height: clamp(250px, 50vh, 500px);
    overflow: hidden;
}

.cms-bcta-imgbar__bar {
    width: 100%;
    padding: 32px 0;
    background: var(--cms-bcta-imgbar-bg, var(--color-dark-bg));
}

.cms-bcta-imgbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: clamp(20px, 3vw, 40px);
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-bcta-imgbar__content {
    flex: 1 1 60%;
    min-width: 0;
}

.cms-bcta-imgbar__title {
    margin: 0;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 600;
    line-height: 1.25;
}

.cms-bcta-imgbar__subtitle {
    max-width: 500px;
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-body);
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1.6;
}

.cms-bcta-imgbar__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* ---------------------------------------------------------------------------
   Newsletter Split Image
   --------------------------------------------------------------------------- */
.cms-nl-split {
    width: 100%;
    padding: 0 24px;
}

.cms-nl-split__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: center;
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-nl-split__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-nl-split__subtitle {
    margin: 0 0 24px;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
}

.cms-nl-split__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}

.cms-nl-split__row {
    display: flex;
    gap: 10px;
}

.cms-nl-split__input {
    flex: 1;
    padding: 14px 18px;
    border-radius: var(--radius-full, 50px);
    outline: none;
    transition: border-color 0.3s ease;
    font-family: var(--font-body);
    font-size: 15px;
}

.cms-nl-split__input:focus {
    border-color: var(--color-accent);
}

.cms-nl-split__btn {
    padding: 14px 28px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.3s ease;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-nl-split__btn:hover {
    background: var(--color-accent2);
}

.cms-nl-split__disclaimer,
.cms-nl-split .newsletter-msg {
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-nl-split .newsletter-msg {
    display: none;
    margin-top: 8px;
}

.cms-nl-split--light .cms-nl-split__title { color: var(--color-text); }

.cms-nl-split--light .cms-nl-split__subtitle,
.cms-nl-split--light .cms-nl-split__disclaimer,
.cms-nl-split--light .cms-nl-split__input::placeholder { color: var(--color-text-muted); }

.cms-nl-split--light .cms-nl-split__input {
    color: var(--color-text);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
}

.cms-nl-split--dark .cms-nl-split__title { color: var(--color-dark-text); }

.cms-nl-split--dark .cms-nl-split__subtitle,
.cms-nl-split--dark .cms-nl-split__disclaimer,
.cms-nl-split--dark .cms-nl-split__input::placeholder { color: var(--color-dark-text-muted); }

.cms-nl-split--dark .cms-nl-split__input {
    color: var(--color-dark-text);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

/* ---------------------------------------------------------------------------
   Stats Counter Animate
   --------------------------------------------------------------------------- */
.cms-stats-ca {
    width: 100%;
}

.cms-stats-ca__grid {
    display: grid;
    grid-template-columns: repeat(var(--cms-stats-ca-cols, 4), minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-stats-ca--cols-1 { --cms-stats-ca-cols: 1; }

.cms-stats-ca--cols-2 { --cms-stats-ca-cols: 2; }

.cms-stats-ca--cols-3 { --cms-stats-ca-cols: 3; }

.cms-stats-ca--cols-4 { --cms-stats-ca-cols: 4; }

.cms-stats-ca__card {
    padding: clamp(24px, 3vw, 36px);
    border-radius: var(--radius-lg, 12px);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-stats-ca__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.cms-stats-ca__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border-radius: var(--radius, 8px);
    background: var(--color-accent);
    color: #fff;
    font-size: 24px;
    opacity: 0.9;
}

.cms-stats-ca__value {
    margin: 0 0 8px;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 700;
    line-height: 1.1;
}

.cms-stats-ca__label {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 600;
}

.cms-stats-ca__desc {
    margin: 6px 0 0;
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.4;
}

.cms-stats-ca--light .cms-stats-ca__card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
}

.cms-stats-ca--light .cms-stats-ca__label { color: var(--color-text); }

.cms-stats-ca--light .cms-stats-ca__desc { color: var(--color-text-muted); }

.cms-stats-ca--dark .cms-stats-ca__card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.cms-stats-ca--dark .cms-stats-ca__label { color: var(--color-dark-text); }

.cms-stats-ca--dark .cms-stats-ca__desc { color: var(--color-dark-text-muted); }

/* ---------------------------------------------------------------------------
   Stats Bento
   --------------------------------------------------------------------------- */
.cms-stats-bento__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(160px, auto);
    grid-auto-flow: dense;
    gap: clamp(12px, 1.5vw, 20px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.cms-stats-bento__card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: clamp(24px, 3vw, 36px);
    border-radius: var(--radius-lg, 12px);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.cms-stats-bento__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover, 0 8px 30px rgba(0, 0, 0, 0.12));
}

.cms-stats-bento__card--col2 { grid-column: span 2; }

.cms-stats-bento__card--row2 { grid-row: span 2; }

.cms-stats-bento__card--accent { border-left: 3px solid var(--color-accent); }

.cms-stats-bento__card--stat { text-align: center; }

.cms-stats-bento__value {
    margin: 0 0 6px;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.1;
}

.cms-stats-bento__label {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-family: var(--font-body);
    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 500;
}

.cms-stats-bento__desc {
    margin: 6px 0 0;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
}

.cms-stats-bento__card--stat-accent {
    background: var(--color-accent) !important;
    border-color: transparent !important;
}

.cms-stats-bento__card--stat-accent .cms-stats-bento__value { color: #fff; }

.cms-stats-bento__card--stat-accent .cms-stats-bento__label { color: rgba(255, 255, 255, 0.8) !important; }

.cms-stats-bento__card--stat-accent .cms-stats-bento__desc { color: rgba(255, 255, 255, 0.7) !important; }

.cms-stats-bento__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-bottom: 14px;
    border-radius: var(--radius, 8px);
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    font-size: 20px;
    line-height: 1;
}

.cms-stats-bento__title {
    margin: 0 0 8px;
    font-family: var(--font-heading);
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 600;
    line-height: 1.3;
}

.cms-stats-bento__text-desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
}

.cms-stats-bento__card--image {
    min-height: 200px;
    padding: 0;
    background: transparent !important;
    border: none !important;
}

.cms-stats-bento__card--image .cms-img-deco,
.cms-stats-bento__card--image .bento__img-bare {
    position: absolute;
    inset: 0;
}

.cms-stats-bento__card--image .cms-img-deco img,
.cms-stats-bento__card--image .bento__img-bare img {
    border-radius: var(--radius-lg, 12px);
    transition: transform 0.5s ease;
}

.cms-stats-bento__card--image:hover img {
    transform: scale(1.05);
}

.cms-stats-bento__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(16px, 2vw, 28px);
    border-radius: var(--radius-lg, 12px);
    background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.7) 100%);
}

.cms-stats-bento__overlay .cms-stats-bento__title {
    margin-bottom: 4px;
    color: #fff;
}

.cms-stats-bento__overlay .cms-stats-bento__text-desc {
    color: rgba(255, 255, 255, 0.8) !important;
}

.cms-stats-bento__quote-mark {
    margin: 0 0 8px;
    color: var(--color-accent);
    opacity: 0.3;
    font-family: var(--font-heading);
    font-size: 48px;
    line-height: 1;
}

.cms-stats-bento__quote-text {
    margin: 0 0 12px;
    font-family: var(--font-body);
    font-size: clamp(14px, 1.3vw, 16px);
    font-style: italic;
    line-height: 1.6;
}

.cms-stats-bento__quote-author {
    margin: 0;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
}

.cms-stats-bento--light .cms-stats-bento__card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
}

.cms-stats-bento--light .cms-stats-bento__card:hover {
    border-color: color-mix(in srgb, var(--color-accent) 30%, transparent);
}

.cms-stats-bento--light .cms-stats-bento__title,
.cms-stats-bento--light .cms-stats-bento__quote-text { color: var(--color-text); }

.cms-stats-bento--light .cms-stats-bento__label,
.cms-stats-bento--light .cms-stats-bento__desc,
.cms-stats-bento--light .cms-stats-bento__text-desc,
.cms-stats-bento--light .cms-stats-bento__quote-author { color: var(--color-text-muted); }

.cms-stats-bento--dark .cms-stats-bento__card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.cms-stats-bento--dark .cms-stats-bento__card:hover {
    border-color: rgba(255, 255, 255, 0.15);
}

.cms-stats-bento--dark .cms-stats-bento__title,
.cms-stats-bento--dark .cms-stats-bento__quote-text { color: var(--color-dark-text); }

.cms-stats-bento--dark .cms-stats-bento__label,
.cms-stats-bento--dark .cms-stats-bento__desc,
.cms-stats-bento--dark .cms-stats-bento__text-desc,
.cms-stats-bento--dark .cms-stats-bento__quote-author { color: var(--color-dark-text-muted); }

/* ---------------------------------------------------------------------------
   Footer Minimal
   --------------------------------------------------------------------------- */
.cms-ftr-min {
    border-top: 1px solid var(--cms-ftr-min-border);
    background: var(--cms-ftr-min-bg);
    color: var(--cms-ftr-min-text);
    font-family: var(--font-body);
}

.cms-ftr-min--light {
    --cms-ftr-min-bg: var(--color-bg);
    --cms-ftr-min-text: var(--color-text);
    --cms-ftr-min-muted: var(--color-text-muted);
    --cms-ftr-min-border: var(--color-border);
}

.cms-ftr-min--dark {
    --cms-ftr-min-bg: var(--color-dark-bg);
    --cms-ftr-min-text: var(--color-dark-text);
    --cms-ftr-min-muted: var(--color-dark-text-muted);
    --cms-ftr-min-border: rgba(255,255,255,0.08);
}

.cms-ftr-min__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    max-width: var(--container);
    margin: 0 auto;
    padding: 24px;
}

.cms-ftr-min__brand,
.cms-ftr-min__legal,
.cms-ftr-min__social {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.cms-ftr-min__logo { height: 43px; width: auto; }

.cms-ftr-min__brand-text { font-family: var(--font-heading); font-size: 16px; font-weight: 700; }

.cms-ftr-min__copyright,
.cms-ftr-min__link,
.cms-ftr-min__social-link {
    color: var(--cms-ftr-min-muted);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-min__copyright,
.cms-ftr-min__link { font-size: 13px; }

.cms-ftr-min__link:hover,
.cms-ftr-min__social-link:hover { color: var(--color-accent); }

.cms-ftr-min__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
}

/* ---------------------------------------------------------------------------
   Footer Centered
   --------------------------------------------------------------------------- */
.cms-ftr-ctr {
    padding: 64px 24px 32px;
    font-family: var(--font-body);
    text-align: center;
    background: var(--cms-ftr-ctr-bg);
    color: var(--cms-ftr-ctr-text);
}

.cms-ftr-ctr--light {
    --cms-ftr-ctr-bg: var(--color-bg);
    --cms-ftr-ctr-text: var(--color-text);
    --cms-ftr-ctr-muted: var(--color-text-muted);
    --cms-ftr-ctr-border: var(--color-border);
}

.cms-ftr-ctr--dark {
    --cms-ftr-ctr-bg: var(--color-dark-bg);
    --cms-ftr-ctr-text: var(--color-dark-text);
    --cms-ftr-ctr-muted: var(--color-dark-text-muted);
    --cms-ftr-ctr-border: rgba(255,255,255,0.08);
}

.cms-ftr-ctr__inner { max-width: 640px; margin: 0 auto; }

.cms-ftr-ctr__logo { height: 43px; width: auto; margin-bottom: 20px; }

.cms-ftr-ctr__brand { margin-bottom: 20px; font-family: var(--font-heading); font-size: 24px; font-weight: 700; }

.cms-ftr-ctr__desc { margin: 0 0 32px; color: var(--cms-ftr-ctr-muted); font-size: 15px; line-height: 1.7; }

.cms-ftr-ctr__nav,
.cms-ftr-ctr__social,
.cms-ftr-ctr__legal {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.cms-ftr-ctr__nav { gap: 8px 24px; margin-bottom: 32px; }

.cms-ftr-ctr__social { gap: 12px; margin-bottom: 32px; }

.cms-ftr-ctr__legal { gap: 20px; margin-bottom: 12px; }

.cms-ftr-ctr__nav-link,
.cms-ftr-ctr__legal-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.cms-ftr-ctr__nav-link { font-size: 14px; font-weight: 500; }

.cms-ftr-ctr__legal-link,
.cms-ftr-ctr__copyright { font-size: 13px; color: var(--cms-ftr-ctr-muted); }

.cms-ftr-ctr__nav-link:hover,
.cms-ftr-ctr__legal-link:hover,
.cms-ftr-ctr__social-link:hover { color: var(--color-accent); border-color: var(--color-accent); }

.cms-ftr-ctr__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    border: 1px solid var(--cms-ftr-ctr-border);
    color: var(--cms-ftr-ctr-muted);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-ctr__divider { border-top: 1px solid var(--cms-ftr-ctr-border); margin-bottom: 24px; }

/* ---------------------------------------------------------------------------
   Footer Columns 3
   --------------------------------------------------------------------------- */
.cms-ftr-col3 {
    padding-top: 56px;
    font-family: var(--font-body);
    background: var(--cms-ftr-col3-bg);
    color: var(--cms-ftr-col3-text);
}

.cms-ftr-col3--light {
    --cms-ftr-col3-bg: var(--color-bg);
    --cms-ftr-col3-text: var(--color-text);
    --cms-ftr-col3-muted: var(--color-text-muted);
    --cms-ftr-col3-border: var(--color-border);
}

.cms-ftr-col3--dark {
    --cms-ftr-col3-bg: var(--color-dark-bg);
    --cms-ftr-col3-text: var(--color-dark-text);
    --cms-ftr-col3-muted: var(--color-dark-text-muted);
    --cms-ftr-col3-border: rgba(255,255,255,0.08);
}

.cms-ftr-col3__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 40px;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px 40px;
}

.cms-ftr-col3__logo { height: 43px; width: auto; margin-bottom: 14px; }

.cms-ftr-col3__brand-text { margin-bottom: 14px; font-family: var(--font-heading); font-size: 20px; font-weight: 700; }

.cms-ftr-col3__desc { margin: 0; color: var(--cms-ftr-col3-muted); font-size: 14px; line-height: 1.7; }

.cms-ftr-col3__heading {
    margin: 0 0 20px;
    color: var(--cms-ftr-col3-text);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cms-ftr-col3__list { list-style: none; margin: 0; padding: 0; }

.cms-ftr-col3__item { margin-bottom: 10px; }

.cms-ftr-col3__link,
.cms-ftr-col3__text,
.cms-ftr-col3__legal-link,
.cms-ftr-col3__copyright {
    color: var(--cms-ftr-col3-muted);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-col3__text { line-height: 1.6; }

.cms-ftr-col3__legal-link,
.cms-ftr-col3__copyright { font-size: 13px; }

.cms-ftr-col3__link:hover,
.cms-ftr-col3__legal-link:hover,
.cms-ftr-col3__social-link:hover { color: var(--color-accent); border-color: var(--color-accent); }

.cms-ftr-col3__social {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.cms-ftr-col3__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-full);
    border: 1px solid var(--cms-ftr-col3-border);
    color: var(--cms-ftr-col3-muted);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-col3__divider-wrap { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

.cms-ftr-col3__divider { border-top: 1px solid var(--cms-ftr-col3-border); }

.cms-ftr-col3__bottom { max-width: var(--container); margin: 0 auto; padding: 24px; text-align: center; }

.cms-ftr-col3__legal { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; margin-bottom: 12px; }

/* ---------------------------------------------------------------------------
   Header Minimal
   --------------------------------------------------------------------------- */
.cms-hdr-min {
    z-index: 50;
    background: var(--cms-hdr-min-bg, var(--color-bg));
    color: var(--cms-hdr-min-text, var(--color-text));
    transition: background 0.3s, box-shadow 0.3s, border-color 0.3s;
    border-bottom: var(--cms-hdr-min-border, transparent);
}

.cms-hdr-min--light {
    --cms-hdr-min-bg: var(--color-bg);
    --cms-hdr-min-text: var(--color-text);
    --cms-hdr-min-link: var(--color-text-muted);
    --cms-hdr-min-border: 1px solid var(--color-border);
}

.cms-hdr-min--dark {
    --cms-hdr-min-bg: var(--color-dark-bg);
    --cms-hdr-min-text: #fff;
    --cms-hdr-min-link: rgba(255,255,255,.7);
    --cms-hdr-min-border: 1px solid rgba(255,255,255,.08);
}

.cms-hdr-min--transparent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    --cms-hdr-min-bg: transparent;
    --cms-hdr-min-text: #fff;
    --cms-hdr-min-link: rgba(255,255,255,.85);
    --cms-hdr-min-border: transparent;
}

.cms-hdr-min--shell {
    border-radius: inherit;
    background: inherit;
    border: inherit;
    box-shadow: inherit;
}

.cms-hdr-min--contained {
    width: calc(100% - 32px);
    max-width: var(--container);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: none;
}

.cms-hdr-min--contained.cms-hdr-min--transparent,
.cms-hdr-min--contained.cms-hdr-min--light,
.cms-hdr-min--contained.cms-hdr-min--dark {
    left: 50%;
    transform: translateX(-50%);
}

.cms-hdr-min--bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.cms-hdr-min--bottom.cms-hdr-min--contained {
    bottom: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-hdr-min__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container);
    height: 60px;
    margin: 0 auto;
    padding: 0 24px;
}

.cms-hdr-min__inner--full {
    max-width: 100%;
}

.cms-hdr-min__logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

.cms-hdr-min__logo-img {
    width: auto;
    height: 43px;
}

.cms-hdr-min__logo-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
}

.cms-hdr-min__logo-text {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
}

.cms-hdr-min__burger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: none;
    background: none;
    cursor: pointer;
    color: inherit;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* ---------------------------------------------------------------------------
   Header Minimal Split Overlays
   --------------------------------------------------------------------------- */
.cms-hdr-min-split {
    position: fixed;
    inset: 0;
    z-index: 9980;
    overflow-x: hidden;
    overflow-y: auto;
    background: rgba(15, 15, 20, 0.97);
}

.cms-hdr-min-split__close {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 9981;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    background: none;
    color: rgba(255,255,255,0.7);
    cursor: pointer;
    transition: color 0.2s;
}

.cms-hdr-min-split__close:hover {
    color: #fff;
}

.cms-hdr-min-split__layout {
    display: flex;
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
}

.cms-hdr-min-split__layout--2col {
    align-items: center;
}

.cms-hdr-min-split__layout--3col {
    align-items: stretch;
}

.cms-hdr-min-split__image-col {
    width: 25%;
    overflow: hidden;
}

.cms-hdr-min-split__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
}

.cms-hdr-min-split__nav-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 48px;
}

.cms-hdr-min-split__nav-col--wide {
    width: 55%;
    min-width: 0;
    box-sizing: border-box;
    padding-left: 64px;
}

.cms-hdr-min-split__layout--3col .cms-hdr-min-split__nav-col {
    width: 40%;
}

.cms-hdr-min-split__meta-col {
    width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    padding: 60px 48px;
    border-left: 1px solid rgba(255,255,255,0.06);
}

.cms-hdr-min-split__meta-col--narrow {
    width: 45%;
    min-width: 0;
    box-sizing: border-box;
}

.cms-hdr-min-split__nav {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cms-hdr-min-split__toggle,
.cms-hdr-min-split__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 0;
    border: none;
    background: none;
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    text-align: left;
    text-decoration: none;
    transition: color 0.2s;
    font-family: var(--font-heading);
    font-size: clamp(24px, 4vw, 40px);
    font-weight: 500;
    line-height: 1.3;
}

.cms-hdr-min-split__toggle:hover,
.cms-hdr-min-split__link:hover,
.cms-hdr-min-split__toggle.is-active,
.cms-hdr-min-split__link.is-active {
    color: var(--color-accent);
}

.cms-hdr-min-split__chevron {
    transition: transform 0.3s;
}

.cms-hdr-min-split__chevron.is-open {
    transform: rotate(180deg);
}

.cms-hdr-min-split__children {
    padding: 8px 0 0 8px;
}

.cms-hdr-min-split__child-link {
    display: block;
    padding: 6px 0;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s;
    font-family: var(--font-body);
    font-size: 16px;
}

.cms-hdr-min-split__child-link:hover {
    color: var(--color-accent);
}

.cms-hdr-min-split__brand-logo {
    width: auto;
    max-width: 100%;
    height: 48px;
    opacity: 0.9;
}

.cms-hdr-min-split__brand-fallback {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cms-hdr-min-split__brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 700;
}

.cms-hdr-min-split__brand-name {
    color: rgba(255,255,255,0.9);
    font-family: var(--font-heading);
    font-size: 1.6rem;
    font-weight: 700;
}

.cms-hdr-min-split__meta-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-hdr-min-split__meta-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.2s;
}

.cms-hdr-min-split__meta-link:hover {
    color: var(--color-accent);
}

.cms-hdr-min-split__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 14px 36px;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-hdr-min-split__cta:hover {
    opacity: 0.85;
}

/* ---------------------------------------------------------------------------
   Footer Columns 4
   --------------------------------------------------------------------------- */
.cms-ftr-col4 {
    padding-top: 64px;
    overflow-x: hidden;
    font-family: var(--font-body);
    background: var(--cms-ftr-col4-bg);
    color: var(--cms-ftr-col4-text);
}

.cms-ftr-col4--light {
    --cms-ftr-col4-bg: var(--color-bg);
    --cms-ftr-col4-text: var(--color-text);
    --cms-ftr-col4-muted: var(--color-text-muted);
    --cms-ftr-col4-border: var(--color-border);
}

.cms-ftr-col4--dark {
    --cms-ftr-col4-bg: var(--color-dark-bg);
    --cms-ftr-col4-text: var(--color-dark-text);
    --cms-ftr-col4-muted: var(--color-dark-text-muted);
    --cms-ftr-col4-border: rgba(255,255,255,0.08);
}

.cms-ftr-col4__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 48px;
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px 48px;
    box-sizing: border-box;
}

.cms-ftr-col4__logo { height: 43px; width: auto; max-width: 100%; margin-bottom: 16px; }

.cms-ftr-col4__brand-text { margin-bottom: 16px; font-family: var(--font-heading); font-size: 22px; font-weight: 700; }

.cms-ftr-col4__desc { margin: 0 0 24px; color: var(--cms-ftr-col4-muted); font-size: 14px; line-height: 1.7; }

.cms-ftr-col4__social { display: flex; gap: 12px; }

.cms-ftr-col4__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    border: 1px solid var(--cms-ftr-col4-border);
    color: var(--cms-ftr-col4-muted);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-col4__social-link:hover,
.cms-ftr-col4__link:hover,
.cms-ftr-col4__legal-link:hover { color: var(--color-accent); border-color: var(--color-accent); }

.cms-ftr-col4__heading {
    margin: 0 0 20px;
    color: var(--cms-ftr-col4-text);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cms-ftr-col4__list { list-style: none; margin: 0; padding: 0; }

.cms-ftr-col4__item { margin-bottom: 12px; }

.cms-ftr-col4__link,
.cms-ftr-col4__text,
.cms-ftr-col4__legal-link,
.cms-ftr-col4__copyright {
    color: var(--cms-ftr-col4-muted);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s;
}

.cms-ftr-col4__link--break { overflow-wrap: anywhere; }

.cms-ftr-col4__text { line-height: 1.6; }

.cms-ftr-col4__legal-link,
.cms-ftr-col4__copyright { font-size: 13px; }

.cms-ftr-col4__divider-wrap {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

.cms-ftr-col4__divider { border-top: 1px solid var(--cms-ftr-col4-border); }

.cms-ftr-col4__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 24px;
    box-sizing: border-box;
}

.cms-ftr-col4__legal { display: flex; gap: 24px; flex-wrap: wrap; }

/* ---------------------------------------------------------------------------
   Post Layout Sidebar
   --------------------------------------------------------------------------- */
.cms-post-sb-breadcrumb {
    padding-top: clamp(80px, 10vw, 120px);
    padding-bottom: 16px;
    background: var(--color-bg-alt);
}

.cms-post-sb-breadcrumb__inner,
.cms-post-sb-layout {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-sb-breadcrumb__nav {
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-post-sb-breadcrumb__link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.cms-post-sb-breadcrumb__link:hover {
    color: var(--color-accent);
}

.cms-post-sb-breadcrumb__sep { margin: 0 8px; }

.cms-post-sb-shell {
    padding: clamp(24px, 3vw, 40px) 0 var(--spacing-section);
    background: var(--color-bg-alt);
}

.cms-post-sb-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
}

.cms-post-sb__header {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.cms-post-sb__category {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 14px;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    color: var(--color-accent);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cms-post-sb__title {
    margin: 0 0 16px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    font-weight: 700;
    line-height: 1.2;
}

.cms-post-sb__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-post-sb__author-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-post-sb__author-name {
    color: var(--color-text);
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 600;
}

.cms-post-sb__author-name:hover {
    color: var(--color-accent);
}

.cms-post-sb__figure {
    margin: 0 0 clamp(24px, 3vw, 40px);
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.cms-post-sb__figure-img {
    display: block;
    width: 100%;
    height: auto;
}

.cms-post-sb__author-box {
    margin-top: clamp(32px, 4vw, 56px);
}

.cms-post-sb__sidebar-inner {
    position: sticky;
    top: calc(var(--header-sticky-offset, 96px) + 14px);
}

.cms-post-sb__sidebar-block {
    margin-bottom: 24px;
}

.cms-post-sb__related {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
}

.cms-post-sb__related-title {
    margin: 0 0 12px;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-post-sb__newsletter {
    padding: 24px;
    border-radius: var(--radius-lg);
    background: var(--color-accent);
    text-align: center;
}

.cms-post-sb__newsletter-title {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
}

.cms-post-sb__newsletter-subtitle {
    margin: 0 0 16px;
    color: rgba(255,255,255,0.8);
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-post-sb__newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cms-post-sb__newsletter-input {
    padding: 10px 14px;
    border: none;
    border-radius: var(--radius);
    background: rgba(255,255,255,0.95);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-post-sb__newsletter-btn {
    padding: 10px 14px;
    border: none;
    border-radius: var(--radius);
    background: var(--color-text);
    color: #fff;
    cursor: pointer;
    transition: opacity 0.2s;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
}

.cms-post-sb__newsletter-btn:hover {
    opacity: 0.85;
}

/* ---------------------------------------------------------------------------
   Post Layout Magazine
   --------------------------------------------------------------------------- */
.cms-post-mag-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    min-height: clamp(400px, 60vh, 700px);
}

.cms-post-mag-hero__img,
.cms-post-mag-hero__overlay {
    position: absolute;
    inset: 0;
}

.cms-post-mag-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-post-mag-hero__overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
}

.cms-post-mag-hero__content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 48px);
}

.cms-post-mag__category {
    display: inline-block;
    margin-bottom: 16px;
    padding: 5px 14px;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cms-post-mag__title {
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
}

.cms-post-mag__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    color: rgba(255,255,255,0.8);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-post-mag__author-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.3);
    object-fit: cover;
}

.cms-post-mag__author-name {
    font-weight: 600;
    text-decoration: none;
}

.cms-post-mag__author-name--light {
    color: #fff;
}

.cms-post-mag-body {
    padding: clamp(32px, 5vw, 64px) 0 var(--spacing-section);
    background: var(--color-bg);
}

.cms-post-mag-body__inner,
.cms-post-mag-related__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-mag-body__inner {
    max-width: 700px;
}

.cms-post-mag-body .article-content > p:first-of-type::first-letter {
    float: left;
    padding-top: 6px;
    padding-right: 12px;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(3rem, 5vw, 4.5rem);
    font-weight: 700;
    line-height: 0.8;
}

.cms-post-mag-body .article-content blockquote {
    margin: clamp(24px, 3vw, 48px) 0;
    padding: 20px 28px;
    border-left: 4px solid var(--color-accent);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: color-mix(in srgb, var(--color-accent) 4%, transparent);
}

.cms-post-mag-body .article-content blockquote p {
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    font-style: italic;
    line-height: 1.5;
}

.cms-post-mag__share {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: clamp(32px, 4vw, 56px);
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
}

.cms-post-mag__share-label {
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-post-mag__share-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--color-bg-alt);
    color: var(--color-text-muted);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.cms-post-mag__share-link:hover {
    background: var(--color-accent);
    color: #fff;
}

.cms-post-mag__author-box {
    margin-top: clamp(32px, 4vw, 48px);
}

.cms-post-mag-related {
    padding: var(--spacing-section) 0;
    border-top: 1px solid var(--color-border);
    background: var(--color-bg-alt);
}

.cms-post-mag-related__title {
    margin: 0 0 clamp(24px, 3vw, 40px);
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 700;
}

.cms-post-mag-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

/* ---------------------------------------------------------------------------
   Post Layout Cocon
   --------------------------------------------------------------------------- */
.cms-post-cocon-hero {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    min-height: clamp(280px, 40vh, 420px);
    background: var(--cms-post-cocon-hero-bg, var(--color-accent));
}

.cms-post-cocon-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.24;
}

.cms-post-cocon-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, color-mix(in srgb, var(--cms-post-cocon-hero-bg, var(--color-accent)) 82%, #08110b 18%) 0%, color-mix(in srgb, var(--cms-post-cocon-hero-bg, var(--color-accent)) 62%, #08110b 38%) 100%);
    opacity: 0.9;
}

.cms-post-cocon-hero__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(60px, 8vw, 100px) 24px;
}

.cms-post-cocon-hero__breadcrumb {
    margin-bottom: 16px;
    color: rgba(255,255,255,0.6);
    font-family: var(--font-body);
    font-size: 13px;
}

.cms-post-cocon-hero__breadcrumb-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.cms-post-cocon-hero__breadcrumb-link:hover {
    color: #fff;
}

.cms-post-cocon-hero__sep { margin: 0 8px; }

.cms-post-cocon-hero__title {
    max-width: 800px;
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
}

.cms-post-cocon-hero__excerpt {
    max-width: 640px;
    margin: 0;
    color: rgba(255,255,255,0.75);
    font-family: var(--font-body);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.6;
}

.cms-post-cocon-hero__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    color: rgba(255,255,255,0.7);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-post-cocon-hero__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.2);
    object-fit: cover;
}

.cms-post-cocon-hero__author {
    color: #fff;
    font-weight: 600;
}

.cms-post-cocon-toc-wrap {
    padding: clamp(32px, 4vw, 56px) 0;
    background: var(--color-bg-alt);
}

.cms-post-cocon-toc-wrap__inner,
.cms-post-cocon-related-topics__inner,
.cms-post-cocon-body__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-cocon-body {
    padding: var(--spacing-section) 0;
    background: var(--color-bg);
}

.cms-post-cocon-body__inner {
    max-width: 800px;
}

.cms-post-cocon-body .article-content .callout,
.cms-post-cocon-body .article-content .fact-box {
    margin: clamp(20px, 3vw, 36px) 0;
    padding: 20px 24px;
    border-left: 4px solid var(--color-accent);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
}

.cms-post-cocon-related-topics {
    padding: clamp(20px, 3vw, 36px) 0 clamp(24px, 4vw, 48px);
    background: var(--color-bg);
}

.cms-post-cocon-related-topics__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 clamp(18px, 2.5vw, 28px);
}

.cms-post-cocon-related-topics__eyebrow {
    margin: 0 0 8px;
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-post-cocon-related-topics__title {
    margin: 0 0 6px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 700;
    line-height: 1.15;
}

.cms-post-cocon-related-topics__subtitle {
    max-width: 760px;
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
}

.cms-post-cocon-related-topics__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.cms-post-cocon-cta {
    padding: clamp(40px, 5vw, 72px) 0;
    background: var(--color-accent);
}

.cms-post-cocon-cta__inner {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.cms-post-cocon-cta__title {
    margin: 0 0 12px;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 700;
}

.cms-post-cocon-cta__subtitle {
    margin: 0 0 24px;
    color: rgba(255,255,255,0.85);
    font-family: var(--font-body);
    font-size: 15px;
}

.cms-post-cocon-cta__link {
    display: inline-block;
    padding: 12px 32px;
    border-radius: var(--radius-full);
    background: #fff;
    color: var(--color-accent);
    text-decoration: none;
    transition: opacity 0.2s;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-post-cocon-cta__link:hover {
    opacity: 0.9;
}

@media (max-width: 767px) {
    .cms-header-topbar { display: none !important; }
}

@media (max-width: 1100px) {
    .cms-header-std__nav { display: none; }
    .cms-header-std__burger { display: inline-flex; }
}

@media (max-width: 1024px) {
    .cms-fg-imgtop__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .cms-cs-grid__wrap { grid-template-columns: repeat(2, 1fr); }
    .cms-bl-grid__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-bl-ff__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-bl-fg__top { grid-template-columns: 1fr; }
    .cms-bl-fg__side { flex-direction: row; }
    .cms-bl-fg__rest { grid-template-columns: repeat(2, 1fr); }
    .cms-cb--layout-4-col .cms-cb__grid,
    .cms-cb--layout-dashboard .cms-cb__grid,
    .cms-cb--layout-balanced-5 .cms-cb__grid,
    .cms-cb--layout-editorial-band .cms-cb__grid,
    .cms-cb--layout-offset-showcase .cms-cb__grid,
    .cms-cb--layout-featured-left .cms-cb__grid,
    .cms-cb--layout-featured-right .cms-cb__grid,
    .cms-cb--layout-mosaic-wide .cms-cb__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: none !important;
    }
}

@media (max-width: 600px) {
    .cms-cs-grid__wrap { grid-template-columns: 1fr; max-width: 480px; }
    .cms-bl-grid__grid { grid-template-columns: 1fr; }
    .cms-bl-ff__grid { grid-template-columns: 1fr; max-width: 480px; }
    .cms-cc-edgrid__grid { grid-template-columns: 1fr; max-width: 400px; }
    .cms-nl-inline__inner { align-items: stretch; }
    .cms-nl-inline__input { flex-basis: 100%; max-width: 100%; }
    .cms-nl-inline__btn { width: 100%; justify-content: center; }
    .cms-stats-cg__grid { grid-template-columns: 1fr; }
    .cms-stats-ca__grid { grid-template-columns: 1fr; }
    .cms-stats-bento__grid { grid-template-columns: 1fr; }
    .cms-stats-bento__card--col2 { grid-column: span 1; }
    .cms-post-mag-related__grid { grid-template-columns: 1fr; }
    .cms-post-cocon-related-topics__grid { grid-template-columns: 1fr; }
    .cms-ftr-min__row { flex-direction: column; text-align: center; }
    .cms-ftr-col3__grid { grid-template-columns: 1fr; gap: 28px; }
    .cms-hdr-min { top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; max-width: 100% !important; transform: none !important; border-radius: 0 !important; }
    .cms-hdr-min__inner { height: 54px; padding: 0 18px; }
    .cms-hdr-min__logo-img { max-height: 34px; width: auto; }
    .cms-hdr-min__burger { gap: 8px; font-size: 12px; letter-spacing: 1.2px; }
    .cms-hdr-min-split__nav-col--wide,
    .cms-hdr-min-split__layout--3col .cms-hdr-min-split__nav-col { width: 100%; box-sizing: border-box; padding: 80px 24px 40px; }
    .cms-hdr-min-split__meta-col,
    .cms-hdr-min-split__image-col { display: none; }
    .cms-ftr-col4__grid { grid-template-columns: 1fr; gap: 32px; padding: 0 18px 40px; }
    .cms-ftr-col4__bottom { flex-direction: column; text-align: center; padding: 24px 18px; }
    .cms-post-sb-layout { grid-template-columns: 1fr; }
    .cms-post-sb__sidebar-inner { position: static; }
    .cms-post-mag-related__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-post-cocon-related-topics__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-bl-fg__top,
    .cms-bl-fg__rest,
    .cms-bl-fg__bottom { padding-left: 0px; padding-right: 0; }
    .cms-bl-fg__side { flex-direction: column; }
    .cms-bl-fg__side-item article > *:first-child { flex: 0 0 auto; aspect-ratio: 16 / 10 !important; }
    .cms-bl-fg__side-item article > *:last-child { padding: 16px 18px !important; }
    .cms-bl-fg__side-item :is(h2, h3, h4, h5, h6),
    .cms-bl-fg__side-item :is(h2, h3, h4, h5, h6) a { font-size: 16px !important; }
    .cms-bl-fg__rest { grid-template-columns: 1fr; }
    .cms-cb__grid {
        grid-template-columns: 1fr;
    }
}

/* Comparison */
.cms-cmp-cl {
    --cms-cmp-cl-template: 1.5fr minmax(0, 1fr) minmax(0, 1fr);
    --cms-cmp-cl-text: var(--color-text);
    --cms-cmp-cl-muted: var(--color-text-muted);
    --cms-cmp-cl-row-bg: var(--color-bg-alt, #f9fafb);
    --cms-cmp-cl-row-hover: rgba(0,0,0,0.02);
    --cms-cmp-cl-card-bg: var(--color-bg);
    --cms-cmp-cl-border: var(--color-border);
    --cms-cmp-cl-hl-bg: color-mix(in srgb, var(--color-accent) 8%, var(--color-bg));
    --cms-cmp-cl-hl-border: color-mix(in srgb, var(--color-accent) 30%, transparent);
    --cms-cmp-cl-hl-cell-bg: color-mix(in srgb, var(--color-accent) 4%, transparent);
}

.cms-cmp-cl--cols-1 { --cms-cmp-cl-template: 1.5fr minmax(0,1fr); }

.cms-cmp-cl--cols-2 { --cms-cmp-cl-template: 1.5fr minmax(0,1fr) minmax(0,1fr); }

.cms-cmp-cl--cols-3 { --cms-cmp-cl-template: 1.5fr minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }

.cms-cmp-cl--cols-4 { --cms-cmp-cl-template: 1.5fr minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }

.cms-cmp-cl--dark {
    --cms-cmp-cl-text: var(--color-dark-text);
    --cms-cmp-cl-muted: var(--color-dark-text-muted);
    --cms-cmp-cl-row-bg: rgba(255,255,255,0.03);
    --cms-cmp-cl-row-hover: rgba(255,255,255,0.06);
    --cms-cmp-cl-card-bg: rgba(255,255,255,0.05);
    --cms-cmp-cl-border: rgba(255,255,255,0.08);
    --cms-cmp-cl-hl-bg: rgba(255,255,255,0.08);
}

.cms-cmp-cl__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
}

.cms-cmp-cl__header,
.cms-cmp-cl__row {
    display: grid;
    grid-template-columns: var(--cms-cmp-cl-template);
    gap: 0;
}

.cms-cmp-cl__header {
    margin-bottom: 4px;
}

.cms-cmp-cl__header-label {
    padding: 16px;
}

.cms-cmp-cl__header-option {
    margin: 0 2px;
    padding: 20px 16px;
    text-align: center;
    background: var(--cms-cmp-cl-card-bg);
    border: 1px solid var(--cms-cmp-cl-border);
    border-radius: var(--radius, 8px) var(--radius, 8px) 0 0;
}

.cms-cmp-cl__header-option--hl {
    background: var(--cms-cmp-cl-hl-bg);
    border-color: var(--cms-cmp-cl-hl-border);
    border-bottom: 2px solid var(--color-accent);
}

.cms-cmp-cl__option-title {
    margin: 0;
    color: var(--cms-cmp-cl-text);
    font-family: var(--font-heading);
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
}

.cms-cmp-cl__option-badge {
    display: inline-block;
    margin-bottom: 8px;
    padding: 2px 10px;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-cmp-cl__row {
    border-bottom: 1px solid var(--cms-cmp-cl-border);
    transition: background 0.2s ease;
}

.cms-cmp-cl__row:nth-child(even) {
    background: var(--cms-cmp-cl-row-bg);
}

.cms-cmp-cl__row:hover {
    background: var(--cms-cmp-cl-row-hover);
}

.cms-cmp-cl__feature,
.cms-cmp-cl__cell {
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cms-cmp-cl-text);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-cmp-cl__feature {
    justify-content: flex-start;
    font-weight: 500;
}

.cms-cmp-cl__cell--hl {
    background: var(--cms-cmp-cl-hl-cell-bg);
}

.cms-cmp-cl__check {
    color: var(--color-accent);
    font-size: 18px;
    font-weight: 700;
}

.cms-cmp-cl__cross {
    color: var(--cms-cmp-cl-muted);
    opacity: 0.4;
    font-size: 18px;
}

.cms-cmp-ca {
    --cms-cmp-ca-columns: 2;
    --cms-cmp-ca-text: var(--color-text);
    --cms-cmp-ca-muted: var(--color-text-muted);
    --cms-cmp-ca-card-bg: var(--color-bg);
    --cms-cmp-ca-border: var(--color-border);
}

.cms-cmp-ca--cols-1 { --cms-cmp-ca-columns: 1; }

.cms-cmp-ca--cols-2 { --cms-cmp-ca-columns: 2; }

.cms-cmp-ca--cols-3 { --cms-cmp-ca-columns: 3; }

.cms-cmp-ca--dark {
    --cms-cmp-ca-text: var(--color-dark-text);
    --cms-cmp-ca-muted: var(--color-dark-text-muted);
    --cms-cmp-ca-card-bg: rgba(255,255,255,0.05);
    --cms-cmp-ca-border: rgba(255,255,255,0.08);
}

.cms-cmp-ca__grid {
    display: grid;
    grid-template-columns: repeat(var(--cms-cmp-ca-columns), minmax(0, 1fr));
    gap: 24px;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    align-items: start;
}

.cms-cmp-ca__card {
    --cms-cmp-ca-accent: var(--color-accent);
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--cms-cmp-ca-border);
    border-left: 5px solid var(--cms-cmp-ca-accent);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cmp-ca-card-bg);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cmp-ca__card--accent-2 { --cms-cmp-ca-accent: var(--color-accent2, #6c5ce7); }

.cms-cmp-ca__card--accent-3 { --cms-cmp-ca-accent: var(--color-accent3, var(--color-accent)); }

.cms-cmp-ca__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover, 0 8px 24px rgba(0,0,0,0.1));
}

.cms-cmp-ca__title {
    margin: 0 0 10px;
    color: var(--cms-cmp-ca-text);
    font-family: var(--font-heading);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-cmp-ca__desc {
    margin: 0 0 16px;
    color: var(--cms-cmp-ca-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
}

.cms-cmp-ca__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cms-cmp-ca__list li {
    position: relative;
    padding: 5px 0 5px 22px;
    color: var(--cms-cmp-ca-text);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
}

.cms-cmp-ca__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cms-cmp-ca-accent);
    opacity: 0.7;
}

.cms-cmp-ca__badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 12px;
    border-radius: var(--radius-sm, 4px);
    color: var(--cms-cmp-ca-accent);
    background: color-mix(in srgb, var(--cms-cmp-ca-accent) 10%, transparent);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-cmp-tbl {
    --cms-cmp-tbl-text: var(--color-text);
    --cms-cmp-tbl-muted: var(--color-text-muted);
    --cms-cmp-tbl-bg: var(--color-bg);
    --cms-cmp-tbl-header-bg: var(--color-bg-alt, #f8f9fa);
    --cms-cmp-tbl-border: var(--color-border);
    --cms-cmp-tbl-hl-bg: color-mix(in srgb, var(--color-accent) 4%, transparent);
    --cms-cmp-tbl-check: var(--color-accent);
    --cms-cmp-tbl-cross: var(--color-text-muted);
    --cms-cmp-tbl-hover: rgba(0,0,0,0.015);
    --cms-cmp-tbl-hover-hl: color-mix(in srgb, var(--color-accent) 7%, transparent);
    --cms-cmp-tbl-min-width: 620px;
}

.cms-cmp-tbl--cols-1 { --cms-cmp-tbl-min-width: 340px; }

.cms-cmp-tbl--cols-2 { --cms-cmp-tbl-min-width: 480px; }

.cms-cmp-tbl--cols-3 { --cms-cmp-tbl-min-width: 620px; }

.cms-cmp-tbl--cols-4 { --cms-cmp-tbl-min-width: 760px; }

.cms-cmp-tbl--cols-5 { --cms-cmp-tbl-min-width: 900px; }

.cms-cmp-tbl--dark {
    --cms-cmp-tbl-text: var(--color-dark-text);
    --cms-cmp-tbl-muted: var(--color-dark-text-muted);
    --cms-cmp-tbl-bg: rgba(255,255,255,0.03);
    --cms-cmp-tbl-header-bg: rgba(255,255,255,0.06);
    --cms-cmp-tbl-border: rgba(255,255,255,0.08);
    --cms-cmp-tbl-hl-bg: rgba(255,255,255,0.05);
    --cms-cmp-tbl-cross: rgba(255,255,255,0.25);
    --cms-cmp-tbl-hover: rgba(255,255,255,0.03);
    --cms-cmp-tbl-hover-hl: rgba(255,255,255,0.07);
}

.cms-cmp-tbl__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cms-cmp-tbl__table {
    width: 100%;
    min-width: var(--cms-cmp-tbl-min-width);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--cms-cmp-tbl-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cmp-tbl-bg);
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-cmp-tbl__table thead th {
    padding: 18px 16px;
    background: var(--cms-cmp-tbl-header-bg);
    border-bottom: 2px solid var(--cms-cmp-tbl-border);
    color: var(--cms-cmp-tbl-text);
    text-align: center;
    vertical-align: bottom;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
}

.cms-cmp-tbl__table thead th:first-child {
    min-width: 180px;
    text-align: left;
}

.cms-cmp-tbl__hl {
    background: var(--cms-cmp-tbl-hl-bg);
}

.cms-cmp-tbl__badge {
    display: inline-block;
    margin-bottom: 6px;
    padding: 3px 10px;
    border-radius: var(--radius-sm, 4px);
    background: var(--color-accent);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-cmp-tbl__table tbody td,
.cms-cmp-tbl__table tfoot td {
    padding: 12px 16px;
    color: var(--cms-cmp-tbl-text);
    text-align: center;
    vertical-align: middle;
    line-height: 1.5;
}

.cms-cmp-tbl__table tbody td {
    border-bottom: 1px solid var(--cms-cmp-tbl-border);
}

.cms-cmp-tbl__table tbody td:first-child,
.cms-cmp-tbl__table tfoot td:first-child {
    text-align: left;
}

.cms-cmp-tbl__table tbody td:first-child {
    color: var(--cms-cmp-tbl-muted);
    font-weight: 500;
}

.cms-cmp-tbl__table tbody tr:last-child td {
    border-bottom: none;
}

.cms-cmp-tbl__table tbody tr:hover td {
    background: var(--cms-cmp-tbl-hover);
}

.cms-cmp-tbl__table tbody tr:hover .cms-cmp-tbl__hl {
    background: var(--cms-cmp-tbl-hover-hl);
}

.cms-cmp-tbl__check {
    color: var(--cms-cmp-tbl-check);
    font-size: 16px;
    font-weight: 700;
}

.cms-cmp-tbl__cross {
    color: var(--cms-cmp-tbl-cross);
    font-size: 16px;
}

.cms-cmp-tbl__table tfoot td {
    padding: 16px;
    border-top: 2px solid var(--cms-cmp-tbl-border);
    font-family: var(--font-heading);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
}

.cms-cmp-tbl__table tfoot td:first-child {
    color: var(--cms-cmp-tbl-muted);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
}

.cms-cmp-sbs {
    --cms-cmp-sbs-columns: 2;
    --cms-cmp-sbs-text: var(--color-text);
    --cms-cmp-sbs-muted: var(--color-text-muted);
    --cms-cmp-sbs-card-bg: var(--color-bg);
    --cms-cmp-sbs-border: var(--color-border);
    --cms-cmp-sbs-check: var(--color-accent);
    --cms-cmp-sbs-cross: var(--color-text-muted);
}

.cms-cmp-sbs--cols-1 { --cms-cmp-sbs-columns: 1; }

.cms-cmp-sbs--cols-2 { --cms-cmp-sbs-columns: 2; }

.cms-cmp-sbs--cols-3 { --cms-cmp-sbs-columns: 3; }

.cms-cmp-sbs--dark {
    --cms-cmp-sbs-text: var(--color-dark-text);
    --cms-cmp-sbs-muted: var(--color-dark-text-muted);
    --cms-cmp-sbs-card-bg: rgba(255,255,255,0.05);
    --cms-cmp-sbs-border: rgba(255,255,255,0.08);
    --cms-cmp-sbs-cross: rgba(255,255,255,0.3);
}

.cms-cmp-sbs__grid {
    display: grid;
    grid-template-columns: repeat(var(--cms-cmp-sbs-columns), minmax(0, 1fr));
    gap: 24px;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    align-items: start;
}

.cms-cmp-sbs__card {
    --cms-cmp-sbs-accent: var(--color-accent);
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--cms-cmp-sbs-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--cms-cmp-sbs-card-bg);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cmp-sbs__card--accent-2 { --cms-cmp-sbs-accent: var(--color-accent2, #6c5ce7); }

.cms-cmp-sbs__card--accent-3 { --cms-cmp-sbs-accent: var(--color-accent3, var(--color-accent)); }

.cms-cmp-sbs__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--cms-cmp-sbs-accent);
}

.cms-cmp-sbs__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover, 0 8px 24px rgba(0,0,0,0.1));
}

.cms-cmp-sbs__card--highlight {
    transform: translateY(-4px);
    border-color: var(--cms-cmp-sbs-accent);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.cms-cmp-sbs__card--highlight::before {
    height: 6px;
}

.cms-cmp-sbs__badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 12px;
    border-radius: var(--radius-sm, 4px);
    background: var(--cms-cmp-sbs-accent);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cms-cmp-sbs__title {
    margin: 0 0 16px;
    color: var(--cms-cmp-sbs-text);
    font-family: var(--font-heading);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-cmp-sbs__list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.cms-cmp-sbs__item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 0;
    color: var(--cms-cmp-sbs-text);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
}

.cms-cmp-sbs__item::before {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.cms-cmp-sbs__item--check::before {
    content: '✓';
    color: var(--cms-cmp-sbs-check);
}

.cms-cmp-sbs__item--cross::before {
    content: '✗';
    color: var(--cms-cmp-sbs-cross);
}

.cms-cmp-sbs__price {
    margin: 0 0 20px;
    color: var(--cms-cmp-sbs-text);
    font-family: var(--font-heading);
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 700;
    line-height: 1.2;
}

.cms-cmp-vs {
    --cms-cmp-vs-text: var(--color-text);
    --cms-cmp-vs-muted: var(--color-text-muted);
    --cms-cmp-vs-card-bg: var(--color-bg);
    --cms-cmp-vs-card-border: var(--color-border);
}

.cms-cmp-vs--dark {
    --cms-cmp-vs-text: var(--color-dark-text);
    --cms-cmp-vs-muted: var(--color-dark-text-muted);
    --cms-cmp-vs-card-bg: rgba(255,255,255,0.05);
    --cms-cmp-vs-card-border: rgba(255,255,255,0.08);
}

.cms-cmp-vs__wrap {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
}

.cms-cmp-vs__card {
    --cms-cmp-vs-accent: var(--color-accent);
    position: relative;
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    padding: clamp(28px, 3.5vw, 44px);
    border: 1px solid var(--cms-cmp-vs-card-border);
    background: var(--cms-cmp-vs-card-bg);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cms-cmp-vs__card--accent-2 { --cms-cmp-vs-accent: var(--color-accent2, #6c5ce7); }

.cms-cmp-vs__card:first-child {
    border-right: none;
    border-radius: var(--radius-lg, 12px) 0 0 var(--radius-lg, 12px);
}

.cms-cmp-vs__card:last-child {
    border-left: none;
    border-radius: 0 var(--radius-lg, 12px) var(--radius-lg, 12px) 0;
}

.cms-cmp-vs__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover, 0 8px 24px rgba(0,0,0,0.1));
    z-index: 2;
}

.cms-cmp-vs__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--cms-cmp-vs-accent);
    border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;
}

.cms-cmp-vs__card:first-child::before {
    border-radius: var(--radius-lg, 12px) 0 0 0;
}

.cms-cmp-vs__card:last-child::before {
    border-radius: 0 var(--radius-lg, 12px) 0 0;
}

.cms-cmp-vs__badge {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
}

.cms-cmp-vs__title {
    margin: 0 0 12px;
    color: var(--cms-cmp-vs-text);
    font-family: var(--font-heading);
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    line-height: 1.2;
}

.cms-cmp-vs__desc {
    margin: 0 0 20px;
    color: var(--cms-cmp-vs-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
}

.cms-cmp-vs__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cms-cmp-vs__list li {
    position: relative;
    padding: 6px 0 6px 24px;
    color: var(--cms-cmp-vs-text);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
}

.cms-cmp-vs__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--cms-cmp-vs-accent);
    font-weight: 700;
}

@media (max-width: 1024px) {
    .cms-cmp-sbs__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .cms-cmp-cl__header,
    .cms-cmp-cl__row {
        grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr));
    }
    .cms-cmp-cl__feature,
    .cms-cmp-cl__cell {
        padding: 10px 8px;
        font-size: 13px;
    }
    .cms-cmp-ca__grid,
    .cms-cmp-sbs__grid {
        grid-template-columns: 1fr;
        max-width: 520px;
    }
    .cms-cmp-tbl__wrap {
        margin: 0 -20px;
        padding: 0 20px;
    }
    .cms-cmp-vs__wrap {
        flex-direction: column;
    }
    .cms-cmp-vs__card:first-child {
        border-right: 1px solid var(--cms-cmp-vs-card-border);
        border-bottom: none;
        border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;
    }
    .cms-cmp-vs__card:last-child {
        border-left: 1px solid var(--cms-cmp-vs-card-border);
        border-radius: 0 0 var(--radius-lg, 12px) var(--radius-lg, 12px);
    }
}

/* Text Block */
.cms-tb-co {
    --cms-tb-co-text: var(--color-text);
    --cms-tb-co-muted: var(--color-text-muted);
    --cms-tb-co-callout-bg: var(--color-bg-alt, #f8f8f7);
    --cms-tb-co-callout-border: var(--color-border);
    width: 100%;
    padding: clamp(40px, 5vw, 72px) 24px;
}

.cms-tb-co--dark {
    --cms-tb-co-text: var(--color-dark-text);
    --cms-tb-co-muted: var(--color-dark-text-muted);
    --cms-tb-co-callout-bg: rgba(255,255,255,0.05);
    --cms-tb-co-callout-border: rgba(255,255,255,0.08);
}

.cms-tb-co__container { max-width: var(--container, 1200px); margin: 0 auto; }

.cms-tb-co__title { margin: 0 0 clamp(16px, 2vw, 24px); color: var(--cms-tb-co-text); font-family: var(--font-heading); font-size: clamp(24px, 3vw, 36px); font-weight: 700; line-height: 1.2; }

.cms-tb-co__grid { display: grid; grid-template-columns: 1fr 360px; gap: clamp(24px, 4vw, 48px); align-items: start; }

.cms-tb-co__content { color: var(--cms-tb-co-muted); font-family: var(--font-body); font-size: clamp(15px, 1.3vw, 17px); line-height: 1.8; }

.cms-tb-co__content p { margin: 0 0 1em; }

.cms-tb-co__content p:last-child { margin-bottom: 0; }

.cms-tb-co__content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }

.cms-tb-co__content :is(h2,h3,h4) { margin: 1.5em 0 0.5em; color: var(--cms-tb-co-text); font-family: var(--font-heading); line-height: 1.3; }

.cms-tb-co__content :is(ul,ol) { margin: 0.5em 0 1em; padding-left: 1.5em; }

.cms-tb-co__callout { position: sticky; top: 100px; padding: clamp(20px, 2.5vw, 28px); border: 1px solid var(--cms-tb-co-callout-border); border-left: 4px solid var(--color-accent); border-radius: var(--radius-lg, 12px); background: var(--cms-tb-co-callout-bg); }

.cms-tb-co__callout-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin-bottom:12px; border-radius:50%; background:color-mix(in srgb, var(--color-accent) 12%, transparent); }

.cms-tb-co__callout-icon svg { width:18px; height:18px; color: var(--color-accent); }

.cms-tb-co__callout-text { margin:0; color: var(--cms-tb-co-text); font-family: var(--font-body); font-size: 15px; line-height: 1.7; }

.cms-tb-co__callout-text p { margin:0 0 0.8em; }

.cms-tb-co__callout-text p:last-child { margin-bottom:0; }

.cms-tb-center {
    --cms-tb-center-text: var(--color-text);
    --cms-tb-center-muted: var(--color-text-muted);
    --cms-tb-center-quote: var(--color-text-muted);
    width: 100%;
    padding: clamp(40px, 5vw, 72px) 24px;
}

.cms-tb-center--dark {
    --cms-tb-center-text: var(--color-dark-text);
    --cms-tb-center-muted: var(--color-dark-text-muted);
    --cms-tb-center-quote: rgba(255,255,255,0.7);
}

.cms-tb-center__container { max-width: 800px; margin: 0 auto; text-align: center; }

.cms-tb-center__title { margin: 0 0 clamp(16px, 2vw, 24px); color: var(--cms-tb-center-text); font-family: var(--font-heading); font-size: clamp(28px, 3.5vw, 42px); font-weight: 700; line-height: 1.2; }

.cms-tb-center__content { color: var(--cms-tb-center-muted); text-align: left; font-family: var(--font-body); font-size: clamp(15px, 1.3vw, 18px); line-height: 1.8; }

.cms-tb-center__content p { margin: 0 0 1em; }

.cms-tb-center__content p:last-child { margin-bottom: 0; }

.cms-tb-center__content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }

.cms-tb-center__content :is(h2,h3,h4) { margin: 1.5em 0 0.5em; color: var(--cms-tb-center-text); font-family: var(--font-heading); line-height: 1.3; }

.cms-tb-center__content :is(ul,ol) { margin: 0.5em 0 1em; padding-left: 1.5em; }

.cms-tb-center__content blockquote { margin: 1em 0; padding-left: 1em; border-left: 3px solid var(--color-accent); color: var(--cms-tb-center-quote); font-style: italic; }

.cms-tb-split {
    --cms-tb-split-text: var(--color-text);
    --cms-tb-split-muted: var(--color-text-muted);
    --cms-tb-split-quote: var(--color-text-muted);
    width: 100%;
    padding: clamp(40px, 5vw, 72px) 24px;
    box-sizing: border-box;
}

.cms-tb-split--dark {
    --cms-tb-split-text: var(--color-dark-text);
    --cms-tb-split-muted: var(--color-dark-text-muted);
    --cms-tb-split-quote: rgba(255,255,255,0.7);
}

.cms-tb-split__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: start; max-width: var(--container, 1200px); margin: 0 auto; }

.cms-tb-split__title { position: sticky; top: 100px; margin: 0; color: var(--cms-tb-split-text); font-family: var(--font-heading); font-size: clamp(32px, 4.5vw, 56px); font-weight: 700; line-height: 1.1; }

.cms-tb-split__content { color: var(--cms-tb-split-muted); font-family: var(--font-body); font-size: clamp(15px, 1.3vw, 17px); line-height: 1.8; }

.cms-tb-split__content p { margin: 0 0 1em; }

.cms-tb-split__content p:last-child { margin-bottom: 0; }

.cms-tb-split__content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }

.cms-tb-split__content :is(h2,h3,h4) { margin: 1.5em 0 0.5em; color: var(--cms-tb-split-text); font-family: var(--font-heading); line-height: 1.3; }

.cms-tb-split__content :is(ul,ol) { margin: 0.5em 0 1em; padding-left: 1.5em; }

.cms-tb-split__content blockquote { margin: 1em 0; padding-left: 1em; border-left: 3px solid var(--color-accent); color: var(--cms-tb-split-quote); font-style: italic; }

/* FAQ */
.cms-faq-ac {
    --cms-faq-ac-text: var(--color-text);
    --cms-faq-ac-muted: var(--color-text-muted);
    --cms-faq-ac-card-bg: var(--color-bg);
    --cms-faq-ac-card-border: var(--color-border);
}

.cms-faq-ac--dark {
    --cms-faq-ac-text: var(--color-dark-text);
    --cms-faq-ac-muted: var(--color-dark-text-muted);
    --cms-faq-ac-card-bg: rgba(255,255,255,0.05);
    --cms-faq-ac-card-border: rgba(255,255,255,0.08);
}

.cms-faq-ac__list { display:flex; flex-direction:column; gap:12px; list-style:none; max-width:var(--container, 1200px); margin:0 auto; padding:0; }

.cms-faq-ac__card { overflow:hidden; border:1px solid var(--cms-faq-ac-card-border); border-radius:var(--radius-lg, 12px); background:var(--cms-faq-ac-card-bg); transition:box-shadow 0.3s ease; }

.cms-faq-ac__card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.06); }

.cms-faq-ac__trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:20px 24px; border:none; background:none; cursor:pointer; text-align:left; color:var(--cms-faq-ac-text); font-family:var(--font-heading); font-size:18px; font-weight:700; line-height:1.4; }

.cms-faq-ac__trigger:hover { color: var(--color-accent); }

.cms-faq-ac__chevron { flex-shrink:0; width:20px; height:20px; color:var(--cms-faq-ac-muted); transition:transform 0.3s ease; }

.cms-faq-ac__chevron.is-open { transform: rotate(180deg); }

.cms-faq-ac__answer { overflow:hidden; padding:0 24px 20px; color:var(--cms-faq-ac-muted); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-faq-ac__answer p { margin:0 0 12px; }

.cms-faq-ac__answer p:last-child { margin-bottom:0; }

.cms-faq-search {
    --cms-faq-search-text: var(--color-text);
    --cms-faq-search-muted: var(--color-text-muted);
    --cms-faq-search-border: var(--color-border);
    --cms-faq-search-input-bg: var(--color-bg);
    --cms-faq-search-input-border: var(--color-border);
}

.cms-faq-search--dark {
    --cms-faq-search-text: var(--color-dark-text);
    --cms-faq-search-muted: var(--color-dark-text-muted);
    --cms-faq-search-border: rgba(255,255,255,0.1);
    --cms-faq-search-input-bg: rgba(255,255,255,0.06);
    --cms-faq-search-input-border: rgba(255,255,255,0.15);
}

.cms-faq-search__inner { max-width: var(--container, 1200px); margin:0 auto; }

.cms-faq-search__bar { position:relative; max-width:560px; margin-bottom:32px; }

.cms-faq-search__icon { position:absolute; left:16px; top:50%; width:18px; height:18px; transform:translateY(-50%); color:var(--cms-faq-search-muted); pointer-events:none; }

.cms-faq-search__input { width:100%; padding:14px 16px 14px 44px; border:1px solid var(--cms-faq-search-input-border); border-radius:var(--radius-lg, 12px); outline:none; background:var(--cms-faq-search-input-bg); color:var(--cms-faq-search-text); font-family:var(--font-body); font-size:15px; transition:border-color 0.3s ease; }

.cms-faq-search__input:focus { border-color: var(--color-accent); }

.cms-faq-search__input::placeholder { color: var(--cms-faq-search-muted); }

.cms-faq-search__list { list-style:none; padding:0; margin:0; }

.cms-faq-search__item { border-bottom:1px solid var(--cms-faq-search-border); transition:opacity 0.3s ease, max-height 0.3s ease; }

.cms-faq-search__item[hidden] { display:none; }

.cms-faq-search__trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:20px 0; border:none; background:none; cursor:pointer; text-align:left; color:var(--cms-faq-search-text); font-family:var(--font-heading); font-size:18px; font-weight:700; line-height:1.4; }

.cms-faq-search__trigger:hover { color: var(--color-accent); }

.cms-faq-search__chevron { flex-shrink:0; width:20px; height:20px; color:var(--cms-faq-search-muted); transition:transform 0.3s ease; }

.cms-faq-search__chevron.is-open { transform: rotate(180deg); }

.cms-faq-search__answer { overflow:hidden; padding-bottom:20px; color:var(--cms-faq-search-muted); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-faq-search__answer p { margin:0 0 12px; }

.cms-faq-search__answer p:last-child { margin-bottom:0; }

.cms-faq-2c {
    --cms-faq-2c-text: var(--color-text);
    --cms-faq-2c-muted: var(--color-text-muted);
    --cms-faq-2c-border: var(--color-border);
}

.cms-faq-2c--dark {
    --cms-faq-2c-text: var(--color-dark-text);
    --cms-faq-2c-muted: var(--color-dark-text-muted);
    --cms-faq-2c-border: rgba(255,255,255,0.1);
}

.cms-faq-2c__grid { display:grid; grid-template-columns:1fr 1fr; gap:32px 48px; max-width:var(--container, 1200px); margin:0 auto; }

.cms-faq-2c__list { list-style:none; padding:0; margin:0; }

.cms-faq-2c__item { border-bottom:1px solid var(--cms-faq-2c-border); }

.cms-faq-2c__trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:18px 0; border:none; background:none; cursor:pointer; text-align:left; color:var(--cms-faq-2c-text); font-family:var(--font-heading); font-size:17px; font-weight:700; line-height:1.4; }

.cms-faq-2c__trigger:hover { color:var(--color-accent); }

.cms-faq-2c__chevron { flex-shrink:0; width:18px; height:18px; color:var(--cms-faq-2c-muted); transition:transform 0.3s ease; }

.cms-faq-2c__chevron.is-open { transform: rotate(180deg); }

.cms-faq-2c__answer { overflow:hidden; padding-bottom:18px; color:var(--cms-faq-2c-muted); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-faq-2c__answer p { margin:0 0 12px; }

.cms-faq-2c__answer p:last-child { margin-bottom:0; }

.cms-faq-grid {
    --cms-faq-grid-text: var(--color-text);
    --cms-faq-grid-muted: var(--color-text-muted);
    --cms-faq-grid-card-bg: var(--color-bg);
    --cms-faq-grid-card-border: var(--color-border);
}

.cms-faq-grid--dark {
    --cms-faq-grid-text: var(--color-dark-text);
    --cms-faq-grid-muted: var(--color-dark-text-muted);
    --cms-faq-grid-card-bg: rgba(255,255,255,0.05);
    --cms-faq-grid-card-border: rgba(255,255,255,0.08);
}

.cms-faq-grid__list { display:grid; grid-template-columns:repeat(2, 1fr); gap:clamp(16px, 2vw, 24px); list-style:none; max-width:var(--container, 1200px); margin:0 auto; padding:0; }

.cms-faq-grid__card { padding:clamp(20px, 3vw, 28px); border:1px solid var(--cms-faq-grid-card-border); border-radius:var(--radius-lg, 12px); background:var(--cms-faq-grid-card-bg); transition:box-shadow 0.3s ease; }

.cms-faq-grid__card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.06); }

.cms-faq-grid__question { margin:0 0 10px; color:var(--cms-faq-grid-text); font-family:var(--font-heading); font-size:17px; font-weight:700; line-height:1.4; }

.cms-faq-grid__answer { color:var(--cms-faq-grid-muted); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-faq-grid__answer p { margin:0 0 10px; }

.cms-faq-grid__answer p:last-child { margin-bottom:0; }

@media (max-width: 768px) {
    .cms-tb-co__grid,
    .cms-faq-2c__grid,
    .cms-faq-grid__list {
        grid-template-columns: 1fr;
    }
    .cms-tb-co__callout,
    .cms-tb-split__title {
        position: static;
    }
    .cms-tb-split {
        padding: clamp(28px, 6vw, 40px) 20px;
    }
    .cms-tb-split__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .cms-tb-split__title {
        font-size: clamp(28px, 7vw, 36px);
    }
}

/* Features Grid */
.cms-fg-c3 {
    --cms-fg-c3-text: var(--color-text);
    --cms-fg-c3-muted: var(--color-text-muted);
    --cms-fg-c3-card-bg: var(--color-bg);
    --cms-fg-c3-card-border: rgba(0,0,0,0.06);
    --cms-fg-c3-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
    --cms-fg-c3-image-aspect: 1 / 1;
}

.cms-fg-c3__grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; }

.cms-fg-c3__card { padding:clamp(24px, 3vw, 36px); border:1px solid var(--cms-fg-c3-card-border); border-radius:var(--radius-lg, 12px); background:var(--cms-fg-c3-card-bg); box-shadow:0 1px 3px rgba(0,0,0,0.06); transition:transform 0.3s ease, box-shadow 0.3s ease; }

.cms-fg-c3__card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,0.1); }

.cms-fg-c3__media { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:16px; overflow:hidden; line-height:1; background:var(--cms-fg-c3-icon-bg); }

.cms-fg-c3__media--icon { border-radius:50%; font-size:20px; }

.cms-fg-c3__media--image { width:100%; height:auto; min-height:0; border-radius:var(--radius, 10px); aspect-ratio:var(--cms-fg-c3-image-aspect); background:transparent; }

.cms-fg-c3__media img { width:100%; height:100%; object-fit:cover; display:block; }

.cms-fg-c3__body { padding:0; }

.cms-fg-c3__title { margin:0 0 8px; color:var(--cms-fg-c3-text); font-family:var(--font-heading); font-size:18px; font-weight:600; line-height:1.3; }

.cms-fg-c3__desc { margin:0; color:var(--cms-fg-c3-muted); font-family:var(--font-body); font-size:15px; line-height:1.6; }

.cms-fg-c3__link { text-decoration:none; color:inherit; }

.cms-fg-c3--media-image .cms-fg-c3__card { padding:0; overflow:hidden; }

.cms-fg-c3--media-image .cms-fg-c3__media--image {
    margin:0;
    border-radius:0;
    width:100%;
}

.cms-fg-c3--media-image .cms-fg-c3__body { padding:clamp(20px, 2.6vw, 28px); }

.cms-fg-alt {
    --cms-fg-alt-text: var(--color-text);
    --cms-fg-alt-muted: var(--color-text-muted);
    --cms-fg-alt-border: var(--color-border);
    --cms-fg-alt-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
    --cms-fg-alt-detail-bg: color-mix(in srgb, var(--color-bg-alt, #f8fafc) 86%, white);
    --cms-fg-alt-image-aspect: 1 / 1;
}

.cms-fg-alt__list { max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; }

.cms-fg-alt__item { padding:clamp(28px, 4vw, 44px) 0; border-bottom:1px solid var(--cms-fg-alt-border); }

.cms-fg-alt__item:last-child { border-bottom:none; }

.cms-fg-alt__row { display:flex; align-items:center; gap:clamp(24px, 4vw, 48px); }

.cms-fg-alt--media-right .cms-fg-alt__row { flex-direction:row-reverse; }

.cms-fg-alt__row--interactive { cursor:pointer; }

.cms-fg-alt__media-col { flex:0 0 auto; }

.cms-fg-alt__icon { display:flex; align-items:center; justify-content:center; width:clamp(56px, 7vw, 72px); height:clamp(56px, 7vw, 72px); border-radius:50%; background:var(--cms-fg-alt-icon-bg); font-size:clamp(24px, 3vw, 32px); line-height:1; overflow:hidden; transition:transform 0.3s ease; }

.cms-fg-alt__image { width:clamp(72px, 10vw, 112px); aspect-ratio:var(--cms-fg-alt-image-aspect); overflow:hidden; border-radius:var(--radius-lg, 14px); background:var(--cms-fg-alt-icon-bg); box-shadow:0 6px 24px rgba(0,0,0,0.08); transition:transform 0.3s ease, box-shadow 0.3s ease; }

.cms-fg-alt__image img { width:100%; height:100%; object-fit:cover; display:block; }

.cms-fg-alt__item:hover .cms-fg-alt__icon, .cms-fg-alt__item:hover .cms-fg-alt__image, .cms-fg-alt__item.is-open .cms-fg-alt__icon, .cms-fg-alt__item.is-open .cms-fg-alt__image { transform:scale(1.04); }

.cms-fg-alt__text { flex:1; min-width:0; }

.cms-fg-alt__title { margin:0 0 8px; color:var(--cms-fg-alt-text); font-family:var(--font-heading); font-size:clamp(18px, 2.2vw, 24px); font-weight:600; line-height:1.3; }

.cms-fg-alt__title a { color:inherit; text-decoration:none; }

.cms-fg-alt__title a:hover { color:var(--color-accent); }

.cms-fg-alt__desc { margin:0; color:var(--cms-fg-alt-muted); font-family:var(--font-body); font-size:clamp(14px, 1.3vw, 16px); line-height:1.65; }

.cms-fg-alt__hint { display:inline-flex; align-items:center; gap:8px; margin-top:12px; color:var(--color-accent); font-size:13px; font-weight:600; }

.cms-fg-alt__hint::after { content:'↗'; font-size:12px; transition:transform 0.25s ease; }

.cms-fg-alt__item.is-open .cms-fg-alt__hint::after, .cms-fg-alt__item:hover .cms-fg-alt__hint::after { transform:translate(2px, -2px); }

.cms-fg-alt__detail { max-height:0; opacity:0; overflow:hidden; transform:translateY(8px); margin-top:0; transition:max-height 0.45s ease, opacity 0.35s ease, transform 0.35s ease, margin-top 0.35s ease; }

.cms-fg-alt__detail-card { padding:22px 24px; border:1px solid var(--cms-fg-alt-border); border-radius:var(--radius-lg, 14px); background:var(--cms-fg-alt-detail-bg); box-shadow:0 12px 32px rgba(0,0,0,0.06); }

.cms-fg-alt__detail-title { margin:0 0 8px; color:var(--cms-fg-alt-text); font-family:var(--font-heading); font-size:16px; font-weight:600; }

.cms-fg-alt__detail-body { margin:0; white-space:pre-line; color:var(--cms-fg-alt-muted); font-family:var(--font-body); font-size:14px; line-height:1.7; }

@media (hover:hover) { .cms-fg-alt--expand .cms-fg-alt__item:hover .cms-fg-alt__detail { max-height:320px; opacity:1; transform:translateY(0); margin-top:18px; } }

.cms-fg-alt--expand .cms-fg-alt__item.is-open .cms-fg-alt__detail, .cms-fg-alt--expand .cms-fg-alt__item:focus-within .cms-fg-alt__detail { max-height:320px; opacity:1; transform:translateY(0); margin-top:18px; }

.cms-fg-i2 {
    --cms-fg-i2-text: var(--color-text);
    --cms-fg-i2-muted: var(--color-text-muted);
    --cms-fg-i2-card-bg: var(--color-bg);
    --cms-fg-i2-card-border: rgba(0,0,0,0.06);
    --cms-fg-i2-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.cms-fg-i2__grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; }

.cms-fg-i2__card { display:flex; align-items:flex-start; gap:16px; padding:clamp(20px, 2.5vw, 28px); border:1px solid var(--cms-fg-i2-card-border); border-radius:var(--radius-lg, 12px); background:var(--cms-fg-i2-card-bg); box-shadow:0 1px 3px rgba(0,0,0,0.04); transition:transform 0.3s ease, box-shadow 0.3s ease; }

.cms-fg-i2__card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.08); }

.cms-fg-i2__icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; border-radius:50%; background:var(--cms-fg-i2-icon-bg); font-size:20px; line-height:1; }

.cms-fg-i2__icon svg { width:20px; height:20px; display:block; }

.cms-fg-i2__content { flex:1; min-width:0; }

.cms-fg-i2__title { margin:0 0 6px; color:var(--cms-fg-i2-text); font-family:var(--font-heading); font-size:16px; font-weight:600; line-height:1.3; }

.cms-fg-i2__desc { margin:0; color:var(--cms-fg-i2-muted); font-family:var(--font-body); font-size:14px; line-height:1.6; }

.cms-fg-i2__link { color:inherit; text-decoration:none; }

.cms-fg-li {
    --cms-fg-li-text: var(--color-text);
    --cms-fg-li-muted: var(--color-text-muted);
    --cms-fg-li-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.cms-fg-li__wrap { display:flex; align-items:center; gap:clamp(32px, 4vw, 60px); max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; }

.cms-fg-li--image-right .cms-fg-li__wrap { flex-direction:row-reverse; }

.cms-fg-li__image-col, .cms-fg-li__list-col { flex:1 1 50%; min-width:0; }

.cms-fg-li__image-col .cms-img-deco--none { box-shadow:0 8px 30px rgba(0,0,0,0.10); }

.cms-fg-li__item { display:flex; align-items:flex-start; gap:14px; margin-bottom:24px; }

.cms-fg-li__item:last-child { margin-bottom:0; }

.cms-fg-li__icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:32px; height:32px; margin-top:2px; border-radius:50%; background:var(--cms-fg-li-icon-bg); font-size:16px; line-height:1; }

.cms-fg-li__icon svg { width:18px; height:18px; display:block; }

.cms-fg-li__item-title { margin:0 0 4px; color:var(--cms-fg-li-text); font-family:var(--font-heading); font-size:16px; font-weight:600; line-height:1.3; }

.cms-fg-li__item-desc { margin:0; color:var(--cms-fg-li-muted); font-family:var(--font-body); font-size:14px; line-height:1.6; }

.cms-fg-li__cta { margin-top:32px; }

.cms-fg-sa {
    --cms-fg-sa-text: var(--color-text);
    --cms-fg-sa-muted: var(--color-text-muted);
    --cms-fg-sa-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.cms-fg-sa__list { display:flex; flex-direction:column; gap:clamp(48px, 6vw, 80px); max-width:var(--container, 1200px); margin:0 auto; }

.cms-fg-sa__item { display:flex; align-items:center; gap:clamp(32px, 5vw, 64px); }

.cms-fg-sa__item--reverse { flex-direction:row-reverse; }

.cms-fg-sa__text, .cms-fg-sa__image { flex:1 1 50%; min-width:0; }

.cms-fg-sa__title-row { display:flex; align-items:center; gap:14px; margin:0 0 14px; }

.cms-fg-sa__icon { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; border-radius:50%; background:var(--cms-fg-sa-icon-bg); color:var(--color-accent); }

.cms-fg-sa__icon svg { width:22px; height:22px; display:block; }

.cms-fg-sa__title { margin:0; color:var(--cms-fg-sa-text); font-family:var(--font-heading); font-size:clamp(22px, 2.5vw, 30px); font-weight:600; line-height:1.25; }

.cms-fg-sa__desc { margin:0; color:var(--cms-fg-sa-muted); font-family:var(--font-body); font-size:16px; line-height:1.7; }

.cms-fg-sa__desc p { margin:0 0 12px; }

.cms-fg-sa__desc p:last-child { margin-bottom:0; }

.cms-fg-sa__cta { margin-top:24px; }

.cms-fg-num {
    --cms-fg-num-text: var(--color-text);
    --cms-fg-num-muted: var(--color-text-muted);
}

.cms-fg-num__list { display:grid; grid-template-columns:repeat(2, 1fr); gap:clamp(24px, 3vw, 40px); max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; }

.cms-fg-num__item { display:flex; align-items:flex-start; gap:clamp(16px, 2vw, 24px); }

.cms-fg-num__number { min-width:clamp(50px, 8vw, 80px); color:var(--color-accent); opacity:0.85; font-family:var(--font-heading); font-size:clamp(40px, 6vw, 64px); font-weight:800; line-height:1; }

.cms-fg-num__content { flex:1; min-width:0; padding-top:clamp(6px, 1vw, 12px); }

.cms-fg-num__title { margin:0 0 8px; color:var(--cms-fg-num-text); font-family:var(--font-heading); font-size:clamp(17px, 2vw, 22px); font-weight:600; line-height:1.3; }

.cms-fg-num__title a { color:inherit; text-decoration:none; }

.cms-fg-num__title a:hover { color:var(--color-accent); }

.cms-fg-num__desc { margin:0; color:var(--cms-fg-num-muted); font-family:var(--font-body); font-size:clamp(14px, 1.2vw, 15px); line-height:1.65; }

@media (max-width: 1024px) {
    .cms-fg-c3__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-fg-num__list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .cms-fg-c3__grid,
    .cms-fg-i2__grid,
    .cms-fg-num__list { grid-template-columns: 1fr; }
    .cms-fg-alt__row { flex-direction: row; align-items: flex-start; }
    .cms-fg-alt__icon { width: 48px; height: 48px; font-size: 22px; }
    .cms-fg-alt__image { width: 64px; }
    .cms-fg-li__wrap,
    .cms-fg-sa__item,
    .cms-fg-sa__item--reverse { flex-direction: column !important; }
    .cms-fg-li__image-col,
    .cms-fg-li__list-col,
    .cms-fg-sa__text,
    .cms-fg-sa__image { flex: 1 1 auto; width: 100%; }
    .cms-fg-num__number { font-size: 40px; min-width: 50px; }
}

.cms-fg-car {
    --cms-fg-car-text: var(--color-text);
    --cms-fg-car-muted: var(--color-text-muted);
    --cms-fg-car-card-bg: var(--color-bg);
    --cms-fg-car-card-border: rgba(0,0,0,0.06);
    --cms-fg-car-icon-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.cms-fg-car__card { box-sizing:border-box; height:100%; padding:clamp(24px, 3vw, 36px); border:1px solid var(--cms-fg-car-card-border); border-radius:var(--radius-lg, 12px); background:var(--cms-fg-car-card-bg); box-shadow:0 1px 3px rgba(0,0,0,0.06); transition:transform 0.3s ease, box-shadow 0.3s ease; }

.cms-fg-car__card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,0.1); }

.cms-fg-car__icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin-bottom:16px; border-radius:50%; background:var(--cms-fg-car-icon-bg); font-size:20px; line-height:1; }

.cms-fg-car__title { margin:0 0 8px; color:var(--cms-fg-car-text); font-family:var(--font-heading); font-size:18px; font-weight:600; line-height:1.3; }

.cms-fg-car__desc { margin:0; color:var(--cms-fg-car-muted); font-family:var(--font-body); font-size:15px; line-height:1.6; }

.cms-fg-car__link { color:inherit; text-decoration:none; }

.cms-fg-imgtop--dark {
    --cms-fg-imgtop-text: var(--color-dark-text);
    --cms-fg-imgtop-muted: var(--color-dark-text-muted);
    --cms-fg-imgtop-card-bg: rgba(255,255,255,0.05);
    --cms-fg-imgtop-card-border: rgba(255,255,255,0.08);
    --cms-fg-imgtop-placeholder-bg: rgba(255,255,255,0.08);
}

.cms-fg-c3--dark {
    --cms-fg-c3-text: var(--color-dark-text);
    --cms-fg-c3-muted: var(--color-dark-text-muted);
    --cms-fg-c3-card-bg: rgba(255,255,255,0.05);
    --cms-fg-c3-card-border: rgba(255,255,255,0.08);
    --cms-fg-c3-icon-bg: rgba(255,255,255,0.1);
}

.cms-fg-c3--aspect-square { --cms-fg-c3-image-aspect: 1 / 1; }

.cms-fg-c3--aspect-16-9 { --cms-fg-c3-image-aspect: 16 / 9; }

.cms-fg-alt--dark {
    --cms-fg-alt-text: var(--color-dark-text);
    --cms-fg-alt-muted: var(--color-dark-text-muted);
    --cms-fg-alt-border: rgba(255,255,255,0.08);
    --cms-fg-alt-icon-bg: rgba(255,255,255,0.1);
    --cms-fg-alt-detail-bg: rgba(255,255,255,0.05);
}

.cms-fg-alt--aspect-16-9 { --cms-fg-alt-image-aspect: 16 / 9; }

.cms-fg-i2--dark {
    --cms-fg-i2-text: var(--color-dark-text);
    --cms-fg-i2-muted: var(--color-dark-text-muted);
    --cms-fg-i2-card-bg: rgba(255,255,255,0.05);
    --cms-fg-i2-card-border: rgba(255,255,255,0.08);
    --cms-fg-i2-icon-bg: rgba(255,255,255,0.1);
}

.cms-fg-li--dark {
    --cms-fg-li-text: var(--color-dark-text);
    --cms-fg-li-muted: var(--color-dark-text-muted);
    --cms-fg-li-icon-bg: rgba(255,255,255,0.1);
}

.cms-fg-sa--dark {
    --cms-fg-sa-text: var(--color-dark-text);
    --cms-fg-sa-muted: var(--color-dark-text-muted);
    --cms-fg-sa-icon-bg: rgba(255,255,255,0.08);
}

.cms-fg-num--dark {
    --cms-fg-num-text: var(--color-dark-text);
    --cms-fg-num-muted: var(--color-dark-text-muted);
}

.cms-fg-car--dark {
    --cms-fg-car-text: var(--color-dark-text);
    --cms-fg-car-muted: var(--color-dark-text-muted);
    --cms-fg-car-card-bg: rgba(255,255,255,0.05);
    --cms-fg-car-card-border: rgba(255,255,255,0.08);
    --cms-fg-car-icon-bg: rgba(255,255,255,0.1);
}

/* Case Study */
.cms-cs-split {
    --cms-cs-split-text: var(--color-text);
    --cms-cs-split-muted: var(--color-text-muted);
    --cms-cs-split-card-bg: var(--color-bg, #fff);
    --cms-cs-split-card-border: var(--color-border, #e5e7eb);
    --cms-cs-split-stat-bg: color-mix(in srgb, var(--color-accent) 6%, transparent);
}

.cms-cs-split--dark {
    --cms-cs-split-text: var(--color-dark-text);
    --cms-cs-split-muted: var(--color-dark-text-muted);
    --cms-cs-split-card-bg: rgba(255,255,255,0.04);
    --cms-cs-split-card-border: rgba(255,255,255,0.08);
    --cms-cs-split-stat-bg: rgba(255,255,255,0.06);
}

.cms-cs-split__card { display:flex; max-width:var(--container,1200px); margin:0 auto; overflow:hidden; border:1px solid var(--cms-cs-split-card-border); border-radius:var(--radius-lg,12px); background:var(--cms-cs-split-card-bg); transition:transform .3s ease, box-shadow .3s ease; }

.cms-cs-split__card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.10); }

.cms-cs-split__image-col { position:relative; flex:0 0 40%; min-height:400px; }

.cms-cs-split__image-col .cms-img-deco { height:100%; }

.cms-cs-split__content { display:flex; flex:1 1 60%; flex-direction:column; justify-content:center; padding:clamp(28px,3.5vw,48px); }

.cms-cs-split__title { margin:0 0 16px; color:var(--cms-cs-split-text); font-family:var(--font-heading); font-size:clamp(22px,2.8vw,32px); font-weight:600; line-height:1.2; }

.cms-cs-split__desc { margin:0 0 24px; color:var(--cms-cs-split-muted); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-cs-split__stats { display:flex; flex-wrap:wrap; gap:clamp(8px,1.2vw,14px); margin:0 0 24px; }

.cms-cs-split__stat { flex:1 1 0; min-width:90px; padding:clamp(12px,1.5vw,18px) clamp(10px,1.2vw,14px); border-radius:var(--radius,8px); background:var(--cms-cs-split-stat-bg); text-align:center; }

.cms-cs-split__stat-value { margin:0 0 4px; color:var(--color-accent); font-family:var(--font-heading); font-size:clamp(18px,2.2vw,26px); font-weight:700; line-height:1.2; }

.cms-cs-split__stat-label { margin:0; color:var(--cms-cs-split-muted); font-family:var(--font-body); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

.cms-cs-split__quote { margin:0 0 24px; padding-left:16px; border-left:3px solid var(--color-accent); color:var(--cms-cs-split-muted); font-family:var(--font-body); font-size:14px; font-style:italic; line-height:1.6; }

.cms-cs-split__quote-author { display:block; margin-top:8px; color:var(--cms-cs-split-text); font-size:13px; font-style:normal; font-weight:600; }

.cms-cs-split__cta { margin-top:auto; padding-top:4px; }

.cms-cs-ovr__card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; max-width:var(--container,1200px); min-height:clamp(400px,50vh,560px); margin:0 auto; overflow:hidden; isolation:isolate; border-radius:var(--radius-lg,12px); transition:transform .3s ease, box-shadow .3s ease; }

.cms-cs-ovr__card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,.18); }

.cms-cs-ovr__bg { position:absolute; inset:0; z-index:0; border-radius:inherit; overflow:hidden; }

.cms-cs-ovr__bg img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.cms-cs-ovr__gradient { position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit; background:linear-gradient(to top,rgba(8,14,24,.88) 0%,rgba(8,14,24,.66) 42%,rgba(8,14,24,.22) 72%,rgba(8,14,24,.08) 100%); }

.cms-cs-ovr__content { position:relative; z-index:2; padding:clamp(28px,4vw,48px); }

.cms-cs-ovr__title { max-width:640px; margin:0 0 14px; color:#fff; font-family:var(--font-heading); font-size:clamp(24px,3vw,38px); font-weight:600; line-height:1.2; }

.cms-cs-ovr__desc { max-width:580px; margin:0 0 24px; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-cs-ovr__bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:clamp(16px,2vw,24px); }

.cms-cs-ovr__stats { display:flex; gap:0; }

.cms-cs-ovr__stat { padding:0 clamp(14px,2vw,24px); border-right:1px solid rgba(255,255,255,.2); text-align:center; }

.cms-cs-ovr__stat:first-child { padding-left:0; }

.cms-cs-ovr__stat:last-child { padding-right:0; border-right:none; }

.cms-cs-ovr__stat-value { margin:0 0 4px; color:#fff; font-family:var(--font-heading); font-size:clamp(20px,2.5vw,30px); font-weight:700; line-height:1.2; }

.cms-cs-ovr__stat-label { margin:0; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

.cms-cs-osc__track { display:flex; gap:20px; overflow-x:auto; padding:0 max(20px, calc((100vw - var(--container,1200px)) / 2)) 16px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--color-accent) transparent; }

.cms-cs-osc__track::-webkit-scrollbar { height:6px; }

.cms-cs-osc__track::-webkit-scrollbar-track { background:transparent; }

.cms-cs-osc__track::-webkit-scrollbar-thumb { background:var(--color-accent); border-radius:3px; }

.cms-cs-osc__card { position:relative; display:flex; flex-shrink:0; flex-direction:column; justify-content:flex-end; min-width:clamp(340px, 70vw, 600px); min-height:clamp(350px,45vh,480px); overflow:hidden; border-radius:var(--radius-lg,12px); scroll-snap-align:start; transition:transform .3s ease; }

.cms-cs-osc__card:hover { transform:translateY(-4px); }

.cms-cs-osc__bg { position:absolute; inset:0; z-index:0; }

.cms-cs-osc__bg img { display:block; width:100%; height:100%; object-fit:cover; }

.cms-cs-osc__gradient { position:absolute; inset:0; z-index:1; background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 40%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.03) 100%); }

.cms-cs-osc__content { position:relative; z-index:2; padding:clamp(20px,3vw,36px); }

.cms-cs-osc__title { margin:0 0 10px; color:#fff; font-family:var(--font-heading); font-size:clamp(20px,2.5vw,28px); font-weight:600; line-height:1.2; }

.cms-cs-osc__desc { display:-webkit-box; overflow:hidden; margin:0 0 16px; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:14px; line-height:1.6; -webkit-line-clamp:3; -webkit-box-orient:vertical; }

.cms-cs-osc__stats { display:flex; gap:0; margin-bottom:12px; }

.cms-cs-osc__stat { padding:0 clamp(10px,1.5vw,16px); border-right:1px solid rgba(255,255,255,.2); text-align:center; }

.cms-cs-osc__stat:first-child { padding-left:0; }

.cms-cs-osc__stat:last-child { padding-right:0; border-right:none; }

.cms-cs-osc__stat-value { margin:0 0 2px; color:#fff; font-family:var(--font-heading); font-size:clamp(18px,2vw,24px); font-weight:700; line-height:1.2; }

.cms-cs-osc__stat-label { margin:0; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

.cms-cs-osl { position:relative; max-width:var(--container,1200px); margin:0 auto; overflow:hidden; border-radius:var(--radius-lg,12px); }

.cms-cs-osl__track { display:flex; transition:transform 0.5s ease; }

.cms-cs-osl__slide { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-width:100%; min-height:clamp(400px,50vh,560px); }

.cms-cs-osl__bg { position:absolute; inset:0; z-index:0; }

.cms-cs-osl__bg img { display:block; width:100%; height:100%; object-fit:cover; }

.cms-cs-osl__gradient { position:absolute; inset:0; z-index:1; background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.05) 100%); }

.cms-cs-osl__content { position:relative; z-index:2; padding:clamp(28px,4vw,48px); }

.cms-cs-osl__title { max-width:640px; margin:0 0 14px; color:#fff; font-family:var(--font-heading); font-size:clamp(24px,3vw,38px); font-weight:600; line-height:1.2; }

.cms-cs-osl__desc { max-width:580px; margin:0 0 24px; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:15px; line-height:1.7; }

.cms-cs-osl__bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:clamp(16px,2vw,24px); }

.cms-cs-osl__stats { display:flex; gap:0; }

.cms-cs-osl__stat { padding:0 clamp(14px,2vw,24px); border-right:1px solid rgba(255,255,255,.2); text-align:center; }

.cms-cs-osl__stat:first-child { padding-left:0; }

.cms-cs-osl__stat:last-child { padding-right:0; border-right:none; }

.cms-cs-osl__stat-value { margin:0 0 4px; color:#fff; font-family:var(--font-heading); font-size:clamp(20px,2.5vw,30px); font-weight:700; line-height:1.2; }

.cms-cs-osl__stat-label { margin:0; color:rgba(255,255,255,.75); font-family:var(--font-body); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

.cms-cs-osl__arrows { position:absolute; left:50%; bottom:24px; z-index:3; display:flex; gap:12px; transform:translateX(-50%); }

.cms-cs-osl__arrow { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(255,255,255,.15); color:#fff; font-size:14px; cursor:pointer; backdrop-filter:blur(8px); transition:all .25s ease; }

.cms-cs-osl__arrow:hover { background:rgba(255,255,255,.35); border-color:rgba(255,255,255,.5); }

.cms-cs-test {
    --cms-cs-test-text: var(--color-text);
    --cms-cs-test-muted: var(--color-text-muted);
    --cms-cs-test-card-bg: var(--color-bg);
    --cms-cs-test-card-border: var(--color-border);
    --cms-cs-test-stat-bg: color-mix(in srgb, var(--color-accent) 6%, transparent);
}

.cms-cs-test--dark {
    --cms-cs-test-text: var(--color-dark-text);
    --cms-cs-test-muted: var(--color-dark-text-muted);
    --cms-cs-test-card-bg: rgba(255,255,255,0.04);
    --cms-cs-test-card-border: rgba(255,255,255,0.08);
    --cms-cs-test-stat-bg: rgba(255,255,255,0.06);
}

.cms-cs-test__card { max-width:var(--container,1200px); margin:0 auto; padding:clamp(36px,5vw,64px); border:1px solid var(--cms-cs-test-card-border); border-radius:var(--radius-lg,12px); background:var(--cms-cs-test-card-bg); text-align:center; transition:transform .3s ease, box-shadow .3s ease; }

.cms-cs-test__card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }

.cms-cs-test__mark { margin:0 0 16px; color:var(--color-accent); opacity:.25; font-family:var(--font-heading); font-size:72px; line-height:1; }

.cms-cs-test__quote { max-width:760px; margin:0 auto 28px; color:var(--cms-cs-test-text); font-family:var(--font-body); font-size:clamp(18px,2.2vw,24px); font-style:italic; line-height:1.6; }

.cms-cs-test__author { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:32px; }

.cms-cs-test__avatar { width:56px; height:56px; border:3px solid color-mix(in srgb, var(--color-accent) 20%, transparent); border-radius:50%; object-fit:cover; }

.cms-cs-test__author-info { text-align:left; }

.cms-cs-test__author-name { margin:0; color:var(--cms-cs-test-text); font-family:var(--font-heading); font-size:16px; font-weight:600; }

.cms-cs-test__author-role { margin:2px 0 0; color:var(--color-accent); font-family:var(--font-body); font-size:13px; }

.cms-cs-test__project { margin:0 0 8px; color:var(--color-accent); font-family:var(--font-body); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; }

.cms-cs-test__title { margin:0 0 24px; color:var(--cms-cs-test-text); font-family:var(--font-heading); font-size:clamp(16px,1.5vw,20px); font-weight:600; }

.cms-cs-test__stats { display:flex; justify-content:center; flex-wrap:wrap; gap:clamp(12px,2vw,24px); margin-bottom:28px; }

.cms-cs-test__stat { min-width:100px; padding:16px 24px; border-radius:var(--radius,8px); background:var(--cms-cs-test-stat-bg); text-align:center; }

.cms-cs-test__stat-value { margin:0 0 4px; color:var(--color-accent); font-family:var(--font-heading); font-size:clamp(20px,2.5vw,28px); font-weight:700; line-height:1.2; }

.cms-cs-test__stat-label { margin:0; color:var(--cms-cs-test-muted); font-family:var(--font-body); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }

@media (max-width:768px){
    .cms-cs-split__card { flex-direction:column; }
    .cms-cs-split__image-col { flex:1 1 auto; width:100%; min-height:240px; }
    .cms-cs-split__stats,
    .cms-cs-test__stats { display:grid; grid-template-columns:repeat(2,1fr); }
    .cms-cs-ovr__bottom,
    .cms-cs-osl__bottom { flex-direction:column; align-items:flex-start; }
    .cms-cs-ovr__stats,
    .cms-cs-osl__stats { flex-wrap:wrap; gap:12px 0; }
    .cms-cs-osl__arrow { display:none; }
}

@media (max-width:600px){
    .cms-cs-ovr__stats { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
    .cms-cs-ovr__stat { padding:0; border-right:none; text-align:left; }
}

/* Post Content */
.cms-pc-std {
    --cms-pc-std-max: 820px;
    --cms-pc-std-font-size: 15px;
    --cms-pc-std-line-height: 1.5;
    --cms-pc-std-text: var(--color-text);
    --cms-pc-std-muted: var(--color-text-muted);
}

.cms-pc-std--dark {
    --cms-pc-std-text: var(--color-dark-text);
    --cms-pc-std-muted: var(--color-dark-text-muted);
}

.cms-pc-std--style-editorial {
    --cms-pc-std-max: 680px;
    --cms-pc-std-font-size: 15px;
}

.cms-pc-std--style-magazine {
    --cms-pc-std-max: 800px;
}

.cms-pc-std__content {
    max-width: var(--cms-pc-std-max);
    margin: 0 auto;
    padding: 0 20px;
}

.cms-pc-std--overlap .cms-pc-std__content {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding: 40px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.cms-pc-std__content :is(h2,h3,h4) { color: var(--cms-pc-std-text); font-family: var(--font-heading); font-weight: 600; line-height: 1.3; }

.cms-pc-std__content h2 { margin: 48px 0 16px; font-size: clamp(22px, 3vw, 28px); }

.cms-pc-std__content h2:first-child { margin-top: 0; }

.cms-pc-std__content h3 { margin: 36px 0 12px; font-size: clamp(18px, 2.5vw, 22px); }

.cms-pc-std__content h4 { margin: 28px 0 8px; font-size: 17px; }

.cms-pc-std__content p { margin: 0 0 20px; color: var(--cms-pc-std-muted); font-family: var(--font-body); font-size: var(--cms-pc-std-font-size); line-height: var(--cms-pc-std-line-height); }

.cms-pc-std__content p:last-child { margin-bottom: 0; }

.cms-pc-std__content :is(.cms-inline-accent__content p, .cms-short p, .short_bloc p, .cms-paa__answer p) { margin: 0; color: var(--color-text-muted, var(--cms-pc-std-muted)); font-family: var(--font-body); font-size: 14px; line-height: 1.7; }

.cms-pc-std__content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s; }

.cms-pc-std__content a:hover { color: var(--color-accent-hover, var(--color-accent)); }

.cms-pc-std__content blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--color-accent); color: var(--cms-pc-std-text); font-size: 18px; font-style: italic; line-height: 1.7; }

.cms-pc-std__content blockquote p { margin-bottom: 0; color: inherit; font-size: inherit; }

.cms-pc-std__content ul { margin: 0 0 20px; padding-left: 25px; }

.cms-pc-std__content ol { margin: 0 0 20px; padding-left: 0px; }

.cms-pc-std__content [class^="cms-content-"] ul,
.cms-pc-std__content [class*=" cms-content-"] ul { padding-left: 0; }

.cms-pc-std__content ul { list-style: disc; }

.cms-pc-std__content ol { list-style: decimal; }

.cms-pc-std__content li { margin-bottom: 6px; color: var(--cms-pc-std-muted); font-family: var(--font-body); font-size: var(--cms-pc-std-font-size); line-height: var(--cms-pc-std-line-height); }

.cms-pc-std__content li::marker { color: var(--color-accent); }

.cms-pc-std__content > img,
.cms-pc-std__content > p > img:only-child,
.cms-pc-std__content > figure > img,
.cms-pc-std__content > .wp-block-image img,
.cms-pc-std__content > .medias-wrapper > img,
.cms-pc-std__content > .cms-content-figure img { display: block; width: 100%; height: auto; margin: 32px 0; border-radius: var(--radius, 8px); }

.cms-pc-std__content hr { border: none; height: 1px; margin: 40px 0; background: var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-std--firstletter .cms-pc-std__content > p:first-of-type::first-letter { float: left; margin: 6px 8px 0 0; color: var(--color-accent); font-family: var(--font-heading); font-size: 3.5em; font-weight: 700; line-height: 0.8; }

.cms-pc-std--breakout .cms-pc-std__content > img,
.cms-pc-std--breakout .cms-pc-std__content > p > img:only-child,
.cms-pc-std--breakout .cms-pc-std__content > figure > img,
.cms-pc-std--breakout .cms-pc-std__content > .wp-block-image img,
.cms-pc-std--breakout .cms-pc-std__content > .medias-wrapper > img,
.cms-pc-std--breakout .cms-pc-std__content > .cms-content-figure img { width: calc(100% + 80px); max-width: calc(100% + 80px); margin-left: -40px; margin-right: -40px; }

.cms-pc-std--code .cms-pc-std__content pre { margin: 24px 0; padding: 20px 24px; overflow-x: auto; border-radius: var(--radius, 8px); background: var(--color-bg-alt, #f5f5f5); font-size: 14px; line-height: 1.6; }

.cms-pc-std--code .cms-pc-std__content code { font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.9em; }

.cms-pc-std--code .cms-pc-std__content :is(p code, li code) { padding: 2px 6px; border-radius: 4px; background: var(--color-bg-alt, #f5f5f5); }

.cms-pc-std--code .cms-pc-std__content :is(.info-box, .warning-box) { margin: 24px 0; padding: 16px 20px; border-radius: var(--radius, 8px); font-size: 15px; line-height: 1.6; }

.cms-pc-std--code .cms-pc-std__content .info-box { border-left: 4px solid var(--color-accent); background: var(--color-bg-alt, #f5f5f5); }

.cms-pc-std--code .cms-pc-std__content .warning-box { border-left: 4px solid #e67e22; background: rgba(230, 126, 34, 0.06); }

.cms-pc-std__content .pc-table-shell { position: relative; margin: 32px 0; overflow: hidden; border: 1px solid var(--color-border, rgba(0,0,0,0.08)); border-radius: var(--radius-lg, 12px); background: var(--color-bg, #fff); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04); }

.cms-pc-std__content .pc-table-expand { position:absolute; top:10px; right:10px; z-index:8; display:none; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 26%, var(--color-border, #dbe7e1)); border-radius:999px; background:color-mix(in srgb, var(--color-accent, #0fbd74) 7%, #fff); color:var(--color-accent, #0fbd74); cursor:pointer; box-shadow:0 6px 14px rgba(6,17,15,.06); transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease; }

.cms-pc-std__content .pc-table-shell.is-overflowing .pc-table-expand { display:inline-flex; }

.cms-pc-std__content .pc-table-expand svg { width:14px; height:14px; stroke-width:2.2; }

.cms-pc-std__content .pc-table-expand:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(6,17,15,.10); background:var(--color-accent, #0fbd74); color:#fff; }

.cms-pc-std__content .pc-table-shell::before, .cms-pc-std__content .pc-table-shell::after { content:""; position:absolute; top:0; bottom:0; width:18px; pointer-events:none; opacity:0; transition:opacity .18s ease; z-index:5; }

.cms-pc-std__content .pc-table-shell::before { left:0; background:linear-gradient(to right, rgba(255,255,255,.96), rgba(255,255,255,0)); }

.cms-pc-std__content .pc-table-shell::after { right:0; background:linear-gradient(to left, rgba(255,255,255,.96), rgba(255,255,255,0)); }

.cms-pc-std__content .pc-table-shell.has-left-shadow::before { opacity:1; }

.cms-pc-std__content .pc-table-shell.has-right-shadow::after { opacity:1; }

.cms-pc-std__content .pc-table-scroll { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:rgba(148, 163, 184, 0.85) transparent; }

.cms-pc-std__content .pc-table-scroll::-webkit-scrollbar { height:10px; }

.cms-pc-std__content .pc-table-scroll::-webkit-scrollbar-track { background:transparent; }

.cms-pc-std__content .pc-table-scroll::-webkit-scrollbar-thumb { background:rgba(148, 163, 184, 0.75); border:2px solid transparent; border-radius:999px; background-clip:padding-box; }

.cms-pc-std__content .pc-table-scroll table { display:table !important; width:100%; min-width:max-content; margin:0 !important; border-collapse:separate; border-spacing:0; font-family:var(--font-body); font-size:15px; }

.cms-pc-std__content .pc-table-shell[data-sticky-first="0"] .pc-table-scroll table { width:auto; min-width:0; max-width:100%; }

.cms-pc-std__content .pc-table-scroll th { position:sticky; top:0; z-index:2; padding:13px 18px; min-width:136px; background:var(--color-accent); color:#fff; text-align:left; font-weight:600; line-height:1.35; white-space:normal; word-break:normal; overflow-wrap:anywhere; }

.cms-pc-std__content .pc-table-scroll td { padding:13px 18px; min-width:136px; color:var(--cms-pc-std-muted); vertical-align:top; line-height:1.6; border-bottom:1px solid var(--color-border, rgba(0,0,0,0.08)); background:var(--color-bg, #fff); white-space:normal; word-break:normal; overflow-wrap:anywhere; }

.cms-pc-std__content .pc-table-scroll tr:last-child td { border-bottom:none; }

.cms-pc-std__content .pc-table-shell[data-density="balanced"] .pc-table-scroll :is(th,td) { min-width:118px; }

.cms-pc-std__content .pc-table-shell[data-density="compact"] .pc-table-scroll :is(th,td) { min-width:102px; font-size:14px; }

.cms-pc-std__content .pc-table-shell[data-sticky-first="1"] .pc-table-scroll :is(th:first-child, td:first-child) { position:sticky; left:0; min-width:170px; box-shadow:1px 0 0 var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-std__content .pc-table-shell[data-sticky-first="1"] .pc-table-scroll th:first-child { z-index:6; background:color-mix(in srgb, var(--color-accent) 92%, #000 8%); }

.cms-pc-std__content .pc-table-shell[data-sticky-first="1"] .pc-table-scroll td:first-child { z-index:3; background:color-mix(in srgb, var(--color-bg) 92%, var(--color-bg-alt) 8%); color:var(--cms-pc-std-text); font-weight:600; }

.cms-pa-ch { --cms-pa-ch-text: var(--color-text); --cms-pa-ch-muted: var(--color-text-muted); --cms-pa-ch-card-bg: var(--color-bg-alt,#f9fafb); }

.cms-pa-ch--dark { --cms-pa-ch-text: var(--color-dark-text); --cms-pa-ch-muted: var(--color-dark-text-muted); --cms-pa-ch-card-bg: rgba(255,255,255,0.05); }

.cms-pa-ch__card { display:flex; align-items:flex-start; gap:20px; max-width:var(--container,1200px); margin:0 auto; padding:24px; border-left:3px solid var(--color-accent); border-radius:var(--radius-lg,12px); background:var(--cms-pa-ch-card-bg); }

.cms-pa-ch__avatar { width:80px; height:80px; border-radius:50%; object-fit:cover; flex-shrink:0; }

.cms-pa-ch__info { flex:1; min-width:0; }

.cms-pa-ch__name { margin:0 0 8px 0; color:var(--cms-pa-ch-text); font-family:var(--font-heading); font-size:18px; font-weight:700; }

.cms-pa-ch__bio { display:-webkit-box; overflow:hidden; margin:0 0 12px 0; color:var(--cms-pa-ch-muted); font-family:var(--font-body); font-size:14px; line-height:1.6; -webkit-line-clamp:3; -webkit-box-orient:vertical; }

.cms-pa-ch__social { display:flex; gap:12px; }

.cms-pa-ch__social a { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; color:var(--cms-pa-ch-muted); transition:color 0.2s ease, background 0.2s ease; }

.cms-pa-ch__social a:hover { color:var(--color-accent); }

.cms-pa-ch__social svg { width:16px; height:16px; fill:currentColor; }

/* Post Nav */
.cms-pn-mn { --cms-pn-mn-muted: var(--color-text-muted); }

.cms-pn-mn--dark { --cms-pn-mn-muted: var(--color-dark-text-muted); }

.cms-pn-mn__row { display:flex; align-items:center; justify-content:space-between; max-width:var(--container,1200px); margin:0 auto; font-family:var(--font-body); font-size:14px; }

.cms-pn-mn__link { color:var(--cms-pn-mn-muted); text-decoration:none; transition:color 0.2s ease; }

.cms-pn-mn__link:hover { color:var(--color-accent); }

.cms-pn-mn__link--next { margin-left:auto; }

.cms-pn-ar { --cms-pn-ar-text: var(--color-text); --cms-pn-ar-muted: var(--color-text-muted); --cms-pn-ar-border: var(--color-border); }

.cms-pn-ar--dark { --cms-pn-ar-text: var(--color-dark-text); --cms-pn-ar-muted: var(--color-dark-text-muted); --cms-pn-ar-border: rgba(255,255,255,0.1); }

.cms-pn-ar__wrap { display:flex; max-width:var(--container,1200px); margin:0 auto; border-top:1px solid var(--cms-pn-ar-border); border-bottom:1px solid var(--cms-pn-ar-border); }

.cms-pn-ar__side { flex:1; min-width:0; }

.cms-pn-ar__side + .cms-pn-ar__side { border-left:1px solid var(--cms-pn-ar-border); }

.cms-pn-ar__link { display:flex; align-items:center; gap:12px; padding:20px 0; color:var(--cms-pn-ar-text); text-decoration:none; transition:color 0.2s ease; }

.cms-pn-ar__side--next .cms-pn-ar__link { justify-content:flex-end; padding-left:24px; text-align:right; }

.cms-pn-ar__side--prev .cms-pn-ar__link { padding-right:24px; }

.cms-pn-ar__link:hover { color:var(--color-accent); }

.cms-pn-ar__arrow { flex-shrink:0; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.cms-pn-ar__text { min-width:0; }

.cms-pn-ar__label { display:block; margin-bottom:4px; color:var(--cms-pn-ar-muted); font-family:var(--font-body); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }

.cms-pn-ar__title { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-family:var(--font-heading); font-size:15px; font-weight:600; }

.cms-pn-cd { --cms-pn-cd-text: var(--color-text); --cms-pn-cd-muted: var(--color-text-muted); --cms-pn-cd-border: var(--color-border); --cms-pn-cd-card-bg: var(--color-bg-alt,#f9fafb); }

.cms-pn-cd--dark { --cms-pn-cd-text: var(--color-dark-text); --cms-pn-cd-muted: var(--color-dark-text-muted); --cms-pn-cd-border: rgba(255,255,255,0.1); --cms-pn-cd-card-bg: rgba(255,255,255,0.05); }

.cms-pn-cd__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:var(--container,1200px); margin:0 auto; }

.cms-pn-cd__card { display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--cms-pn-cd-border); border-radius:var(--radius-lg,12px); background:var(--cms-pn-cd-card-bg); color:var(--cms-pn-cd-text); text-decoration:none; transition:box-shadow 0.25s ease, transform 0.25s ease; }

.cms-pn-cd__card:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,0,0,0.08); }

.cms-pn-cd__card--next { flex-direction:row-reverse; text-align:right; }

.cms-pn-cd__thumb { width:100px; height:80px; border-radius:var(--radius-md,8px); object-fit:cover; flex-shrink:0; }

.cms-pn-cd__info { flex:1; min-width:0; }

.cms-pn-cd__label { display:block; margin-bottom:6px; color:var(--cms-pn-cd-muted); font-family:var(--font-body); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }

.cms-pn-cd__title { display:-webkit-box; overflow:hidden; font-family:var(--font-heading); font-size:15px; font-weight:600; line-height:1.4; -webkit-line-clamp:2; -webkit-box-orient:vertical; }

@media (max-width: 640px) {
    .cms-pn-ar__wrap { flex-direction: column; }
    .cms-pn-ar__side + .cms-pn-ar__side { border-top:1px solid var(--cms-pn-ar-border); border-left:none; }
    .cms-pn-ar__side--next .cms-pn-ar__link { justify-content:flex-start; padding-left:0; text-align:left; }
    .cms-pn-cd__grid { grid-template-columns:1fr; }
    .cms-pn-cd__card--next { flex-direction:row; text-align:left; }
}

@media (max-width: 480px) {
    .cms-pa-ch__card { flex-direction:column; align-items:center; text-align:center; }
    .cms-pa-ch__social { justify-content:center; }
}

/* Post TOC */
.ptoc-inline {
    --ptoc-text: var(--color-text);
    --ptoc-muted: var(--color-text-muted);
    --ptoc-border: var(--color-border);
    --ptoc-bg: color-mix(in srgb, var(--color-accent) 4%, var(--color-bg-alt, #f8f8f8));
    width: 100%;
    margin-bottom: 32px;
    padding: 20px 24px;
    border: 1px solid var(--ptoc-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--ptoc-bg);
}

.ptoc-inline--dark {
    --ptoc-text: var(--color-dark-text);
    --ptoc-muted: var(--color-dark-text-muted);
    --ptoc-border: rgba(255,255,255,0.1);
    --ptoc-bg: rgba(255,255,255,0.05);
}

.ptoc-title {
    margin: 0 0 12px;
    padding: 0;
    color: var(--ptoc-text);
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.ptoc-list { list-style: none; margin: 0; padding: 0; }

.ptoc-list li { margin: 0; padding: 0; }

.ptoc-list a {
    display: block;
    padding: 5px 0;
    color: var(--ptoc-muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.ptoc-list a:hover,
.ptoc-list a.active {
    color: var(--color-accent);
}

.ptoc-list a.active { font-weight: 600; }

.ptoc-list .ptoc-h3 a { padding-left: 20px; font-size: 13px; }

.ptoc-inline summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    cursor: pointer;
}

.ptoc-inline summary::-webkit-details-marker { display: none; }

.ptoc-inline summary::marker { content: ''; display: none; }

.ptoc-inline .ptoc-chevron {
    width: 16px;
    height: 16px;
    color: var(--ptoc-muted);
    transition: transform 0.25s ease;
}

.ptoc-inline details[open] summary .ptoc-chevron { transform: rotate(180deg); }

.ptoc-floating__btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--color-accent);
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ptoc-floating__btn:hover { transform: scale(1.08); box-shadow: 0 6px 20px rgba(0,0,0,0.25); }

.ptoc-floating__btn svg { width: 20px; height: 20px; color: #fff; }

.ptoc-floating__panel {
    --ptoc-text: var(--color-text);
    --ptoc-muted: var(--color-text-muted);
    --ptoc-border: var(--color-border);
    --ptoc-bg: var(--color-bg, #fff);
    position: fixed;
    right: 24px;
    bottom: 80px;
    z-index: 9999;
    width: 300px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 20px;
    border: 1px solid var(--ptoc-border);
    border-radius: var(--radius-lg, 12px);
    background: var(--ptoc-bg);
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.ptoc-floating__panel--dark {
    --ptoc-text: var(--color-dark-text);
    --ptoc-muted: var(--color-dark-text-muted);
    --ptoc-border: rgba(255,255,255,0.1);
    --ptoc-bg: var(--color-dark-bg, #1a1a2e);
}

.ptoc-floating__panel.ptoc-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ptoc-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.ptoc-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ptoc-border);
    border-radius: 50%;
    background: transparent;
    color: var(--ptoc-muted);
    cursor: pointer;
    transition: background 0.2s ease;
}

.ptoc-close:hover { background: rgba(0,0,0,0.05); }

.ptoc-floating__panel--dark .ptoc-close:hover { background: rgba(255,255,255,0.1); }

.ptoc-floating__panel .ptoc-title { margin: 0; }

.ptoc-floating__panel .ptoc-list a { font-size: 13px; }

.ptoc-floating__panel .ptoc-list .ptoc-h3 a { font-size: 12px; }

.ptoc-sidebar {
    --ptoc-text: var(--color-text);
    --ptoc-muted: var(--color-text-muted);
    position: sticky;
    top: 100px;
}

.ptoc-sidebar--dark {
    --ptoc-text: var(--color-dark-text);
    --ptoc-muted: var(--color-dark-text-muted);
}

.ptoc-sidebar-inner {
    padding-left: 16px;
    border-left: 2px solid var(--color-accent);
}

.ptoc-sidebar .ptoc-title { margin: 0 0 12px; font-size: 13px; }

.ptoc-sidebar .ptoc-list a { padding: 4px 0; font-size: 13px; }

.ptoc-sidebar .ptoc-list .ptoc-h3 a { padding-left: 20px; font-size: 12px; }

@media(min-width: 769px) {
    .ptoc-inline details { pointer-events: none; }
    .ptoc-inline details > .ptoc-list { display: block !important; }
    .ptoc-inline .ptoc-chevron { display: none; }
}

@media(max-width: 768px) {
    .ptoc-inline { padding: 16px 18px; }
    .ptoc-inline details:not([open]) .ptoc-list { display: none; }
    .ptoc-inline details,
    .ptoc-inline summary {
        pointer-events: auto;
    }
    .ptoc-inline .ptoc-title { margin: 0; }
    .ptoc-floating__btn {
        right: 16px;
        bottom: 16px;
    }
    .ptoc-floating__panel {
        right: 16px;
        bottom: 72px;
        width: calc(100vw - 32px);
        max-width: 300px;
    }
    .ptoc-sidebar {
        position: static;
        margin-bottom: 24px;
    }
}

/* Text Image Remaining */
.cms-ti-dsplit {
  width: 100%;
  --cms-ti-dsplit-bg: var(--color-dark-bg, #1a1a2e);
  --cms-ti-dsplit-text: #fff;
  --cms-ti-dsplit-muted: rgba(255,255,255,0.7);
}

.cms-ti-dsplit__wrap {
  display: flex;
  min-height: clamp(400px, 50vh, 600px);
  overflow: hidden;
}

.cms-ti-dsplit--image-left .cms-ti-dsplit__wrap {
  flex-direction: row-reverse;
}

.cms-ti-dsplit__text {
  flex: 1 1 50%;
  background: var(--cms-ti-dsplit-bg, var(--color-dark-bg, #1a1a2e));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(40px, 5vw, 80px) clamp(28px, 4vw, 60px);
  position: relative;
  overflow: hidden;
}

.cms-ti-dsplit__inner {
  position: relative;
  z-index: 1;
  max-width: 480px;
  width: 100%;
}

.cms-ti-dsplit__title {
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--cms-ti-dsplit-text, #fff);
  margin: 0 0 20px;
}

.cms-ti-dsplit__content {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--cms-ti-dsplit-muted, rgba(255,255,255,0.7));
}

.cms-ti-dsplit__content p {
  margin: 0 0 14px;
}

.cms-ti-dsplit__content p:last-child {
  margin-bottom: 0;
}

.cms-ti-dsplit__items {
  margin-top: 24px;
}

.cms-ti-dsplit__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.cms-ti-dsplit__item:last-child {
  margin-bottom: 0;
}

.cms-ti-dsplit__item-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  margin-top: 2px;
}

.cms-ti-dsplit__item-text {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--cms-ti-dsplit-muted, rgba(255,255,255,0.7));
  line-height: 1.5;
}

.cms-ti-dsplit__item-text strong {
  color: var(--cms-ti-dsplit-text, #fff);
  font-weight: 600;
}

.cms-ti-dsplit__cta {
  margin-top: 32px;
}

.cms-ti-dsplit__image-col {
  flex: 1 1 50%;
  min-height: 300px;
}

.cms-ti-dsplit__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cms-ti-std__wrap {
  display: flex;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
  max-width: var(--container, 1200px);
  margin: 0 auto;
  padding: 0 20px;
}

.cms-ti-std--image-left .cms-ti-std__wrap {
  flex-direction: row-reverse;
}

.cms-ti-std--dark {
  --cms-ti-std-text: var(--color-dark-text);
  --cms-ti-std-muted: var(--color-dark-text-muted);
}

.cms-ti-std__text,
.cms-ti-std__image-col {
  flex: 1 1 50%;
  min-width: 0;
}

.cms-ti-std__title {
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--cms-ti-std-text, var(--color-text));
  margin: 0 0 20px;
}

.cms-ti-std__content {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--cms-ti-std-muted, var(--color-text-muted));
}

.cms-ti-std__content p {
  margin: 0 0 16px;
}

.cms-ti-std__content p:last-child {
  margin-bottom: 0;
}

.cms-ti-std__cta {
  margin-top: 28px;
}

.cms-ti-std__image-col .cms-img-deco--none {
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.cms-ti-parallax__wrap {
  display: flex;
  max-width: var(--container, 1200px);
  margin: 0 auto;
  min-height: 500px;
  overflow: hidden;
  border-radius: var(--radius-lg, 12px);
}

.cms-ti-parallax--image-left .cms-ti-parallax__wrap {
  flex-direction: row-reverse;
}

.cms-ti-parallax--dark {
  --cms-ti-parallax-text: var(--color-dark-text);
  --cms-ti-parallax-muted: var(--color-dark-text-muted);
}

.cms-ti-parallax__text {
  flex: 1 1 45%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 5vw, 72px) clamp(28px, 4vw, 56px);
}

.cms-ti-parallax__title {
  font-family: var(--font-heading);
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--cms-ti-parallax-text, var(--color-text));
  margin: 0 0 24px;
}

.cms-ti-parallax__content {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--cms-ti-parallax-muted, var(--color-text-muted));
}

.cms-ti-parallax__content p {
  margin: 0 0 16px;
}

.cms-ti-parallax__content p:last-child {
  margin-bottom: 0;
}

.cms-ti-parallax__cta {
  margin-top: 28px;
}

.cms-ti-parallax__image-col {
  flex: 1 1 55%;
  min-width: 0;
  position: relative;
}

.cms-ti-parallax__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-ti-covl__wrap {
  max-width: var(--container, 1200px);
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: stretch;
}

.cms-ti-covl--dark {
  --cms-ti-covl-text: var(--color-dark-text);
  --cms-ti-covl-muted: var(--color-dark-text-muted);
  --cms-ti-covl-card-bg: rgba(30,30,50,0.95);
  --cms-ti-covl-card-shadow: 0 12px 40px rgba(0,0,0,0.4);
}

.cms-ti-covl__image-col {
  flex: 0 0 60%;
  position: relative;
  margin-left: 250px;
}

.cms-ti-covl--image-left .cms-ti-covl__image-col {
  order: -1;
  margin-left: 0;
  margin-right: 250px;
}

.cms-ti-covl__image-col .cms-img-deco {
  height: 100%;
  min-height: 400px;
}

.cms-ti-covl__card {
  position: absolute;
  z-index: 2;
  left: -60px;
  bottom: clamp(24px, 4vw, 48px);
  width: clamp(320px, 40%, 440px);
  background: var(--cms-ti-covl-card-bg, var(--color-bg, #fff));
  border-radius: var(--radius-lg, 12px);
  padding: clamp(28px, 3vw, 40px);
  box-shadow: var(--cms-ti-covl-card-shadow, 0 12px 40px rgba(0,0,0,0.12));
}

.cms-ti-covl--image-left .cms-ti-covl__card {
  left: auto;
  right: -60px;
}

.cms-ti-covl__title {
  font-family: var(--font-heading);
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--cms-ti-covl-text, var(--color-text));
  margin: 0 0 16px;
}

.cms-ti-covl__content {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--cms-ti-covl-muted, var(--color-text-muted));
}

.cms-ti-covl__content p {
  margin: 0 0 12px;
}

.cms-ti-covl__content p:last-child {
  margin-bottom: 0;
}

.cms-ti-covl__cta {
  margin-top: 24px;
}

@media (max-width: 1024px) {
  .cms-ti-covl__image-col {
    margin-left: 120px;
  }
  .cms-ti-covl--image-left .cms-ti-covl__image-col {
    margin-left: 0;
    margin-right: 120px;
  }
}

@media (max-width: 768px) {
  .cms-ti-dsplit__wrap,
  .cms-ti-std__wrap {
    flex-direction: column !important;
  }
  .cms-ti-dsplit__text,
  .cms-ti-dsplit__image-col,
  .cms-ti-std__text,
  .cms-ti-std__image-col {
    flex: 1 1 auto;
    width: 100%;
  }
  .cms-ti-dsplit__image-col {
    min-height: 250px;
  }
  .cms-ti-parallax__wrap {
    flex-direction: column-reverse !important;
    min-height: auto;
    border-radius: 0;
  }
  .cms-ti-parallax__text {
    flex: 1 1 auto;
    width: 100%;
    padding: clamp(28px, 4vw, 48px) 20px;
  }
  .cms-ti-parallax__image-col {
    flex: 1 1 auto;
    width: 100%;
    height: 300px;
    position: relative;
  }
  .cms-ti-parallax__image {
    background-attachment: scroll;
  }
  .cms-ti-covl__wrap {
    flex-direction: column;
    min-height: auto;
  }
  .cms-ti-covl__image-col {
    flex: 1 1 auto;
    width: 100%;
    order: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .cms-ti-covl__image-col .cms-img-deco {
    min-height: 260px;
  }
  .cms-ti-covl__card {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -40px auto 0;
  }
}

/* Hero Post */
.cms-hero-post-centered {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-post-centered-height, 100vh);
    padding: var(--cms-hero-post-centered-pad, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-post-centered__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    filter: saturate(0.85) brightness(0.95);
}

.cms-hero-post-centered__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 15, 10, 0.3) 0%, rgba(20, 15, 10, 0.55) 100%);
    z-index: 2;
}

.cms-hero-post-centered__content {
    position: relative;
    z-index: 3;
    max-width: 800px;
    width: 100%;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-post-centered--left .cms-hero-post-centered__content {
    max-width: min(var(--container, 1200px), calc(100% - 48px));
    text-align: left;
    align-items: flex-start;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__content {
    padding: 64px 24px 72px;
}

.cms-hero-post-centered__badge,
.cms-hero-post-min__badge,
.cms-hero-post-split__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px 0;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(212,175,55,0.18);
    border: 1px solid rgba(212,175,55,0.35);
    color: #fff;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cms-hero-post-centered__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 20px 0;
    letter-spacing: -0.01em;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__title {
    max-width: 760px;
    font-size: clamp(34px, 5.2vw, 58px);
    line-height: 1.06;
}

.cms-hero-post-centered__subtitle {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.7;
    color: rgba(255,255,255,0.75);
    margin: 0 0 24px 0;
    max-width: 580px;
    font-weight: 400;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__subtitle {
    max-width: 640px;
    font-size: clamp(14px, 1.45vw, 17px);
    line-height: 1.74;
    color: rgba(255,255,255,0.78);
}

.cms-hero-post-centered__meta,
.cms-hero-post-min__meta,
.cms-hero-post-split__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,0.72);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cms-hero-post-centered__sep,
.cms-hero-post-min__sep,
.cms-hero-post-split__sep {
    opacity: .45;
}

.cms-hero-post-centered--left .cms-hero-post-centered__meta {
    justify-content: flex-start;
}

.cms-hero-post-centered__scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    opacity: .5;
    animation: heroPostCenteredBounce 2.5s ease infinite;
}

@keyframes heroPostCenteredBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-8px); }
    60% { transform: translateX(-50%) translateY(-4px); }
}

.cms-hero-post-min {
    width: 100%;
    background: var(--cms-hero-post-min-bg, var(--color-bg));
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cms-hero-post-min__inner {
    max-width: var(--container, 1200px);
    width: 100%;
    padding: clamp(40px, 5vw, 72px) 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-post-min__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--cms-hero-post-min-text, var(--color-text));
    margin: 0 0 20px 0;
    max-width: 800px;
}

.cms-hero-post-min__meta {
    color: var(--cms-hero-post-min-muted, var(--color-text-muted));
    padding-bottom: 24px;
    border-bottom: 1px solid var(--cms-hero-post-min-border, var(--color-border));
}

.cms-hero-post-min__author,
.cms-hero-post-split__author {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cms-hero-post-min__avatar,
.cms-hero-post-split__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-hero-post-split {
    width: 100%;
    background: var(--cms-hero-post-split-bg, var(--color-bg));
    overflow: hidden;
    position: relative;
    min-height: var(--cms-hero-post-split-height, auto);
}

.cms-hero-post-split__grid {
    display: flex;
    align-items: center;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    min-height: inherit;
}

.cms-hero-post-split__text {
    flex: 1 1 50%;
    min-width: 0;
    padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cms-hero-post-split__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--cms-hero-post-split-text, var(--color-text));
    margin: 0 0 20px 0;
}

.cms-hero-post-split__meta {
    justify-content: flex-start;
    color: var(--cms-hero-post-split-muted, var(--color-text-muted));
}

.cms-hero-post-split__image {
    flex: 1 1 50%;
    min-width: 0;
    overflow: hidden;
}

.cms-hero-post-split__img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-lg, 12px) 0 0 var(--radius-lg, 12px);
}

@media (max-width: 768px) {
    .cms-hero-post-split__grid {
        flex-direction: column !important;
    }
    .cms-hero-post-split__text {
        flex: 1 1 auto !important;
        width: 100% !important;
        padding: 40px 24px !important;
        order: 2;
        text-align: center;
    }
    .cms-hero-post-split__image {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-height: 300px;
        order: 1;
    }
    .cms-hero-post-split__meta {
        justify-content: center;
    }
}

/* Hero Advanced */
.cms-hero-cwm {
    width: 100%;
    position: relative;
    z-index: 2;
    overflow: visible;
    background: var(--cms-hero-cwm-bg, var(--color-dark-bg));
    min-height: var(--cms-hero-cwm-height, 80vh);
    padding: var(--cms-hero-cwm-pad, 0);
    display: flex;
    align-items: center;
    margin-bottom: var(--cms-hero-cwm-overflow-margin, 0);
}

.cms-hero-cwm__overlay {
    position: absolute;
    inset: 0;
    background: var(--cms-hero-cwm-overlay, transparent);
    z-index: 1;
}

.cms-hero-cwm__shell {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    margin: 0 auto;
    padding: 40px 24px;
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cms-hero-cwm__text {
    flex: 1 1 100%;
    min-width: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-cwm__text--split {
    flex-basis: 55%;
    text-align: left;
    align-items: flex-start;
}

.cms-hero-cwm__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.08;
    color: var(--cms-hero-cwm-text, #fff);
    margin: 0 0 20px 0;
    max-width: 800px;
}

.cms-hero-cwm__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 20px);
    line-height: 1.7;
    color: var(--cms-hero-cwm-muted, rgba(255,255,255,0.7));
    margin: 0 0 36px 0;
    max-width: 640px;
}

.cms-hero-cwm__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-cwm__text--split .cms-hero-cwm__actions {
    justify-content: flex-start;
}

.cms-hero-cwm__media {
    flex: 1 1 42%;
    min-width: 0;
    position: relative;
    z-index: 4;
    align-self: center;
}

.cms-hero-cwm__media-inner {
    transition: transform .4s ease, box-shadow .4s ease;
}

.cms-hero-cwm__media-inner:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.cms-hero-cwm__image {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.cms-hero-post-overlay {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-post-overlay-height, clamp(350px,45vh,500px));
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--color-dark-bg, #111);
}

.cms-hero-post-overlay__bg {
    position: absolute;
    inset: -6% 0;
    z-index: 1;
}

.cms-hero-post-overlay__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.1) 70%, transparent 100%);
    z-index: 2;
}

.cms-hero-post-overlay__inner {
    position: relative;
    z-index: 3;
    max-width: var(--container, 1200px);
    width: 100%;
    margin: 0 auto;
}

.cms-hero-post-overlay__content {
    max-width: 700px;
    padding: 32px 40px 48px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cms-hero-post-overlay__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-full,20px);
    background: var(--color-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 16px;
}

.cms-hero-post-overlay__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.8vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 16px 0;
}

.cms-hero-post-overlay__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,0.8);
}

.cms-hero-post-overlay__sep { opacity: .5; }

.cms-hero-post-overlay__author {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cms-hero-post-overlay__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-hero-oc {
    position: relative;
    width: 100%;
    overflow: visible;
    margin-bottom: var(--cms-hero-oc-margin, 0);
    z-index: 2;
}

.cms-hero-oc__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 140px;
    background: var(--cms-hero-oc-bg, var(--color-dark-bg));
    z-index: 0;
}

.cms-hero-oc:not(.cms-hero-oc--overflow) .cms-hero-oc__bg {
    bottom: 0;
}

.cms-hero-oc__bg-image,
.cms-hero-oc__bg-overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-oc__bg-image {
}

.cms-hero-oc__bg-overlay {
    background: var(--cms-hero-oc-overlay, transparent);
}

.cms-hero-oc__inner {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(80px, 12vw, 160px) 24px 0;
    text-align: center;
}

.cms-hero-oc__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--cms-hero-oc-text, #fff);
    margin: 0 auto 16px;
    max-width: 900px;
}

.cms-hero-oc__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: var(--cms-hero-oc-muted, rgba(255,255,255,0.7));
    margin: 0 auto 32px;
    max-width: 700px;
}

.cms-hero-oc__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: clamp(40px, 6vw, 60px);
}

.cms-hero-oc__cards {
    display: grid;
    grid-template-columns: repeat(var(--cms-hero-oc-cols, 3), 1fr);
    gap: clamp(12px, 2vw, 24px);
    padding-bottom: 40px;
}

.cms-hero-oc__card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    background: var(--color-bg);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cms-hero-oc__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.cms-hero-oc__card-image {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}

.cms-hero-oc__card-title {
    padding: 16px 20px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
}

@media (max-width: 900px) {
    .cms-hero-oc__cards {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .cms-hero-cwm {
        margin-bottom: 0 !important;
        min-height: auto !important;
    }
    .cms-hero-cwm__shell {
        flex-direction: column !important;
    }
    .cms-hero-cwm__text,
    .cms-hero-cwm__text--split {
        text-align: center !important;
        align-items: center !important;
        flex: 1 1 100% !important;
    }
    .cms-hero-cwm__media {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }
    .cms-hero-post-overlay__content {
        max-width: 100% !important;
        padding: 24px 20px 32px !important;
    }
}

@media (max-width: 560px) {
    .cms-hero-oc__cards {
        grid-template-columns: 1fr !important;
    }
}

/* Hero Core */
.cms-hero-centered {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-centered-height, 100vh);
    padding: var(--cms-hero-centered-pad, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--cms-hero-centered-bg, var(--color-dark-bg));
}

.cms-hero-centered__bg {
    position: absolute;
    inset: -6% 0;
    z-index: 1;
}

.cms-hero-centered__overlay {
    position: absolute;
    inset: 0;
    background: var(--cms-hero-centered-overlay, transparent);
    z-index: 2;
}

.cms-hero-centered__content {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    padding: 40px 24px;
    text-align: var(--cms-hero-centered-align, center);
    display: flex;
    flex-direction: column;
    align-items: var(--cms-hero-centered-items, center);
}

.cms-hero-centered__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--cms-hero-centered-text, #fff);
    margin: 0 0 20px 0;
    max-width: 900px;
}

.cms-hero-centered__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: var(--cms-hero-centered-subtitle, rgba(255,255,255,0.8));
    margin: 0 0 36px 0;
    max-width: 700px;
}

.cms-hero-centered__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-centered--align-left .cms-hero-centered__actions {
    justify-content: flex-start;
}

.cms-hero-centered__scroll,
.cms-hero-fc__scroll {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    animation: heroBounce 2s ease infinite;
}

@keyframes heroBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-10px); }
    60% { transform: translateX(-50%) translateY(-5px); }
}

.cms-hero-fc {
    min-height: var(--cms-hero-fc-height, 100vh);
    padding: var(--cms-hero-fc-pad, 0);
}

.cms-hero-fc__bg { overflow: hidden; }

.cms-hero-scb {
    width: 100%;
    background: var(--cms-hero-scb-section, var(--color-bg));
    overflow: hidden;
    position: relative;
}

.cms-hero-scb__shell {
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(40px, 6vw, 80px) 24px;
    display: flex;
    align-items: stretch;
    gap: clamp(20px, 3vw, 32px);
}

.cms-hero-scb__block {
    flex: 1 1 52%;
    min-width: 0;
    background: var(--cms-hero-scb-block, var(--color-accent));
    border-radius: var(--radius-lg);
    padding: clamp(32px, 4vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

.cms-hero-scb__badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cms-hero-scb__badge-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(255,255,255,0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    letter-spacing: .3px;
}

.cms-hero-scb__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 700;
    line-height: 1.08;
    color: #fff;
    margin: 0;
    letter-spacing: -0.02em;
}

.cms-hero-scb__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    color: rgba(255,255,255,0.8);
    margin: 0;
    max-width: 520px;
}

.cms-hero-scb__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.cms-hero-scb__media {
    flex: 1 1 44%;
    min-width: 0;
    display: flex;
    align-items: stretch;
}

.cms-hero-scb__video-wrap {
    width: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-border);
    position: relative;
}

.cms-hero-scb__video,
.cms-hero-scb__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cms-hero-scb__image {
    min-height: 400px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

@media (max-width: 768px) {
    .cms-hero-scb__shell {
        flex-direction: column !important;
    }
}

/* Hero Split Variants */
.cms-hero-sov {
    width: 100%;
    background: var(--cms-hero-sov-bg, var(--color-dark-bg));
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-bottom: var(--cms-hero-sov-margin, 0);
}

.cms-hero-sov__shell,
.cms-hero-sp__shell {
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(60px, 10vw, 120px) 24px clamp(60px, 8vw, 100px);
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cms-hero-sov__text,
.cms-hero-sp__text {
    flex: 1 1 55%;
    min-width: 0;
}

.cms-hero-sov__stats,
.cms-hero-sp__stats {
    display: flex;
    gap: clamp(16px, 3vw, 32px);
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.cms-hero-sov__stat,
.cms-hero-sp__stat {
    font-family: var(--font-body);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cms-hero-sov__stat-value,
.cms-hero-sp__stat-value {
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 800;
    color: var(--color-accent);
    line-height: 1.1;
}

.cms-hero-sov__stat-label,
.cms-hero-sp__stat-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--cms-hero-sov-muted, var(--color-text-muted));
}

.cms-hero-sp__stat-label { color: var(--cms-hero-sp-muted, var(--color-text-muted)); }

.cms-hero-sov__title,
.cms-hero-sp__title {
    font-family: var(--font-heading);
    font-size: clamp(32px, 5.5vw, 64px);
    font-weight: 800;
    line-height: 1.08;
    margin: 0 0 20px 0;
}

.cms-hero-sov__title { color: var(--cms-hero-sov-text, var(--color-text)); }

.cms-hero-sp__title { color: var(--cms-hero-sp-text, var(--color-text)); }

.cms-hero-sov__subtitle,
.cms-hero-sp__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    margin: 0 0 36px 0;
    max-width: 520px;
}

.cms-hero-sov__subtitle { color: var(--cms-hero-sov-muted, var(--color-text-muted)); }

.cms-hero-sp__subtitle { color: var(--cms-hero-sp-muted, var(--color-text-muted)); }

.cms-hero-sov__actions,
.cms-hero-sp__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cms-hero-sov__media,
.cms-hero-sp__image {
    flex: 1 1 42%;
    min-width: 0;
    position: relative;
    z-index: 3;
}

.cms-hero-sov__media-inner {
    transition: transform .4s ease;
}

.cms-hero-sov__image {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 4/3;
    max-height: 540px;
}

.cms-hero-sp {
    width: 100%;
    background: var(--cms-hero-sp-bg, var(--color-dark-bg));
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-bottom: var(--cms-hero-sp-margin, 0);
}

.cms-hero-sp__image {
    display: flex;
    justify-content: center;
    margin-bottom: var(--cms-hero-sp-image-margin, 0);
}

.cms-hero-sp__image-inner {
    position: relative;
    width: 100%;
    max-width: 520px;
}

.cms-hero-sp__img {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 3 / 4;
}

@media (max-width: 768px) {
    .cms-hero-sov__shell,
    .cms-hero-sp__shell {
        flex-direction: column-reverse !important;
    }
    .cms-hero-sov,
    .cms-hero-sp {
        margin-bottom: 0 !important;
    }
    .cms-hero-sp__image {
        min-width: 100% !important;
        flex: 1 1 100% !important;
        margin-bottom: 0 !important;
    }
    .cms-hero-sp__image-inner {
        max-width: 320px !important;
    }
    .cms-hero-sp__img {
        aspect-ratio: 3 / 4 !important;
        max-height: 400px !important;
    }
}

/* Hero Author / Glow */
.cms-hero-author {
    background: var(--cms-hero-author-bg, var(--color-bg));
    padding: clamp(72px,9vw,116px) 24px;
}

.cms-hero-author__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(110px, 156px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 56px);
}

.cms-hero-author--reversed .cms-hero-author__wrap { direction: rtl; }

.cms-hero-author__avatar,
.cms-hero-author__text { direction: ltr; }

.cms-hero-author__avatar img {
    width: clamp(104px, 12vw, 148px);
    height: clamp(104px, 12vw, 148px);
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 3px solid var(--cms-hero-author-ring, var(--color-border));
    outline: 3px solid var(--cms-hero-author-accent-ring, var(--color-accent));
    outline-offset: 3px;
}

.cms-hero-author__text { min-width: 0; max-width: 900px; }

.cms-hero-author__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--cms-hero-author-kicker, var(--color-text-muted));
    margin: 0 0 18px;
}

.cms-hero-author__kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
    opacity: .75;
}

.cms-hero-author__name {
    font-family: var(--font-heading);
    font-size: clamp(34px, 4.8vw, 58px);
    font-weight: 800;
    line-height: 1.04;
    color: var(--cms-hero-author-text, var(--color-text));
    margin: 0 0 14px;
    text-wrap: balance;
}

.cms-hero-author__role {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--cms-hero-author-muted, var(--color-text-muted));
    margin: 0 0 14px;
}

.cms-hero-author__bio {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.82;
    color: var(--cms-hero-author-muted, var(--color-text-muted));
    margin: 0;
    max-width: 840px;
    text-wrap: pretty;
}

.cms-hero-glow {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-glow__bg {
    position: absolute;
    inset: 0;
    opacity: .08;
}

.cms-hero-glow__orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    width: clamp(300px, 50vw, 600px);
    height: clamp(300px, 50vw, 600px);
    background: var(--color-accent);
    border-radius: var(--radius-full);
    filter: blur(clamp(80px, 12vw, 160px));
    opacity: .25;
    pointer-events: none;
    animation: heroGlowPulse 4s ease-in-out infinite alternate;
}

.cms-hero-glow__orb--secondary {
    transform: translate(-45%, -50%);
    width: clamp(200px, 30vw, 400px);
    height: clamp(200px, 30vw, 400px);
    filter: blur(clamp(60px, 10vw, 120px));
    opacity: .15;
    animation-delay: 1s;
}

.cms-hero-glow__content {
    position: relative;
    z-index: 2;
    max-width: var(--container);
    width: 100%;
    padding: 60px 24px;
    text-align: var(--cms-hero-glow-align, center);
    display: flex;
    flex-direction: column;
    align-items: var(--cms-hero-glow-items, center);
}

.cms-hero-glow__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 600;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px 0;
    max-width: 900px;
    letter-spacing: -0.02em;
}

.cms-hero-glow__highlight {
    font-family: var(--font-accent);
    color: var(--color-accent);
    font-weight: 700;
    font-size: 1.15em;
    position: relative;
    display: inline;
    text-shadow: 0 0 40px var(--color-accent), 0 0 80px var(--color-accent);
}

.cms-hero-glow__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.7;
    color: rgba(255,255,255,0.7);
    margin: 0 0 40px 0;
    max-width: 650px;
}

.cms-hero-glow__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-glow--align-left .cms-hero-glow__actions { justify-content: flex-start; }

@keyframes heroGlowPulse {
    0% { opacity: .2; transform: translate(-50%, -55%) scale(1); }
    100% { opacity: .35; transform: translate(-50%, -55%) scale(1.08); }
}

@media (max-width: 640px) {
    .cms-hero-author__wrap {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        direction: ltr;
    }
    .cms-hero-author__text,
    .cms-hero-author__bio { max-width: 100%; }
    .cms-hero-author__kicker { justify-content: center; }
    .cms-hero-author__kicker::before { display: none; }
}

/* Hero no-inline modifiers */
.cms-hero-min__bg-img,
.cms-hero-post-centered__bg-img,
.cms-hero-post-overlay__bg-img,
.cms-hero-oc__bg-img,
.cms-hero-centered__bg-img,
.cms-hero-fc__bg-img,
.cms-hero-glow__bg-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cms-hero-min {
    --cms-hero-min-bg: var(--color-bg);
    --cms-hero-min-text: var(--color-text);
    --cms-hero-min-muted: var(--color-text-muted);
    min-height: auto;
    padding: 80px 24px;
}

.cms-hero-min--bg-dark,
.cms-hero-min--bg-image,
.cms-hero-min--bg-accent,
.cms-hero-min--with-image {
    --cms-hero-min-text: #fff;
    --cms-hero-min-muted: rgba(255,255,255,0.78);
}

.cms-hero-min--bg-dark,
.cms-hero-min--bg-image { --cms-hero-min-bg: var(--color-dark-bg); }

.cms-hero-min--bg-accent { --cms-hero-min-bg: var(--color-accent); }

.cms-hero-min--with-image { padding: 0; }

.cms-hero-min--height-full { min-height: 100vh; }

.cms-hero-min--height-large { min-height: 80vh; }

.cms-hero-min--height-medium { min-height: 60vh; }

.cms-hero-min--height-small { min-height: clamp(280px,35vh,360px); }

.cms-hero-min--height-auto.cms-hero-min--with-image { min-height: clamp(360px,48vh,560px); }

.cms-hero-min--align-left .cms-hero-min__content { text-align: left; align-items: flex-start; }

.cms-hero-min--with-image .cms-hero-min__content { padding: clamp(56px, 8vw, 104px) 24px; }

.cms-hero-centered {
    --cms-hero-centered-bg: var(--color-dark-bg);
    --cms-hero-centered-text: #fff;
    --cms-hero-centered-subtitle: rgba(255,255,255,0.8);
    --cms-hero-centered-overlay: transparent;
    min-height: 100vh;
    padding: 0;
}

.cms-hero-centered--bg-light { --cms-hero-centered-bg: var(--color-bg); --cms-hero-centered-text: var(--color-text); --cms-hero-centered-subtitle: var(--color-text-muted); }

.cms-hero-centered--bg-accent { --cms-hero-centered-bg: var(--color-accent); }

.cms-hero-centered--height-large { min-height: 80vh; }

.cms-hero-centered--height-medium { min-height: 60vh; }

.cms-hero-centered--height-auto { min-height: auto; padding: 120px 0; }

.cms-hero-centered--overlay-gradient { --cms-hero-centered-text: #fff; --cms-hero-centered-subtitle: rgba(255,255,255,0.8); --cms-hero-centered-overlay: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); }

.cms-hero-centered--overlay-dark { --cms-hero-centered-text: #fff; --cms-hero-centered-subtitle: rgba(255,255,255,0.8); --cms-hero-centered-overlay: rgba(0,0,0,0.55); }

.cms-hero-centered--overlay-light { --cms-hero-centered-text: var(--color-text); --cms-hero-centered-subtitle: var(--color-text-muted); --cms-hero-centered-overlay: rgba(255,255,255,0.4); }

.cms-hero-centered--align-left .cms-hero-centered__content { text-align: left; align-items: flex-start; }

.cms-hero-fc { min-height: 100vh; padding: 0; }

.cms-hero-fc--height-large { min-height: 85vh; }

.cms-hero-fc--height-medium { min-height: 70vh; }

.cms-hero-fc--height-auto { min-height: auto; padding: 140px 0; }

.cms-hero-post-centered { min-height: 100vh; padding: 0; }

.cms-hero-post-centered--height-large { min-height: 85vh; }

.cms-hero-post-centered--height-medium { min-height: 70vh; }

.cms-hero-post-centered--height-small { min-height: 60vh; }

.cms-hero-post-centered--height-auto { min-height: auto; padding: 140px 0; }

.cms-hero-post-overlay { min-height: clamp(350px,45vh,500px); }

.cms-hero-post-overlay--height-full { min-height: 100vh; }

.cms-hero-post-overlay--height-large { min-height: 80vh; }

.cms-hero-post-overlay--height-medium { min-height: 60vh; }

.cms-hero-post-overlay--height-small { min-height: clamp(280px,35vh,360px); }

.cms-hero-oc { margin-bottom: 0; }

.cms-hero-oc--overflow { margin-bottom: -100px; }

.cms-hero-oc__bg { background: var(--color-dark-bg); }

.cms-hero-oc--overlay-gradient .cms-hero-oc__bg-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.65) 100%); }

.cms-hero-oc--overlay-dark .cms-hero-oc__bg-overlay { background: rgba(0,0,0,0.55); }

.cms-hero-oc--overlay-light .cms-hero-oc__bg-overlay { background: rgba(255,255,255,0.4); }

.cms-hero-oc__cards { grid-template-columns: repeat(3, 1fr); }

.cms-hero-oc--cols-1 .cms-hero-oc__cards { grid-template-columns: 1fr; }

.cms-hero-oc--cols-2 .cms-hero-oc__cards { grid-template-columns: repeat(2, 1fr); }

.cms-hero-oc--cols-4 .cms-hero-oc__cards { grid-template-columns: repeat(4, 1fr); }

.cms-hero-lt,
.cms-hero-split {
    --cms-hero-lt-bg: var(--color-bg);
    --cms-hero-lt-text: var(--color-text);
    --cms-hero-lt-muted: var(--color-text-muted);
    --cms-hero-split-bg: var(--color-bg);
    --cms-hero-split-text: var(--color-text);
    --cms-hero-split-muted: var(--color-text-muted);
}

.cms-hero-lt--bg-dark,
.cms-hero-split--bg-dark {
    --cms-hero-lt-bg: var(--color-dark-bg);
    --cms-hero-lt-text: #fff;
    --cms-hero-lt-muted: rgba(255,255,255,0.6);
    --cms-hero-split-bg: var(--color-dark-bg);
    --cms-hero-split-text: #fff;
    --cms-hero-split-muted: rgba(255,255,255,0.7);
}

.cms-hero-lt--bg-accent,
.cms-hero-split--bg-accent {
    --cms-hero-lt-bg: var(--color-accent);
    --cms-hero-lt-text: #fff;
    --cms-hero-lt-muted: rgba(255,255,255,0.6);
    --cms-hero-split-bg: var(--color-accent);
    --cms-hero-split-text: #fff;
    --cms-hero-split-muted: rgba(255,255,255,0.7);
}

.cms-hero-lt--height-full,
.cms-hero-split--height-full { min-height: 100vh; }

.cms-hero-lt--height-large,
.cms-hero-split--height-large { min-height: 80vh; }

.cms-hero-lt--height-medium,
.cms-hero-split--height-medium { min-height: 60vh; }

.cms-hero-scb { background: var(--color-bg); }

.cms-hero-scb--bg-dark { background: var(--color-dark-bg); }

.cms-hero-scb__block { background: var(--color-accent); }

.cms-hero-sov { --cms-hero-sov-bg: var(--color-dark-bg); --cms-hero-sov-text: var(--color-dark-text); --cms-hero-sov-muted: var(--color-dark-text-muted); margin-bottom: 0; }

.cms-hero-sov--bg-light { --cms-hero-sov-bg: var(--color-bg); --cms-hero-sov-text: var(--color-text); --cms-hero-sov-muted: var(--color-text-muted); }

.cms-hero-sov--bg-accent { --cms-hero-sov-bg: var(--color-accent); --cms-hero-sov-text: #fff; --cms-hero-sov-muted: rgba(255,255,255,0.8); }

.cms-hero-sov--overflow { margin-bottom: -80px; }

.cms-hero-sp { --cms-hero-sp-bg: var(--color-dark-bg); --cms-hero-sp-text: var(--color-dark-text); --cms-hero-sp-muted: var(--color-dark-text-muted); margin-bottom: 0; }

.cms-hero-sp--bg-light { --cms-hero-sp-bg: var(--color-bg); --cms-hero-sp-text: var(--color-text); --cms-hero-sp-muted: var(--color-text-muted); }

.cms-hero-sp--bg-accent { --cms-hero-sp-bg: var(--color-accent); --cms-hero-sp-text: #fff; --cms-hero-sp-muted: rgba(255,255,255,0.8); }

.cms-hero-sp--overflow { margin-bottom: -90px; }

.cms-hero-sp--overflow .cms-hero-sp__image { margin-bottom: -120px; }

.cms-hero-author {
    --cms-hero-author-bg: var(--color-bg);
    --cms-hero-author-text: var(--color-text);
    --cms-hero-author-muted: var(--color-text-muted);
    --cms-hero-author-kicker: var(--color-text-muted);
    --cms-hero-author-ring: var(--color-border);
    --cms-hero-author-accent-ring: var(--color-accent);
}

.cms-hero-author--bg-dark,
.cms-hero-author--bg-accent {
    --cms-hero-author-text: var(--color-dark-text, #fff);
    --cms-hero-author-muted: rgba(255,255,255,0.76);
    --cms-hero-author-kicker: rgba(255,255,255,0.70);
    --cms-hero-author-ring: rgba(255,255,255,0.15);
}

.cms-hero-author--bg-dark { --cms-hero-author-bg: var(--color-dark-bg, #1C1917); }

.cms-hero-author--bg-accent { --cms-hero-author-bg: var(--color-accent); }

.cms-hero-author--bg-alt { --cms-hero-author-bg: var(--color-bg-alt, #f9fafb); }

.cms-hero-author--bg-transparent { --cms-hero-author-bg: transparent; }

.cms-hero-glow--align-left .cms-hero-glow__content { text-align: left; align-items: flex-start; }

.cms-hero-sg-track {
    --cms-hero-sg-bg: var(--color-bg);
    --cms-hero-sg-text: var(--color-text);
    --cms-hero-sg-muted: var(--color-text-muted);
}

.cms-hero-sg-track--bg-dark,
.cms-hero-sg-track--bg-accent {
    --cms-hero-sg-text: #fff;
    --cms-hero-sg-muted: rgba(255,255,255,0.6);
}

.cms-hero-sg-track--bg-dark { --cms-hero-sg-bg: var(--color-dark-bg); }

.cms-hero-sg-track--bg-accent { --cms-hero-sg-bg: var(--color-accent); }

/* Hero Scroll Grow */
.cms-hero-sg-track {
    position: relative;
    height: 250vh;
    background: var(--cms-hero-sg-bg, var(--color-bg));
}

.cms-hero-sg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: var(--cms-hero-sg-bg, var(--color-bg));
}

.cms-hero-sg__container {
    position: relative;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    height: 100%;
    display: flex;
    align-items: center;
}

.cms-hero-sg__text {
    width: 48%;
    max-width: 48%;
    position: relative;
    z-index: 1;
}

.cms-hero-sg__title {
    font-family: var(--font-heading);
    font-size: clamp(32px,5vw,60px);
    font-weight: 600;
    line-height: 1.12;
    color: var(--cms-hero-sg-text, var(--color-text));
    margin: 0 0 20px;
}

.cms-hero-sg__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px,1.8vw,19px);
    line-height: 1.7;
    color: var(--cms-hero-sg-muted, var(--color-text-muted));
    margin: 0 0 32px;
    max-width: 500px;
}

.cms-hero-sg__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cms-hero-sg__img-wrap {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 42%;
    height: 70vh;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    z-index: 2;
    will-change: width,left,height,border-radius;
}

.cms-hero-sg__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

@media (max-width: 768px) {
    .cms-hero-sg-track { height: auto !important; }
    .cms-hero-sg { position: relative !important; height: auto !important; padding: 60px 0 !important; }
    .cms-hero-sg__container { flex-direction: column !important; }
    .cms-hero-sg__text { width: 100% !important; max-width: 100% !important; margin-bottom: 30px; }
    .cms-hero-sg__img-wrap {
        position: relative !important;
        width: 100% !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        height: 300px !important;
    }
}

/* POST_CARD_DS_BRIDGE_20260525: restore design-system variables for post/generic cards. */
:root {
  --cms-ds-card-bg: var(--color-bg, var(--cms-bg, #fff));
  --cms-ds-card-bg-alt: var(--color-bg-alt, var(--cms-bg-alt, #f8fafc));
  --cms-ds-card-bg-dark: var(--color-dark-bg, #1C1917);
  --cms-ds-card-border: var(--color-border, var(--cms-border, #e2e8f0));
  --cms-ds-card-shadow: var(--shadow, var(--cms-shadow, 0 1px 3px rgba(0,0,0,.1)));
  --cms-ds-text: var(--color-text, var(--cms-text, #1e293b));
  --cms-ds-muted: var(--color-text-muted, var(--cms-text-light, #64748b));
  --cms-ds-radius-lg: var(--radius-lg, var(--cms-radius-lg, 16px));
  --cms-ds-radius-full: var(--radius-full, 999px);
}

.cms-ds-card {
  --cms-pc-bg: var(--cms-ds-card-bg);
  --cms-pc-border: var(--style-card-border-width, 1px) solid var(--cms-ds-card-border);
  --cms-pc-radius: var(--cms-ds-radius-lg);
  --cms-pc-text: var(--cms-ds-text);
  --cms-pc-muted: var(--cms-ds-muted);
  --cms-pc-border-color: var(--cms-ds-card-border);
  --cms-pc-overlay-bg: var(--cms-ds-card-bg-dark);
  --cms-gc-bg: var(--cms-ds-card-bg);
  --cms-gc-border: var(--style-card-border-width, 1px) solid var(--cms-ds-card-border);
  --cms-gc-radius: var(--cms-ds-radius-lg);
  --cms-gc-text: var(--cms-ds-text);
  --cms-gc-muted: var(--cms-ds-muted);
  --cms-gc-border-color: var(--cms-ds-card-border);
  --cms-gc-overlay-bg: var(--cms-ds-card-bg-dark);
}

.cms-ds-card--bg-alt { --cms-pc-bg: var(--cms-ds-card-bg-alt); --cms-gc-bg: var(--cms-ds-card-bg-alt); }

.cms-ds-card--bg-dark,
.cms-ds-card--dark {
  --cms-pc-bg: var(--cms-ds-card-bg-dark);
  --cms-pc-text: #fff;
  --cms-pc-muted: rgba(255,255,255,.7);
  --cms-pc-border-color: rgba(255,255,255,.14);
  --cms-pc-border: var(--style-card-border-width, 1px) solid rgba(255,255,255,.14);
  --cms-gc-bg: var(--cms-ds-card-bg-dark);
  --cms-gc-text: #fff;
  --cms-gc-muted: rgba(255,255,255,.7);
  --cms-gc-border-color: rgba(255,255,255,.14);
  --cms-gc-border: var(--style-card-border-width, 1px) solid rgba(255,255,255,.14);
}

.cms-ds-card--bg-transparent,
.cms-ds-card--appearance-flat {
  --cms-pc-bg: transparent;
  --cms-pc-border: none;
  --cms-pc-radius: 0;
  --cms-gc-bg: transparent;
  --cms-gc-border: none;
  --cms-gc-radius: 0;
}

/* Helpers Cards */
.cms-generic-card,.cms-post-card{text-decoration:none}

.cms-generic-card{display:flex;flex-direction:column;overflow:hidden;border:var(--cms-gc-border);border-radius:var(--cms-gc-radius);background:var(--cms-gc-bg);transition:transform .3s ease,box-shadow .3s ease}

.cms-generic-card:hover{transform:translateY(-4px)}

.cms-generic-card:hover .cms-generic-card__media{transform:scale(1.05)}

.cms-generic-card:hover .cms-generic-card__title{color:var(--color-accent)}

.cms-generic-card--horizontal{flex-direction:row}

.cms-generic-card--minimal{display:block;padding:16px 0;border:none;border-bottom:1px solid var(--cms-gc-border-color);border-radius:0;background:transparent;transition:background .2s ease}

.cms-generic-card--overlay{position:relative;display:block;aspect-ratio:4/5;border:none;border-radius:var(--radius-lg);background:var(--cms-gc-overlay-bg,transparent)}

.cms-generic-card__frame{overflow:hidden;aspect-ratio:16/9}

.cms-generic-card__split-media{width:35%;flex-shrink:0;overflow:hidden}

.cms-generic-card__thumb{flex-shrink:0;overflow:hidden;width:80px;height:80px;border-radius:var(--radius-md,8px)}

.cms-generic-card__media{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}

.cms-generic-card__media--fill{position:absolute;inset:0}

.cms-generic-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}

.cms-generic-card__content{display:flex;flex:1;flex-direction:column;gap:8px;padding:clamp(16px,2vw,24px)}

.cms-generic-card__content--horizontal{justify-content:center}

.cms-generic-card__content--overlay{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:clamp(16px,2.5vw,28px)}

.cms-generic-card__label{font:600 12px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent)}

.cms-generic-card__pill{display:inline-block;width:fit-content;margin-bottom:8px;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font:600 11px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase}

.cms-generic-card__title{margin:0;font:600 clamp(15px,1.4vw,19px)/1.22 var(--font-heading);color:var(--cms-gc-text)}

.cms-generic-card__title--minimal{font-size:15px;line-height:1.3}

.cms-generic-card__title--overlay{color:#fff;font-size:clamp(15px,1.85vw,20px)}

.cms-generic-card__desc{margin:0;font:400 14px/1.6 var(--font-body);color:var(--cms-gc-muted)}

.cms-generic-card__desc--overlay{font-size:13px;line-height:1.5;color:rgba(255,255,255,.75)}

.cms-generic-card__desc--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}

.cms-generic-card__desc--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cms-generic-card__minimal-row{display:flex;align-items:center;justify-content:space-between;gap:12px}

.cms-generic-card__minimal-copy{flex:1;min-width:0}

.cms-generic-card__count{flex-shrink:0;padding:4px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent);font:600 13px/1.3 var(--font-body)}

.cms-generic-card__footer-count{margin-top:auto;padding-top:12px;border-top:1px solid var(--cms-gc-border-color);color:var(--color-accent);font:600 13px/1.3 var(--font-body)}

@media (max-width:600px){.cms-generic-card--horizontal{flex-direction:column}.cms-generic-card--horizontal .cms-generic-card__split-media{width:100%;aspect-ratio:16/9}}

.cms-post-card{display:flex;flex-direction:column;overflow:hidden;border:var(--cms-pc-border);border-radius:var(--cms-pc-radius);background:var(--cms-pc-bg);transition:transform .3s ease,box-shadow .3s ease}

.cms-post-card:hover{transform:translateY(-4px)}

.cms-post-card:hover .cms-post-card__media{transform:scale(1.05)}

.cms-post-card:hover .cms-post-card__title-link{color:var(--color-accent)}

.cms-post-card--flat{box-shadow:none}

.cms-post-card--featured{display:grid;grid-template-columns:1fr 1fr}

.cms-post-card--horizontal{flex-direction:row}

.cms-post-card--minimal{display:flex;align-items:center;gap:16px;padding:16px 0;border:none;border-bottom:1px solid var(--cms-pc-border-color);border-radius:0;background:transparent}

.cms-post-card--overlay{position:relative;aspect-ratio:4/5;border:none;border-radius:var(--radius-lg);background:var(--cms-pc-overlay-bg,transparent)}

.cms-post-card__featured-media{display:block;overflow:hidden}

.cms-post-card__overlay-link{position:absolute;inset:0;display:block;text-decoration:none}

.cms-post-card__frame{display:block;overflow:hidden;aspect-ratio:3/2}

.cms-post-card__split-media{display:block;overflow:hidden;width:35%;flex-shrink:0}

.cms-post-card__thumb{display:block;flex-shrink:0;overflow:hidden;width:80px;height:80px;border-radius:var(--radius-md,8px)}

.cms-post-card__media{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}

.cms-post-card__media--fill{position:absolute;inset:0}

.cms-post-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}

.cms-post-card__content{display:flex;flex:1;flex-direction:column;gap:8px;padding:clamp(16px,2vw,24px)}

.cms-post-card__content--featured{justify-content:center;padding:clamp(24px,3vw,48px);gap:12px}

.cms-post-card__content--horizontal{justify-content:center}

.cms-post-card__content--overlay{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:clamp(16px,2.5vw,28px)}

.cms-post-card__debug-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(220,38,38,.08);color:#b91c1c;font:700 11px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase}

.cms-post-card__debug-badge--on-dark{margin-bottom:10px;background:rgba(248,113,113,.18);color:#fff}

.cms-post-card__debug-sub{font-weight:600;color:#991b1b;letter-spacing:0;text-transform:none}

.cms-post-card__debug-sub--on-dark{color:rgba(255,255,255,.82)}

.cms-post-card__cat{font:600 12px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent)}

.cms-post-card__cat--badge,.cms-post-card__cat--pill{display:inline-block;width:fit-content;padding:4px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-post-card__cat--pill{margin-bottom:8px;background:var(--color-accent);color:#fff;font-size:11px}

.cms-post-card__title{margin:0;font:600 clamp(15px,1.4vw,19px)/1.22 var(--font-heading);color:var(--cms-pc-text)}

.cms-post-card__title--featured{font-size:clamp(19px,2.35vw,26px);line-height:1.2}

.cms-post-card__title--overlay{color:#fff;font-size:clamp(15px,1.85vw,20px)}

.cms-post-card__title--minimal{font-size:15px;line-height:1.3}

.cms-post-card__title-link{color:inherit;text-decoration:none;transition:color .2s ease}

.cms-post-card__title-link--inverse{color:#fff}

.cms-post-card__excerpt{margin:0;font:400 14px/1.6 var(--font-body);color:var(--cms-pc-muted)}

.cms-post-card__excerpt--featured{font-size:15px;line-height:1.6}

.cms-post-card__excerpt--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.cms-post-card__excerpt--ellipsis{flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}

.cms-post-card__meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--cms-pc-muted);font:400 12px/1.4 var(--font-body)}

.cms-post-card__meta--featured{margin-top:8px;font-size:13px}

.cms-post-card__meta--overlay{color:rgba(255,255,255,.75)}

.cms-post-card__meta--minimal{gap:12px;flex-wrap:wrap;font-size:13px}

.cms-post-card__meta--footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--cms-pc-border-color)}

.cms-post-card__avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}

.cms-post-card__avatar--lg{width:32px;height:32px}

.cms-post-card__author{font-weight:500}

.cms-post-card__author--strong{font-weight:600;color:var(--cms-pc-text)}

@media (max-width:700px){.cms-post-card--featured{grid-template-columns:1fr}.cms-post-card--featured .cms-post-card__featured-media img{min-height:200px;max-height:240px}}

@media (max-width:600px){.cms-post-card--horizontal{flex-direction:column}.cms-post-card--horizontal .cms-post-card__split-media{width:100%;aspect-ratio:16/9}}

/* Helpers Small */
.cms-btn-group{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;align-items:center}

.cms-btn-group--center{justify-content:center}

.cms-btn-group--end{justify-content:flex-end}

.cms-btn-group--between{justify-content:space-between}

.cms-parallax-wrap{position:relative;z-index:0}

.cms-parallax-wrap__sticky{position:sticky;top:0}

/* Carousel Helper */

.cms-carousel{position:relative;width:100%;max-width:var(--container,1200px);margin:0 auto;padding:0 76px 8px;box-sizing:border-box;overflow:visible}

.cms-carousel__viewport{overflow:hidden;margin:0;padding:6px 12px 10px;box-sizing:border-box}

.cms-carousel{--carousel-per-view:3;--carousel-gap:24px}

.cms-carousel--per-view-1{--carousel-per-view:1}

.cms-carousel--per-view-2{--carousel-per-view:2}

.cms-carousel--per-view-3{--carousel-per-view:3}

.cms-carousel--per-view-4{--carousel-per-view:4}

.cms-carousel--gap-sm{--carousel-gap:16px}

.cms-carousel--gap-md{--carousel-gap:24px}

.cms-carousel--gap-lg{--carousel-gap:32px}

.cms-carousel__track{display:flex;gap:var(--carousel-gap);transition:transform .5s cubic-bezier(.25,.1,.25,1);will-change:transform}

.cms-carousel__controls{position:static;display:block;--cms-carousel-arrow-bg:rgba(0,0,0,.06);--cms-carousel-arrow-hover-bg:rgba(0,0,0,.1);--cms-carousel-arrow-color:var(--color-text);--cms-carousel-dot-bg:color-mix(in srgb,var(--color-text-muted) 42%,transparent);--cms-carousel-dot-active-bg:var(--color-accent)}

.cms-carousel__controls--dark{--cms-carousel-arrow-bg:rgba(255,255,255,.15);--cms-carousel-arrow-hover-bg:rgba(255,255,255,.25);--cms-carousel-arrow-color:var(--color-dark-text);--cms-carousel-dot-bg:color-mix(in srgb,var(--color-dark-text) 26%,transparent);--cms-carousel-dot-active-bg:var(--color-dark-text)}

.cms-carousel__prev,.cms-carousel__next{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:var(--cms-carousel-arrow-bg);color:var(--cms-carousel-arrow-color);cursor:pointer;transition:background .2s ease,opacity .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:1;pointer-events:auto;transform:translateY(-50%)}

.cms-carousel__prev{left:20px}

.cms-carousel__next{right:14px}

.cms-carousel__dots{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:24px;padding:2px 0 4px}

.cms-carousel:hover .cms-carousel__prev,.cms-carousel:hover .cms-carousel__next{opacity:1;pointer-events:auto}

.cms-carousel__prev:hover,.cms-carousel__next:hover{background:var(--cms-carousel-arrow-hover-bg)}

.cms-carousel__prev[disabled],.cms-carousel__next[disabled]{opacity:.3;cursor:default;pointer-events:none}

.cms-carousel__dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;margin:0;padding:0;border:none;border-radius:999px;background:transparent;cursor:pointer;transition:transform .2s ease}

.cms-carousel__dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cms-carousel-dot-bg);transition:background .2s ease,transform .2s ease}

.cms-carousel__dot:hover::before,.cms-carousel__dot:focus-visible::before{transform:scale(1.2)}

.cms-carousel__dot:focus-visible{outline:2px solid color-mix(in srgb,var(--cms-carousel-dot-active-bg) 55%,var(--color-bg));outline-offset:2px}

.cms-carousel__dot--active::before{background:var(--cms-carousel-dot-active-bg) !important;transform:scale(1.2)}

@media (max-width:640px){.cms-carousel{padding:0 0 8px !important}.cms-carousel .cms-carousel__viewport{padding:6px 0 10px !important}.cms-carousel__controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.cms-carousel__dots{order:2;margin-top:0;padding:0}.cms-carousel__prev,.cms-carousel__next{position:static !important;display:inline-flex !important;flex:0 0 auto;width:42px;height:42px;opacity:1 !important;pointer-events:auto !important;transform:none !important}.cms-carousel__prev{order:1}.cms-carousel__next{order:3}}

@media (hover:none) and (pointer:coarse) and (min-width:641px){.cms-carousel__prev,.cms-carousel__next{display:none !important}}

/* Helpers Core */
.cms-label{margin:0;font:600 13px/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}

.cms-label--on-dark{color:rgba(255,255,255,.9)}

.cms-label--badge{display:inline-block;padding:4px 14px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-label--badge.cms-label--on-dark{background:rgba(255,255,255,.1)}

.cms-label--line-before,.cms-label--line-after,.cms-label--dot{display:flex;align-items:center;margin:0}

.cms-label--line-before{gap:10px}

.cms-label--line-after{gap:10px}

.cms-label--dot{gap:8px}

.cms-label__line{display:inline-block;width:24px;height:2px;background:currentColor}

.cms-label__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}

.cms-floating-badge{z-index:10;max-width:220px;padding:14px 18px;border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-lg)}

.cms-floating-badge__row{display:flex;align-items:center;gap:10px;margin-bottom:6px}

.cms-floating-badge__icon-chip{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 12%,transparent);font-size:16px}

.cms-floating-badge__value{font:700 24px/1 var(--font-heading);color:var(--color-text)}

.cms-floating-badge__value--accent{color:var(--color-accent)}

.cms-floating-badge__text{margin:0;color:var(--color-text-muted);font-family:var(--font-body)}

.cms-floating-badge__text--muted{font-size:12px;line-height:1.4}

.cms-floating-badge__text--small{margin-top:4px;font-size:11px;line-height:1.3}

.cms-floating-badge__text--tiny{font-size:10px;line-height:1.2}

.cms-floating-badge__stars{display:flex;align-items:center;gap:4px;margin-bottom:6px}

.cms-floating-badge__quote-mark{margin-bottom:6px;opacity:.3}

.cms-floating-badge__quote-text{margin:0 0 8px;font:italic 13px/1.5 var(--font-body);color:var(--color-text)}

.cms-floating-badge__author{font:600 11px/1.3 var(--font-body);color:var(--color-text-muted)}

.cms-floating-badge--label{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);box-shadow:var(--shadow)}

.cms-floating-badge__label-icon{font-size:16px}

.cms-floating-badge__label-text{white-space:nowrap;font:600 13px/1.3 var(--font-body);color:var(--color-text)}

.cms-floating-badge__check-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}

.cms-floating-badge__check-text{font:400 13px/1.3 var(--font-body);color:var(--color-text)}

.cms-floating-badge--users{display:flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;border-radius:var(--radius-full)}

.cms-floating-badge__avatars{display:flex}

.cms-floating-badge__avatar{width:28px;height:28px;margin-left:-8px;border:2px solid var(--color-bg);border-radius:50%;background:color-mix(in srgb,var(--color-accent) 20%,var(--color-bg-alt))}

.cms-floating-badge__avatar:first-child{margin-left:0}

.cms-floating-badge__avatar--2{background:color-mix(in srgb,var(--color-accent) 35%,var(--color-bg-alt))}

.cms-floating-badge__avatar--3{background:color-mix(in srgb,var(--color-accent) 50%,var(--color-bg-alt))}

.cms-floating-badge__count{font:700 16px/1 var(--font-heading);color:var(--color-text)}

.cms-floating-badge--award{text-align:center;max-width:180px}

.cms-floating-badge__award-icon{margin-bottom:6px;font-size:28px}

.cms-floating-badge__award-title{font:700 14px/1.2 var(--font-heading);color:var(--color-text)}

.cms-floating-badge__award-subtitle{margin-top:4px;font:400 11px/1.3 var(--font-body);color:var(--color-text-muted)}

/* Content Table */
.cms-content-table{margin:32px 0;--cms-content-table-width:auto;--cms-content-table-min-width:0;--cms-content-table-cell-min:0;--cms-content-table-cell-min-mobile:0;--cms-content-table-sticky-min:182px;--cms-content-table-modal-cell-min:144px;--cms-content-table-expand-display:none;--cms-content-table-striped:0}

.cms-content-table--wide{--cms-content-table-width:100%;--cms-content-table-min-width:max-content;--cms-content-table-expand-display:inline-flex}

.cms-content-table--density-balanced{--cms-content-table-cell-min:118px;--cms-content-table-cell-min-mobile:104px;--cms-content-table-modal-cell-min:118px}

.cms-content-table--density-compact{--cms-content-table-cell-min:102px;--cms-content-table-cell-min-mobile:92px;--cms-content-table-sticky-min:152px;--cms-content-table-modal-cell-min:102px}

.cms-content-table--striped{--cms-content-table-striped:1}

.cms-content-table__shell{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:0 8px 24px rgba(15,23,42,.04)}

.cms-content-table__expand-btn{position:absolute;top:10px;right:10px;z-index:8;display:var(--cms-content-table-expand-display);align-items:center;justify-content:center;gap:6px;width:38px;height:38px;border:none;border-radius:999px;background:rgba(255,255,255,.94);color:var(--color-text);box-shadow:0 8px 18px rgba(15,23,42,.10);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}

.cms-content-table__expand-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.14);background:#fff}

.cms-content-table__shell::before,.cms-content-table__shell::after{content:"";position:absolute;top:0;bottom:0;width:18px;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:4}

.cms-content-table__shell::before{left:0;background:linear-gradient(to right,rgba(255,255,255,.96),rgba(255,255,255,0))}

.cms-content-table__shell::after{right:0;background:linear-gradient(to left,rgba(255,255,255,.96),rgba(255,255,255,0))}

.cms-content-table__shell.has-left-shadow::before{opacity:1}

.cms-content-table__shell.has-right-shadow::after{opacity:1}

.cms-content-table__wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.85) transparent}

.cms-content-table__wrap::-webkit-scrollbar{height:10px}

.cms-content-table__wrap::-webkit-scrollbar-track{background:transparent}

.cms-content-table__wrap::-webkit-scrollbar-thumb{background:rgba(148,163,184,.75);border-radius:999px;border:2px solid transparent;background-clip:padding-box}

.cms-content-table__table{display:table !important;margin:0 !important;width:var(--cms-content-table-width);min-width:var(--cms-content-table-min-width);max-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}

.cms-content-table__table th,.cms-content-table__table td{white-space:normal;min-width:var(--cms-content-table-cell-min);word-break:normal;overflow-wrap:anywhere}

.cms-content-table__table th{position:sticky;top:0;z-index:2;padding:13px 18px;text-align:left;font:600 13px/1.35 var(--font-heading);color:#fff;background:var(--color-accent);vertical-align:top}

.cms-content-table__table td{padding:13px 18px;font:400 14px/1.6 var(--font-body);color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:top;background:var(--color-bg)}

.cms-content-table__table tbody tr:last-child td{border-bottom:none}

.cms-content-table__table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--color-bg-alt) calc(var(--cms-content-table-striped) * 100%), var(--color-bg) calc(100% - (var(--cms-content-table-striped) * 100%)))}

.cms-content-table__table th:first-child,.cms-content-table__table td:first-child{position:sticky;left:0;z-index:3;min-width:var(--cms-content-table-sticky-min);box-shadow:1px 0 0 var(--color-border)}

.cms-content-table__table th:first-child{z-index:5;background:color-mix(in srgb,var(--color-accent) 92%,#000 8%)}

.cms-content-table__table td:first-child{background:color-mix(in srgb,var(--color-bg) 92%,var(--color-bg-alt) 8%);font-weight:600;color:var(--color-text)}

.cms-content-table__table tbody tr:nth-child(even) td:first-child{background:color-mix(in srgb,var(--color-bg-alt) 86%,var(--color-bg) 14%)}

.cms-content-table__caption{margin:8px 0 0;text-align:center;font:400 13px/1.6 var(--font-body);color:var(--color-text-muted)}

@media (max-width:768px){.cms-content-table{margin-left:-12px;margin-right:-12px}.cms-content-table__shell{border-radius:var(--radius)}.cms-content-table__expand-btn{display:none !important}.cms-content-table__table th,.cms-content-table__table td{padding:10px 12px;font-size:13px;min-width:var(--cms-content-table-cell-min-mobile)}.cms-content-table__table th:first-child,.cms-content-table__table td:first-child{min-width:128px}}

/* Content FAQ */
.cms-content-faq{position:relative;overflow:hidden;margin:32px 0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg, #fff);box-shadow:0 1px 6px rgba(0,0,0,.05)}

.cms-content-faq--bg-white{background:var(--color-bg, #fff)}

.cms-content-faq--bg-alt{background:var(--color-bg-alt, #f9fafb)}

.cms-content-faq--bg-dark{background:var(--color-dark-bg, #1C1917)}

.cms-content-faq--bg-transparent{background:transparent}

.cms-content-faq--bg-dark .cms-content-faq__question{color:#fff}

.cms-content-faq--bg-dark .cms-content-faq__answer-inner{color:rgba(255,255,255,.72)}

.cms-content-faq--flat{border-color:transparent;box-shadow:none;background:var(--color-bg-alt)}

.cms-content-faq__deco{position:absolute;z-index:0;pointer-events:none}

.cms-content-faq__deco--tl{top:-12px;left:-12px}

.cms-content-faq__deco--tr{top:-12px;right:-12px}

.cms-content-faq__deco--bl{bottom:-12px;left:-12px}

.cms-content-faq__deco--br{bottom:-12px;right:-12px}

.cms-content-faq__deco--s1{width:70px;height:70px}

.cms-content-faq__deco--s2{width:55px;height:55px}

.cms-content-faq__deco--s3{width:80px;height:80px}

.cms-content-faq__deco--s4{width:60px;height:60px}

.cms-content-faq__deco--s5{width:75px;height:75px}

.cms-content-faq__deco--circle{border-radius:50%;background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-content-faq__deco--accent,.cms-content-faq__deco--offset{height:calc(var(--cms-deco-h, 100%) * .8);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-content-faq__deco--dots{background:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.2}

.cms-content-faq__deco--stripes{opacity:.15;background:repeating-linear-gradient(45deg,var(--color-accent) 0px,var(--color-accent) 2px,transparent 2px,transparent 10px)}

.cms-content-faq__deco--crosshatch{opacity:.12;background:repeating-linear-gradient(0deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px)}

.cms-content-faq__eyebrow{position:relative;z-index:1;display:block;margin:0 0 14px;font:700 11px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-faq__list{position:relative;z-index:1;display:flex;flex-direction:column;gap:0}

.cms-content-faq__item--divided{border-bottom:1px solid var(--color-border)}

.cms-content-faq__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 0;background:none;border:none;cursor:pointer;text-align:left}

.cms-content-faq__question{font:600 15px/1.5 var(--font-body);color:var(--color-text)}

.cms-content-faq__icon{flex-shrink:0;width:16px;height:16px;min-width:16px;color:var(--color-accent);transition:transform .2s}

.cms-content-faq__icon.is-open{transform:rotate(180deg)}

.cms-content-faq__answer{height:0;overflow:hidden;opacity:0;transition:height .28s ease,opacity .22s ease}

.cms-content-faq__answer-inner{padding:0 0 14px;font:400 14px/1.7 var(--font-body);color:var(--color-text-muted)}

/* Content Utility Blocks */
.cms-content-paa{margin:28px 0;padding:16px 20px;border:0;border-left:3px solid var(--color-accent);border-radius:0;box-shadow:none;background:transparent}

.cms-content-paa__eyebrow{display:block;margin:0 0 10px;font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-short{margin:28px 0}

.cms-short--warning{--cms-inline-accent-color:#f59e0b}

.cms-content-sum{position:relative;overflow:hidden;margin:32px 0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg, #fff);box-shadow:0 1px 6px rgba(0,0,0,.05)}

.cms-content-sum--bg-white{background:var(--color-bg, #fff)}

.cms-content-sum--bg-alt{background:var(--color-bg-alt, #f9fafb)}

.cms-content-sum--bg-dark{background:var(--color-dark-bg, #1C1917)}

.cms-content-sum--bg-transparent{background:transparent}

.cms-content-sum--bg-dark .cms-content-sum__item{color:#fff}

.cms-content-sum--flat{border-color:transparent;box-shadow:none;background:var(--color-bg-alt)}

.cms-content-sum__deco{position:absolute;z-index:0;pointer-events:none}

.cms-content-sum__deco--tl{top:-12px;left:-12px}

.cms-content-sum__deco--tr{top:-12px;right:-12px}

.cms-content-sum__deco--bl{bottom:-12px;left:-12px}

.cms-content-sum__deco--br{bottom:-12px;right:-12px}

.cms-content-sum__deco--s1{width:70px;height:70px}

.cms-content-sum__deco--s2{width:55px;height:55px}

.cms-content-sum__deco--s3{width:80px;height:80px}

.cms-content-sum__deco--s4{width:60px;height:60px}

.cms-content-sum__deco--s5{width:75px;height:75px}

.cms-content-sum__deco--circle{border-radius:50%;background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-content-sum__deco--accent,.cms-content-sum__deco--offset{border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-content-sum__deco--dots{background:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.2}

.cms-content-sum__deco--stripes{opacity:.15;background:repeating-linear-gradient(45deg,var(--color-accent) 0px,var(--color-accent) 2px,transparent 2px,transparent 10px)}

.cms-content-sum__deco--crosshatch{opacity:.12;background:repeating-linear-gradient(0deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px)}

.cms-content-sum__eyebrow{position:relative;z-index:1;display:block;margin:0 0 14px;font:700 11px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-sum__list{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;list-style:none !important;margin:0;padding:0 !important}

.cms-content-sum__item{position:relative;list-style:none !important;padding-left:24px;font:400 14px/1.6 var(--font-body);color:var(--color-text)}

.cms-content-sum__item::marker{content:""}

.cms-content-sum__tick{position:absolute;left:0;color:var(--color-accent);font-weight:700}

/* Content Simple */
.cms-content-figure{margin:32px 0;padding:0}

.cms-content-figure__img{display:block;width:100%;border-radius:var(--radius-lg)}

.cms-content-figure__caption{margin-top:10px;text-align:center;font:italic 13px/1.6 var(--font-body);color:var(--color-text-muted)}

.cms-content-h2{margin:48px 0 20px;font:600 clamp(22px,2.8vw,32px)/1.25 var(--font-heading);color:var(--color-text)}

.cms-content-bq{position:relative;margin:32px 0;padding:8px 0 8px 40px;font:italic 16px/1.7 var(--font-body);color:var(--color-text-muted)}

.cms-content-bq__open{position:absolute;top:-10px;left:0;font:56px/1 var(--font-heading);color:var(--color-accent);opacity:.25}

.cms-content-bq__close{margin-left:4px;vertical-align:sub;font:28px/1 var(--font-heading);color:var(--color-accent);opacity:.25}

.cms-content-video{margin:32px 0}

.cms-content-video__embed{position:relative;height:0;min-height:0;padding-bottom:56.25%;overflow:hidden;border-radius:var(--radius-lg)}

.cms-content-video__placeholder{position:absolute;inset:0}

/* Video Section */
.cms-video-bo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:50vh;overflow:hidden;cursor:pointer;}

.cms-video-bo__bg,.cms-video-bo__overlay{position:absolute;inset:0}

.cms-video-bo__bg{z-index:0}

.cms-video-bo__bg img{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-bo__bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(12,17,24,.72),rgba(12,17,24,.34))}

.cms-video-bo__overlay{z-index:1;background:rgba(0,0,0,.55)}

.cms-video-bo__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:20px;padding:clamp(48px,6vw,80px) 24px;text-align:center}

.cms-video-bo__play{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);transition:background .3s ease,transform .3s ease}

.cms-video-bo:hover .cms-video-bo__play{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.1)}

.cms-video-bo__play svg{width:32px;height:32px;fill:#fff;margin-left:4px}

.cms-video-bo__title{margin:0;font:700 clamp(24px,3vw,40px)/1.2 var(--font-heading);color:#fff}

.cms-video-bo__subtitle{max-width:600px;margin:0;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:rgba(255,255,255,.8)}

.cms-video-fw{width:100%;padding:0 24px;--cms-video-fw-text:var(--color-text);--cms-video-fw-muted:var(--color-text-muted)}

.cms-video-fw--dark{--cms-video-fw-text:var(--color-dark-text);--cms-video-fw-muted:var(--color-dark-text-muted)}

.cms-video-fw__container{max-width:var(--container,1200px);margin:0 auto}

.cms-video-fw__title{margin:0 0 8px;text-align:center;font:700 clamp(24px,3vw,36px)/1.2 var(--font-heading);color:var(--cms-video-fw-text)}

.cms-video-fw__subtitle{max-width:700px;margin:0 auto clamp(24px,3vw,40px);text-align:center;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:var(--cms-video-fw-muted)}

.cms-video-fw__wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg,12px);overflow:hidden;background:#000;cursor:pointer}

.cms-video-fw__thumb{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-fw__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.18))}

.cms-video-fw__play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);transform:translate(-50%,-50%);transition:background .3s ease,transform .3s ease;pointer-events:none}

.cms-video-fw__wrapper:hover .cms-video-fw__play{background:var(--color-accent);transform:translate(-50%,-50%) scale(1.1)}

.cms-video-fw__play svg{width:28px;height:28px;fill:#fff;margin-left:3px}

.cms-video-it{width:100%;padding:0 24px;--cms-video-it-text:var(--color-text);--cms-video-it-muted:var(--color-text-muted)}

.cms-video-it--dark{--cms-video-it-text:var(--color-dark-text);--cms-video-it-muted:var(--color-dark-text-muted)}

.cms-video-it__grid{max-width:var(--container,1200px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}

.cms-video-it__text{display:flex;flex-direction:column;gap:16px}

.cms-video-it__title{margin:0;font:700 clamp(24px,3vw,36px)/1.2 var(--font-heading);color:var(--cms-video-it-text)}

.cms-video-it__subtitle{margin:0;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:var(--cms-video-it-muted)}

.cms-video-it__cta{margin-top:8px}

.cms-video-it__wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg,12px);overflow:hidden;background:#000;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.12)}

.cms-video-it__thumb{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-it__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.18))}

.cms-video-it__play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);transform:translate(-50%,-50%);transition:background .3s ease,transform .3s ease;pointer-events:none}

.cms-video-it__wrapper:hover .cms-video-it__play{background:var(--color-accent);transform:translate(-50%,-50%) scale(1.1)}

.cms-video-it__play svg{width:24px;height:24px;fill:#fff;margin-left:3px}

@media (max-width:768px){.cms-video-it__grid{grid-template-columns:1fr}.cms-video-it__text{text-align:center;align-items:center}}

/* Content Rich Cards */
.cms-content-mc,.cms-content-pf,.cms-content-pc,.cms-content-sf{margin:32px 0}

.cms-content-mc__shell,.cms-content-pf__shell{position:relative;padding:20px 0 20px 18px;border-left:3px solid var(--color-accent)}

.cms-content-mc__shell::before,.cms-content-pf__shell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 7%,transparent) 0%,transparent 62%)}

.cms-content-mc__head,.cms-content-pf__head{position:relative;padding:0 4px 10px 0}

.cms-content-mc__eyebrow,.cms-content-pf__eyebrow,.cms-content-pc__eyebrow{display:block;margin:0 0 8px;font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-pc__eyebrow{font-size:11px}

.cms-content-mc__title,.cms-content-pf__title{margin:0 !important;font:700 clamp(20px,2.3vw,25px)/1.15 var(--font-heading);color:var(--color-text)}

.cms-content-pc__title{margin:0;font:700 clamp(22px,2.7vw,28px)/1.15 var(--font-heading);color:var(--color-text)}

.cms-content-mc__intro{margin:10px 0 0;font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-mc__grid,.cms-content-pf__grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding-right:4px}

.cms-content-mc__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

.cms-content-mc__card,.cms-content-pf__card{display:grid;gap:10px;align-content:start;padding:16px 16px 15px;border:1px solid color-mix(in srgb,var(--color-border) 88%,white 12%);border-radius:18px;background:var(--color-bg,#fff);box-shadow:0 10px 24px rgba(15,23,42,.05)}

.cms-pc-std--dark .cms-content-mc__card,.cms-pc-std--dark .cms-content-pf__card{background:color-mix(in srgb,var(--color-dark-bg-alt,var(--color-dark-bg)) 88%,white 12%);border-color:rgba(255,255,255,.12)}

.cms-content-mc__label,.cms-content-pf__profile{margin:0;font:700 17px/1.35 var(--font-heading);color:var(--color-text)}

.cms-content-mc__points,.cms-content-pf__points{display:grid;gap:8px}

.cms-content-mc__line,.cms-content-pf__line{display:grid;gap:3px;margin:0}

.cms-content-mc__k,.cms-content-pf__k{font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-mc__v,.cms-content-pf__note{font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-mc__v strong,.cms-content-pf__note strong{color:var(--color-text);font-weight:700}

.cms-content-pf__badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:3px 7px;border-radius:999px;font:700 9px/1 var(--font-body);letter-spacing:.03em;text-transform:uppercase;margin:0;color:#15803d;background:rgba(34,197,94,.10)}

.cms-content-pf__badge--danger{color:#b91c1c;background:rgba(220,38,38,.10)}

.cms-content-pf__badge--warning{color:#b45309;background:rgba(217,119,6,.12)}

.cms-content-pf__badge--success{color:#15803d;background:rgba(34,197,94,.10)}

@media (max-width:768px){.cms-content-mc__shell,.cms-content-pf__shell{padding:20px 0 20px 14px}}

.cms-content-pf {
    margin: 28px 0;
}

.cms-content-pf__shell {
    padding: 20px 22px;
    border: 1px solid color-mix(in srgb, var(--color-accent) 24%, var(--color-border));
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: none;
}

.cms-content-pf__shell::before {
    display: none;
}

.cms-content-pf__head {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    padding: 0 0 14px;
}

.cms-content-pf__head::before {
    content: "?";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: 1 / span 2;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 800 18px/1 var(--font-heading);
}

.cms-content-pf__eyebrow,
.cms-content-pf__title {
    grid-column: 2;
}

.cms-content-pf__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 0;
}

.cms-content-pf__card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 13px 14px;
    border-radius: var(--radius-md);
    box-shadow: none;
}

.cms-content-pf__points {
    gap: 5px;
}

.cms-content-pf__line {
    display: block;
}

.cms-content-pf__k {
    display: none;
}

.cms-content-pf__profile {
    font-size: 15.5px;
}

.cms-content-pf__note {
    font-size: 13.25px;
    line-height: 1.55;
}

@media (max-width:768px){
    .cms-content-pf__shell{padding:18px 16px}
    .cms-content-pf__head{grid-template-columns:34px minmax(0,1fr)}
    .cms-content-pf__head::before{width:34px;height:34px;font-size:16px}
    .cms-content-pf__card{grid-template-columns:1fr}
}

.cms-content-pc__head{padding:18px 20px 0}

.cms-content-pc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 20px 20px}

.cms-content-pc__col{padding:18px;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) - 4px)}

.cms-content-pc__col--pros{background:linear-gradient(180deg,rgba(34,197,94,.08) 0%,rgba(34,197,94,.03) 100%)}

.cms-content-pc__col--cons{background:linear-gradient(180deg,rgba(239,68,68,.08) 0%,rgba(239,68,68,.03) 100%)}

.cms-content-pc__col-title{margin:0 0 12px;font:700 14px/1.3 var(--font-heading);color:var(--color-text)}

.cms-content-pc__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}

.cms-content-pc__list li{position:relative;list-style:none !important;padding-left:22px;margin:0;font:400 14px/1.6 var(--font-body);color:var(--color-text)}

.cms-content-pc__list li::before{position:absolute;left:0;top:0;font-weight:700}

.cms-content-pc__col--pros .cms-content-pc__list li::before{content:"✓";color:#16a34a}

.cms-content-pc__col--cons .cms-content-pc__list li::before{content:"–";color:#dc2626}

.cms-content-pc__foot{margin:0;padding:0 20px 20px;font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-pc__foot strong{color:var(--color-text)}

@media (max-width:768px){.cms-content-pc__grid{grid-template-columns:1fr;gap:12px;padding:16px}.cms-content-pc__head{padding:16px 16px 0}.cms-content-pc__foot{padding:0 16px 16px}}

.cms-content-sf__grid{display:grid;grid-template-columns:1fr;gap:16px}

.cms-content-sf--cols-2 .cms-content-sf__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.cms-content-sf__card{padding:18px;border:1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-accent) 5%, var(--color-bg))}

.cms-content-sf--light .cms-content-sf__card{border-color:color-mix(in srgb, var(--color-accent) 10%, transparent);background:transparent}

.cms-content-sf__head-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}

.cms-content-sf__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}

.cms-content-sf--light .cms-content-sf__icon{background:transparent}

.cms-content-sf__title{margin:2px 0 0;font:600 clamp(18px,2vw,21px)/1.25 var(--font-heading);color:var(--color-text)}

.cms-content-sf__content{font:400 15px/1.72 var(--font-body);color:var(--color-text-muted)}

.cms-content-sf__content p:last-child,.cms-content-sf__card > *:last-child{margin-bottom:0 !important}

.cms-content-sf__content strong{color:var(--color-text)}

@media (max-width:899px){.cms-content-sf__grid{grid-template-columns:1fr !important}}

/* Hero Media Sliders */
.cms-hero-video {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-video--bg-dark { background: var(--color-dark-bg); }

.cms-hero-video--bg-accent { background: var(--color-accent); }

.cms-hero-video--bg-light { background: var(--color-bg); }

.cms-hero-video--height-large { min-height: 80vh; }

.cms-hero-video--height-medium { min-height: 60vh; }

.cms-hero-video--height-auto {
    min-height: auto;
    padding: 120px 0;
}

.cms-hero-video__media,
.cms-hero-video__fallback,
.cms-hero-video__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-video__media { z-index: 1; overflow: hidden; }

.cms-hero-video__fallback {
    z-index: 0;
    overflow: hidden;
}

.cms-hero-video__fallback-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-hero-video__overlay { background: rgba(0,0,0,0.55); z-index: 2; }

.cms-hero-video--overlay-gradient .cms-hero-video__overlay { background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.2) 100%); }

.cms-hero-video--overlay-light .cms-hero-video__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-video--overlay-none .cms-hero-video__overlay { background: transparent; }

.cms-hero-video__placeholder { position: absolute; inset: 0; background: rgba(12,17,24,0.24); }

.cms-hero-video__mp4 {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.cms-hero-video__content {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-video--align-left .cms-hero-video__content {
    text-align: left;
    align-items: flex-start;
}

.cms-hero-video__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 20px 0;
    max-width: 900px;
}

.cms-hero-video__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: rgba(255,255,255,0.8);
    margin: 0 0 36px 0;
    max-width: 700px;
}

.cms-hero-video__actions,
.cms-hero-slider__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-video--text-default .cms-hero-video__title { color: var(--color-text); }

.cms-hero-video--subtitle-default .cms-hero-video__subtitle { color: var(--color-text-muted); }

.cms-hero-video--align-left .cms-hero-video__actions,
.cms-hero-slider--align-left .cms-hero-slider__actions { justify-content: flex-start; }

.cms-hero-slider {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-slider--height-large { min-height: 80vh; }

.cms-hero-slider--height-medium { min-height: 60vh; }

.cms-hero-slider--height-auto { min-height: auto; padding: 120px 0; }

.cms-hero-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 0;
}

.cms-hero-slider__slide.is-active { opacity: 1; z-index: 1; }

.cms-hero-slider__bg,
.cms-hero-slider__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-slider__bg {
    overflow: hidden;
}

.cms-hero-slider__bg-img,
.cms-hero-sf__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-hero-slider__overlay { background: rgba(0,0,0,0.55); }

.cms-hero-slider--overlay-gradient .cms-hero-slider__overlay { background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); }

.cms-hero-slider--overlay-light .cms-hero-slider__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-slider--overlay-none .cms-hero-slider__overlay { background: transparent; }

.cms-hero-slider__viewport {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
}

.cms-hero-slider__copy {
    max-width: var(--container);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-slider--align-left .cms-hero-slider__copy {
    text-align: left;
    align-items: flex-start;
}

.cms-hero-slider__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px 0;
    max-width: 900px;
}

.cms-hero-slider__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: rgba(255,255,255,0.7);
    margin: 0 0 32px 0;
    max-width: 700px;
}

/* Author hero subtitle normalization */
.page-author .cms-hero-cwm__subtitle,
.page-author .cms-hero-split__subtitle,
.page-author .cms-hero-centered__subtitle,
.page-author .cms-hero-min__subtitle,
.page-author .cms-hero-lt__subtitle,
.page-author .cms-hero-fc__subtitle,
.page-author .cms-hero-author__bio {
    font-size: 15px;
    line-height: 1.5;
}

.cms-hero-slider__dots {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 10px;
}

.cms-hero-slider__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background .3s;
}

.cms-hero-slider__dot.is-active { background: #fff; }

.cms-hero-sf {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-sf--height-large { height: 85vh; }

.cms-hero-sf--height-medium { height: 65vh; }

.cms-hero-sf--height-auto { height: 80vh; }

.cms-hero-sf__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .8s cubic-bezier(0.65, 0, 0.35, 1);
    transform: translateX(0);
}

.cms-hero-sf__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    position: relative;
}

.cms-hero-sf__bg,
.cms-hero-sf__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-sf__bg {
    overflow: hidden;
}

.cms-hero-sf__overlay { background: rgba(0,0,0,0.55); }

.cms-hero-sf--overlay-gradient .cms-hero-sf__overlay { background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.1) 100%); }

.cms-hero-sf--overlay-light .cms-hero-sf__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-sf--overlay-none .cms-hero-sf__overlay { background: transparent; }

.cms-hero-sf__copy {
    position: absolute;
    bottom: clamp(100px, 12vw, 140px);
    left: 0;
    width: 100%;
    padding: 0 clamp(24px, 5vw, 80px);
    z-index: 2;
}

.cms-hero-sf__eyebrow {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.5vw, 17px);
    color: rgba(255,255,255,0.7);
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}

.cms-hero-sf__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    color: #fff;
    margin: 0;
    max-width: 800px;
    letter-spacing: -0.02em;
}

.cms-hero-sf__nav {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    background: rgba(0,0,0,0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,255,255,0.1);
}

.cms-hero-sf__nav-btn {
    flex: 1;
    padding: 20px clamp(12px, 2vw, 28px);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    text-align: left;
    transition: all .3s;
    position: relative;
}

.cms-hero-sf__nav-btn.is-active { border-bottom-color: var(--color-accent); }

.cms-hero-sf__nav-label {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(13px, 1.3vw, 16px);
    font-weight: 600;
    color: rgba(255,255,255,0.5);
    transition: color .3s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cms-hero-sf__nav-btn.is-active .cms-hero-sf__nav-label { color: #fff; }

.cms-hero-sf__nav-location {
    display: block;
    font-family: var(--font-body);
    font-size: 12px;
    color: rgba(255,255,255,0.35);
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cms-hero-sf__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--color-accent);
    z-index: 11;
    width: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .cms-hero-video__media { display: none !important; }
    .cms-hero-video__fallback { z-index: 1 !important; }
}

@media (max-width: 640px) {
    .cms-hero-sf__nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .cms-hero-sf__nav-btn { min-width: 140px; }
}

/* Helpers Layout Core */
.cms-section {
    position: relative;
    overflow: hidden;
    background: var(--cms-section-canvas-bg, transparent);
    color: var(--cms-section-text, var(--color-text));
    padding-top: var(--cms-section-pad-top, var(--spacing-section));
    padding-bottom: var(--cms-section-pad-bottom, var(--spacing-section));
}

.cms-section--bg-default { --cms-section-canvas-bg: var(--color-bg); --cms-section-text: var(--color-text); }

.cms-section--bg-transparent { --cms-section-canvas-bg: transparent; --cms-section-text: var(--color-text); }

.cms-section--bg-alt { --cms-section-canvas-bg: var(--color-bg-alt); --cms-section-text: var(--color-text); }

.cms-section--bg-neutral { --cms-section-canvas-bg: #f3f4f6; --cms-section-text: var(--color-text); }

.cms-section--bg-dark { --cms-section-canvas-bg: var(--color-dark-bg); --cms-section-text: var(--color-dark-text, #fff); }

.cms-section--bg-accent { --cms-section-canvas-bg: var(--color-accent); --cms-section-text: #fff; }

.cms-section--bg-accent2 { --cms-section-canvas-bg: var(--color-accent2, var(--color-accent)); --cms-section-text: #fff; }

.cms-section--bg-accent3 { --cms-section-canvas-bg: var(--color-accent-soft, var(--color-bg-alt)); --cms-section-text: var(--color-text); }

.cms-section--bg-accent4 { --cms-section-canvas-bg: var(--color-accent2-soft, var(--color-bg-alt)); --cms-section-text: var(--color-text); }

.cms-section--bg-image { --cms-section-canvas-bg: transparent; --cms-section-text: #fff; }

.cms-section--bg-gradient {
    --cms-section-canvas-bg: transparent;
    --cms-section-gradient: linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 8%, transparent) 0%, var(--color-bg-alt) 100%);
}

.cms-section--bg-dark,
.cms-section--bg-accent,
.cms-section--bg-accent2,
.cms-section--bg-image {
    --cms-section-split-bg: var(--cms-section-canvas-bg);
}

.cms-section--overlay-gradient { --cms-section-overlay: linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.7) 100%); }

.cms-section--overlay-dark { --cms-section-overlay: rgba(0,0,0,.6); }

.cms-section--overlay-light { --cms-section-overlay: rgba(255,255,255,.4); }

.cms-section--overlay-accent { --cms-section-overlay: color-mix(in srgb, var(--color-accent) 80%, transparent); }

.cms-section--pattern-dots {
    --cms-section-pattern-image: radial-gradient(circle, currentColor 1px, transparent 1.5px);
    --cms-section-pattern-size: 20px 20px;
    --cms-section-pattern-opacity: .08;
}

.cms-section--pattern-grid {
    --cms-section-pattern-image: linear-gradient(currentColor 1px, transparent 1px), linear-gradient(90deg, currentColor 1px, transparent 1px);
    --cms-section-pattern-size: 40px 40px;
    --cms-section-pattern-opacity: .05;
}

.cms-section--pattern-diagonal {
    --cms-section-pattern-image: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 16px);
    --cms-section-pattern-size: 16px 16px;
    --cms-section-pattern-opacity: .05;
}

.cms-section--pattern-waves {
    --cms-section-pattern-image: radial-gradient(ellipse at center, currentColor 0 1px, transparent 1px);
    --cms-section-pattern-size: 60px 20px;
    --cms-section-pattern-opacity: .06;
}

.cms-section--pattern-noise {
    --cms-section-pattern-image: radial-gradient(circle at 20% 30%, currentColor 0 1px, transparent 1px), radial-gradient(circle at 70% 80%, currentColor 0 1px, transparent 1px);
    --cms-section-pattern-size: 48px 48px;
    --cms-section-pattern-opacity: .035;
}

.cms-section--pad-none { --cms-section-pad-top: var(--cms-ds-section-pad-none); --cms-section-pad-bottom: var(--cms-ds-section-pad-none); }

.cms-section--pad-sm { --cms-section-pad-top: var(--cms-ds-section-pad-sm); --cms-section-pad-bottom: var(--cms-ds-section-pad-sm); }

.cms-section--pad-md { --cms-section-pad-top: var(--cms-ds-section-pad-md); --cms-section-pad-bottom: var(--cms-ds-section-pad-md); }

.cms-section--pad-lg { --cms-section-pad-top: var(--cms-ds-section-pad-lg); --cms-section-pad-bottom: var(--cms-ds-section-pad-lg); }

.cms-section--pad-xl { --cms-section-pad-top: var(--cms-ds-section-pad-xl); --cms-section-pad-bottom: var(--cms-ds-section-pad-xl); }

.cms-section__cta-bottom {
    margin-top: clamp(32px, 4vw, 48px);
    text-align: center;
}

.cms-section-cta-mobile {
    display: none;
    margin-top: clamp(24px, 3vw, 32px);
    text-align: center;
}

@media (max-width: 639px) {
    .cms-section-cta-mobile { display: block !important; }
}

.cms-section__separator {
    line-height: 0;
    color: var(--cms-section-sep-color, currentColor);
    margin-bottom: -1px;
}

.cms-section__separator--bg-default { --cms-section-sep-color: var(--color-bg); }

.cms-section__separator--bg-alt { --cms-section-sep-color: var(--color-bg-alt); }

.cms-section__separator--bg-dark { --cms-section-sep-color: var(--color-dark-bg); }

.cms-section__separator--bg-accent { --cms-section-sep-color: var(--color-accent); }

.cms-section__separator--bg-accent2 { --cms-section-sep-color: var(--color-accent2, var(--color-accent)); }

.cms-section__separator--bottom { margin-top: -1px; }

.cms-section__separator-svg {
    display: block;
    width: 100%;
}

.cms-section__separator-svg--wave,
.cms-section__separator-svg--wave-multi,
.cms-section__separator-svg--round { height: clamp(40px, 5vw, 80px); }

.cms-section__separator-svg--angle,
.cms-section__separator-svg--curve,
.cms-section__separator-svg--wave-soft,
.cms-section__separator-svg--arrow { height: clamp(30px, 4vw, 60px); }

.cms-section__separator-svg--zigzag,
.cms-section__separator-svg--tilt,
.cms-section__separator-svg--step { height: clamp(20px, 3vw, 40px); }

.cms-section__split-bg,
.cms-section__image,
.cms-section__gradient,
.cms-section__overlay,
.cms-section__pattern,
.cms-section__blob {
    position: absolute;
    z-index: 0;
}

.cms-section__split-bg {
    top: 0;
    left: 0;
    right: 0;
    height: var(--cms-section-split-height, 50%);
    background: var(--cms-section-split-bg, var(--color-bg));
    clip-path: var(--cms-section-split-clip, none);
}

.cms-section__image,
.cms-section__gradient,
.cms-section__overlay,
.cms-section__pattern {
    inset: 0;
}

.cms-section__image-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cms-section__gradient { background: var(--cms-section-gradient, transparent); }

.cms-section__overlay { background: var(--cms-section-overlay, transparent); }

.cms-section__pattern {
    pointer-events: none;
    opacity: var(--cms-section-pattern-opacity, 1);
    background-image: var(--cms-section-pattern-image, none);
    background-repeat: repeat;
    background-size: var(--cms-section-pattern-size, auto);
}

.cms-section__blob {
    pointer-events: none;
    border-radius: 50%;
    background: var(--color-accent);
    z-index: 0;
}

.cms-section__blob--one {
    top: -10%;
    left: -5%;
    width: clamp(200px, 40vw, 500px);
    height: clamp(200px, 40vw, 500px);
    opacity: .06;
    filter: blur(clamp(60px, 10vw, 120px));
}

.cms-section__blob--two {
    bottom: -15%;
    right: -10%;
    width: clamp(150px, 30vw, 400px);
    height: clamp(150px, 30vw, 400px);
    opacity: .04;
    filter: blur(clamp(50px, 8vw, 100px));
}

.cms-section__blob--three {
    top: 40%;
    right: 20%;
    width: clamp(100px, 20vw, 250px);
    height: clamp(100px, 20vw, 250px);
    opacity: .03;
    background: var(--color-accent3, var(--color-accent));
    filter: blur(clamp(40px, 8vw, 80px));
}

.cms-section__inner {
    position: relative;
    z-index: 1;
    margin: 0 auto;
}

.cms-section__inner--contained {
    max-width: var(--container);
    padding: 0 20px;
}

.cms-section__inner--narrow {
    max-width: 800px;
    padding: 0 20px;
}

.cms-section__inner--full {
    max-width: 100%;
    padding: 0 clamp(20px, 4vw, 60px);
}

.cms-bg-shape {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    width: var(--cms-bg-shape-w);
    height: var(--cms-bg-shape-h);
}

.cms-bg-shape[data-shape-size="0"] { --cms-bg-shape-w: clamp(200px, 30vw, 400px); --cms-bg-shape-h: clamp(100px, 20vw, 400px); }

.cms-bg-shape[data-shape-size="1"] { --cms-bg-shape-w: clamp(175px, 30vw, 350px); --cms-bg-shape-h: clamp(88px, 20vw, 350px); }

.cms-bg-shape[data-shape-size="2"] { --cms-bg-shape-w: clamp(225px, 30vw, 450px); --cms-bg-shape-h: clamp(112px, 20vw, 450px); }

.cms-bg-shape[data-shape-size="3"] { --cms-bg-shape-w: clamp(190px, 30vw, 380px); --cms-bg-shape-h: clamp(95px, 20vw, 380px); }

.cms-bg-shape[data-shape-size="4"] { --cms-bg-shape-w: clamp(210px, 30vw, 420px); --cms-bg-shape-h: clamp(105px, 20vw, 420px); }

.cms-bg-shape--secondary[data-shape-size="0"] { --cms-bg-shape-w: clamp(125px, 20vw, 250px); --cms-bg-shape-h: clamp(125px, 20vw, 250px); }

.cms-bg-shape--secondary[data-shape-size="1"] { --cms-bg-shape-w: clamp(100px, 20vw, 200px); --cms-bg-shape-h: clamp(100px, 20vw, 200px); }

.cms-bg-shape--secondary[data-shape-size="2"] { --cms-bg-shape-w: clamp(150px, 20vw, 300px); --cms-bg-shape-h: clamp(150px, 20vw, 300px); }

.cms-bg-shape--secondary[data-shape-size="3"] { --cms-bg-shape-w: clamp(110px, 20vw, 220px); --cms-bg-shape-h: clamp(110px, 20vw, 220px); }

.cms-bg-shape--secondary[data-shape-size="4"] { --cms-bg-shape-w: clamp(140px, 20vw, 280px); --cms-bg-shape-h: clamp(140px, 20vw, 280px); }

.cms-bg-shape--tr-lg { top: -15%; right: -8%; }

.cms-bg-shape--bl-sm { bottom: -12%; left: -10%; }

.cms-bg-shape--tl-lg { top: -10%; left: -12%; }

.cms-bg-shape--br-sm { bottom: -18%; right: -6%; }

.cms-bg-shape--br-lg { bottom: -10%; right: -12%; }

.cms-bg-shape--tl-sm { top: -15%; left: -8%; }

.cms-bg-shape--bl-lg { bottom: -12%; left: -6%; }

.cms-bg-shape--tr-sm { top: -10%; right: -12%; }

.cms-bg-shape--circle,
.cms-bg-shape--frame { border-radius: 50%; background: rgba(255,255,255,0.03); }

.cms-bg-shape--circle.cms-bg-shape--secondary,
.cms-bg-shape--frame.cms-bg-shape--secondary { background: color-mix(in srgb, var(--color-accent) 8%, transparent); }

.cms-bg-shape--accent,
.cms-bg-shape--offset {
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,0.025);
    transform: rotate(-12deg);
}

.cms-bg-shape--accent.cms-bg-shape--secondary,
.cms-bg-shape--offset.cms-bg-shape--secondary {
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
    transform: rotate(8deg);
}

.cms-bg-shape--dots {
    background: radial-gradient(circle, rgba(255,255,255,0.06) 2px, transparent 2px);
    background-size: 18px 18px;
}

.cms-bg-shape--dots.cms-bg-shape--secondary {
    background: radial-gradient(circle, color-mix(in srgb, var(--color-accent) 10%, transparent) 2px, transparent 2px);
    background-size: 16px 16px;
}

.cms-bg-shape--stripes {
    opacity: .06;
    background: repeating-linear-gradient(45deg, #fff 0px, #fff 2px, transparent 2px, transparent 14px);
}

.cms-bg-shape--stripes.cms-bg-shape--secondary {
    opacity: .08;
    background: repeating-linear-gradient(-45deg, var(--color-accent) 0px, var(--color-accent) 2px, transparent 2px, transparent 14px);
}

.cms-bg-shape--crosshatch {
    opacity: .05;
    background: repeating-linear-gradient(0deg, #fff 0px, #fff 1px, transparent 1px, transparent 14px), repeating-linear-gradient(90deg, #fff 0px, #fff 1px, transparent 1px, transparent 14px);
}

.cms-bg-shape--crosshatch.cms-bg-shape--secondary {
    opacity: .06;
    background: repeating-linear-gradient(0deg, var(--color-accent) 0px, var(--color-accent) 1px, transparent 1px, transparent 12px), repeating-linear-gradient(90deg, var(--color-accent) 0px, var(--color-accent) 1px, transparent 1px, transparent 12px);
}

.cms-bg-shape--border {
    border-radius: var(--radius);
    background: rgba(255,255,255,0.04);
}

.cms-bg-shape--border.cms-bg-shape--secondary {
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
}

.cms-img-deco {
    position: relative;
    aspect-ratio: var(--cms-img-deco-aspect, 4/3);
}

.cms-img-deco--aspect-square { --cms-img-deco-aspect: 1/1; }

.cms-img-deco--aspect-4-3 { --cms-img-deco-aspect: 4/3; }

.cms-img-deco--aspect-3-4 { --cms-img-deco-aspect: 3/4; }

.cms-img-deco--aspect-16-9 { --cms-img-deco-aspect: 16/9; }

.cms-img-deco--aspect-9-16 { --cms-img-deco-aspect: 9/16; }

.cms-img-deco--aspect-21-9 { --cms-img-deco-aspect: 21/9; }

.cms-img-deco--aspect-auto { --cms-img-deco-aspect: auto; }

.cms-img-deco--accent-accent { --cms-img-deco-color: var(--color-accent); }

.cms-img-deco--accent-accent-soft { --cms-img-deco-color: var(--color-accent-soft, var(--color-accent)); }

.cms-img-deco--accent-accent2 { --cms-img-deco-color: var(--color-accent2); }

.cms-img-deco--accent-accent2-soft { --cms-img-deco-color: var(--color-accent2-soft, var(--color-accent2)); }

.cms-img-deco--size-0 { --cms-img-deco-circle: 80px; --cms-img-deco-pattern: 100px; --cms-img-deco-accent: 45%; }

.cms-img-deco--size-1 { --cms-img-deco-circle: 64px; --cms-img-deco-pattern: 80px; --cms-img-deco-accent: 35%; }

.cms-img-deco--size-2 { --cms-img-deco-circle: 100px; --cms-img-deco-pattern: 120px; --cms-img-deco-accent: 50%; }

.cms-img-deco--size-3 { --cms-img-deco-circle: 72px; --cms-img-deco-pattern: 90px; --cms-img-deco-accent: 40%; }

.cms-img-deco--size-4 { --cms-img-deco-circle: 90px; --cms-img-deco-pattern: 110px; --cms-img-deco-accent: 55%; }

.cms-img-deco__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.cms-img-deco__inner--surface {
    box-shadow: 0 8px 40px color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg);
}

.cms-pc-std__content .cms-img-deco img,
.cms-pc-std__content .cms-img-deco__img,
.post-content .cms-img-deco img,
.article-content .cms-img-deco img,
.prose .cms-img-deco img {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
}

.cms-img-deco__shape {
    position: absolute;
    z-index: 0;
}

.cms-img-deco__shape--corner { border-radius: var(--radius-lg); }

.cms-img-deco--accent .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-accent);
    height: var(--cms-img-deco-accent);
    background: color-mix(in srgb, var(--cms-img-deco-color) 12%, transparent);
}

.cms-img-deco--circle .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-circle);
    height: var(--cms-img-deco-circle);
    border-radius: 50%;
    background: color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
}

.cms-img-deco--dots .cms-img-deco__shape--corner,
.cms-img-deco--stripes .cms-img-deco__shape--corner,
.cms-img-deco--crosshatch .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-pattern);
    height: var(--cms-img-deco-pattern);
}

.cms-img-deco--dots .cms-img-deco__shape--corner {
    background: radial-gradient(circle, var(--cms-img-deco-color) 1.5px, transparent 1.5px);
    background-size: 12px 12px;
    opacity: .25;
}

.cms-img-deco--stripes .cms-img-deco__shape--corner {
    opacity: .2;
    background: repeating-linear-gradient(45deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 2px, transparent 2px, transparent 10px);
}

.cms-img-deco--crosshatch .cms-img-deco__shape--corner {
    opacity: .15;
    background: repeating-linear-gradient(0deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 1px, transparent 1px, transparent 10px), repeating-linear-gradient(90deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 1px, transparent 1px, transparent 10px);
}

.cms-img-deco--tl .cms-img-deco__shape--corner { top: -20px; left: -20px; }

.cms-img-deco--tr .cms-img-deco__shape--corner { top: -20px; right: -20px; }

.cms-img-deco--bl .cms-img-deco__shape--corner { bottom: -20px; left: -20px; }

.cms-img-deco--br .cms-img-deco__shape--corner { bottom: -20px; right: -20px; }

.cms-img-deco--accent.cms-img-deco--tl .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--tr .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--bl .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--br .cms-img-deco__shape--corner { transform: translate(10px, 10px); }

.cms-img-deco__shape--offset {
    inset: 12px -12px -12px 12px;
    background: color-mix(in srgb, var(--cms-img-deco-color) 10%, transparent);
    border-radius: var(--radius-lg);
}

.cms-img-deco--tl .cms-img-deco__shape--offset { inset: -12px 12px 12px -12px; }

.cms-img-deco--bl .cms-img-deco__shape--offset { inset: 12px 12px -12px -12px; }

.cms-img-deco--tr .cms-img-deco__shape--offset { inset: -12px -12px 12px 12px; }

.cms-img-deco__shape--border {
    background: color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
    border-radius: var(--radius);
}

.cms-img-deco--left .cms-img-deco__shape--border { top: 8%; left: -14px; width: 28px; height: 84%; }

.cms-img-deco--right .cms-img-deco__shape--border { top: 8%; right: -14px; width: 28px; height: 84%; }

.cms-img-deco--top .cms-img-deco__shape--border { left: 8%; top: -14px; height: 28px; width: 84%; }

.cms-img-deco--bottom .cms-img-deco__shape--border { left: 8%; bottom: -14px; height: 28px; width: 84%; }

.cms-img-deco__shape--frame {
    inset: 10px -10px -10px 10px;
    border-radius: var(--radius-lg);
    border: 2px solid color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
}

.cms-img-deco--frame-offset .cms-img-deco__shape--frame {
    inset: 12px -12px -12px 12px;
    border-width: 3px;
    border-color: color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco--outline-offset .cms-img-deco__shape--frame {
    inset: 8px -8px -8px 8px;
    border-color: color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco--clip-angle .cms-img-deco__inner {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

.cms-section-header {
    margin-bottom: clamp(24px, 3vw, 40px);
}

.cms-section-header--split {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

.cms-section-header--center { text-align: center; }

.cms-section-header__content--center {
    max-width: 700px;
    margin: 0 auto;
}

.cms-section-header__title {
    font-family: var(--font-heading);
    font-size: var(--cms-section-header-size, clamp(1.6rem, 3vw, 2.4rem));
    font-weight: 700;
    line-height: 1.2;
    color: var(--cms-section-header-title, var(--color-text));
    margin: 0;
}

.cms-section-header--h1 { --cms-section-header-size: clamp(2rem, 4vw, 3.2rem); }

.cms-section-header--h2 { --cms-section-header-size: clamp(1.6rem, 3vw, 2.4rem); }

.cms-section-header--h3 { --cms-section-header-size: clamp(1.3rem, 2.5vw, 1.8rem); }

.cms-section-header--dark {
    --cms-section-header-title: #fff;
    --cms-section-header-subtitle: rgba(255,255,255,.8);
}

.cms-section-header--accent {
    --cms-section-header-title: #fff;
    --cms-section-header-subtitle: rgba(255,255,255,.82);
    --cms-section-header-accent: rgba(255,255,255,.9);
}

.cms-section-header--sep-gradient {
    --cms-section-header-separator: linear-gradient(90deg, var(--color-accent), transparent);
}

.cms-section-header__subtitle {
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    line-height: 1.6;
    color: var(--cms-section-header-subtitle, var(--color-text-muted));
    margin: 12px 0 0;
}

.cms-section-header__label,
.cms-section-header__sep,
.cms-section-header__cta-link {
    color: var(--cms-section-header-accent, var(--color-accent));
}

.cms-section-header__label { margin-bottom: 12px; }

.cms-section-header__sep {
    width: 60px;
    height: 3px;
    margin-top: 16px;
    border-radius: 2px;
    background: var(--cms-section-header-separator, var(--color-accent));
}

.cms-section-header--center .cms-section-header__sep {
    margin-left: auto;
    margin-right: auto;
}

.cms-section-header__cta--stack { margin-top: 24px; }

.cms-section-header__cta-link {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .3s ease;
}

.cms-section-header__cta-link:hover { gap: 10px; }

@media (max-width: 639px) {
    .cms-section-header--split {
        flex-direction: column;
        align-items: flex-start;
    }
    .cms-section-header--split .cms-section-header__cta { display: none !important; }
}

.cms-callout {
    margin: 24px 0;
    padding: 20px 24px;
    border-left: 3px solid var(--cms-callout-border, var(--color-accent));
    background: var(--cms-callout-bg, color-mix(in srgb, var(--color-accent) 8%, transparent));
    border-radius: var(--radius-lg);
    color: var(--cms-callout-text, var(--color-text));
}

.cms-callout--info {
    --cms-callout-border: #3B82F6;
    --cms-callout-bg: rgba(59,130,246,.08);
}

.cms-callout--tip {
    --cms-callout-border: #10B981;
    --cms-callout-bg: rgba(16,185,129,.08);
}

.cms-callout--warning {
    --cms-callout-border: #F59E0B;
    --cms-callout-bg: rgba(245,158,11,.1);
}

.cms-callout--quote {
    --cms-callout-border: var(--color-accent);
    --cms-callout-bg: color-mix(in srgb, var(--color-accent) 8%, transparent);
}

.cms-callout--dark {
    --cms-callout-text: var(--color-dark-text);
    --cms-callout-title: var(--color-dark-text);
}

.cms-callout--dark.cms-callout--info { --cms-callout-bg: rgba(59,130,246,.14); }

.cms-callout--dark.cms-callout--tip { --cms-callout-bg: rgba(16,185,129,.14); }

.cms-callout--dark.cms-callout--warning { --cms-callout-bg: rgba(245,158,11,.16); }

.cms-callout--dark.cms-callout--quote { --cms-callout-bg: color-mix(in srgb, var(--color-accent) 12%, transparent); }

.cms-callout--quote { font-style: italic; }

.cms-callout__head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.cms-callout__icon,
.cms-callout__icon--float {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}

.cms-callout__icon--float {
    float: left;
    margin-right: 10px;
    margin-top: 2px;
}

.cms-callout__title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    color: var(--cms-callout-title, var(--color-text));
    line-height: 1.3;
    margin: 0 0 10px;
}

.cms-callout__head .cms-callout__title { margin: 0; }

.cms-callout__body {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--cms-callout-text, var(--color-text));
}

/* Helpers Actions */
.cms-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: var(--cms-btn-font-size, 15px);
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease;
    background: var(--cms-btn-bg, var(--color-accent));
    color: var(--cms-btn-color, #fff);
    border: 2px solid var(--cms-btn-border, var(--color-accent));
    border-radius: var(--style-button-radius, var(--radius-full));
    padding: var(--cms-btn-padding, 12px 28px);
}

.cms-btn--sm {
    --cms-btn-padding: 8px 20px;
    --cms-btn-font-size: 13px;
}

.cms-btn--md {
    --cms-btn-padding: 12px 28px;
    --cms-btn-font-size: 15px;
}

.cms-btn--lg {
    --cms-btn-padding: 16px 36px;
    --cms-btn-font-size: 17px;
}

.cms-btn--filled {
    --cms-btn-bg: var(--color-accent);
    --cms-btn-color: #fff;
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent2);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent2);
}

.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent);
}

.cms-btn--ghost {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: color-mix(in srgb, var(--color-accent) 8%, transparent);
    --cms-btn-hover-color: var(--color-accent);
    --cms-btn-hover-border: transparent;
}

.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: transparent;
    --cms-btn-hover-color: var(--color-accent2);
    --cms-btn-hover-border: transparent;
}

.cms-btn--on-dark.cms-btn--filled {
    --cms-btn-bg: var(--color-accent);
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent2);
    --cms-btn-hover-border: var(--color-accent2);
}

.cms-btn--on-dark.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: rgba(255,255,255,.3);
    --cms-btn-hover-bg: #fff;
    --cms-btn-hover-color: var(--color-dark-bg);
    --cms-btn-hover-border: #fff;
}

.cms-btn--on-dark.cms-btn--ghost,
.cms-btn--on-dark.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: rgba(255,255,255,.86);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: rgba(255,255,255,.1);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: transparent;
}

.cms-btn--on-accent.cms-btn--filled {
    --cms-btn-bg: #fff;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: #fff;
    --cms-btn-hover-bg: var(--color-accent3);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent3);
}

.cms-btn--on-accent.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: rgba(255,255,255,.4);
    --cms-btn-hover-bg: #fff;
    --cms-btn-hover-color: var(--color-accent);
    --cms-btn-hover-border: #fff;
}

.cms-btn--on-accent.cms-btn--ghost,
.cms-btn--on-accent.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: rgba(255,255,255,.15);
    --cms-btn-hover-color: rgba(255,255,255,.78);
    --cms-btn-hover-border: transparent;
}

.cms-btn:hover {
    background: var(--cms-btn-hover-bg, var(--cms-btn-bg, var(--color-accent)));
    color: var(--cms-btn-hover-color, var(--cms-btn-color, #fff));
    border-color: var(--cms-btn-hover-border, var(--cms-btn-border, var(--color-accent)));
}

.cms-btn--text,
.cms-btn--textual {
    border-color: transparent;
    border-radius: 0;
    padding: 0;
}

.cms-btn--text:hover,
.cms-btn--textual:hover { text-decoration: underline; }

.cms-shell {
    margin: var(--cms-shell-margin, 0);
    border-radius: var(--cms-shell-radius, 18px);
    overflow: var(--cms-shell-overflow, hidden);
    border: 1px solid var(--cms-shell-border-color, var(--color-border));
    background: var(--cms-shell-bg, var(--color-bg));
    color: var(--cms-shell-color, var(--color-text));
    box-shadow: var(--cms-shell-shadow, none);
}

.cms-shell--section { --cms-shell-margin: 0 clamp(10px, 2vw, 15px) 24px; }

.cms-shell--header { --cms-shell-margin: 12px clamp(10px, 2vw, 15px) 24px; }

.cms-shell--hero { --cms-shell-margin: 0 clamp(10px, 2vw, 15px) 24px; }

.cms-shell--footer { --cms-shell-margin: 24px clamp(10px, 2vw, 15px) 15px; }

.cms-shell--bg-default {
    --cms-shell-bg: var(--color-bg);
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-alt {
    --cms-shell-bg: var(--color-bg-alt);
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-dark,
.cms-shell--bg-image {
    --cms-shell-bg: var(--color-dark-bg);
    --cms-shell-color: var(--color-dark-text);
    --cms-shell-border-color: rgba(255,255,255,.1);
}

.cms-shell--bg-accent,
.cms-shell--bg-accent2 {
    --cms-shell-bg: var(--color-accent);
    --cms-shell-color: #fff;
    --cms-shell-border-color: rgba(255,255,255,.14);
}

.cms-shell--bg-accent2 { --cms-shell-bg: var(--color-accent2, var(--color-accent)); }

.cms-shell--bg-accent3 {
    --cms-shell-bg: var(--color-accent-soft, var(--color-bg-alt));
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-accent4 {
    --cms-shell-bg: var(--color-accent2-soft, var(--color-bg-alt));
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--shadow-soft { --cms-shell-shadow: 0 18px 40px rgba(15,23,42,.06); }

.cms-shell--shadow-none { --cms-shell-shadow: none; }

.cms-shell--overflow-visible { --cms-shell-overflow: visible; }

.cms-shell--overflow-hidden { --cms-shell-overflow: hidden; }

.cms-shell--radius-sm { --cms-shell-radius: var(--radius-sm, 10px); }

.cms-shell--radius-md { --cms-shell-radius: var(--radius, 14px); }

.cms-shell--radius-lg { --cms-shell-radius: var(--radius-lg, 18px); }

.cms-shell--radius-xl { --cms-shell-radius: 28px; }

.cms-floating-badge {
    position: absolute;
}

.cms-floating-badge--animated {
    animation: cms-floating-badge-float 3s ease-in-out infinite;
}

.cms-floating-badge--tl { top: -16px; left: -12px; }

.cms-floating-badge--tr { top: -16px; right: -12px; }

.cms-floating-badge--bl { bottom: -16px; left: -12px; }

.cms-floating-badge--br { bottom: -16px; right: -12px; }

@keyframes cms-floating-badge-float {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Writer enrichment blocks */
.wbl-block {
    font-family: var(--font-body);
    color: var(--color-text);
    line-height: 1.65;
    margin: 2rem 0;
    box-sizing: border-box;
}

.wbl-block,
.wbl-block *,
.wbl-block *::before,
.wbl-block *::after {
    box-sizing: inherit;
}

.wbl-resume {
    background: color-mix(in srgb, var(--color-accent) 7%, #fff);
    border: 1px solid color-mix(in srgb, var(--color-accent) 18%, #fff);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius);
    padding: 1.4rem 1.5rem;
}

.wbl-resume__header {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1rem;
}

.wbl-resume__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--color-accent);
}

.wbl-resume__title {
    font-family: var(--font-heading);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0;
}

.wbl-resume__body ul {
    margin: 0;
    padding-left: 1.2rem;
    list-style: none;
}

.wbl-resume__body ul li {
    position: relative;
    margin: 0;
    padding: .38rem 0 .38rem .22rem;
    font-size: .98rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.wbl-resume__body ul li::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 1rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-accent);
}

.wbl-resume__body p {
    margin: 0;
    font-size: .98rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.wbl-short {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1rem 1.25rem;
}

.wbl-short__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    color: var(--color-accent);
}

.wbl-short__body {
    flex: 1;
    min-width: 0;
}

.wbl-short__label {
    display: block;
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-accent);
    margin-bottom: .2rem;
}

.wbl-short__body p {
    margin: 0;
    font-size: .95rem;
    color: var(--color-text-muted);
}

.wbl-paa {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
}

.wbl-paa__summary {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: 1rem 1.25rem;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background-color .15s ease;
}

.wbl-paa__summary::-webkit-details-marker {
    display: none;
}

.wbl-paa__summary::before {
    content: "";
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform .2s ease;
}

.wbl-paa[open] .wbl-paa__summary::before {
    transform: rotate(180deg);
}

.wbl-paa__summary:hover {
    background: var(--color-bg-alt);
}

.wbl-paa__summary:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.wbl-paa__answer {
    padding: 0 1.25rem 1.1rem calc(1.25rem + 20px + .65rem);
    border-top: 1px solid var(--color-border);
}

.wbl-paa__answer p {
    margin: .7rem 0 0;
    font-size: .95rem;
    color: var(--color-text-muted);
}

.wbl-faq {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1.35rem;
}

.wbl-faq__title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 1rem;
}

.wbl-faq-item + .wbl-faq-item {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.wbl-faq-item__question {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 .45rem;
}

.wbl-faq-item__answer {
    margin: 0;
    font-size: .95rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

@media (max-width: 768px) {
    .wbl-resume,
    .wbl-short,
    .wbl-faq {
        padding: 1rem;
    }
    .wbl-paa__summary {
        padding: .95rem 1rem;
        font-size: .96rem;
    }
    .wbl-paa__answer {
        padding: 0 1rem 1rem calc(1rem + 20px + .65rem);
    }
}

@media (max-width: 767px) {
    .cms-hero-post-centered--left .cms-hero-post-centered__content {
        max-width: calc(100% - 24px);
        padding: 40px 12px 56px;
    }
    .cms-hero-post-centered--editorial .cms-hero-post-centered__title {
        font-size: clamp(30px, 9vw, 42px);
    }
}

/* Global flat icon contract: block icons are SVG, primary-colored, never raw text labels. */
.cms-fg-c3__media--icon,
.fg-cards3__icon,
.cms-fg-car__icon,
.fg-carousel__icon,
.cms-fg-alt__icon,
.fg-alt__icon,
.cms-fg-i2__icon,
.fg-icon2c__icon,
.cms-fg-li__icon,
.fg-listimg__icon,
.cms-fg-sa__icon,
.fg-svcalt__icon,
.cms-ti-list__icon,
.ti-list__icon,
.cms-ti-dsplit__item-icon,
.ti-dsplit__item-icon,
.cms-cb__icon-wrap,
.cms-cb__icon-lg,
.cb__icon-wrap,
.cb__icon-lg,
.cms-stats-cg__icon,
.stats-cg__icon,
.cms-stats-ca__icon,
.stats-ca__icon,
.cms-stats-bento__icon,
.bento__icon {
    color: var(--color-accent);
}

.cms-fg-c3__media--icon svg,
.fg-cards3__icon svg,
.cms-fg-car__icon svg,
.fg-carousel__icon svg,
.cms-fg-alt__icon svg,
.fg-alt__icon svg,
.cms-fg-i2__icon svg,
.fg-icon2c__icon svg,
.cms-fg-li__icon svg,
.fg-listimg__icon svg,
.cms-fg-sa__icon svg,
.fg-svcalt__icon svg,
.cms-ti-list__icon svg,
.ti-list__icon svg,
.cms-ti-dsplit__item-icon svg,
.ti-dsplit__item-icon svg,
.cms-cb__icon-wrap svg,
.cms-cb__icon-lg svg,
.cb__icon-wrap svg,
.cb__icon-lg svg,
.cms-stats-cg__icon svg,
.stats-cg__icon svg,
.cms-stats-ca__icon svg,
.stats-ca__icon svg,
.cms-stats-bento__icon svg,
.bento__icon svg,
.cms-steps-cs__badge svg,
.steps-cs__badge svg,
.steps-tl__dot svg,
.steps-ng__number svg,
.cms-steps-nl__number svg,
.steps-nl__number svg,
.cms-steps-pb__number svg {
    display: block;
    width: 1em;
    height: 1em;
}

.cms-fg-c3__media--icon svg,
.fg-cards3__icon svg,
.cms-fg-car__icon svg,
.fg-carousel__icon svg,
.cms-fg-alt__icon svg,
.fg-alt__icon svg {
    width: 22px;
    height: 22px;
}

/* JS Agency canonical mini-compare cards — 2026-05-06 */
.cms-content-mc {
    margin: 32px 0;
}

.cms-content-mc__shell {
    position: relative;
    padding: 0;
    border-left: 0;
}

.cms-content-mc__shell::before {
    content: none;
}

.cms-content-mc__head {
    position: relative;
    padding: 0 0 14px;
}

.cms-content-mc__eyebrow {
    display: block;
    margin: 0 0 8px;
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-mc__title {
    margin: 0 !important;
    font: 700 clamp(20px, 2.3vw, 25px)/1.15 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-mc__intro {
    margin: 10px 0 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-mc__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding-right: 0;
}

.cms-content-mc__card {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 14px;
    align-content: start;
    padding: 22px;
    border: 1px solid var(--color-border, var(--cms-border, #e2e8f0));
    border-radius: var(--radius-lg, var(--cms-radius-lg, 18px));
    background: var(--color-bg, var(--cms-bg, #fff));
    box-shadow: 0 16px 38px rgba(15, 23, 42, .06);
}

.cms-content-mc__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.cms-content-mc__label {
    margin: 0;
    font: 700 20px/1.22 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-mc__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    background: var(--color-accent, var(--cms-primary, #0f766e));
    color: #fff;
    font: 800 12px/1 var(--font-body, var(--cms-font, system-ui));
}

.cms-content-mc__points {
    display: grid;
    gap: 10px;
}

.cms-content-mc__line {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 11px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--color-border, var(--cms-border, #e2e8f0)) 82%, transparent);
}

.cms-content-mc__k {
    color: var(--color-accent, var(--cms-primary, #0f766e));
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cms-content-mc__v {
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
    font: 400 14px/1.62 var(--font-body, var(--cms-font, system-ui));
}

.cms-content-mc__v strong {
    color: var(--color-text, var(--cms-text, #1e293b));
    font-weight: 700;
}

@media (max-width: 760px) {
    .cms-content-mc__grid {
        grid-template-columns: 1fr;
    }
}

/* JS Agency mini-compare icon variant — 2026-05-06 */
.cms-content-mc__rank--icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* JS Agency canonical criteria-grid cards — 2026-05-06 */
.cms-content-cg {
    margin: 32px 0 38px;
}

.cms-content-cg__shell {
    position: relative;
}

.cms-content-cg__head {
    padding: 0 0 14px;
}

.cms-content-cg__eyebrow {
    display: block;
    margin: 0 0 8px;
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-cg__title {
    margin: 0 !important;
    font: 700 clamp(20px, 2.3vw, 25px)/1.15 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-cg__intro {
    margin: 10px 0 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-cg__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.cms-content-cg__card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 20px;
    border: 1px solid var(--color-border, var(--cms-border, #e2e8f0));
    border-radius: var(--radius-lg, var(--cms-radius-lg, 18px));
    background: linear-gradient(180deg, color-mix(in srgb, var(--color-accent, var(--cms-primary, #0f766e)) 5%, var(--color-bg, var(--cms-bg, #fff)) 95%) 0%, var(--color-bg, var(--cms-bg, #fff)) 72%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
}

.cms-content-cg__card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-cg__top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
}

.cms-content-cg__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 14px;
    background: var(--color-accent, var(--cms-primary, #0f766e));
    color: #fff;
}

.cms-content-cg__icon svg {
    width: 21px;
    height: 21px;
    display: block;
}

.cms-content-cg__badge {
    display: inline-flex;
    width: max-content;
    margin: 0 0 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent, var(--cms-primary, #0f766e)) 12%, transparent);
    color: var(--color-accent, var(--cms-primary, #0f766e));
    font: 700 10px/1 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cms-content-cg__label {
    margin: 0 !important;
    font: 700 18px/1.25 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-cg__question,
.cms-content-cg__impact {
    margin: 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-cg__impact {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--color-border, var(--cms-border, #e2e8f0)) 78%, transparent);
}

.cms-content-cg__impact strong {
    color: var(--color-text, var(--cms-text, #1e293b));
}

@media (max-width: 760px) {
    .cms-content-cg__grid {
        grid-template-columns: 1fr;
    }
}

/* Service detail pages generated from Manager corporate service pages. */
.page-content .service-detail {
    max-width: var(--container, 1120px);
    margin: 0 auto;
    padding: clamp(36px, 6vw, 80px) 20px;
}

.page-content .service-detail + .service-detail {
    border-top: 1px solid color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.service-detail__eyebrow {
    display: inline-flex;
    margin: 0 0 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-detail h2 {
    max-width: 860px;
    margin: 0 0 18px;
    color: var(--color-heading, var(--color-text));
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.08;
}

.service-detail p,
.service-detail li {
    max-width: 820px;
    color: var(--color-text-muted);
    font-size: clamp(1rem, 1.3vw, 1.1rem);
    line-height: 1.75;
}

.service-detail ul,
.service-detail ol {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding-left: 1.2rem;
}

.service-detail__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.service-detail__cards article {
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--color-accent) 14%, transparent);
    border-radius: var(--radius-lg, 18px);
    background: color-mix(in srgb, var(--color-accent) 6%, var(--color-bg));
}

.service-detail__cards strong,
.service-detail__cards span {
    display: block;
}

.service-detail__cards strong {
    margin-bottom: 8px;
    color: var(--color-heading, var(--color-text));
}

.service-detail details {
    max-width: 860px;
    padding: 18px 0;
    border-bottom: 1px solid var(--color-border, rgba(0,0,0,.12));
}

.service-detail summary {
    cursor: pointer;
    color: var(--color-heading, var(--color-text));
    font-weight: 700;
}

.service-detail__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 14px 22px;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-accent-contrast, #fff);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 760px) {
    .service-detail__cards {
        grid-template-columns: 1fr;
    }
}

/* JS Agency canonical audience-fit split block — 2026-05-06 */
.cms-content-af {
    margin: 30px 0 36px;
}

.cms-content-af__shell {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--color-border, rgba(15, 23, 42, .12));
    border-radius: var(--radius-lg, 22px);
    background: var(--color-bg-alt, #f8fafc);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}

.cms-content-af__media {
    position: relative;
    flex: 0 0 clamp(240px, 32%, 330px);
    width: clamp(240px, 32%, 330px);
    min-width: 240px;
    min-height: 360px;
    overflow: hidden;
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 22%, #111827 78%), #0f172a);
}

.cms-content-af__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .34));
}

.cms-content-af__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center center;
    vertical-align: top;
}

.cms-content-af__media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 360px;
    background:
        radial-gradient(circle at 28% 26%, color-mix(in srgb, var(--color-accent, #0f766e) 52%, transparent) 0 18%, transparent 19%),
        linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 20%, #111827 80%), #0f172a);
}

.cms-content-af__body {
    flex: 1 1 auto;
    min-width: 0;
    padding: clamp(22px, 3.5vw, 34px);
}

.cms-content-af__eyebrow {
    display: block;
    margin: 0 0 9px;
    color: var(--color-accent, #0f766e);
    font: 800 10px/1.2 var(--font-body, sans-serif);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-af__title {
    margin: 0 !important;
    color: var(--color-text, #0f172a);
    font: 800 clamp(20px, 2.2vw, 27px)/1.12 var(--font-heading, sans-serif);
}

.cms-content-af__intro {
    max-width: 62ch;
    margin: 12px 0 0;
    color: var(--color-text-muted, #64748b);
    font: 400 13.5px/1.62 var(--font-body, sans-serif);
}

.cms-content-af__list {
    display: grid;
    gap: 10px;
    margin: 19px 0 0;
}

.cms-content-af__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 13px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 82%, transparent);
}

.cms-content-af__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent, #0f766e);
    font: 800 11px/1 var(--font-body, sans-serif);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--color-accent, #0f766e) 24%, transparent);
}

.cms-content-af__badge {
    display: inline-flex;
    width: max-content;
    margin: 0 0 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent);
    color: var(--color-accent, #0f766e);
    font: 800 9px/1 var(--font-body, sans-serif);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cms-content-af__label {
    margin: 0 !important;
    color: var(--color-text, #0f172a);
    font: 750 16px/1.28 var(--font-heading, sans-serif);
}

.cms-content-af__note {
    margin: 6px 0 0;
    color: var(--color-text-muted, #64748b);
    font: 400 13px/1.54 var(--font-body, sans-serif);
}

@media (max-width: 820px) {
    .cms-content-af__shell {
        display: block;
    }
    .cms-content-af__media {
        width: 100%;
        min-width: 0;
        min-height: 240px;
        aspect-ratio: 16 / 9;
    }
    .cms-content-af__media img,
    .cms-content-af__media-placeholder {
        min-height: 240px;
        height: 240px;
    }
}

.cms-steps-stack {
    position: relative;
}

.cms-steps-stack__item {
    position: sticky;
    top: 80px;
    z-index: 1;
    margin-bottom: 40px;
}

.cms-steps-stack__item--offset-1 { top: 100px; z-index: 2; }

.cms-steps-stack__item--offset-2 { top: 120px; z-index: 3; }

.cms-steps-stack__item--offset-3 { top: 140px; z-index: 4; }

.cms-steps-stack__item--offset-4 { top: 160px; z-index: 5; }

.cms-steps-stack__item--offset-5 { top: 180px; z-index: 6; }

.cms-steps-stack__card {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: var(--shadow-lg);
}

.cms-steps-stack__card--with-image { flex-wrap: wrap; }

.cms-steps-stack--dark .cms-steps-stack__card {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.06);
}

.cms-steps-stack__badge {
    display: flex;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
}

.cms-steps-stack__badge svg {
    width: 1em;
    height: 1em;
}

.cms-steps-stack__body {
    flex: 1;
    min-width: 200px;
}

.cms-steps-stack__title {
    margin: 0 0 8px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-steps-stack__desc {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
}

.cms-steps-stack--dark .cms-steps-stack__title { color: var(--color-dark-text); }

.cms-steps-stack--dark .cms-steps-stack__desc { color: var(--color-dark-text-muted); }

.cms-steps-stack__media {
    flex: 0 0 clamp(150px, 30%, 250px);
    overflow: hidden;
    border-radius: var(--radius);
}

.cms-steps-stack__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.cms-steps-stack__spacer--1 { height: 20px; }

.cms-steps-stack__spacer--2 { height: 40px; }

.cms-steps-stack__spacer--3 { height: 60px; }

.cms-steps-stack__spacer--4 { height: 80px; }

.cms-steps-stack__spacer--5 { height: 100px; }

@media (max-width: 768px) {
    .cms-steps-stack__item {
        position: relative !important;
        top: auto !important;
    }
}

/* JS Agency post component readability tuning — 2026-05-06 */
.article-content .cms-summary,
.prose .cms-summary,
.article-content .cms-faq,
.prose .cms-faq,
.article-content .cms-content-mc,
.prose .cms-content-mc,
.article-content .cms-content-cg,
.prose .cms-content-cg,
.article-content .cms-content-pp,
.prose .cms-content-pp,
.article-content .cms-content-vb,
.prose .cms-content-vb {
    font-size: 0.94rem;
}

.article-content .cms-summary__list li,
.prose .cms-summary__list li {
    font-size: 0.94rem;
    line-height: 1.62;
}

.article-content .cms-faq__question,
.prose .cms-faq__question {
    font-size: 0.98rem;
    line-height: 1.42;
}

.article-content .cms-faq__answer,
.prose .cms-faq__answer {
    font-size: 0.92rem;
    line-height: 1.65;
}

.cms-content-mc__card,
.cms-content-cg__card,
.cms-content-pp__card {
    min-height: 0;
}

.cms-content-mc__label { font-size: 18px; }

.cms-content-mc__v,
.cms-content-cg__question,
.cms-content-cg__impact,
.cms-content-pp__text { font-size: 13.25px; }

.cms-content-cg__label,
.cms-content-pp__label { font-size: 16.5px; }

.cms-content-vb {
    margin: 34px 0 46px;
    min-height: clamp(250px, 30vw, 390px);
    align-items: end;
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--color-accent, #0f766e) 20%, transparent) 0 14%, transparent 15%),
        linear-gradient(135deg, var(--color-bg-alt, #f8fafc), color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg, #fff)));
    color: var(--color-text, #0f172a);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.cms-content-vb--accent,
.cms-content-vb--dark,
.cms-content-vb--light {
    color: var(--color-text, #0f172a);
}

.cms-content-vb__visual {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 14%, transparent), transparent 48%),
        repeating-linear-gradient(-35deg, color-mix(in srgb, var(--color-accent, #0f766e) 12%, transparent) 0 2px, transparent 2px 13px);
    opacity: .95;
}

.cms-content-vb__visual::after {
    background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 46%, rgba(255,255,255,.18) 100%);
}

.cms-content-vb__img {
    filter: saturate(.9) contrast(.98) brightness(.96);
}

.cms-content-vb--with-image .cms-content-vb__eyebrow,
.cms-content-vb--accent .cms-content-vb__eyebrow,
.cms-content-vb__eyebrow {
    color: var(--color-accent, #0f766e);
}

.cms-content-vb__title {
    max-width: 680px;
    color: var(--color-text, #0f172a);
    font-size: clamp(22px, 2.7vw, 34px);
}

.cms-content-vb__text {
    max-width: 620px;
    color: var(--color-text-muted, #64748b);
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.65;
}

.cms-content-vb.cms-content-vb--with-image,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--accent,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--dark,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--light {
    color: #fff;
    background: #0f172a;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__visual::after {
    background: linear-gradient(180deg, rgba(8,13,24,.10), rgba(8,13,24,.58));
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: cover;
    filter: saturate(.98) contrast(1.03) brightness(.76);
    transform: scale(1.012);
    transform-origin: center;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__eyebrow {
    color: var(--color-accent2-soft, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 26%, white 74%));
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__title {
    color: #fff;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__text {
    color: var(--color-accent2-soft, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 22%, white 78%));
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__eyebrow {
    color: rgba(255,255,255,.80);
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__title {
    color: #fff;
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__text {
    color: rgba(255,255,255,.86);
}

.cms-content-vb:not(.cms-content-vb--with-image) {
    min-height: auto;
    align-items: start;
}

.cms-content-icg {
    margin: 40px 0;
}

.cms-content-icg__head {
    max-width: 760px;
    margin: 0 0 18px;
}

.cms-content-icg__eyebrow {
    display: inline-flex;
    margin: 0 0 9px;
    color: var(--color-accent);
    font: 800 10px/1.2 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-icg__title {
    margin: 0 !important;
    color: var(--color-text);
    font: 800 clamp(22px, 2.5vw, 30px)/1.12 var(--font-heading);
    letter-spacing: -.02em;
}

.cms-content-icg__intro {
    margin: 10px 0 0;
    color: var(--color-text-muted);
    font: 400 14px/1.65 var(--font-body);
}

.cms-content-icg__grid {
    display: grid;
    gap: 18px;
}

.cms-content-icg--cols-2 .cms-content-icg__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-content-icg--cols-3 .cms-content-icg__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-content-icg--carousel .cms-content-icg__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 32%);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    padding-bottom: 8px;
}

.cms-content-icg__card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-accent) 18%);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: 0 12px 28px rgba(15,23,42,.055);
    scroll-snap-align: start;
}

.cms-content-icg__image,
.cms-content-icg__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    height: clamp(178px, 18vw, 232px);
    border-radius: 0 !important;
    margin: 0 !important;
}

.cms-content-icg__image {
    object-fit: cover;
}

.cms-content-icg__placeholder {
    background:
        radial-gradient(circle at 24% 22%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 8%, var(--color-bg)));
}

.cms-content-icg__body {
    padding: clamp(16px, 2vw, 22px);
}

.cms-content-icg__link {
    color: inherit;
    text-decoration: none;
}

.cms-content-icg__item-title {
    margin: 0 0 8px !important;
    color: var(--color-text);
    font: 800 17px/1.28 var(--font-heading);
}

.cms-content-icg__text {
    margin: 0;
    color: var(--color-text-muted);
    font: 400 13.5px/1.6 var(--font-body);
}

.cms-content-icg__cta {
    display: inline-flex;
    margin-top: 13px;
    color: var(--color-accent);
    font: 800 12px/1 var(--font-body);
    text-decoration: none;
}

@media (max-width: 760px) {
    .cms-content-icg--cols-2 .cms-content-icg__grid,
    .cms-content-icg--cols-3 .cms-content-icg__grid {
        grid-template-columns: 1fr;
    }
    .cms-content-icg--carousel .cms-content-icg__grid {
        grid-auto-columns: minmax(240px, 84%);
    }
}

.cms-post-card:hover .cms-post-card__title-link,
.cms-generic-card:hover .cms-generic-card__title,
.cms-bl-ff__grid :is(.bl__card--vertical, .cms-post-card--vertical, .cms-generic-card--vertical):hover :is(h2, h3, h4, h5, h6) a {
    color: var(--color-text, #0f172a) !important;
}

.cms-post-card__title-link:hover,
.cms-generic-card__title a:hover {
    color: var(--color-text, #0f172a) !important;
    text-decoration-color: color-mix(in srgb, var(--color-accent, #0f766e) 45%, transparent);
}

.cms-post-card--overlay:hover .cms-post-card__title-link,
.cms-post-card--overlay .cms-post-card__title-link:hover,
.cms-generic-card--overlay:hover .cms-generic-card__title,
.cms-bl-card--overlay:hover .cms-bl-card__title {
    color: var(--color-accent2, rgba(255,255,255,.86)) !important;
}

/* Legacy imported post blocks — match current summary/FAQ components */
.bloc_resume_post,
.cms-block.cms-summary {
    border: none;
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    padding: 24px;
    margin: 32px 0;
    box-shadow: none;
}

.cms-pc-std__content .bloc_resume_post_title,
.article-content .bloc_resume_post_title,
.prose .bloc_resume_post_title,
.post-content .bloc_resume_post_title,
.bloc_resume_post_title,
.cms-summary__title,
.bloc_resume_post h2 {
    line-height: var(--cms-pc-std-line-height, 1.5);
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.bloc_resume_post_list,
.bloc_resume_post ul,
.cms-summary__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bloc_resume_post_list li,
.bloc_resume_post li,
.cms-summary__list li {
    position: relative;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
    font: 400 14px/1.6 var(--font-body);
    color: var(--color-text);
}

.bloc_resume_post_list li::marker,
.bloc_resume_post li::marker,
.cms-summary__list li::marker { content: ""; }

.bloc_resume_post_list li::before,
.bloc_resume_post li::before,
.cms-summary__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-accent);
    font-weight: 700;
}

.faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
}

.faq-item {
    margin: 0 !important;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-border);
    background: transparent !important;
}

.faq-item:first-child { padding-top: 0; }

.faq-item:last-child { padding-bottom: 0; border-bottom: 0; }

.faq-question,
.bloc_resume_post h4,
.cms-block.cms-faq .cms-faq__question {
    margin: 0 0 7px !important;
    font: 600 15px/1.5 var(--font-body);
    color: var(--color-text);
}

.faq-answer,
.cms-block.cms-faq .cms-faq__answer {
    margin: 0 !important;
    font: 400 14px/1.7 var(--font-body);
    color: var(--color-text-muted);
}

.short_bloc {
    margin: 28px 0;
    padding: 16px 20px;
    border: 0;
    border-left: 3px solid var(--color-accent);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.short_bloc_title {
    display: block;
    margin: 0 0 10px;
    font: 700 10px/1.2 var(--font-body);
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent);
}

@media (max-width: 768px) {
    .bloc_resume_post,
    .cms-block.cms-summary {
        padding: 20px;
        border-radius: var(--radius);
    }
}

/* Utility/legal pages */
.cms-utility-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--color-accent) 28%, transparent) 0, transparent 34%),
        linear-gradient(135deg, var(--color-dark-bg, #101820) 0%, color-mix(in srgb, var(--color-dark-bg, #101820) 86%, #000) 100%);
    color: var(--color-dark-text, #fff);
    padding: clamp(110px, 14vw, 180px) 0 clamp(58px, 8vw, 96px);
    margin: 0 0 clamp(44px, 6vw, 72px);
}

.cms-utility-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -45% 42%;
    height: 70%;
    background: radial-gradient(circle, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 20%, transparent), transparent 68%);
    pointer-events: none;
}

.cms-utility-hero__inner {
    position: relative;
    z-index: 1;
    width: min(var(--container, 1180px), calc(100% - 40px));
    margin: 0 auto;
}

.cms-utility-hero__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--color-accent) 72%, #fff);
}

.cms-utility-hero__title {
    max-width: 900px;
    margin: 18px 0 14px;
    font-family: var(--font-heading);
    font-size: clamp(2.35rem, 5vw, 4.8rem);
    line-height: .98;
    font-weight: 760;
    color: var(--color-dark-text, #fff);
}

.cms-utility-hero__subtitle {
    max-width: 760px;
    margin: 0;
    font: 400 clamp(1rem, 1.6vw, 1.15rem)/1.8 var(--font-body);
    color: var(--color-dark-text-muted, rgba(255,255,255,.74));
}

/* ---------------------------------------------------------------------------
   Hotfix 2026-05-08 — Visual banner + decision/profile blocks specificity
   --------------------------------------------------------------------------- */
.cms-content-vb__visual {
    line-height: 0;
    overflow: hidden;
    display: block;
}

.cms-content-vb__img {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.cms-content-vb--with-image .cms-content-vb__title,
.cms-content-vb--with-image .cms-content-vb__text {
    color: #fff !important;
}

.cms-content-vb--with-image {
    min-height: clamp(220px, 28vw, 340px) !important;
}

.post-content h4.cms-content-ds__card-title,
.post-content h4.cms-content-pp__label {
    margin-top: 14px !important;
}

.cms-content-pp__card {
    min-height: auto !important;
}

.cms-content-clp__item {
    line-height: 1.3 !important;
}

/* ---------------------------------------------------------------------------
   OL badge 2026-05-08 — Ordered lists in editorial content
   --------------------------------------------------------------------------- */
.article-content ol, .prose ol, .post-content ol, .cms-pc-std__content ol { list-style:none !important; padding-left:0px; margin:1rem 0; counter-reset:cms-ordered-list; }

.article-content ol > li, .prose ol > li, .post-content ol > li, .cms-pc-std__content ol > li { list-style:none !important; position:relative; margin:.7rem 0; padding:.85rem 1rem .85rem 3rem; border:1px solid color-mix(in srgb,var(--color-accent,var(--cms-accent,#D97706)) 22%,var(--color-border,#E7E5E4)); border-radius:12px; background:color-mix(in srgb,var(--color-bg-alt,#F8F7F4) 84%,white 16%); line-height:1.65; counter-increment:cms-ordered-list; }

.article-content ol > li::marker, .prose ol > li::marker, .post-content ol > li::marker, .cms-pc-std__content ol > li::marker { content:none; }

.article-content ol > li::before, .prose ol > li::before, .post-content ol > li::before, .cms-pc-std__content ol > li::before { content:counter(cms-ordered-list); position:absolute; left:.85rem; top:.85rem; width:1.6rem; height:1.6rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; line-height:1; color:#fff; background:var(--color-accent,var(--cms-accent,#D97706)); box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent,var(--cms-accent,#D97706)) 30%,transparent); }

.article-content ol ol, .prose ol ol, .post-content ol ol, .cms-pc-std__content ol ol { list-style:decimal; counter-reset:none; padding-left:1.4rem; margin:.5rem 0 .25rem; }

.article-content ol ol > li, .prose ol ol > li, .post-content ol ol > li, .cms-pc-std__content ol ol > li { border:0; background:transparent; border-radius:0; padding:0; margin:.35rem 0; counter-increment:none; }

.article-content ol ol > li::before, .prose ol ol > li::before, .post-content ol ol > li::before, .cms-pc-std__content ol ol > li::before { content:none; }

/* Hotfix 2026-05-08 — pc-std heading spacing consistency */
.cms-pc-std__content :is(h2,h3,h4) { margin-top: 22px; }

.cms-pc-std__content h2 { margin-top: 22px; }

.cms-pc-std__content h3 { margin-top: 22px; }

.cms-pc-std__content h4 { margin-top: 22px; }

.cms-pc-std__content h2:first-child { margin-top: 0; }

/* Hotfix 2026-05-08d — section-focus icon/title vertical alignment */
.cms-content-sf__head-row {
  align-items: center !important;
}

.cms-content-sf__title,
.cms-content-sf__head-row h3 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center;
}

/* Hotfix 2026-05-08e — consent video embed sizing */
.cms-content-video__embed.cms-consent-embed {
  position: relative;
  height: 0 !important;
  min-height: 0 !important;
  padding-bottom: 56.25% !important;
  overflow: hidden;
}

.cms-content-video__embed .cms-consent-embed__placeholder,
.cms-content-video__embed .cms-content-video__placeholder {
  position: absolute;
  inset: 0;
  min-height: 0 !important;
}

.cms-content-video__thumb {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 0 !important;
  opacity: .72;
  filter: saturate(1.05) contrast(1.02);
}

.cms-content-video__placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, .26));
  pointer-events: none;
}

.cms-content-video__placeholder .cms-consent-embed__panel {
  position: relative;
  z-index: 1;
}

.cms-content-video__embed iframe,
.cms-content-video__embed iframe.cms-consent-frame--fill,
.cms-content-video__embed iframe.cms-consent-frame--cover {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

/* Editorial premium components v2 — calculation, scenarios, risks, sources, myths, definitions */
.cms-content-calc,
.cms-content-scen,
.cms-content-risk,
.cms-content-src,
.cms-content-mf,
.cms-content-def {
    position: relative;
    overflow: hidden;
    margin: 42px 0;
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 6%, var(--color-bg) 94%));
    box-shadow: var(--shadow, 0 18px 48px rgba(15,23,42,.07));
}

.cms-content-calc::before,
.cms-content-risk::before,
.cms-content-mf::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: var(--color-accent);
}

.cms-content-calc__eyebrow,
.cms-content-scen__eyebrow,
.cms-content-risk__eyebrow,
.cms-content-src__eyebrow,
.cms-content-mf__eyebrow,
.cms-content-def__eyebrow {
    display: inline-flex;
    width: max-content;
    margin: 0 0 11px;
    padding: 6px 10px;
    border-radius: var(--radius-full, 999px);
    color: var(--color-accent);
    background: color-mix(in srgb, var(--color-accent) 14%, white 86%);
    font: 900 10px/1 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-calc__title,
.cms-content-scen__title,
.cms-content-risk__title,
.cms-content-src__title,
.cms-content-mf__title,
.cms-content-def__title {
    margin: 0 0 10px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(23px, 2.8vw, 34px);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.cms-content-scen__intro,
.cms-content-risk__intro,
.cms-content-src__intro {
    max-width: 760px;
    margin: 0;
    color: var(--color-text-muted);
    font: 400 14px/1.68 var(--font-body);
}

.cms-content-calc__formula {
    margin: 20px 0 0;
    padding: 18px 20px;
    border-radius: var(--radius-md, 18px);
    color: var(--color-text);
    background: var(--color-bg);
    font: 800 clamp(18px, 2.2vw, 26px)/1.35 var(--font-heading);
    box-shadow: 0 12px 28px rgba(15,23,42,.055);
}

.cms-content-calc__vars {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
}

.cms-content-calc__var {
    margin: 0;
    padding: 14px;
    border-radius: var(--radius-md, 16px);
    background: color-mix(in srgb, var(--color-bg) 84%, white 16%);
}

.cms-content-calc__var dt {
    margin: 0 0 4px;
    color: var(--color-accent);
    font: 900 11px/1.2 var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cms-content-calc__var dd,
.cms-content-calc__example,
.cms-content-calc__note {
    margin: 0;
    color: var(--color-text-muted);
    font: 400 14px/1.65 var(--font-body);
}

.cms-content-calc__example {
    margin-top: 18px;
    color: var(--color-text);
}

.cms-content-calc__note {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
}

.cms-content-scen__grid,
.cms-content-risk__grid,
.cms-content-mf__grid,
.cms-content-def__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

.cms-content-scen__card,
.cms-content-risk__card,
.cms-content-mf__card,
.cms-content-def__card {
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--color-border) 78%, var(--color-accent) 22%);
    border-radius: var(--radius-md, 18px);
    background: var(--color-bg);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
}

.cms-content-scen__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 900 11px/1 var(--font-body);
}

.cms-content-scen__card-title,
.cms-content-risk__risk,
.cms-content-def__term {
    margin: 0 0 8px !important;
    color: var(--color-text);
    font: 800 17px/1.25 var(--font-heading);
}

.cms-content-scen__context,
.cms-content-scen__line,
.cms-content-scen__warning,
.cms-content-risk__card p,
.cms-content-def__card p {
    margin: 0 0 9px;
    color: var(--color-text-muted);
    font: 400 14px/1.58 var(--font-body);
}

.cms-content-scen__line strong,
.cms-content-risk__card strong {
    color: var(--color-text);
}

.cms-content-scen__warning {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: var(--radius-md, 14px);
    color: color-mix(in srgb, var(--color-warning, #f59e0b) 72%, #0f172a 28%);
    background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, white 88%);
    font-weight: 650;
}

.cms-content-risk__top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.cms-content-risk__level {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 900 10px/1 var(--font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cms-content-risk__card--high .cms-content-risk__level { background: var(--color-danger, #ef4444); }

.cms-content-risk__card--medium .cms-content-risk__level { background: var(--color-warning, #f59e0b); }

.cms-content-risk__card--low .cms-content-risk__level { background: var(--color-success, #10b981); }

.cms-content-src {
    background: var(--color-bg-alt);
}

.cms-content-src__list {
    display: grid;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.cms-content-src__item {
    display: grid;
    grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 0;
    padding: 14px 16px;
    border-radius: var(--radius-md, 16px);
    color: var(--color-text-muted);
    background: var(--color-bg);
}

.cms-content-src__item strong {
    display: block;
    color: var(--color-text);
    font: 800 14px/1.25 var(--font-heading);
}

.cms-content-src__item span,
.cms-content-src__item small {
    color: var(--color-text-muted);
    font: 700 11px/1.35 var(--font-body);
    text-transform: uppercase;
    letter-spacing: .05em;
}

.cms-content-src__item p {
    margin: 0;
    font: 400 14px/1.55 var(--font-body);
}

.cms-content-src__item a {
    color: var(--color-accent);
    font-weight: 850;
}

.cms-content-mf__grid {
    grid-template-columns: 1fr;
}

.cms-content-mf__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 14px;
}

.cms-content-mf__myth,
.cms-content-mf__fact,
.cms-content-mf__impact {
    margin: 0;
    color: var(--color-text-muted);
    font: 400 14px/1.6 var(--font-body);
}

.cms-content-mf__myth,
.cms-content-mf__fact {
    padding: 14px;
    border-radius: var(--radius-md, 16px);
}

.cms-content-mf__myth {
    background: color-mix(in srgb, var(--color-danger, #ef4444) 8%, var(--color-bg) 92%);
}

.cms-content-mf__fact {
    background: color-mix(in srgb, var(--color-success, #10b981) 9%, var(--color-bg) 91%);
}

.cms-content-mf__myth span,
.cms-content-mf__fact span {
    display: block;
    margin-bottom: 6px;
    color: var(--color-text);
    font: 900 11px/1 var(--font-body);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cms-content-mf__impact {
    grid-column: 1 / -1;
    padding-top: 2px;
    color: var(--color-text);
    font-weight: 650;
}

.cms-content-def__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-content-def__term {
    color: var(--color-accent);
}

.cms-content-def__card small {
    display: block;
    margin-top: 8px;
    color: var(--color-text-muted);
    font: 700 12px/1.45 var(--font-body);
}

/* Editorial premium components v2 responsive */
@media (max-width: 820px) {
    .cms-content-ds__grid,
    .cms-content-pp__grid,
    .cms-content-clp,
    .cms-content-tool__grid,
    .cms-content-calc__vars,
    .cms-content-scen__grid,
    .cms-content-risk__grid,
    .cms-content-mf__card,
    .cms-content-def__grid,
    .cms-content-src__item {
        grid-template-columns: 1fr;
    }
}

/* Section focus keeps native bullet lists readable inside transformed case cards. */
.cms-content-sf__content ul { list-style: disc; padding-left: 1.25rem !important; margin: .65rem 0 .9rem; }

.cms-content-sf__content ul li { list-style: disc; padding-left: 0; margin: .35rem 0; }

.cms-content-sf__content ol { margin: .65rem 0 .9rem; }

/* Formula highlight — auto-emphasis for calculation paragraphs in article flow */
.post-content p.cms-formula-highlight,
.article-content p.cms-formula-highlight,
.cms-pc-std__content p.cms-formula-highlight {
    position: relative;
    margin: 1rem 0 1.1rem;
    padding: .85rem 1rem .85rem 1.1rem;
    border-left: 4px solid var(--color-accent, var(--cms-accent, #D97706));
    border-radius: 0 var(--radius-md, 12px) var(--radius-md, 12px) 0;
    background: color-mix(in srgb, var(--color-bg-alt, #F8FAFC) 78%, white 22%);
    color: var(--color-text, #1e293b);
    font-weight: 600;
    line-height: 1.62;
}

/* Decision strip harmonization 2026-05-18 */
.cms-content-ds--image_list {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.cms-content-ds--image_list .cms-content-ds__eyebrow,
.cms-content-ds--grid_image_card .cms-content-ds__eyebrow {
    display: none;
}

.cms-content-ds--grid_image_card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.cms-content-ds--image_list .cms-content-ds__grid { grid-template-columns: 1fr; }

.cms-content-ds--image_list .cms-content-ds__card {
    display: grid;
    grid-template-columns: minmax(220px, 42%) 1fr;
    align-items: center;
    gap: 24px;
    padding: 14px;
    background: var(--color-bg-alt);
    border-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-border));
}

.cms-content-ds--grid_image_card .cms-content-ds__card:not(.cms-content-ds__card--image) {
    background: var(--color-bg-alt);
    border-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-border));
}

.cms-content-ds__body { display: flex; flex-direction: column; }

.cms-content-ds--image_list .cms-content-ds__num { margin-bottom: 10px; }

.cms-content-ds--image_list .cms-content-ds__card-title { margin: 0 0 12px; }

.cms-content-ds--image_list .cms-content-ds__text { margin: 0; }

.cms-content-ds--image_list .cms-content-ds__image {
    min-height: 190px;
    max-height: 240px;
}

@media (max-width: 820px) {
    .cms-content-ds--image_list .cms-content-ds__card { grid-template-columns: 1fr; }
}

/* PRE_LIGHT_STYLE_V1 */
.post-content pre,
.article-content pre,
.prose pre {
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-x: auto;
}

.post-content pre code,
.article-content pre code,
.prose pre code {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background: transparent;
  padding: 0;
}

/* ICG_FULLWIDTH_OVER_2_V1 */
.cms-content-icg--cols-1 .cms-content-icg__grid {
  grid-template-columns: 1fr !important;
}

/* Editorial synthesis components 2026-05-22 */
.cms-content-info,
.cms-content-cpanel,
.cms-content-stat {
  margin: clamp(24px, 4vw, 42px) 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb));
  border-radius: var(--radius-lg, 22px);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}

.cms-content-info__head,
.cms-content-cpanel__head,
.cms-content-stat__head {
  max-width: 760px;
  margin-bottom: 18px;
}

.cms-content-info__eyebrow,
.cms-content-cpanel__eyebrow,
.cms-content-stat__eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--color-accent, #0f766e);
  font: 900 11px/1 var(--font-body);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cms-content-info__title,
.cms-content-cpanel__title,
.cms-content-stat__title {
  margin: 0 !important;
  color: var(--color-text, #0f172a);
  font: 850 clamp(22px, 3vw, 32px)/1.08 var(--font-heading);
}

.cms-content-info__intro,
.cms-content-cpanel__intro,
.cms-content-stat__intro {
  margin: 10px 0 0;
  color: var(--color-text-muted, #64748b);
  font: 400 15px/1.65 var(--font-body);
}

.cms-content-info__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.cms-content-info--cols-2 .cms-content-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cms-content-info--cols-4 .cms-content-info__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cms-content-info__card {
  position: relative;
  overflow: hidden;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-border, #e5e7eb));
  border-radius: var(--radius-md, 16px);
  background: color-mix(in srgb, var(--color-bg, #fff) 88%, var(--color-accent, #0f766e) 4%);
}

.cms-content-info__img {
  display: block;
  width: calc(100% + 32px) !important;
  max-width: none !important;
  height: 150px !important;
  margin: -16px -16px 14px !important;
  object-fit: cover;
  border-radius: var(--radius-md, 16px) var(--radius-md, 16px) 0 0;
}

.cms-content-info__top,
.cms-content-cpanel__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cms-content-info__icon,
.cms-content-cpanel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--color-accent, #0f766e);
  background: color-mix(in srgb, var(--color-accent, #0f766e) 12%, var(--color-bg, #fff));
}

.cms-content-info__icon svg,
.cms-content-cpanel__icon svg {
  width: 17px;
  height: 17px;
}

.cms-content-info__badge,
.cms-content-cpanel__tag {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--color-text, #0f172a);
  background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg, #fff));
  font: 850 10px/1 var(--font-body);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cms-content-info__item-title,
.cms-content-cpanel__label {
  margin: 12px 0 7px !important;
  color: var(--color-text, #0f172a);
  font: 850 17px/1.22 var(--font-heading);
}

.cms-content-info__text,
.cms-content-cpanel__note,
.cms-content-cpanel__value {
  margin: 0;
  color: var(--color-text-muted, #64748b);
  font: 400 14px/1.58 var(--font-body);
}

.cms-content-cpanel__list {
  display: grid;
  gap: 10px;
}

.cms-content-cpanel__row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: var(--radius-md, 16px);
  background: var(--color-bg, #fff);
}

.cms-content-cpanel__label {
  margin: 0 !important;
}

.cms-content-cpanel__value {
  margin-top: 8px;
  color: var(--color-text, #0f172a);
  font-weight: 750;
}

.cms-content-cpanel__note {
  margin-top: 5px;
}

.cms-content-stat {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
  gap: clamp(18px, 3vw, 28px);
  align-items: stretch;
}

.cms-content-stat--media-right {
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
}

.cms-content-stat--media-right .cms-content-stat__media {
  order: 2;
}

.cms-content-stat--grid {
  display: block;
}

.cms-content-stat--grid .cms-content-stat__head {
  max-width: 880px;
}

.cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__grid {
  grid-template-columns: 1fr;
}

.cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__card {
  display: grid;
  grid-template-columns: minmax(130px, .28fr) minmax(0, .34fr) minmax(0, .7fr);
  gap: 16px;
  align-items: center;
  padding: clamp(18px, 3vw, 24px);
}

.cms-content-stat__media {
  margin: 0;
  overflow: hidden;
  min-height: 240px;
  border-radius: var(--radius-lg, 22px);
}

.cms-content-stat__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin: 0 !important;
}

.cms-content-stat__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cms-content-stat__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cms-content-stat--cols-1 .cms-content-stat__grid { grid-template-columns: 1fr; }

.cms-content-stat--cols-3 .cms-content-stat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cms-content-stat--cols-4 .cms-content-stat__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cms-content-stat__card {
  padding: 16px;
  border-radius: var(--radius-md, 16px);
  background: var(--color-bg, #fff);
}

.cms-content-stat__value {
  display: block;
  color: var(--color-accent, #0f766e);
  font: 900 clamp(24px, 3vw, 34px)/.98 var(--font-heading);
  letter-spacing: -.035em;
}

.cms-content-stat__value--long {
  font-size: clamp(21px, 2.4vw, 28px);
  letter-spacing: -.025em;
}

.cms-content-stat__label {
  display: block;
  margin-top: 7px;
  color: var(--color-text, #0f172a);
  font: 850 14px/1.25 var(--font-heading);
}

.cms-content-stat__detail {
  margin: 8px 0 0;
  color: var(--color-text-muted, #64748b);
  font: 400 13px/1.5 var(--font-body);
}

@media (max-width: 900px) {
  .cms-content-info__grid,
  .cms-content-info--cols-2 .cms-content-info__grid,
  .cms-content-info--cols-4 .cms-content-info__grid,
  .cms-content-stat,
  .cms-content-stat--media-right,
  .cms-content-stat__grid,
  .cms-content-stat--cols-3 .cms-content-stat__grid,
  .cms-content-stat--cols-4 .cms-content-stat__grid {
    grid-template-columns: 1fr;
  }
  .cms-content-stat--media-right .cms-content-stat__media {
    order: 0;
  }
  .cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__card {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* ARTICLE_COMPONENT_COMPACT_20260522
   Keeps writer enrichment blocks useful without overpowering article text. */
.cms-pc-std__content :is(
  .cms-content-sum,
  .cms-content-faq,
  .cms-content-clp,
  .cms-content-scen,
  .cms-content-src,
  .cms-content-af,
  .cms-content-info,
  .cms-content-cpanel,
  .cms-content-stat,
  .cms-content-mc,
  .cms-content-cg,
  .cms-content-ds,
  .cms-content-pp,
  .cms-content-table,
  .cms-inline-accent
) {
  margin-top: 24px;
  margin-bottom: 24px;
}

.cms-pc-std__content :is(.cms-content-sum, .cms-content-faq, .cms-content-clp, .cms-content-scen, .cms-content-src, .cms-content-info, .cms-content-cpanel, .cms-content-stat) {
  padding: clamp(16px, 2.2vw, 22px);
}

.cms-pc-std__content :is(.cms-content-af__shell, .cms-content-mc__shell, .cms-content-cg__shell) {
  padding: 16px 0 16px 16px;
}

.cms-pc-std__content :is(.cms-content-sum__list, .cms-content-clp__list, .cms-content-src__list, .cms-content-cpanel__list) {
  gap: 7px;
}

.cms-pc-std__content :is(.cms-content-scen__grid, .cms-content-af__list, .cms-content-info__grid, .cms-content-stat__grid, .cms-content-mc__grid, .cms-content-cg__grid, .cms-content-ds__grid, .cms-content-pp__grid) {
  gap: 10px;
}

.cms-pc-std__content :is(.cms-content-scen__card, .cms-content-af__item, .cms-content-info__card, .cms-content-stat__card, .cms-content-mc__card, .cms-content-cg__card, .cms-content-ds__card, .cms-content-pp__card) {
  padding: 13px 14px;
}

.cms-pc-std__content :is(.cms-content-sum__eyebrow, .cms-content-faq__eyebrow, .cms-content-clp__eyebrow, .cms-content-scen__eyebrow, .cms-content-src__eyebrow, .cms-content-af__eyebrow, .cms-content-info__eyebrow, .cms-content-cpanel__eyebrow, .cms-content-stat__eyebrow, .cms-content-mc__eyebrow, .cms-content-cg__eyebrow, .cms-content-ds__eyebrow, .cms-content-pp__eyebrow) {
  margin-bottom: 8px;
  font-size: 10px;
  line-height: 1.2;
}

.cms-pc-std__content :is(.cms-content-clp__title, .cms-content-scen__title, .cms-content-src__title, .cms-content-af__title, .cms-content-info__title, .cms-content-cpanel__title, .cms-content-stat__title, .cms-content-mc__title, .cms-content-cg__title, .cms-content-ds__title, .cms-content-pp__title) {
  font-size: clamp(18px, 2.25vw, 24px);
  line-height: 1.16;
}

.cms-pc-std__content :is(.cms-content-clp__intro, .cms-content-scen__intro, .cms-content-src__intro, .cms-content-af__intro, .cms-content-info__intro, .cms-content-cpanel__intro, .cms-content-stat__intro, .cms-content-mc__intro, .cms-content-cg__intro, .cms-content-pp__intro) {
  margin-top: 8px;
  font-size: 13.5px;
  line-height: 1.55;
}

.cms-pc-std__content :is(.cms-content-sum__item, .cms-content-clp__item, .cms-content-src__item, .cms-content-faq__answer-inner, .cms-content-scen__context, .cms-content-scen__line, .cms-content-scen__warning, .cms-content-af__note, .cms-content-info__text, .cms-content-cpanel__note, .cms-content-cpanel__value, .cms-content-mc__v, .cms-content-cg__question, .cms-content-cg__impact, .cms-content-ds__text, .cms-content-pp__text) {
  font-size: 13.25px;
  line-height: 1.52;
}

.cms-pc-std__content :is(.cms-content-faq__trigger) {
  padding: 11px 0;
}

.cms-pc-std__content :is(.cms-content-faq__question, .cms-content-scen__card-title, .cms-content-af__label, .cms-content-info__item-title, .cms-content-cpanel__label, .cms-content-mc__label, .cms-content-cg__label, .cms-content-ds__card-title, .cms-content-pp__label) {
  font-size: 15px;
  line-height: 1.3;
}

.cms-pc-std__content .cms-inline-accent {
  padding: 14px 16px;
}

.cms-pc-std__content .cms-inline-accent__content {
  font-size: 13.5px;
  line-height: 1.55;
}

.cms-pc-std__content .cms-content-table__table :is(th, td) {
  padding: 10px 13px;
  font-size: 13px;
}

@media (max-width: 768px) {
  .cms-pc-std__content :is(.cms-content-sum, .cms-content-faq, .cms-content-clp, .cms-content-scen, .cms-content-src, .cms-content-info, .cms-content-cpanel, .cms-content-stat) {
    padding: 15px;
  }
}

@media (max-width: 768px) {
  .cms-ti-dsplit__wrap,
  .cms-ti-std__wrap {
    flex-direction: column !important;
  }
  .cms-ti-dsplit__text,
  .cms-ti-dsplit__image-col,
  .cms-ti-std__text,
  .cms-ti-std__image-col {
    flex: 1 1 auto;
    width: 100%;
  }
  .cms-ti-dsplit__image-col {
    min-height: 250px;
  }
  .cms-ti-parallax__wrap {
    flex-direction: column-reverse !important;
    min-height: auto;
    border-radius: 0;
  }
  .cms-ti-parallax__text {
    flex: 1 1 auto;
    width: 100%;
    padding: clamp(28px, 4vw, 48px) 20px;
  }
  .cms-ti-parallax__image-col {
    flex: 1 1 auto;
    width: 100%;
    height: 300px;
    position: relative;
  }
  .cms-ti-parallax__image {
    background-attachment: scroll;
  }
  .cms-ti-covl__wrap {
    flex-direction: column;
    min-height: auto;
  }
  .cms-ti-covl__image-col {
    flex: 1 1 auto;
    width: 100%;
    order: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .cms-ti-covl__image-col .cms-img-deco {
    min-height: 260px;
  }
  .cms-ti-covl__card {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -40px auto 0;
  }
}

/* Hero Post */
.cms-hero-post-centered {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-post-centered-height, 100vh);
    padding: var(--cms-hero-post-centered-pad, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-post-centered__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    filter: saturate(0.85) brightness(0.95);
}

.cms-hero-post-centered__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 15, 10, 0.3) 0%, rgba(20, 15, 10, 0.55) 100%);
    z-index: 2;
}

.cms-hero-post-centered__content {
    position: relative;
    z-index: 3;
    max-width: 800px;
    width: 100%;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-post-centered--left .cms-hero-post-centered__content {
    max-width: min(var(--container, 1200px), calc(100% - 48px));
    text-align: left;
    align-items: flex-start;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__content {
    padding: 64px 24px 72px;
}

.cms-hero-post-centered__badge,
.cms-hero-post-min__badge,
.cms-hero-post-split__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px 0;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(212,175,55,0.18);
    border: 1px solid rgba(212,175,55,0.35);
    color: #fff;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cms-hero-post-centered__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 20px 0;
    letter-spacing: -0.01em;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__title {
    max-width: 760px;
    font-size: clamp(34px, 5.2vw, 58px);
    line-height: 1.06;
}

.cms-hero-post-centered__subtitle {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.7;
    color: rgba(255,255,255,0.75);
    margin: 0 0 24px 0;
    max-width: 580px;
    font-weight: 400;
}

.cms-hero-post-centered--editorial .cms-hero-post-centered__subtitle {
    max-width: 640px;
    font-size: clamp(14px, 1.45vw, 17px);
    line-height: 1.74;
    color: rgba(255,255,255,0.78);
}

.cms-hero-post-centered__meta,
.cms-hero-post-min__meta,
.cms-hero-post-split__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,0.72);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cms-hero-post-centered__sep,
.cms-hero-post-min__sep,
.cms-hero-post-split__sep {
    opacity: .45;
}

.cms-hero-post-centered--left .cms-hero-post-centered__meta {
    justify-content: flex-start;
}

.cms-hero-post-centered__scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    opacity: .5;
    animation: heroPostCenteredBounce 2.5s ease infinite;
}

@keyframes heroPostCenteredBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-8px); }
    60% { transform: translateX(-50%) translateY(-4px); }
}

.cms-hero-post-min {
    width: 100%;
    background: var(--cms-hero-post-min-bg, var(--color-bg));
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cms-hero-post-min__inner {
    max-width: var(--container, 1200px);
    width: 100%;
    padding: clamp(40px, 5vw, 72px) 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-post-min__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--cms-hero-post-min-text, var(--color-text));
    margin: 0 0 20px 0;
    max-width: 800px;
}

.cms-hero-post-min__meta {
    color: var(--cms-hero-post-min-muted, var(--color-text-muted));
    padding-bottom: 24px;
    border-bottom: 1px solid var(--cms-hero-post-min-border, var(--color-border));
}

.cms-hero-post-min__author,
.cms-hero-post-split__author {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cms-hero-post-min__avatar,
.cms-hero-post-split__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-hero-post-split {
    width: 100%;
    background: var(--cms-hero-post-split-bg, var(--color-bg));
    overflow: hidden;
    position: relative;
    min-height: var(--cms-hero-post-split-height, auto);
}

.cms-hero-post-split__grid {
    display: flex;
    align-items: center;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    min-height: inherit;
}

.cms-hero-post-split__text {
    flex: 1 1 50%;
    min-width: 0;
    padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cms-hero-post-split__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    color: var(--cms-hero-post-split-text, var(--color-text));
    margin: 0 0 20px 0;
}

.cms-hero-post-split__meta {
    justify-content: flex-start;
    color: var(--cms-hero-post-split-muted, var(--color-text-muted));
}

.cms-hero-post-split__image {
    flex: 1 1 50%;
    min-width: 0;
    overflow: hidden;
}

.cms-hero-post-split__img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    display: block;
    object-fit: cover;
    border-radius: var(--radius-lg, 12px) 0 0 var(--radius-lg, 12px);
}

@media (max-width: 768px) {
    .cms-hero-post-split__grid {
        flex-direction: column !important;
    }
    .cms-hero-post-split__text {
        flex: 1 1 auto !important;
        width: 100% !important;
        padding: 40px 24px !important;
        order: 2;
        text-align: center;
    }
    .cms-hero-post-split__image {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-height: 300px;
        order: 1;
    }
    .cms-hero-post-split__meta {
        justify-content: center;
    }
}

/* Hero Advanced */
.cms-hero-cwm {
    width: 100%;
    position: relative;
    z-index: 2;
    overflow: visible;
    background: var(--cms-hero-cwm-bg, var(--color-dark-bg));
    min-height: var(--cms-hero-cwm-height, 80vh);
    padding: var(--cms-hero-cwm-pad, 0);
    display: flex;
    align-items: center;
    margin-bottom: var(--cms-hero-cwm-overflow-margin, 0);
}

.cms-hero-cwm__overlay {
    position: absolute;
    inset: 0;
    background: var(--cms-hero-cwm-overlay, transparent);
    z-index: 1;
}

.cms-hero-cwm__shell {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    margin: 0 auto;
    padding: 40px 24px;
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cms-hero-cwm__text {
    flex: 1 1 100%;
    min-width: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-cwm__text--split {
    flex-basis: 55%;
    text-align: left;
    align-items: flex-start;
}

.cms-hero-cwm__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.08;
    color: var(--cms-hero-cwm-text, #fff);
    margin: 0 0 20px 0;
    max-width: 800px;
}

.cms-hero-cwm__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 20px);
    line-height: 1.7;
    color: var(--cms-hero-cwm-muted, rgba(255,255,255,0.7));
    margin: 0 0 36px 0;
    max-width: 640px;
}

.cms-hero-cwm__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-cwm__text--split .cms-hero-cwm__actions {
    justify-content: flex-start;
}

.cms-hero-cwm__media {
    flex: 1 1 42%;
    min-width: 0;
    position: relative;
    z-index: 4;
    align-self: center;
}

.cms-hero-cwm__media-inner {
    transition: transform .4s ease, box-shadow .4s ease;
}

.cms-hero-cwm__media-inner:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.cms-hero-cwm__image {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.cms-hero-post-overlay {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-post-overlay-height, clamp(350px,45vh,500px));
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--color-dark-bg, #111);
}

.cms-hero-post-overlay__bg {
    position: absolute;
    inset: -6% 0;
    z-index: 1;
}

.cms-hero-post-overlay__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.1) 70%, transparent 100%);
    z-index: 2;
}

.cms-hero-post-overlay__inner {
    position: relative;
    z-index: 3;
    max-width: var(--container, 1200px);
    width: 100%;
    margin: 0 auto;
}

.cms-hero-post-overlay__content {
    max-width: 700px;
    padding: 32px 40px 48px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cms-hero-post-overlay__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-full,20px);
    background: var(--color-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 16px;
}

.cms-hero-post-overlay__title {
    font-family: var(--font-heading);
    font-size: clamp(26px, 3.8vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 16px 0;
}

.cms-hero-post-overlay__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,0.8);
}

.cms-hero-post-overlay__sep { opacity: .5; }

.cms-hero-post-overlay__author {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cms-hero-post-overlay__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-hero-oc {
    position: relative;
    width: 100%;
    overflow: visible;
    margin-bottom: var(--cms-hero-oc-margin, 0);
    z-index: 2;
}

.cms-hero-oc__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 140px;
    background: var(--cms-hero-oc-bg, var(--color-dark-bg));
    z-index: 0;
}

.cms-hero-oc:not(.cms-hero-oc--overflow) .cms-hero-oc__bg {
    bottom: 0;
}

.cms-hero-oc__bg-image,
.cms-hero-oc__bg-overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-oc__bg-image {
}

.cms-hero-oc__bg-overlay {
    background: var(--cms-hero-oc-overlay, transparent);
}

.cms-hero-oc__inner {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(80px, 12vw, 160px) 24px 0;
    text-align: center;
}

.cms-hero-oc__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--cms-hero-oc-text, #fff);
    margin: 0 auto 16px;
    max-width: 900px;
}

.cms-hero-oc__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: var(--cms-hero-oc-muted, rgba(255,255,255,0.7));
    margin: 0 auto 32px;
    max-width: 700px;
}

.cms-hero-oc__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: clamp(40px, 6vw, 60px);
}

.cms-hero-oc__cards {
    display: grid;
    grid-template-columns: repeat(var(--cms-hero-oc-cols, 3), 1fr);
    gap: clamp(12px, 2vw, 24px);
    padding-bottom: 40px;
}

.cms-hero-oc__card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    background: var(--color-bg);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cms-hero-oc__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.cms-hero-oc__card-image {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}

.cms-hero-oc__card-title {
    padding: 16px 20px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
}

@media (max-width: 900px) {
    .cms-hero-oc__cards {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .cms-hero-cwm {
        margin-bottom: 0 !important;
        min-height: auto !important;
    }
    .cms-hero-cwm__shell {
        flex-direction: column !important;
    }
    .cms-hero-cwm__text,
    .cms-hero-cwm__text--split {
        text-align: center !important;
        align-items: center !important;
        flex: 1 1 100% !important;
    }
    .cms-hero-cwm__media {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }
    .cms-hero-post-overlay__content {
        max-width: 100% !important;
        padding: 24px 20px 32px !important;
    }
}

@media (max-width: 560px) {
    .cms-hero-oc__cards {
        grid-template-columns: 1fr !important;
    }
}

/* Hero Core */
.cms-hero-centered {
    position: relative;
    width: 100%;
    min-height: var(--cms-hero-centered-height, 100vh);
    padding: var(--cms-hero-centered-pad, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--cms-hero-centered-bg, var(--color-dark-bg));
}

.cms-hero-centered__bg {
    position: absolute;
    inset: -6% 0;
    z-index: 1;
}

.cms-hero-centered__overlay {
    position: absolute;
    inset: 0;
    background: var(--cms-hero-centered-overlay, transparent);
    z-index: 2;
}

.cms-hero-centered__content {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    padding: 40px 24px;
    text-align: var(--cms-hero-centered-align, center);
    display: flex;
    flex-direction: column;
    align-items: var(--cms-hero-centered-items, center);
}

.cms-hero-centered__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--cms-hero-centered-text, #fff);
    margin: 0 0 20px 0;
    max-width: 900px;
}

.cms-hero-centered__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: var(--cms-hero-centered-subtitle, rgba(255,255,255,0.8));
    margin: 0 0 36px 0;
    max-width: 700px;
}

.cms-hero-centered__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-centered--align-left .cms-hero-centered__actions {
    justify-content: flex-start;
}

.cms-hero-centered__scroll,
.cms-hero-fc__scroll {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    animation: heroBounce 2s ease infinite;
}

@keyframes heroBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-10px); }
    60% { transform: translateX(-50%) translateY(-5px); }
}

.cms-hero-fc {
    min-height: var(--cms-hero-fc-height, 100vh);
    padding: var(--cms-hero-fc-pad, 0);
}

.cms-hero-fc__bg { overflow: hidden; }

.cms-hero-scb {
    width: 100%;
    background: var(--cms-hero-scb-section, var(--color-bg));
    overflow: hidden;
    position: relative;
}

.cms-hero-scb__shell {
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(40px, 6vw, 80px) 24px;
    display: flex;
    align-items: stretch;
    gap: clamp(20px, 3vw, 32px);
}

.cms-hero-scb__block {
    flex: 1 1 52%;
    min-width: 0;
    background: var(--cms-hero-scb-block, var(--color-accent));
    border-radius: var(--radius-lg);
    padding: clamp(32px, 4vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

.cms-hero-scb__badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cms-hero-scb__badge-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(255,255,255,0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    letter-spacing: .3px;
}

.cms-hero-scb__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 700;
    line-height: 1.08;
    color: #fff;
    margin: 0;
    letter-spacing: -0.02em;
}

.cms-hero-scb__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    color: rgba(255,255,255,0.8);
    margin: 0;
    max-width: 520px;
}

.cms-hero-scb__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.cms-hero-scb__media {
    flex: 1 1 44%;
    min-width: 0;
    display: flex;
    align-items: stretch;
}

.cms-hero-scb__video-wrap {
    width: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-border);
    position: relative;
}

.cms-hero-scb__video,
.cms-hero-scb__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cms-hero-scb__image {
    min-height: 400px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

@media (max-width: 768px) {
    .cms-hero-scb__shell {
        flex-direction: column !important;
    }
}

/* Hero Split Variants */
.cms-hero-sov {
    width: 100%;
    background: var(--cms-hero-sov-bg, var(--color-dark-bg));
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-bottom: var(--cms-hero-sov-margin, 0);
}

.cms-hero-sov__shell,
.cms-hero-sp__shell {
    max-width: var(--container);
    margin: 0 auto;
    padding: clamp(60px, 10vw, 120px) 24px clamp(60px, 8vw, 100px);
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cms-hero-sov__text,
.cms-hero-sp__text {
    flex: 1 1 55%;
    min-width: 0;
}

.cms-hero-sov__stats,
.cms-hero-sp__stats {
    display: flex;
    gap: clamp(16px, 3vw, 32px);
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.cms-hero-sov__stat,
.cms-hero-sp__stat {
    font-family: var(--font-body);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cms-hero-sov__stat-value,
.cms-hero-sp__stat-value {
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 800;
    color: var(--color-accent);
    line-height: 1.1;
}

.cms-hero-sov__stat-label,
.cms-hero-sp__stat-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--cms-hero-sov-muted, var(--color-text-muted));
}

.cms-hero-sp__stat-label { color: var(--cms-hero-sp-muted, var(--color-text-muted)); }

.cms-hero-sov__title,
.cms-hero-sp__title {
    font-family: var(--font-heading);
    font-size: clamp(32px, 5.5vw, 64px);
    font-weight: 800;
    line-height: 1.08;
    margin: 0 0 20px 0;
}

.cms-hero-sov__title { color: var(--cms-hero-sov-text, var(--color-text)); }

.cms-hero-sp__title { color: var(--cms-hero-sp-text, var(--color-text)); }

.cms-hero-sov__subtitle,
.cms-hero-sp__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.7;
    margin: 0 0 36px 0;
    max-width: 520px;
}

.cms-hero-sov__subtitle { color: var(--cms-hero-sov-muted, var(--color-text-muted)); }

.cms-hero-sp__subtitle { color: var(--cms-hero-sp-muted, var(--color-text-muted)); }

.cms-hero-sov__actions,
.cms-hero-sp__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cms-hero-sov__media,
.cms-hero-sp__image {
    flex: 1 1 42%;
    min-width: 0;
    position: relative;
    z-index: 3;
}

.cms-hero-sov__media-inner {
    transition: transform .4s ease;
}

.cms-hero-sov__image {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 4/3;
    max-height: 540px;
}

.cms-hero-sp {
    width: 100%;
    background: var(--cms-hero-sp-bg, var(--color-dark-bg));
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-bottom: var(--cms-hero-sp-margin, 0);
}

.cms-hero-sp__image {
    display: flex;
    justify-content: center;
    margin-bottom: var(--cms-hero-sp-image-margin, 0);
}

.cms-hero-sp__image-inner {
    position: relative;
    width: 100%;
    max-width: 520px;
}

.cms-hero-sp__img {
    width: 100%;
    display: block;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 3 / 4;
}

@media (max-width: 768px) {
    .cms-hero-sov__shell,
    .cms-hero-sp__shell {
        flex-direction: column-reverse !important;
    }
    .cms-hero-sov,
    .cms-hero-sp {
        margin-bottom: 0 !important;
    }
    .cms-hero-sp__image {
        min-width: 100% !important;
        flex: 1 1 100% !important;
        margin-bottom: 0 !important;
    }
    .cms-hero-sp__image-inner {
        max-width: 320px !important;
    }
    .cms-hero-sp__img {
        aspect-ratio: 3 / 4 !important;
        max-height: 400px !important;
    }
}

/* Hero Author / Glow */
.cms-hero-author {
    background: var(--cms-hero-author-bg, var(--color-bg));
    padding: clamp(72px,9vw,116px) 24px;
}

.cms-hero-author__wrap {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(110px, 156px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 56px);
}

.cms-hero-author--reversed .cms-hero-author__wrap { direction: rtl; }

.cms-hero-author__avatar,
.cms-hero-author__text { direction: ltr; }

.cms-hero-author__avatar img {
    width: clamp(104px, 12vw, 148px);
    height: clamp(104px, 12vw, 148px);
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 3px solid var(--cms-hero-author-ring, var(--color-border));
    outline: 3px solid var(--cms-hero-author-accent-ring, var(--color-accent));
    outline-offset: 3px;
}

.cms-hero-author__text { min-width: 0; max-width: 900px; }

.cms-hero-author__kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--cms-hero-author-kicker, var(--color-text-muted));
    margin: 0 0 18px;
}

.cms-hero-author__kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
    opacity: .75;
}

.cms-hero-author__name {
    font-family: var(--font-heading);
    font-size: clamp(34px, 4.8vw, 58px);
    font-weight: 800;
    line-height: 1.04;
    color: var(--cms-hero-author-text, var(--color-text));
    margin: 0 0 14px;
    text-wrap: balance;
}

.cms-hero-author__role {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--cms-hero-author-muted, var(--color-text-muted));
    margin: 0 0 14px;
}

.cms-hero-author__bio {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.82;
    color: var(--cms-hero-author-muted, var(--color-text-muted));
    margin: 0;
    max-width: 840px;
    text-wrap: pretty;
}

.cms-hero-glow {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-glow__bg {
    position: absolute;
    inset: 0;
    opacity: .08;
}

.cms-hero-glow__orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    width: clamp(300px, 50vw, 600px);
    height: clamp(300px, 50vw, 600px);
    background: var(--color-accent);
    border-radius: var(--radius-full);
    filter: blur(clamp(80px, 12vw, 160px));
    opacity: .25;
    pointer-events: none;
    animation: heroGlowPulse 4s ease-in-out infinite alternate;
}

.cms-hero-glow__orb--secondary {
    transform: translate(-45%, -50%);
    width: clamp(200px, 30vw, 400px);
    height: clamp(200px, 30vw, 400px);
    filter: blur(clamp(60px, 10vw, 120px));
    opacity: .15;
    animation-delay: 1s;
}

.cms-hero-glow__content {
    position: relative;
    z-index: 2;
    max-width: var(--container);
    width: 100%;
    padding: 60px 24px;
    text-align: var(--cms-hero-glow-align, center);
    display: flex;
    flex-direction: column;
    align-items: var(--cms-hero-glow-items, center);
}

.cms-hero-glow__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 600;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 24px 0;
    max-width: 900px;
    letter-spacing: -0.02em;
}

.cms-hero-glow__highlight {
    font-family: var(--font-accent);
    color: var(--color-accent);
    font-weight: 700;
    font-size: 1.15em;
    position: relative;
    display: inline;
    text-shadow: 0 0 40px var(--color-accent), 0 0 80px var(--color-accent);
}

.cms-hero-glow__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.7;
    color: rgba(255,255,255,0.7);
    margin: 0 0 40px 0;
    max-width: 650px;
}

.cms-hero-glow__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-glow--align-left .cms-hero-glow__actions { justify-content: flex-start; }

@keyframes heroGlowPulse {
    0% { opacity: .2; transform: translate(-50%, -55%) scale(1); }
    100% { opacity: .35; transform: translate(-50%, -55%) scale(1.08); }
}

@media (max-width: 640px) {
    .cms-hero-author__wrap {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        direction: ltr;
    }
    .cms-hero-author__text,
    .cms-hero-author__bio { max-width: 100%; }
    .cms-hero-author__kicker { justify-content: center; }
    .cms-hero-author__kicker::before { display: none; }
}

/* Hero no-inline modifiers */
.cms-hero-min__bg-img,
.cms-hero-post-centered__bg-img,
.cms-hero-post-overlay__bg-img,
.cms-hero-oc__bg-img,
.cms-hero-centered__bg-img,
.cms-hero-fc__bg-img,
.cms-hero-glow__bg-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cms-hero-min {
    --cms-hero-min-bg: var(--color-bg);
    --cms-hero-min-text: var(--color-text);
    --cms-hero-min-muted: var(--color-text-muted);
    min-height: auto;
    padding: 80px 24px;
}

.cms-hero-min--bg-dark,
.cms-hero-min--bg-image,
.cms-hero-min--bg-accent,
.cms-hero-min--with-image {
    --cms-hero-min-text: #fff;
    --cms-hero-min-muted: rgba(255,255,255,0.78);
}

.cms-hero-min--bg-dark,
.cms-hero-min--bg-image { --cms-hero-min-bg: var(--color-dark-bg); }

.cms-hero-min--bg-accent { --cms-hero-min-bg: var(--color-accent); }

.cms-hero-min--with-image { padding: 0; }

.cms-hero-min--height-full { min-height: 100vh; }

.cms-hero-min--height-large { min-height: 80vh; }

.cms-hero-min--height-medium { min-height: 60vh; }

.cms-hero-min--height-small { min-height: clamp(280px,35vh,360px); }

.cms-hero-min--height-auto.cms-hero-min--with-image { min-height: clamp(360px,48vh,560px); }

.cms-hero-min--align-left .cms-hero-min__content { text-align: left; align-items: flex-start; }

.cms-hero-min--with-image .cms-hero-min__content { padding: clamp(56px, 8vw, 104px) 24px; }

.cms-hero-centered {
    --cms-hero-centered-bg: var(--color-dark-bg);
    --cms-hero-centered-text: #fff;
    --cms-hero-centered-subtitle: rgba(255,255,255,0.8);
    --cms-hero-centered-overlay: transparent;
    min-height: 100vh;
    padding: 0;
}

.cms-hero-centered--bg-light { --cms-hero-centered-bg: var(--color-bg); --cms-hero-centered-text: var(--color-text); --cms-hero-centered-subtitle: var(--color-text-muted); }

.cms-hero-centered--bg-accent { --cms-hero-centered-bg: var(--color-accent); }

.cms-hero-centered--height-large { min-height: 80vh; }

.cms-hero-centered--height-medium { min-height: 60vh; }

.cms-hero-centered--height-auto { min-height: auto; padding: 120px 0; }

.cms-hero-centered--overlay-gradient { --cms-hero-centered-text: #fff; --cms-hero-centered-subtitle: rgba(255,255,255,0.8); --cms-hero-centered-overlay: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); }

.cms-hero-centered--overlay-dark { --cms-hero-centered-text: #fff; --cms-hero-centered-subtitle: rgba(255,255,255,0.8); --cms-hero-centered-overlay: rgba(0,0,0,0.55); }

.cms-hero-centered--overlay-light { --cms-hero-centered-text: var(--color-text); --cms-hero-centered-subtitle: var(--color-text-muted); --cms-hero-centered-overlay: rgba(255,255,255,0.4); }

.cms-hero-centered--align-left .cms-hero-centered__content { text-align: left; align-items: flex-start; }

.cms-hero-fc { min-height: 100vh; padding: 0; }

.cms-hero-fc--height-large { min-height: 85vh; }

.cms-hero-fc--height-medium { min-height: 70vh; }

.cms-hero-fc--height-auto { min-height: auto; padding: 140px 0; }

.cms-hero-post-centered { min-height: 100vh; padding: 0; }

.cms-hero-post-centered--height-large { min-height: 85vh; }

.cms-hero-post-centered--height-medium { min-height: 70vh; }

.cms-hero-post-centered--height-small { min-height: 60vh; }

.cms-hero-post-centered--height-auto { min-height: auto; padding: 140px 0; }

.cms-hero-post-overlay { min-height: clamp(350px,45vh,500px); }

.cms-hero-post-overlay--height-full { min-height: 100vh; }

.cms-hero-post-overlay--height-large { min-height: 80vh; }

.cms-hero-post-overlay--height-medium { min-height: 60vh; }

.cms-hero-post-overlay--height-small { min-height: clamp(280px,35vh,360px); }

.cms-hero-oc { margin-bottom: 0; }

.cms-hero-oc--overflow { margin-bottom: -100px; }

.cms-hero-oc__bg { background: var(--color-dark-bg); }

.cms-hero-oc--overlay-gradient .cms-hero-oc__bg-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.65) 100%); }

.cms-hero-oc--overlay-dark .cms-hero-oc__bg-overlay { background: rgba(0,0,0,0.55); }

.cms-hero-oc--overlay-light .cms-hero-oc__bg-overlay { background: rgba(255,255,255,0.4); }

.cms-hero-oc__cards { grid-template-columns: repeat(3, 1fr); }

.cms-hero-oc--cols-1 .cms-hero-oc__cards { grid-template-columns: 1fr; }

.cms-hero-oc--cols-2 .cms-hero-oc__cards { grid-template-columns: repeat(2, 1fr); }

.cms-hero-oc--cols-4 .cms-hero-oc__cards { grid-template-columns: repeat(4, 1fr); }

.cms-hero-lt,
.cms-hero-split {
    --cms-hero-lt-bg: var(--color-bg);
    --cms-hero-lt-text: var(--color-text);
    --cms-hero-lt-muted: var(--color-text-muted);
    --cms-hero-split-bg: var(--color-bg);
    --cms-hero-split-text: var(--color-text);
    --cms-hero-split-muted: var(--color-text-muted);
}

.cms-hero-lt--bg-dark,
.cms-hero-split--bg-dark {
    --cms-hero-lt-bg: var(--color-dark-bg);
    --cms-hero-lt-text: #fff;
    --cms-hero-lt-muted: rgba(255,255,255,0.6);
    --cms-hero-split-bg: var(--color-dark-bg);
    --cms-hero-split-text: #fff;
    --cms-hero-split-muted: rgba(255,255,255,0.7);
}

.cms-hero-lt--bg-accent,
.cms-hero-split--bg-accent {
    --cms-hero-lt-bg: var(--color-accent);
    --cms-hero-lt-text: #fff;
    --cms-hero-lt-muted: rgba(255,255,255,0.6);
    --cms-hero-split-bg: var(--color-accent);
    --cms-hero-split-text: #fff;
    --cms-hero-split-muted: rgba(255,255,255,0.7);
}

.cms-hero-lt--height-full,
.cms-hero-split--height-full { min-height: 100vh; }

.cms-hero-lt--height-large,
.cms-hero-split--height-large { min-height: 80vh; }

.cms-hero-lt--height-medium,
.cms-hero-split--height-medium { min-height: 60vh; }

.cms-hero-scb { background: var(--color-bg); }

.cms-hero-scb--bg-dark { background: var(--color-dark-bg); }

.cms-hero-scb__block { background: var(--color-accent); }

.cms-hero-sov { --cms-hero-sov-bg: var(--color-dark-bg); --cms-hero-sov-text: var(--color-dark-text); --cms-hero-sov-muted: var(--color-dark-text-muted); margin-bottom: 0; }

.cms-hero-sov--bg-light { --cms-hero-sov-bg: var(--color-bg); --cms-hero-sov-text: var(--color-text); --cms-hero-sov-muted: var(--color-text-muted); }

.cms-hero-sov--bg-accent { --cms-hero-sov-bg: var(--color-accent); --cms-hero-sov-text: #fff; --cms-hero-sov-muted: rgba(255,255,255,0.8); }

.cms-hero-sov--overflow { margin-bottom: -80px; }

.cms-hero-sp { --cms-hero-sp-bg: var(--color-dark-bg); --cms-hero-sp-text: var(--color-dark-text); --cms-hero-sp-muted: var(--color-dark-text-muted); margin-bottom: 0; }

.cms-hero-sp--bg-light { --cms-hero-sp-bg: var(--color-bg); --cms-hero-sp-text: var(--color-text); --cms-hero-sp-muted: var(--color-text-muted); }

.cms-hero-sp--bg-accent { --cms-hero-sp-bg: var(--color-accent); --cms-hero-sp-text: #fff; --cms-hero-sp-muted: rgba(255,255,255,0.8); }

.cms-hero-sp--overflow { margin-bottom: -90px; }

.cms-hero-sp--overflow .cms-hero-sp__image { margin-bottom: -120px; }

.cms-hero-author {
    --cms-hero-author-bg: var(--color-bg);
    --cms-hero-author-text: var(--color-text);
    --cms-hero-author-muted: var(--color-text-muted);
    --cms-hero-author-kicker: var(--color-text-muted);
    --cms-hero-author-ring: var(--color-border);
    --cms-hero-author-accent-ring: var(--color-accent);
}

.cms-hero-author--bg-dark,
.cms-hero-author--bg-accent {
    --cms-hero-author-text: var(--color-dark-text, #fff);
    --cms-hero-author-muted: rgba(255,255,255,0.76);
    --cms-hero-author-kicker: rgba(255,255,255,0.70);
    --cms-hero-author-ring: rgba(255,255,255,0.15);
}

.cms-hero-author--bg-dark { --cms-hero-author-bg: var(--color-dark-bg, #1C1917); }

.cms-hero-author--bg-accent { --cms-hero-author-bg: var(--color-accent); }

.cms-hero-author--bg-alt { --cms-hero-author-bg: var(--color-bg-alt, #f9fafb); }

.cms-hero-author--bg-transparent { --cms-hero-author-bg: transparent; }

.cms-hero-glow--align-left .cms-hero-glow__content { text-align: left; align-items: flex-start; }

.cms-hero-sg-track {
    --cms-hero-sg-bg: var(--color-bg);
    --cms-hero-sg-text: var(--color-text);
    --cms-hero-sg-muted: var(--color-text-muted);
}

.cms-hero-sg-track--bg-dark,
.cms-hero-sg-track--bg-accent {
    --cms-hero-sg-text: #fff;
    --cms-hero-sg-muted: rgba(255,255,255,0.6);
}

.cms-hero-sg-track--bg-dark { --cms-hero-sg-bg: var(--color-dark-bg); }

.cms-hero-sg-track--bg-accent { --cms-hero-sg-bg: var(--color-accent); }

/* Hero Scroll Grow */
.cms-hero-sg-track {
    position: relative;
    height: 250vh;
    background: var(--cms-hero-sg-bg, var(--color-bg));
}

.cms-hero-sg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: var(--cms-hero-sg-bg, var(--color-bg));
}

.cms-hero-sg__container {
    position: relative;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    height: 100%;
    display: flex;
    align-items: center;
}

.cms-hero-sg__text {
    width: 48%;
    max-width: 48%;
    position: relative;
    z-index: 1;
}

.cms-hero-sg__title {
    font-family: var(--font-heading);
    font-size: clamp(32px,5vw,60px);
    font-weight: 600;
    line-height: 1.12;
    color: var(--cms-hero-sg-text, var(--color-text));
    margin: 0 0 20px;
}

.cms-hero-sg__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px,1.8vw,19px);
    line-height: 1.7;
    color: var(--cms-hero-sg-muted, var(--color-text-muted));
    margin: 0 0 32px;
    max-width: 500px;
}

.cms-hero-sg__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cms-hero-sg__img-wrap {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 42%;
    height: 70vh;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    z-index: 2;
    will-change: width,left,height,border-radius;
}

.cms-hero-sg__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

@media (max-width: 768px) {
    .cms-hero-sg-track { height: auto !important; }
    .cms-hero-sg { position: relative !important; height: auto !important; padding: 60px 0 !important; }
    .cms-hero-sg__container { flex-direction: column !important; }
    .cms-hero-sg__text { width: 100% !important; max-width: 100% !important; margin-bottom: 30px; }
    .cms-hero-sg__img-wrap {
        position: relative !important;
        width: 100% !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        height: 300px !important;
    }
}

/* Helpers Cards */
.cms-generic-card,.cms-post-card{text-decoration:none}

.cms-generic-card{display:flex;flex-direction:column;overflow:hidden;border:var(--cms-gc-border);border-radius:var(--cms-gc-radius);background:var(--cms-gc-bg);transition:transform .3s ease,box-shadow .3s ease}

.cms-generic-card:hover{transform:translateY(-4px)}

.cms-generic-card:hover .cms-generic-card__media{transform:scale(1.05)}

.cms-generic-card:hover .cms-generic-card__title{color:var(--color-accent)}

.cms-generic-card--horizontal{flex-direction:row}

.cms-generic-card--minimal{display:block;padding:16px 0;border:none;border-bottom:1px solid var(--cms-gc-border-color);border-radius:0;background:transparent;transition:background .2s ease}

.cms-generic-card--overlay{position:relative;display:block;aspect-ratio:4/5;border:none;border-radius:var(--radius-lg);background:var(--cms-gc-overlay-bg,transparent)}

.cms-generic-card__frame{overflow:hidden;aspect-ratio:16/9}

.cms-generic-card__split-media{width:35%;flex-shrink:0;overflow:hidden}

.cms-generic-card__thumb{flex-shrink:0;overflow:hidden;width:80px;height:80px;border-radius:var(--radius-md,8px)}

.cms-generic-card__media{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}

.cms-generic-card__media--fill{position:absolute;inset:0}

.cms-generic-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}

.cms-generic-card__content{display:flex;flex:1;flex-direction:column;gap:8px;padding:clamp(16px,2vw,24px)}

.cms-generic-card__content--horizontal{justify-content:center}

.cms-generic-card__content--overlay{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:clamp(16px,2.5vw,28px)}

.cms-generic-card__label{font:600 12px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent)}

.cms-generic-card__pill{display:inline-block;width:fit-content;margin-bottom:8px;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font:600 11px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase}

.cms-generic-card__title{margin:0;font:600 clamp(15px,1.4vw,19px)/1.22 var(--font-heading);color:var(--cms-gc-text)}

.cms-generic-card__title--minimal{font-size:15px;line-height:1.3}

.cms-generic-card__title--overlay{color:#fff;font-size:clamp(15px,1.85vw,20px)}

.cms-generic-card__desc{margin:0;font:400 14px/1.6 var(--font-body);color:var(--cms-gc-muted)}

.cms-generic-card__desc--overlay{font-size:13px;line-height:1.5;color:rgba(255,255,255,.75)}

.cms-generic-card__desc--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}

.cms-generic-card__desc--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cms-generic-card__minimal-row{display:flex;align-items:center;justify-content:space-between;gap:12px}

.cms-generic-card__minimal-copy{flex:1;min-width:0}

.cms-generic-card__count{flex-shrink:0;padding:4px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent);font:600 13px/1.3 var(--font-body)}

.cms-generic-card__footer-count{margin-top:auto;padding-top:12px;border-top:1px solid var(--cms-gc-border-color);color:var(--color-accent);font:600 13px/1.3 var(--font-body)}

@media (max-width:600px){.cms-generic-card--horizontal{flex-direction:column}.cms-generic-card--horizontal .cms-generic-card__split-media{width:100%;aspect-ratio:16/9}}

.cms-post-card{display:flex;flex-direction:column;overflow:hidden;border:var(--cms-pc-border);border-radius:var(--cms-pc-radius);background:var(--cms-pc-bg);transition:transform .3s ease,box-shadow .3s ease}

.cms-post-card:hover{transform:translateY(-4px)}

.cms-post-card:hover .cms-post-card__media{transform:scale(1.05)}

.cms-post-card:hover .cms-post-card__title-link{color:var(--color-accent)}

.cms-post-card--flat{box-shadow:none}

.cms-post-card--featured{display:grid;grid-template-columns:1fr 1fr}

.cms-post-card--horizontal{flex-direction:row}

.cms-post-card--minimal{display:flex;align-items:center;gap:16px;padding:16px 0;border:none;border-bottom:1px solid var(--cms-pc-border-color);border-radius:0;background:transparent}

.cms-post-card--overlay{position:relative;aspect-ratio:4/5;border:none;border-radius:var(--radius-lg);background:var(--cms-pc-overlay-bg,transparent)}

.cms-post-card__featured-media{display:block;overflow:hidden}

.cms-post-card__overlay-link{position:absolute;inset:0;display:block;text-decoration:none}

.cms-post-card__frame{display:block;overflow:hidden;aspect-ratio:3/2}

.cms-post-card__split-media{display:block;overflow:hidden;width:35%;flex-shrink:0}

.cms-post-card__thumb{display:block;flex-shrink:0;overflow:hidden;width:80px;height:80px;border-radius:var(--radius-md,8px)}

.cms-post-card__media{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}

.cms-post-card__media--fill{position:absolute;inset:0}

.cms-post-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}

.cms-post-card__content{display:flex;flex:1;flex-direction:column;gap:8px;padding:clamp(16px,2vw,24px)}

.cms-post-card__content--featured{justify-content:center;padding:clamp(24px,3vw,48px);gap:12px}

.cms-post-card__content--horizontal{justify-content:center}

.cms-post-card__content--overlay{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:clamp(16px,2.5vw,28px)}

.cms-post-card__debug-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(220,38,38,.08);color:#b91c1c;font:700 11px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase}

.cms-post-card__debug-badge--on-dark{margin-bottom:10px;background:rgba(248,113,113,.18);color:#fff}

.cms-post-card__debug-sub{font-weight:600;color:#991b1b;letter-spacing:0;text-transform:none}

.cms-post-card__debug-sub--on-dark{color:rgba(255,255,255,.82)}

.cms-post-card__cat{font:600 12px/1.3 var(--font-body);letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent)}

.cms-post-card__cat--badge,.cms-post-card__cat--pill{display:inline-block;width:fit-content;padding:4px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-post-card__cat--pill{margin-bottom:8px;background:var(--color-accent);color:#fff;font-size:11px}

.cms-post-card__title{margin:0;font:600 clamp(15px,1.4vw,19px)/1.22 var(--font-heading);color:var(--cms-pc-text)}

.cms-post-card__title--featured{font-size:clamp(19px,2.35vw,26px);line-height:1.2}

.cms-post-card__title--overlay{color:#fff;font-size:clamp(15px,1.85vw,20px)}

.cms-post-card__title--minimal{font-size:15px;line-height:1.3}

.cms-post-card__title-link{color:inherit;text-decoration:none;transition:color .2s ease}

.cms-post-card__title-link--inverse{color:#fff}

.cms-post-card__excerpt{margin:0;font:400 14px/1.6 var(--font-body);color:var(--cms-pc-muted)}

.cms-post-card__excerpt--featured{font-size:15px;line-height:1.6}

.cms-post-card__excerpt--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.cms-post-card__excerpt--ellipsis{flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}

.cms-post-card__meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--cms-pc-muted);font:400 12px/1.4 var(--font-body)}

.cms-post-card__meta--featured{margin-top:8px;font-size:13px}

.cms-post-card__meta--overlay{color:rgba(255,255,255,.75)}

.cms-post-card__meta--minimal{gap:12px;flex-wrap:wrap;font-size:13px}

.cms-post-card__meta--footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--cms-pc-border-color)}

.cms-post-card__avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}

.cms-post-card__avatar--lg{width:32px;height:32px}

.cms-post-card__author{font-weight:500}

.cms-post-card__author--strong{font-weight:600;color:var(--cms-pc-text)}

@media (max-width:700px){.cms-post-card--featured{grid-template-columns:1fr}.cms-post-card--featured .cms-post-card__featured-media img{min-height:200px;max-height:240px}}

@media (max-width:600px){.cms-post-card--horizontal{flex-direction:column}.cms-post-card--horizontal .cms-post-card__split-media{width:100%;aspect-ratio:16/9}}

/* Helpers Small */
.cms-btn-group{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;align-items:center}

.cms-btn-group--center{justify-content:center}

.cms-btn-group--end{justify-content:flex-end}

.cms-btn-group--between{justify-content:space-between}

.cms-parallax-wrap{position:relative;z-index:0}

.cms-parallax-wrap__sticky{position:sticky;top:0}

/* Carousel Helper */

.cms-carousel{position:relative;width:100%;max-width:var(--container,1200px);margin:0 auto;padding:0 76px 8px;box-sizing:border-box;overflow:visible}

.cms-carousel__viewport{overflow:hidden;margin:0;padding:6px 12px 10px;box-sizing:border-box}

.cms-carousel{--carousel-per-view:3;--carousel-gap:24px}

.cms-carousel--per-view-1{--carousel-per-view:1}

.cms-carousel--per-view-2{--carousel-per-view:2}

.cms-carousel--per-view-3{--carousel-per-view:3}

.cms-carousel--per-view-4{--carousel-per-view:4}

.cms-carousel--gap-sm{--carousel-gap:16px}

.cms-carousel--gap-md{--carousel-gap:24px}

.cms-carousel--gap-lg{--carousel-gap:32px}

.cms-carousel__track{display:flex;gap:var(--carousel-gap);transition:transform .5s cubic-bezier(.25,.1,.25,1);will-change:transform}

.cms-carousel__controls{position:static;display:block;--cms-carousel-arrow-bg:rgba(0,0,0,.06);--cms-carousel-arrow-hover-bg:rgba(0,0,0,.1);--cms-carousel-arrow-color:var(--color-text);--cms-carousel-dot-bg:color-mix(in srgb,var(--color-text-muted) 42%,transparent);--cms-carousel-dot-active-bg:var(--color-accent)}

.cms-carousel__controls--dark{--cms-carousel-arrow-bg:rgba(255,255,255,.15);--cms-carousel-arrow-hover-bg:rgba(255,255,255,.25);--cms-carousel-arrow-color:var(--color-dark-text);--cms-carousel-dot-bg:color-mix(in srgb,var(--color-dark-text) 26%,transparent);--cms-carousel-dot-active-bg:var(--color-dark-text)}

.cms-carousel__prev,.cms-carousel__next{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:var(--cms-carousel-arrow-bg);color:var(--cms-carousel-arrow-color);cursor:pointer;transition:background .2s ease,opacity .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:1;pointer-events:auto;transform:translateY(-50%)}

.cms-carousel__prev{left:20px}

.cms-carousel__next{right:14px}

.cms-carousel__dots{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:24px;padding:2px 0 4px}

.cms-carousel:hover .cms-carousel__prev,.cms-carousel:hover .cms-carousel__next{opacity:1;pointer-events:auto}

.cms-carousel__prev:hover,.cms-carousel__next:hover{background:var(--cms-carousel-arrow-hover-bg)}

.cms-carousel__prev[disabled],.cms-carousel__next[disabled]{opacity:.3;cursor:default;pointer-events:none}

.cms-carousel__dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;margin:0;padding:0;border:none;border-radius:999px;background:transparent;cursor:pointer;transition:transform .2s ease}

.cms-carousel__dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cms-carousel-dot-bg);transition:background .2s ease,transform .2s ease}

.cms-carousel__dot:hover::before,.cms-carousel__dot:focus-visible::before{transform:scale(1.2)}

.cms-carousel__dot:focus-visible{outline:2px solid color-mix(in srgb,var(--cms-carousel-dot-active-bg) 55%,var(--color-bg));outline-offset:2px}

.cms-carousel__dot--active::before{background:var(--cms-carousel-dot-active-bg) !important;transform:scale(1.2)}

@media (max-width:640px){.cms-carousel{padding:0 0 8px !important}.cms-carousel .cms-carousel__viewport{padding:6px 0 10px !important}.cms-carousel__controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.cms-carousel__dots{order:2;margin-top:0;padding:0}.cms-carousel__prev,.cms-carousel__next{position:static !important;display:inline-flex !important;flex:0 0 auto;width:42px;height:42px;opacity:1 !important;pointer-events:auto !important;transform:none !important}.cms-carousel__prev{order:1}.cms-carousel__next{order:3}}

@media (hover:none) and (pointer:coarse) and (min-width:641px){.cms-carousel__prev,.cms-carousel__next{display:none !important}}

/* Helpers Core */
.cms-label{margin:0;font:600 13px/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}

.cms-label--on-dark{color:rgba(255,255,255,.9)}

.cms-label--badge{display:inline-block;padding:4px 14px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-label--badge.cms-label--on-dark{background:rgba(255,255,255,.1)}

.cms-label--line-before,.cms-label--line-after,.cms-label--dot{display:flex;align-items:center;margin:0}

.cms-label--line-before{gap:10px}

.cms-label--line-after{gap:10px}

.cms-label--dot{gap:8px}

.cms-label__line{display:inline-block;width:24px;height:2px;background:currentColor}

.cms-label__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}

.cms-floating-badge{z-index:10;max-width:220px;padding:14px 18px;border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-lg)}

.cms-floating-badge__row{display:flex;align-items:center;gap:10px;margin-bottom:6px}

.cms-floating-badge__icon-chip{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-accent) 12%,transparent);font-size:16px}

.cms-floating-badge__value{font:700 24px/1 var(--font-heading);color:var(--color-text)}

.cms-floating-badge__value--accent{color:var(--color-accent)}

.cms-floating-badge__text{margin:0;color:var(--color-text-muted);font-family:var(--font-body)}

.cms-floating-badge__text--muted{font-size:12px;line-height:1.4}

.cms-floating-badge__text--small{margin-top:4px;font-size:11px;line-height:1.3}

.cms-floating-badge__text--tiny{font-size:10px;line-height:1.2}

.cms-floating-badge__stars{display:flex;align-items:center;gap:4px;margin-bottom:6px}

.cms-floating-badge__quote-mark{margin-bottom:6px;opacity:.3}

.cms-floating-badge__quote-text{margin:0 0 8px;font:italic 13px/1.5 var(--font-body);color:var(--color-text)}

.cms-floating-badge__author{font:600 11px/1.3 var(--font-body);color:var(--color-text-muted)}

.cms-floating-badge--label{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-full);box-shadow:var(--shadow)}

.cms-floating-badge__label-icon{font-size:16px}

.cms-floating-badge__label-text{white-space:nowrap;font:600 13px/1.3 var(--font-body);color:var(--color-text)}

.cms-floating-badge__check-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}

.cms-floating-badge__check-text{font:400 13px/1.3 var(--font-body);color:var(--color-text)}

.cms-floating-badge--users{display:flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;border-radius:var(--radius-full)}

.cms-floating-badge__avatars{display:flex}

.cms-floating-badge__avatar{width:28px;height:28px;margin-left:-8px;border:2px solid var(--color-bg);border-radius:50%;background:color-mix(in srgb,var(--color-accent) 20%,var(--color-bg-alt))}

.cms-floating-badge__avatar:first-child{margin-left:0}

.cms-floating-badge__avatar--2{background:color-mix(in srgb,var(--color-accent) 35%,var(--color-bg-alt))}

.cms-floating-badge__avatar--3{background:color-mix(in srgb,var(--color-accent) 50%,var(--color-bg-alt))}

.cms-floating-badge__count{font:700 16px/1 var(--font-heading);color:var(--color-text)}

.cms-floating-badge--award{text-align:center;max-width:180px}

.cms-floating-badge__award-icon{margin-bottom:6px;font-size:28px}

.cms-floating-badge__award-title{font:700 14px/1.2 var(--font-heading);color:var(--color-text)}

.cms-floating-badge__award-subtitle{margin-top:4px;font:400 11px/1.3 var(--font-body);color:var(--color-text-muted)}

/* Content Table */
.cms-content-table{margin:32px 0;--cms-content-table-width:auto;--cms-content-table-min-width:0;--cms-content-table-cell-min:0;--cms-content-table-cell-min-mobile:0;--cms-content-table-sticky-min:182px;--cms-content-table-modal-cell-min:144px;--cms-content-table-expand-display:none;--cms-content-table-striped:0}

.cms-content-table--wide{--cms-content-table-width:100%;--cms-content-table-min-width:max-content;--cms-content-table-expand-display:inline-flex}

.cms-content-table--density-balanced{--cms-content-table-cell-min:118px;--cms-content-table-cell-min-mobile:104px;--cms-content-table-modal-cell-min:118px}

.cms-content-table--density-compact{--cms-content-table-cell-min:102px;--cms-content-table-cell-min-mobile:92px;--cms-content-table-sticky-min:152px;--cms-content-table-modal-cell-min:102px}

.cms-content-table--striped{--cms-content-table-striped:1}

.cms-content-table__shell{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:0 8px 24px rgba(15,23,42,.04)}

.cms-content-table__expand-btn{position:absolute;top:10px;right:10px;z-index:8;display:var(--cms-content-table-expand-display);align-items:center;justify-content:center;gap:6px;width:38px;height:38px;border:none;border-radius:999px;background:rgba(255,255,255,.94);color:var(--color-text);box-shadow:0 8px 18px rgba(15,23,42,.10);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}

.cms-content-table__expand-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.14);background:#fff}

.cms-content-table__shell::before,.cms-content-table__shell::after{content:"";position:absolute;top:0;bottom:0;width:18px;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:4}

.cms-content-table__shell::before{left:0;background:linear-gradient(to right,rgba(255,255,255,.96),rgba(255,255,255,0))}

.cms-content-table__shell::after{right:0;background:linear-gradient(to left,rgba(255,255,255,.96),rgba(255,255,255,0))}

.cms-content-table__shell.has-left-shadow::before{opacity:1}

.cms-content-table__shell.has-right-shadow::after{opacity:1}

.cms-content-table__wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.85) transparent}

.cms-content-table__wrap::-webkit-scrollbar{height:10px}

.cms-content-table__wrap::-webkit-scrollbar-track{background:transparent}

.cms-content-table__wrap::-webkit-scrollbar-thumb{background:rgba(148,163,184,.75);border-radius:999px;border:2px solid transparent;background-clip:padding-box}

.cms-content-table__table{display:table !important;margin:0 !important;width:var(--cms-content-table-width);min-width:var(--cms-content-table-min-width);max-width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}

.cms-content-table__table th,.cms-content-table__table td{white-space:normal;min-width:var(--cms-content-table-cell-min);word-break:normal;overflow-wrap:anywhere}

.cms-content-table__table th{position:sticky;top:0;z-index:2;padding:13px 18px;text-align:left;font:600 13px/1.35 var(--font-heading);color:#fff;background:var(--color-accent);vertical-align:top}

.cms-content-table__table td{padding:13px 18px;font:400 14px/1.6 var(--font-body);color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:top;background:var(--color-bg)}

.cms-content-table__table tbody tr:last-child td{border-bottom:none}

.cms-content-table__table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--color-bg-alt) calc(var(--cms-content-table-striped) * 100%), var(--color-bg) calc(100% - (var(--cms-content-table-striped) * 100%)))}

.cms-content-table__table th:first-child,.cms-content-table__table td:first-child{position:sticky;left:0;z-index:3;min-width:var(--cms-content-table-sticky-min);box-shadow:1px 0 0 var(--color-border)}

.cms-content-table__table th:first-child{z-index:5;background:color-mix(in srgb,var(--color-accent) 92%,#000 8%)}

.cms-content-table__table td:first-child{background:color-mix(in srgb,var(--color-bg) 92%,var(--color-bg-alt) 8%);font-weight:600;color:var(--color-text)}

.cms-content-table__table tbody tr:nth-child(even) td:first-child{background:color-mix(in srgb,var(--color-bg-alt) 86%,var(--color-bg) 14%)}

.cms-content-table__caption{margin:8px 0 0;text-align:center;font:400 13px/1.6 var(--font-body);color:var(--color-text-muted)}

@media (max-width:768px){.cms-content-table{margin-left:-12px;margin-right:-12px}.cms-content-table__shell{border-radius:var(--radius)}.cms-content-table__expand-btn{display:none !important}.cms-content-table__table th,.cms-content-table__table td{padding:10px 12px;font-size:13px;min-width:var(--cms-content-table-cell-min-mobile)}.cms-content-table__table th:first-child,.cms-content-table__table td:first-child{min-width:128px}}

/* Content FAQ */
.cms-content-faq{position:relative;overflow:hidden;margin:32px 0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg, #fff);box-shadow:0 1px 6px rgba(0,0,0,.05)}

.cms-content-faq--bg-white{background:var(--color-bg, #fff)}

.cms-content-faq--bg-alt{background:var(--color-bg-alt, #f9fafb)}

.cms-content-faq--bg-dark{background:var(--color-dark-bg, #1C1917)}

.cms-content-faq--bg-transparent{background:transparent}

.cms-content-faq--bg-dark .cms-content-faq__question{color:#fff}

.cms-content-faq--bg-dark .cms-content-faq__answer-inner{color:rgba(255,255,255,.72)}

.cms-content-faq--flat{border-color:transparent;box-shadow:none;background:var(--color-bg-alt)}

.cms-content-faq__deco{position:absolute;z-index:0;pointer-events:none}

.cms-content-faq__deco--tl{top:-12px;left:-12px}

.cms-content-faq__deco--tr{top:-12px;right:-12px}

.cms-content-faq__deco--bl{bottom:-12px;left:-12px}

.cms-content-faq__deco--br{bottom:-12px;right:-12px}

.cms-content-faq__deco--s1{width:70px;height:70px}

.cms-content-faq__deco--s2{width:55px;height:55px}

.cms-content-faq__deco--s3{width:80px;height:80px}

.cms-content-faq__deco--s4{width:60px;height:60px}

.cms-content-faq__deco--s5{width:75px;height:75px}

.cms-content-faq__deco--circle{border-radius:50%;background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-content-faq__deco--accent,.cms-content-faq__deco--offset{height:calc(var(--cms-deco-h, 100%) * .8);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-content-faq__deco--dots{background:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.2}

.cms-content-faq__deco--stripes{opacity:.15;background:repeating-linear-gradient(45deg,var(--color-accent) 0px,var(--color-accent) 2px,transparent 2px,transparent 10px)}

.cms-content-faq__deco--crosshatch{opacity:.12;background:repeating-linear-gradient(0deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px)}

.cms-content-faq__eyebrow{position:relative;z-index:1;display:block;margin:0 0 14px;font:700 11px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-faq__list{position:relative;z-index:1;display:flex;flex-direction:column;gap:0}

.cms-content-faq__item--divided{border-bottom:1px solid var(--color-border)}

.cms-content-faq__trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 0;background:none;border:none;cursor:pointer;text-align:left}

.cms-content-faq__question{font:600 15px/1.5 var(--font-body);color:var(--color-text)}

.cms-content-faq__icon{flex-shrink:0;width:16px;height:16px;min-width:16px;color:var(--color-accent);transition:transform .2s}

.cms-content-faq__icon.is-open{transform:rotate(180deg)}

.cms-content-faq__answer{height:0;overflow:hidden;opacity:0;transition:height .28s ease,opacity .22s ease}

.cms-content-faq__answer-inner{padding:0 0 14px;font:400 14px/1.7 var(--font-body);color:var(--color-text-muted)}

/* Content Utility Blocks */
.cms-content-paa{margin:28px 0;padding:16px 20px;border:0;border-left:3px solid var(--color-accent);border-radius:0;box-shadow:none;background:transparent}

.cms-content-paa__eyebrow{display:block;margin:0 0 10px;font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-short{margin:28px 0}

.cms-short--warning{--cms-inline-accent-color:#f59e0b}

.cms-content-sum{position:relative;overflow:hidden;margin:32px 0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg, #fff);box-shadow:0 1px 6px rgba(0,0,0,.05)}

.cms-content-sum--bg-white{background:var(--color-bg, #fff)}

.cms-content-sum--bg-alt{background:var(--color-bg-alt, #f9fafb)}

.cms-content-sum--bg-dark{background:var(--color-dark-bg, #1C1917)}

.cms-content-sum--bg-transparent{background:transparent}

.cms-content-sum--bg-dark .cms-content-sum__item{color:#fff}

.cms-content-sum--flat{border-color:transparent;box-shadow:none;background:var(--color-bg-alt)}

.cms-content-sum__deco{position:absolute;z-index:0;pointer-events:none}

.cms-content-sum__deco--tl{top:-12px;left:-12px}

.cms-content-sum__deco--tr{top:-12px;right:-12px}

.cms-content-sum__deco--bl{bottom:-12px;left:-12px}

.cms-content-sum__deco--br{bottom:-12px;right:-12px}

.cms-content-sum__deco--s1{width:70px;height:70px}

.cms-content-sum__deco--s2{width:55px;height:55px}

.cms-content-sum__deco--s3{width:80px;height:80px}

.cms-content-sum__deco--s4{width:60px;height:60px}

.cms-content-sum__deco--s5{width:75px;height:75px}

.cms-content-sum__deco--circle{border-radius:50%;background:color-mix(in srgb,var(--color-accent) 12%,transparent)}

.cms-content-sum__deco--accent,.cms-content-sum__deco--offset{border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}

.cms-content-sum__deco--dots{background:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.2}

.cms-content-sum__deco--stripes{opacity:.15;background:repeating-linear-gradient(45deg,var(--color-accent) 0px,var(--color-accent) 2px,transparent 2px,transparent 10px)}

.cms-content-sum__deco--crosshatch{opacity:.12;background:repeating-linear-gradient(0deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(90deg,var(--color-accent) 0px,var(--color-accent) 1px,transparent 1px,transparent 10px)}

.cms-content-sum__eyebrow{position:relative;z-index:1;display:block;margin:0 0 14px;font:700 11px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-sum__list{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;list-style:none !important;margin:0;padding:0 !important}

.cms-content-sum__item{position:relative;list-style:none !important;padding-left:24px;font:400 14px/1.6 var(--font-body);color:var(--color-text)}

.cms-content-sum__item::marker{content:""}

.cms-content-sum__tick{position:absolute;left:0;color:var(--color-accent);font-weight:700}

/* Content Simple */
.cms-content-figure{margin:32px 0;padding:0}

.cms-content-figure__img{display:block;width:100%;border-radius:var(--radius-lg)}

.cms-content-figure__caption{margin-top:10px;text-align:center;font:italic 13px/1.6 var(--font-body);color:var(--color-text-muted)}

.cms-content-h2{margin:48px 0 20px;font:600 clamp(22px,2.8vw,32px)/1.25 var(--font-heading);color:var(--color-text)}

.cms-content-bq{position:relative;margin:32px 0;padding:8px 0 8px 40px;font:italic 16px/1.7 var(--font-body);color:var(--color-text-muted)}

.cms-content-bq__open{position:absolute;top:-10px;left:0;font:56px/1 var(--font-heading);color:var(--color-accent);opacity:.25}

.cms-content-bq__close{margin-left:4px;vertical-align:sub;font:28px/1 var(--font-heading);color:var(--color-accent);opacity:.25}

.cms-content-video{margin:32px 0}

.cms-content-video__embed{position:relative;height:0;min-height:0;padding-bottom:56.25%;overflow:hidden;border-radius:var(--radius-lg)}

.cms-content-video__placeholder{position:absolute;inset:0}

/* Video Section */
.cms-video-bo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:50vh;overflow:hidden;cursor:pointer;}

.cms-video-bo__bg,.cms-video-bo__overlay{position:absolute;inset:0}

.cms-video-bo__bg{z-index:0}

.cms-video-bo__bg img{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-bo__bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(12,17,24,.72),rgba(12,17,24,.34))}

.cms-video-bo__overlay{z-index:1;background:rgba(0,0,0,.55)}

.cms-video-bo__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:20px;padding:clamp(48px,6vw,80px) 24px;text-align:center}

.cms-video-bo__play{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);transition:background .3s ease,transform .3s ease}

.cms-video-bo:hover .cms-video-bo__play{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.1)}

.cms-video-bo__play svg{width:32px;height:32px;fill:#fff;margin-left:4px}

.cms-video-bo__title{margin:0;font:700 clamp(24px,3vw,40px)/1.2 var(--font-heading);color:#fff}

.cms-video-bo__subtitle{max-width:600px;margin:0;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:rgba(255,255,255,.8)}

.cms-video-fw{width:100%;padding:0 24px;--cms-video-fw-text:var(--color-text);--cms-video-fw-muted:var(--color-text-muted)}

.cms-video-fw--dark{--cms-video-fw-text:var(--color-dark-text);--cms-video-fw-muted:var(--color-dark-text-muted)}

.cms-video-fw__container{max-width:var(--container,1200px);margin:0 auto}

.cms-video-fw__title{margin:0 0 8px;text-align:center;font:700 clamp(24px,3vw,36px)/1.2 var(--font-heading);color:var(--cms-video-fw-text)}

.cms-video-fw__subtitle{max-width:700px;margin:0 auto clamp(24px,3vw,40px);text-align:center;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:var(--cms-video-fw-muted)}

.cms-video-fw__wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg,12px);overflow:hidden;background:#000;cursor:pointer}

.cms-video-fw__thumb{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-fw__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.18))}

.cms-video-fw__play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);transform:translate(-50%,-50%);transition:background .3s ease,transform .3s ease;pointer-events:none}

.cms-video-fw__wrapper:hover .cms-video-fw__play{background:var(--color-accent);transform:translate(-50%,-50%) scale(1.1)}

.cms-video-fw__play svg{width:28px;height:28px;fill:#fff;margin-left:3px}

.cms-video-it{width:100%;padding:0 24px;--cms-video-it-text:var(--color-text);--cms-video-it-muted:var(--color-text-muted)}

.cms-video-it--dark{--cms-video-it-text:var(--color-dark-text);--cms-video-it-muted:var(--color-dark-text-muted)}

.cms-video-it__grid{max-width:var(--container,1200px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}

.cms-video-it__text{display:flex;flex-direction:column;gap:16px}

.cms-video-it__title{margin:0;font:700 clamp(24px,3vw,36px)/1.2 var(--font-heading);color:var(--cms-video-it-text)}

.cms-video-it__subtitle{margin:0;font:400 clamp(15px,1.3vw,18px)/1.7 var(--font-body);color:var(--cms-video-it-muted)}

.cms-video-it__cta{margin-top:8px}

.cms-video-it__wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg,12px);overflow:hidden;background:#000;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.12)}

.cms-video-it__thumb{display:block;width:100%;height:100%;object-fit:cover}

.cms-video-it__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 42%),linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.18))}

.cms-video-it__play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);transform:translate(-50%,-50%);transition:background .3s ease,transform .3s ease;pointer-events:none}

.cms-video-it__wrapper:hover .cms-video-it__play{background:var(--color-accent);transform:translate(-50%,-50%) scale(1.1)}

.cms-video-it__play svg{width:24px;height:24px;fill:#fff;margin-left:3px}

@media (max-width:768px){.cms-video-it__grid{grid-template-columns:1fr}.cms-video-it__text{text-align:center;align-items:center}}

/* Content Rich Cards */
.cms-content-mc,.cms-content-pf,.cms-content-pc,.cms-content-sf{margin:32px 0}

.cms-content-mc__shell,.cms-content-pf__shell{position:relative;padding:20px 0 20px 18px;border-left:3px solid var(--color-accent)}

.cms-content-mc__shell::before,.cms-content-pf__shell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 7%,transparent) 0%,transparent 62%)}

.cms-content-mc__head,.cms-content-pf__head{position:relative;padding:0 4px 10px 0}

.cms-content-mc__eyebrow,.cms-content-pf__eyebrow,.cms-content-pc__eyebrow{display:block;margin:0 0 8px;font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-pc__eyebrow{font-size:11px}

.cms-content-mc__title,.cms-content-pf__title{margin:0 !important;font:700 clamp(20px,2.3vw,25px)/1.15 var(--font-heading);color:var(--color-text)}

.cms-content-pc__title{margin:0;font:700 clamp(22px,2.7vw,28px)/1.15 var(--font-heading);color:var(--color-text)}

.cms-content-mc__intro{margin:10px 0 0;font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-mc__grid,.cms-content-pf__grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding-right:4px}

.cms-content-mc__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

.cms-content-mc__card,.cms-content-pf__card{display:grid;gap:10px;align-content:start;padding:16px 16px 15px;border:1px solid color-mix(in srgb,var(--color-border) 88%,white 12%);border-radius:18px;background:var(--color-bg,#fff);box-shadow:0 10px 24px rgba(15,23,42,.05)}

.cms-pc-std--dark .cms-content-mc__card,.cms-pc-std--dark .cms-content-pf__card{background:color-mix(in srgb,var(--color-dark-bg-alt,var(--color-dark-bg)) 88%,white 12%);border-color:rgba(255,255,255,.12)}

.cms-content-mc__label,.cms-content-pf__profile{margin:0;font:700 17px/1.35 var(--font-heading);color:var(--color-text)}

.cms-content-mc__points,.cms-content-pf__points{display:grid;gap:8px}

.cms-content-mc__line,.cms-content-pf__line{display:grid;gap:3px;margin:0}

.cms-content-mc__k,.cms-content-pf__k{font:700 10px/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent)}

.cms-content-mc__v,.cms-content-pf__note{font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-mc__v strong,.cms-content-pf__note strong{color:var(--color-text);font-weight:700}

.cms-content-pf__badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:3px 7px;border-radius:999px;font:700 9px/1 var(--font-body);letter-spacing:.03em;text-transform:uppercase;margin:0;color:#15803d;background:rgba(34,197,94,.10)}

.cms-content-pf__badge--danger{color:#b91c1c;background:rgba(220,38,38,.10)}

.cms-content-pf__badge--warning{color:#b45309;background:rgba(217,119,6,.12)}

.cms-content-pf__badge--success{color:#15803d;background:rgba(34,197,94,.10)}

@media (max-width:768px){.cms-content-mc__shell,.cms-content-pf__shell{padding:20px 0 20px 14px}}

.cms-content-pf {
    margin: 28px 0;
}

.cms-content-pf__shell {
    padding: 20px 22px;
    border: 1px solid color-mix(in srgb, var(--color-accent) 24%, var(--color-border));
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: none;
}

.cms-content-pf__shell::before {
    display: none;
}

.cms-content-pf__head {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    padding: 0 0 14px;
}

.cms-content-pf__head::before {
    content: "?";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: 1 / span 2;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent);
    font: 800 18px/1 var(--font-heading);
}

.cms-content-pf__eyebrow,
.cms-content-pf__title {
    grid-column: 2;
}

.cms-content-pf__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 0;
}

.cms-content-pf__card {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 13px 14px;
    border-radius: var(--radius-md);
    box-shadow: none;
}

.cms-content-pf__points {
    gap: 5px;
}

.cms-content-pf__line {
    display: block;
}

.cms-content-pf__k {
    display: none;
}

.cms-content-pf__profile {
    font-size: 15.5px;
}

.cms-content-pf__note {
    font-size: 13.25px;
    line-height: 1.55;
}

@media (max-width:768px){
    .cms-content-pf__shell{padding:18px 16px}
    .cms-content-pf__head{grid-template-columns:34px minmax(0,1fr)}
    .cms-content-pf__head::before{width:34px;height:34px;font-size:16px}
    .cms-content-pf__card{grid-template-columns:1fr}
}

.cms-content-pc__head{padding:18px 20px 0}

.cms-content-pc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 20px 20px}

.cms-content-pc__col{padding:18px;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) - 4px)}

.cms-content-pc__col--pros{background:linear-gradient(180deg,rgba(34,197,94,.08) 0%,rgba(34,197,94,.03) 100%)}

.cms-content-pc__col--cons{background:linear-gradient(180deg,rgba(239,68,68,.08) 0%,rgba(239,68,68,.03) 100%)}

.cms-content-pc__col-title{margin:0 0 12px;font:700 14px/1.3 var(--font-heading);color:var(--color-text)}

.cms-content-pc__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}

.cms-content-pc__list li{position:relative;list-style:none !important;padding-left:22px;margin:0;font:400 14px/1.6 var(--font-body);color:var(--color-text)}

.cms-content-pc__list li::before{position:absolute;left:0;top:0;font-weight:700}

.cms-content-pc__col--pros .cms-content-pc__list li::before{content:"✓";color:#16a34a}

.cms-content-pc__col--cons .cms-content-pc__list li::before{content:"–";color:#dc2626}

.cms-content-pc__foot{margin:0;padding:0 20px 20px;font:400 14px/1.65 var(--font-body);color:var(--color-text-muted)}

.cms-content-pc__foot strong{color:var(--color-text)}

@media (max-width:768px){.cms-content-pc__grid{grid-template-columns:1fr;gap:12px;padding:16px}.cms-content-pc__head{padding:16px 16px 0}.cms-content-pc__foot{padding:0 16px 16px}}

.cms-content-sf__grid{display:grid;grid-template-columns:1fr;gap:16px}

.cms-content-sf--cols-2 .cms-content-sf__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.cms-content-sf__card{padding:18px;border:1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-accent) 5%, var(--color-bg))}

.cms-content-sf--light .cms-content-sf__card{border-color:color-mix(in srgb, var(--color-accent) 10%, transparent);background:transparent}

.cms-content-sf__head-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}

.cms-content-sf__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}

.cms-content-sf--light .cms-content-sf__icon{background:transparent}

.cms-content-sf__title{margin:2px 0 0;font:600 clamp(18px,2vw,21px)/1.25 var(--font-heading);color:var(--color-text)}

.cms-content-sf__content{font:400 15px/1.72 var(--font-body);color:var(--color-text-muted)}

.cms-content-sf__content p:last-child,.cms-content-sf__card > *:last-child{margin-bottom:0 !important}

.cms-content-sf__content strong{color:var(--color-text)}

@media (max-width:899px){.cms-content-sf__grid{grid-template-columns:1fr !important}}

/* Hero Media Sliders */
.cms-hero-video {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-video--bg-dark { background: var(--color-dark-bg); }

.cms-hero-video--bg-accent { background: var(--color-accent); }

.cms-hero-video--bg-light { background: var(--color-bg); }

.cms-hero-video--height-large { min-height: 80vh; }

.cms-hero-video--height-medium { min-height: 60vh; }

.cms-hero-video--height-auto {
    min-height: auto;
    padding: 120px 0;
}

.cms-hero-video__media,
.cms-hero-video__fallback,
.cms-hero-video__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-video__media { z-index: 1; overflow: hidden; }

.cms-hero-video__fallback {
    z-index: 0;
    overflow: hidden;
}

.cms-hero-video__fallback-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-hero-video__overlay { background: rgba(0,0,0,0.55); z-index: 2; }

.cms-hero-video--overlay-gradient .cms-hero-video__overlay { background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.2) 100%); }

.cms-hero-video--overlay-light .cms-hero-video__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-video--overlay-none .cms-hero-video__overlay { background: transparent; }

.cms-hero-video__placeholder { position: absolute; inset: 0; background: rgba(12,17,24,0.24); }

.cms-hero-video__mp4 {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.cms-hero-video__content {
    position: relative;
    z-index: 3;
    max-width: var(--container);
    width: 100%;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-video--align-left .cms-hero-video__content {
    text-align: left;
    align-items: flex-start;
}

.cms-hero-video__title {
    font-family: var(--font-heading);
    font-size: clamp(40px, 8vw, 80px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 20px 0;
    max-width: 900px;
}

.cms-hero-video__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: rgba(255,255,255,0.8);
    margin: 0 0 36px 0;
    max-width: 700px;
}

.cms-hero-video__actions,
.cms-hero-slider__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.cms-hero-video--text-default .cms-hero-video__title { color: var(--color-text); }

.cms-hero-video--subtitle-default .cms-hero-video__subtitle { color: var(--color-text-muted); }

.cms-hero-video--align-left .cms-hero-video__actions,
.cms-hero-slider--align-left .cms-hero-slider__actions { justify-content: flex-start; }

.cms-hero-slider {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-slider--height-large { min-height: 80vh; }

.cms-hero-slider--height-medium { min-height: 60vh; }

.cms-hero-slider--height-auto { min-height: auto; padding: 120px 0; }

.cms-hero-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 0;
}

.cms-hero-slider__slide.is-active { opacity: 1; z-index: 1; }

.cms-hero-slider__bg,
.cms-hero-slider__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-slider__bg {
    overflow: hidden;
}

.cms-hero-slider__bg-img,
.cms-hero-sf__bg-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cms-hero-slider__overlay { background: rgba(0,0,0,0.55); }

.cms-hero-slider--overlay-gradient .cms-hero-slider__overlay { background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); }

.cms-hero-slider--overlay-light .cms-hero-slider__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-slider--overlay-none .cms-hero-slider__overlay { background: transparent; }

.cms-hero-slider__viewport {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
}

.cms-hero-slider__copy {
    max-width: var(--container);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cms-hero-slider--align-left .cms-hero-slider__copy {
    text-align: left;
    align-items: flex-start;
}

.cms-hero-slider__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 72px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    margin: 0 0 16px 0;
    max-width: 900px;
}

.cms-hero-slider__subtitle {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    color: rgba(255,255,255,0.7);
    margin: 0 0 32px 0;
    max-width: 700px;
}

/* Author hero subtitle normalization */
.page-author .cms-hero-cwm__subtitle,
.page-author .cms-hero-split__subtitle,
.page-author .cms-hero-centered__subtitle,
.page-author .cms-hero-min__subtitle,
.page-author .cms-hero-lt__subtitle,
.page-author .cms-hero-fc__subtitle,
.page-author .cms-hero-author__bio {
    font-size: 15px;
    line-height: 1.5;
}

.cms-hero-slider__dots {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 10px;
}

.cms-hero-slider__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background .3s;
}

.cms-hero-slider__dot.is-active { background: #fff; }

.cms-hero-sf {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: var(--color-dark-bg);
}

.cms-hero-sf--height-large { height: 85vh; }

.cms-hero-sf--height-medium { height: 65vh; }

.cms-hero-sf--height-auto { height: 80vh; }

.cms-hero-sf__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .8s cubic-bezier(0.65, 0, 0.35, 1);
    transform: translateX(0);
}

.cms-hero-sf__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    position: relative;
}

.cms-hero-sf__bg,
.cms-hero-sf__overlay {
    position: absolute;
    inset: 0;
}

.cms-hero-sf__bg {
    overflow: hidden;
}

.cms-hero-sf__overlay { background: rgba(0,0,0,0.55); }

.cms-hero-sf--overlay-gradient .cms-hero-sf__overlay { background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.1) 100%); }

.cms-hero-sf--overlay-light .cms-hero-sf__overlay { background: rgba(255,255,255,0.4); }

.cms-hero-sf--overlay-none .cms-hero-sf__overlay { background: transparent; }

.cms-hero-sf__copy {
    position: absolute;
    bottom: clamp(100px, 12vw, 140px);
    left: 0;
    width: 100%;
    padding: 0 clamp(24px, 5vw, 80px);
    z-index: 2;
}

.cms-hero-sf__eyebrow {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.5vw, 17px);
    color: rgba(255,255,255,0.7);
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}

.cms-hero-sf__title {
    font-family: var(--font-heading);
    font-size: clamp(36px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    color: #fff;
    margin: 0;
    max-width: 800px;
    letter-spacing: -0.02em;
}

.cms-hero-sf__nav {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    background: rgba(0,0,0,0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255,255,255,0.1);
}

.cms-hero-sf__nav-btn {
    flex: 1;
    padding: 20px clamp(12px, 2vw, 28px);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    text-align: left;
    transition: all .3s;
    position: relative;
}

.cms-hero-sf__nav-btn.is-active { border-bottom-color: var(--color-accent); }

.cms-hero-sf__nav-label {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(13px, 1.3vw, 16px);
    font-weight: 600;
    color: rgba(255,255,255,0.5);
    transition: color .3s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cms-hero-sf__nav-btn.is-active .cms-hero-sf__nav-label { color: #fff; }

.cms-hero-sf__nav-location {
    display: block;
    font-family: var(--font-body);
    font-size: 12px;
    color: rgba(255,255,255,0.35);
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cms-hero-sf__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--color-accent);
    z-index: 11;
    width: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .cms-hero-video__media { display: none !important; }
    .cms-hero-video__fallback { z-index: 1 !important; }
}

@media (max-width: 640px) {
    .cms-hero-sf__nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .cms-hero-sf__nav-btn { min-width: 140px; }
}

/* Helpers Layout Core */
.cms-section {
    position: relative;
    overflow: hidden;
    background: var(--cms-section-canvas-bg, transparent);
    color: var(--cms-section-text, var(--color-text));
    padding-top: var(--cms-section-pad-top, var(--spacing-section));
    padding-bottom: var(--cms-section-pad-bottom, var(--spacing-section));
}

.cms-section--bg-default { --cms-section-canvas-bg: var(--color-bg); --cms-section-text: var(--color-text); }

.cms-section--bg-transparent { --cms-section-canvas-bg: transparent; --cms-section-text: var(--color-text); }

.cms-section--bg-alt { --cms-section-canvas-bg: var(--color-bg-alt); --cms-section-text: var(--color-text); }

.cms-section--bg-neutral { --cms-section-canvas-bg: #f3f4f6; --cms-section-text: var(--color-text); }

.cms-section--bg-dark { --cms-section-canvas-bg: var(--color-dark-bg); --cms-section-text: var(--color-dark-text, #fff); }

.cms-section--bg-accent { --cms-section-canvas-bg: var(--color-accent); --cms-section-text: #fff; }

.cms-section--bg-accent2 { --cms-section-canvas-bg: var(--color-accent2, var(--color-accent)); --cms-section-text: #fff; }

.cms-section--bg-accent3 { --cms-section-canvas-bg: var(--color-accent-soft, var(--color-bg-alt)); --cms-section-text: var(--color-text); }

.cms-section--bg-accent4 { --cms-section-canvas-bg: var(--color-accent2-soft, var(--color-bg-alt)); --cms-section-text: var(--color-text); }

.cms-section--bg-image { --cms-section-canvas-bg: transparent; --cms-section-text: #fff; }

.cms-section--bg-gradient {
    --cms-section-canvas-bg: transparent;
    --cms-section-gradient: linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 8%, transparent) 0%, var(--color-bg-alt) 100%);
}

.cms-section--bg-dark,
.cms-section--bg-accent,
.cms-section--bg-accent2,
.cms-section--bg-image {
    --cms-section-split-bg: var(--cms-section-canvas-bg);
}

.cms-section--overlay-gradient { --cms-section-overlay: linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.7) 100%); }

.cms-section--overlay-dark { --cms-section-overlay: rgba(0,0,0,.6); }

.cms-section--overlay-light { --cms-section-overlay: rgba(255,255,255,.4); }

.cms-section--overlay-accent { --cms-section-overlay: color-mix(in srgb, var(--color-accent) 80%, transparent); }

.cms-section--pattern-dots {
    --cms-section-pattern-image: radial-gradient(circle, currentColor 1px, transparent 1.5px);
    --cms-section-pattern-size: 20px 20px;
    --cms-section-pattern-opacity: .08;
}

.cms-section--pattern-grid {
    --cms-section-pattern-image: linear-gradient(currentColor 1px, transparent 1px), linear-gradient(90deg, currentColor 1px, transparent 1px);
    --cms-section-pattern-size: 40px 40px;
    --cms-section-pattern-opacity: .05;
}

.cms-section--pattern-diagonal {
    --cms-section-pattern-image: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 16px);
    --cms-section-pattern-size: 16px 16px;
    --cms-section-pattern-opacity: .05;
}

.cms-section--pattern-waves {
    --cms-section-pattern-image: radial-gradient(ellipse at center, currentColor 0 1px, transparent 1px);
    --cms-section-pattern-size: 60px 20px;
    --cms-section-pattern-opacity: .06;
}

.cms-section--pattern-noise {
    --cms-section-pattern-image: radial-gradient(circle at 20% 30%, currentColor 0 1px, transparent 1px), radial-gradient(circle at 70% 80%, currentColor 0 1px, transparent 1px);
    --cms-section-pattern-size: 48px 48px;
    --cms-section-pattern-opacity: .035;
}

.cms-section--pad-none { --cms-section-pad-top: var(--cms-ds-section-pad-none); --cms-section-pad-bottom: var(--cms-ds-section-pad-none); }

.cms-section--pad-sm { --cms-section-pad-top: var(--cms-ds-section-pad-sm); --cms-section-pad-bottom: var(--cms-ds-section-pad-sm); }

.cms-section--pad-md { --cms-section-pad-top: var(--cms-ds-section-pad-md); --cms-section-pad-bottom: var(--cms-ds-section-pad-md); }

.cms-section--pad-lg { --cms-section-pad-top: var(--cms-ds-section-pad-lg); --cms-section-pad-bottom: var(--cms-ds-section-pad-lg); }

.cms-section--pad-xl { --cms-section-pad-top: var(--cms-ds-section-pad-xl); --cms-section-pad-bottom: var(--cms-ds-section-pad-xl); }

.cms-section__cta-bottom {
    margin-top: clamp(32px, 4vw, 48px);
    text-align: center;
}

.cms-section-cta-mobile {
    display: none;
    margin-top: clamp(24px, 3vw, 32px);
    text-align: center;
}

@media (max-width: 639px) {
    .cms-section-cta-mobile { display: block !important; }
}

.cms-section__separator {
    line-height: 0;
    color: var(--cms-section-sep-color, currentColor);
    margin-bottom: -1px;
}

.cms-section__separator--bg-default { --cms-section-sep-color: var(--color-bg); }

.cms-section__separator--bg-alt { --cms-section-sep-color: var(--color-bg-alt); }

.cms-section__separator--bg-dark { --cms-section-sep-color: var(--color-dark-bg); }

.cms-section__separator--bg-accent { --cms-section-sep-color: var(--color-accent); }

.cms-section__separator--bg-accent2 { --cms-section-sep-color: var(--color-accent2, var(--color-accent)); }

.cms-section__separator--bottom { margin-top: -1px; }

.cms-section__separator-svg {
    display: block;
    width: 100%;
}

.cms-section__separator-svg--wave,
.cms-section__separator-svg--wave-multi,
.cms-section__separator-svg--round { height: clamp(40px, 5vw, 80px); }

.cms-section__separator-svg--angle,
.cms-section__separator-svg--curve,
.cms-section__separator-svg--wave-soft,
.cms-section__separator-svg--arrow { height: clamp(30px, 4vw, 60px); }

.cms-section__separator-svg--zigzag,
.cms-section__separator-svg--tilt,
.cms-section__separator-svg--step { height: clamp(20px, 3vw, 40px); }

.cms-section__split-bg,
.cms-section__image,
.cms-section__gradient,
.cms-section__overlay,
.cms-section__pattern,
.cms-section__blob {
    position: absolute;
    z-index: 0;
}

.cms-section__split-bg {
    top: 0;
    left: 0;
    right: 0;
    height: var(--cms-section-split-height, 50%);
    background: var(--cms-section-split-bg, var(--color-bg));
    clip-path: var(--cms-section-split-clip, none);
}

.cms-section__image,
.cms-section__gradient,
.cms-section__overlay,
.cms-section__pattern {
    inset: 0;
}

.cms-section__image-el {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cms-section__gradient { background: var(--cms-section-gradient, transparent); }

.cms-section__overlay { background: var(--cms-section-overlay, transparent); }

.cms-section__pattern {
    pointer-events: none;
    opacity: var(--cms-section-pattern-opacity, 1);
    background-image: var(--cms-section-pattern-image, none);
    background-repeat: repeat;
    background-size: var(--cms-section-pattern-size, auto);
}

.cms-section__blob {
    pointer-events: none;
    border-radius: 50%;
    background: var(--color-accent);
    z-index: 0;
}

.cms-section__blob--one {
    top: -10%;
    left: -5%;
    width: clamp(200px, 40vw, 500px);
    height: clamp(200px, 40vw, 500px);
    opacity: .06;
    filter: blur(clamp(60px, 10vw, 120px));
}

.cms-section__blob--two {
    bottom: -15%;
    right: -10%;
    width: clamp(150px, 30vw, 400px);
    height: clamp(150px, 30vw, 400px);
    opacity: .04;
    filter: blur(clamp(50px, 8vw, 100px));
}

.cms-section__blob--three {
    top: 40%;
    right: 20%;
    width: clamp(100px, 20vw, 250px);
    height: clamp(100px, 20vw, 250px);
    opacity: .03;
    background: var(--color-accent3, var(--color-accent));
    filter: blur(clamp(40px, 8vw, 80px));
}

.cms-section__inner {
    position: relative;
    z-index: 1;
    margin: 0 auto;
}

.cms-section__inner--contained {
    max-width: var(--container);
    padding: 0 20px;
}

.cms-section__inner--narrow {
    max-width: 800px;
    padding: 0 20px;
}

.cms-section__inner--full {
    max-width: 100%;
    padding: 0 clamp(20px, 4vw, 60px);
}

.cms-bg-shape {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    width: var(--cms-bg-shape-w);
    height: var(--cms-bg-shape-h);
}

.cms-bg-shape[data-shape-size="0"] { --cms-bg-shape-w: clamp(200px, 30vw, 400px); --cms-bg-shape-h: clamp(100px, 20vw, 400px); }

.cms-bg-shape[data-shape-size="1"] { --cms-bg-shape-w: clamp(175px, 30vw, 350px); --cms-bg-shape-h: clamp(88px, 20vw, 350px); }

.cms-bg-shape[data-shape-size="2"] { --cms-bg-shape-w: clamp(225px, 30vw, 450px); --cms-bg-shape-h: clamp(112px, 20vw, 450px); }

.cms-bg-shape[data-shape-size="3"] { --cms-bg-shape-w: clamp(190px, 30vw, 380px); --cms-bg-shape-h: clamp(95px, 20vw, 380px); }

.cms-bg-shape[data-shape-size="4"] { --cms-bg-shape-w: clamp(210px, 30vw, 420px); --cms-bg-shape-h: clamp(105px, 20vw, 420px); }

.cms-bg-shape--secondary[data-shape-size="0"] { --cms-bg-shape-w: clamp(125px, 20vw, 250px); --cms-bg-shape-h: clamp(125px, 20vw, 250px); }

.cms-bg-shape--secondary[data-shape-size="1"] { --cms-bg-shape-w: clamp(100px, 20vw, 200px); --cms-bg-shape-h: clamp(100px, 20vw, 200px); }

.cms-bg-shape--secondary[data-shape-size="2"] { --cms-bg-shape-w: clamp(150px, 20vw, 300px); --cms-bg-shape-h: clamp(150px, 20vw, 300px); }

.cms-bg-shape--secondary[data-shape-size="3"] { --cms-bg-shape-w: clamp(110px, 20vw, 220px); --cms-bg-shape-h: clamp(110px, 20vw, 220px); }

.cms-bg-shape--secondary[data-shape-size="4"] { --cms-bg-shape-w: clamp(140px, 20vw, 280px); --cms-bg-shape-h: clamp(140px, 20vw, 280px); }

.cms-bg-shape--tr-lg { top: -15%; right: -8%; }

.cms-bg-shape--bl-sm { bottom: -12%; left: -10%; }

.cms-bg-shape--tl-lg { top: -10%; left: -12%; }

.cms-bg-shape--br-sm { bottom: -18%; right: -6%; }

.cms-bg-shape--br-lg { bottom: -10%; right: -12%; }

.cms-bg-shape--tl-sm { top: -15%; left: -8%; }

.cms-bg-shape--bl-lg { bottom: -12%; left: -6%; }

.cms-bg-shape--tr-sm { top: -10%; right: -12%; }

.cms-bg-shape--circle,
.cms-bg-shape--frame { border-radius: 50%; background: rgba(255,255,255,0.03); }

.cms-bg-shape--circle.cms-bg-shape--secondary,
.cms-bg-shape--frame.cms-bg-shape--secondary { background: color-mix(in srgb, var(--color-accent) 8%, transparent); }

.cms-bg-shape--accent,
.cms-bg-shape--offset {
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,0.025);
    transform: rotate(-12deg);
}

.cms-bg-shape--accent.cms-bg-shape--secondary,
.cms-bg-shape--offset.cms-bg-shape--secondary {
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
    transform: rotate(8deg);
}

.cms-bg-shape--dots {
    background: radial-gradient(circle, rgba(255,255,255,0.06) 2px, transparent 2px);
    background-size: 18px 18px;
}

.cms-bg-shape--dots.cms-bg-shape--secondary {
    background: radial-gradient(circle, color-mix(in srgb, var(--color-accent) 10%, transparent) 2px, transparent 2px);
    background-size: 16px 16px;
}

.cms-bg-shape--stripes {
    opacity: .06;
    background: repeating-linear-gradient(45deg, #fff 0px, #fff 2px, transparent 2px, transparent 14px);
}

.cms-bg-shape--stripes.cms-bg-shape--secondary {
    opacity: .08;
    background: repeating-linear-gradient(-45deg, var(--color-accent) 0px, var(--color-accent) 2px, transparent 2px, transparent 14px);
}

.cms-bg-shape--crosshatch {
    opacity: .05;
    background: repeating-linear-gradient(0deg, #fff 0px, #fff 1px, transparent 1px, transparent 14px), repeating-linear-gradient(90deg, #fff 0px, #fff 1px, transparent 1px, transparent 14px);
}

.cms-bg-shape--crosshatch.cms-bg-shape--secondary {
    opacity: .06;
    background: repeating-linear-gradient(0deg, var(--color-accent) 0px, var(--color-accent) 1px, transparent 1px, transparent 12px), repeating-linear-gradient(90deg, var(--color-accent) 0px, var(--color-accent) 1px, transparent 1px, transparent 12px);
}

.cms-bg-shape--border {
    border-radius: var(--radius);
    background: rgba(255,255,255,0.04);
}

.cms-bg-shape--border.cms-bg-shape--secondary {
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
}

.cms-img-deco {
    position: relative;
    aspect-ratio: var(--cms-img-deco-aspect, 4/3);
}

.cms-img-deco--aspect-square { --cms-img-deco-aspect: 1/1; }

.cms-img-deco--aspect-4-3 { --cms-img-deco-aspect: 4/3; }

.cms-img-deco--aspect-3-4 { --cms-img-deco-aspect: 3/4; }

.cms-img-deco--aspect-16-9 { --cms-img-deco-aspect: 16/9; }

.cms-img-deco--aspect-9-16 { --cms-img-deco-aspect: 9/16; }

.cms-img-deco--aspect-21-9 { --cms-img-deco-aspect: 21/9; }

.cms-img-deco--aspect-auto { --cms-img-deco-aspect: auto; }

.cms-img-deco--accent-accent { --cms-img-deco-color: var(--color-accent); }

.cms-img-deco--accent-accent-soft { --cms-img-deco-color: var(--color-accent-soft, var(--color-accent)); }

.cms-img-deco--accent-accent2 { --cms-img-deco-color: var(--color-accent2); }

.cms-img-deco--accent-accent2-soft { --cms-img-deco-color: var(--color-accent2-soft, var(--color-accent2)); }

.cms-img-deco--size-0 { --cms-img-deco-circle: 80px; --cms-img-deco-pattern: 100px; --cms-img-deco-accent: 45%; }

.cms-img-deco--size-1 { --cms-img-deco-circle: 64px; --cms-img-deco-pattern: 80px; --cms-img-deco-accent: 35%; }

.cms-img-deco--size-2 { --cms-img-deco-circle: 100px; --cms-img-deco-pattern: 120px; --cms-img-deco-accent: 50%; }

.cms-img-deco--size-3 { --cms-img-deco-circle: 72px; --cms-img-deco-pattern: 90px; --cms-img-deco-accent: 40%; }

.cms-img-deco--size-4 { --cms-img-deco-circle: 90px; --cms-img-deco-pattern: 110px; --cms-img-deco-accent: 55%; }

.cms-img-deco__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.cms-img-deco__inner--surface {
    box-shadow: 0 8px 40px color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg);
}

.cms-img-deco__shape {
    position: absolute;
    z-index: 0;
}

.cms-img-deco__shape--corner { border-radius: var(--radius-lg); }

.cms-img-deco--accent .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-accent);
    height: var(--cms-img-deco-accent);
    background: color-mix(in srgb, var(--cms-img-deco-color) 12%, transparent);
}

.cms-img-deco--circle .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-circle);
    height: var(--cms-img-deco-circle);
    border-radius: 50%;
    background: color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
}

.cms-img-deco--dots .cms-img-deco__shape--corner,
.cms-img-deco--stripes .cms-img-deco__shape--corner,
.cms-img-deco--crosshatch .cms-img-deco__shape--corner {
    width: var(--cms-img-deco-pattern);
    height: var(--cms-img-deco-pattern);
}

.cms-img-deco--dots .cms-img-deco__shape--corner {
    background: radial-gradient(circle, var(--cms-img-deco-color) 1.5px, transparent 1.5px);
    background-size: 12px 12px;
    opacity: .25;
}

.cms-img-deco--stripes .cms-img-deco__shape--corner {
    opacity: .2;
    background: repeating-linear-gradient(45deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 2px, transparent 2px, transparent 10px);
}

.cms-img-deco--crosshatch .cms-img-deco__shape--corner {
    opacity: .15;
    background: repeating-linear-gradient(0deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 1px, transparent 1px, transparent 10px), repeating-linear-gradient(90deg, var(--cms-img-deco-color) 0px, var(--cms-img-deco-color) 1px, transparent 1px, transparent 10px);
}

.cms-img-deco--tl .cms-img-deco__shape--corner { top: -20px; left: -20px; }

.cms-img-deco--tr .cms-img-deco__shape--corner { top: -20px; right: -20px; }

.cms-img-deco--bl .cms-img-deco__shape--corner { bottom: -20px; left: -20px; }

.cms-img-deco--br .cms-img-deco__shape--corner { bottom: -20px; right: -20px; }

.cms-img-deco--accent.cms-img-deco--tl .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--tr .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--bl .cms-img-deco__shape--corner,
.cms-img-deco--accent.cms-img-deco--br .cms-img-deco__shape--corner { transform: translate(10px, 10px); }

.cms-img-deco__shape--offset {
    inset: 12px -12px -12px 12px;
    background: color-mix(in srgb, var(--cms-img-deco-color) 10%, transparent);
    border-radius: var(--radius-lg);
}

.cms-img-deco--tl .cms-img-deco__shape--offset { inset: -12px 12px 12px -12px; }

.cms-img-deco--bl .cms-img-deco__shape--offset { inset: 12px 12px -12px -12px; }

.cms-img-deco--tr .cms-img-deco__shape--offset { inset: -12px -12px 12px 12px; }

.cms-img-deco__shape--border {
    background: color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
    border-radius: var(--radius);
}

.cms-img-deco--left .cms-img-deco__shape--border { top: 8%; left: -14px; width: 28px; height: 84%; }

.cms-img-deco--right .cms-img-deco__shape--border { top: 8%; right: -14px; width: 28px; height: 84%; }

.cms-img-deco--top .cms-img-deco__shape--border { left: 8%; top: -14px; height: 28px; width: 84%; }

.cms-img-deco--bottom .cms-img-deco__shape--border { left: 8%; bottom: -14px; height: 28px; width: 84%; }

.cms-img-deco__shape--frame {
    inset: 10px -10px -10px 10px;
    border-radius: var(--radius-lg);
    border: 2px solid color-mix(in srgb, var(--cms-img-deco-color) 15%, transparent);
}

.cms-img-deco--frame-offset .cms-img-deco__shape--frame {
    inset: 12px -12px -12px 12px;
    border-width: 3px;
    border-color: color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco--outline-offset .cms-img-deco__shape--frame {
    inset: 8px -8px -8px 8px;
    border-color: color-mix(in srgb, var(--cms-img-deco-color) 20%, transparent);
}

.cms-img-deco--clip-angle .cms-img-deco__inner {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}

.cms-section-header {
    margin-bottom: clamp(24px, 3vw, 40px);
}

.cms-section-header--split {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

.cms-section-header--center { text-align: center; }

.cms-section-header__content--center {
    max-width: 700px;
    margin: 0 auto;
}

.cms-section-header__title {
    font-family: var(--font-heading);
    font-size: var(--cms-section-header-size, clamp(1.6rem, 3vw, 2.4rem));
    font-weight: 700;
    line-height: 1.2;
    color: var(--cms-section-header-title, var(--color-text));
    margin: 0;
}

.cms-section-header--h1 { --cms-section-header-size: clamp(2rem, 4vw, 3.2rem); }

.cms-section-header--h2 { --cms-section-header-size: clamp(1.6rem, 3vw, 2.4rem); }

.cms-section-header--h3 { --cms-section-header-size: clamp(1.3rem, 2.5vw, 1.8rem); }

.cms-section-header--dark {
    --cms-section-header-title: #fff;
    --cms-section-header-subtitle: rgba(255,255,255,.8);
}

.cms-section-header--accent {
    --cms-section-header-title: #fff;
    --cms-section-header-subtitle: rgba(255,255,255,.82);
    --cms-section-header-accent: rgba(255,255,255,.9);
}

.cms-section-header--sep-gradient {
    --cms-section-header-separator: linear-gradient(90deg, var(--color-accent), transparent);
}

.cms-section-header__subtitle {
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    line-height: 1.6;
    color: var(--cms-section-header-subtitle, var(--color-text-muted));
    margin: 12px 0 0;
}

.cms-section-header__label,
.cms-section-header__sep,
.cms-section-header__cta-link {
    color: var(--cms-section-header-accent, var(--color-accent));
}

.cms-section-header__label { margin-bottom: 12px; }

.cms-section-header__sep {
    width: 60px;
    height: 3px;
    margin-top: 16px;
    border-radius: 2px;
    background: var(--cms-section-header-separator, var(--color-accent));
}

.cms-section-header--center .cms-section-header__sep {
    margin-left: auto;
    margin-right: auto;
}

.cms-section-header__cta--stack { margin-top: 24px; }

.cms-section-header__cta-link {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .3s ease;
}

.cms-section-header__cta-link:hover { gap: 10px; }

@media (max-width: 639px) {
    .cms-section-header--split {
        flex-direction: column;
        align-items: flex-start;
    }
    .cms-section-header--split .cms-section-header__cta { display: none !important; }
}

.cms-callout {
    margin: 24px 0;
    padding: 20px 24px;
    border-left: 3px solid var(--cms-callout-border, var(--color-accent));
    background: var(--cms-callout-bg, color-mix(in srgb, var(--color-accent) 8%, transparent));
    border-radius: var(--radius-lg);
    color: var(--cms-callout-text, var(--color-text));
}

.cms-callout--info {
    --cms-callout-border: #3B82F6;
    --cms-callout-bg: rgba(59,130,246,.08);
}

.cms-callout--tip {
    --cms-callout-border: #10B981;
    --cms-callout-bg: rgba(16,185,129,.08);
}

.cms-callout--warning {
    --cms-callout-border: #F59E0B;
    --cms-callout-bg: rgba(245,158,11,.1);
}

.cms-callout--quote {
    --cms-callout-border: var(--color-accent);
    --cms-callout-bg: color-mix(in srgb, var(--color-accent) 8%, transparent);
}

.cms-callout--dark {
    --cms-callout-text: var(--color-dark-text);
    --cms-callout-title: var(--color-dark-text);
}

.cms-callout--dark.cms-callout--info { --cms-callout-bg: rgba(59,130,246,.14); }

.cms-callout--dark.cms-callout--tip { --cms-callout-bg: rgba(16,185,129,.14); }

.cms-callout--dark.cms-callout--warning { --cms-callout-bg: rgba(245,158,11,.16); }

.cms-callout--dark.cms-callout--quote { --cms-callout-bg: color-mix(in srgb, var(--color-accent) 12%, transparent); }

.cms-callout--quote { font-style: italic; }

.cms-callout__head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.cms-callout__icon,
.cms-callout__icon--float {
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}

.cms-callout__icon--float {
    float: left;
    margin-right: 10px;
    margin-top: 2px;
}

.cms-callout__title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    color: var(--cms-callout-title, var(--color-text));
    line-height: 1.3;
    margin: 0 0 10px;
}

.cms-callout__head .cms-callout__title { margin: 0; }

.cms-callout__body {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
    color: var(--cms-callout-text, var(--color-text));
}

/* Helpers Actions */
.cms-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: var(--cms-btn-font-size, 15px);
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease;
    background: var(--cms-btn-bg, var(--color-accent));
    color: var(--cms-btn-color, #fff);
    border: 2px solid var(--cms-btn-border, var(--color-accent));
    border-radius: var(--style-button-radius, var(--radius-full));
    padding: var(--cms-btn-padding, 12px 28px);
}

.cms-btn--sm {
    --cms-btn-padding: 8px 20px;
    --cms-btn-font-size: 13px;
}

.cms-btn--md {
    --cms-btn-padding: 12px 28px;
    --cms-btn-font-size: 15px;
}

.cms-btn--lg {
    --cms-btn-padding: 16px 36px;
    --cms-btn-font-size: 17px;
}

.cms-btn--filled {
    --cms-btn-bg: var(--color-accent);
    --cms-btn-color: #fff;
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent2);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent2);
}

.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent);
}

.cms-btn--ghost {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: color-mix(in srgb, var(--color-accent) 8%, transparent);
    --cms-btn-hover-color: var(--color-accent);
    --cms-btn-hover-border: transparent;
}

.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: transparent;
    --cms-btn-hover-color: var(--color-accent2);
    --cms-btn-hover-border: transparent;
}

.cms-btn--on-dark.cms-btn--filled {
    --cms-btn-bg: var(--color-accent);
    --cms-btn-border: var(--color-accent);
    --cms-btn-hover-bg: var(--color-accent2);
    --cms-btn-hover-border: var(--color-accent2);
}

.cms-btn--on-dark.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: rgba(255,255,255,.3);
    --cms-btn-hover-bg: #fff;
    --cms-btn-hover-color: var(--color-dark-bg);
    --cms-btn-hover-border: #fff;
}

.cms-btn--on-dark.cms-btn--ghost,
.cms-btn--on-dark.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: rgba(255,255,255,.86);
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: rgba(255,255,255,.1);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: transparent;
}

.cms-btn--on-accent.cms-btn--filled {
    --cms-btn-bg: #fff;
    --cms-btn-color: var(--color-accent);
    --cms-btn-border: #fff;
    --cms-btn-hover-bg: var(--color-accent3);
    --cms-btn-hover-color: #fff;
    --cms-btn-hover-border: var(--color-accent3);
}

.cms-btn--on-accent.cms-btn--outline {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: rgba(255,255,255,.4);
    --cms-btn-hover-bg: #fff;
    --cms-btn-hover-color: var(--color-accent);
    --cms-btn-hover-border: #fff;
}

.cms-btn--on-accent.cms-btn--ghost,
.cms-btn--on-accent.cms-btn--text {
    --cms-btn-bg: transparent;
    --cms-btn-color: #fff;
    --cms-btn-border: transparent;
    --cms-btn-hover-bg: rgba(255,255,255,.15);
    --cms-btn-hover-color: rgba(255,255,255,.78);
    --cms-btn-hover-border: transparent;
}

.cms-btn:hover {
    background: var(--cms-btn-hover-bg, var(--cms-btn-bg, var(--color-accent)));
    color: var(--cms-btn-hover-color, var(--cms-btn-color, #fff));
    border-color: var(--cms-btn-hover-border, var(--cms-btn-border, var(--color-accent)));
}

.cms-btn--text,
.cms-btn--textual {
    border-color: transparent;
    border-radius: 0;
    padding: 0;
}

.cms-btn--text:hover,
.cms-btn--textual:hover { text-decoration: underline; }

.cms-shell {
    margin: var(--cms-shell-margin, 0);
    border-radius: var(--cms-shell-radius, 18px);
    overflow: var(--cms-shell-overflow, hidden);
    border: 1px solid var(--cms-shell-border-color, var(--color-border));
    background: var(--cms-shell-bg, var(--color-bg));
    color: var(--cms-shell-color, var(--color-text));
    box-shadow: var(--cms-shell-shadow, none);
}

.cms-shell--section { --cms-shell-margin: 0 clamp(10px, 2vw, 15px) 24px; }

.cms-shell--header { --cms-shell-margin: 12px clamp(10px, 2vw, 15px) 24px; }

.cms-shell--hero { --cms-shell-margin: 0 clamp(10px, 2vw, 15px) 24px; }

.cms-shell--footer { --cms-shell-margin: 24px clamp(10px, 2vw, 15px) 15px; }

.cms-shell--bg-default {
    --cms-shell-bg: var(--color-bg);
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-alt {
    --cms-shell-bg: var(--color-bg-alt);
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-dark,
.cms-shell--bg-image {
    --cms-shell-bg: var(--color-dark-bg);
    --cms-shell-color: var(--color-dark-text);
    --cms-shell-border-color: rgba(255,255,255,.1);
}

.cms-shell--bg-accent,
.cms-shell--bg-accent2 {
    --cms-shell-bg: var(--color-accent);
    --cms-shell-color: #fff;
    --cms-shell-border-color: rgba(255,255,255,.14);
}

.cms-shell--bg-accent2 { --cms-shell-bg: var(--color-accent2, var(--color-accent)); }

.cms-shell--bg-accent3 {
    --cms-shell-bg: var(--color-accent-soft, var(--color-bg-alt));
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--bg-accent4 {
    --cms-shell-bg: var(--color-accent2-soft, var(--color-bg-alt));
    --cms-shell-color: var(--color-text);
    --cms-shell-border-color: var(--color-border);
}

.cms-shell--shadow-soft { --cms-shell-shadow: 0 18px 40px rgba(15,23,42,.06); }

.cms-shell--shadow-none { --cms-shell-shadow: none; }

.cms-shell--overflow-visible { --cms-shell-overflow: visible; }

.cms-shell--overflow-hidden { --cms-shell-overflow: hidden; }

.cms-shell--radius-sm { --cms-shell-radius: var(--radius-sm, 10px); }

.cms-shell--radius-md { --cms-shell-radius: var(--radius, 14px); }

.cms-shell--radius-lg { --cms-shell-radius: var(--radius-lg, 18px); }

.cms-shell--radius-xl { --cms-shell-radius: 28px; }

.cms-floating-badge {
    position: absolute;
}

.cms-floating-badge--animated {
    animation: cms-floating-badge-float 3s ease-in-out infinite;
}

.cms-floating-badge--tl { top: -16px; left: -12px; }

.cms-floating-badge--tr { top: -16px; right: -12px; }

.cms-floating-badge--bl { bottom: -16px; left: -12px; }

.cms-floating-badge--br { bottom: -16px; right: -12px; }

@keyframes cms-floating-badge-float {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Writer enrichment blocks */
.wbl-block {
    font-family: var(--font-body);
    color: var(--color-text);
    line-height: 1.65;
    margin: 2rem 0;
    box-sizing: border-box;
}

.wbl-block,
.wbl-block *,
.wbl-block *::before,
.wbl-block *::after {
    box-sizing: inherit;
}

.wbl-resume {
    background: color-mix(in srgb, var(--color-accent) 7%, #fff);
    border: 1px solid color-mix(in srgb, var(--color-accent) 18%, #fff);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius);
    padding: 1.4rem 1.5rem;
}

.wbl-resume__header {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1rem;
}

.wbl-resume__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--color-accent);
}

.wbl-resume__title {
    font-family: var(--font-heading);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0;
}

.wbl-resume__body ul {
    margin: 0;
    padding-left: 1.2rem;
    list-style: none;
}

.wbl-resume__body ul li {
    position: relative;
    margin: 0;
    padding: .38rem 0 .38rem .22rem;
    font-size: .98rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.wbl-resume__body ul li::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 1rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-accent);
}

.wbl-resume__body p {
    margin: 0;
    font-size: .98rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.wbl-short {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1rem 1.25rem;
}

.wbl-short__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    color: var(--color-accent);
}

.wbl-short__body {
    flex: 1;
    min-width: 0;
}

.wbl-short__label {
    display: block;
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-accent);
    margin-bottom: .2rem;
}

.wbl-short__body p {
    margin: 0;
    font-size: .95rem;
    color: var(--color-text-muted);
}

.wbl-paa {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
}

.wbl-paa__summary {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: 1rem 1.25rem;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background-color .15s ease;
}

.wbl-paa__summary::-webkit-details-marker {
    display: none;
}

.wbl-paa__summary::before {
    content: "";
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform .2s ease;
}

.wbl-paa[open] .wbl-paa__summary::before {
    transform: rotate(180deg);
}

.wbl-paa__summary:hover {
    background: var(--color-bg-alt);
}

.wbl-paa__summary:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.wbl-paa__answer {
    padding: 0 1.25rem 1.1rem calc(1.25rem + 20px + .65rem);
    border-top: 1px solid var(--color-border);
}

.wbl-paa__answer p {
    margin: .7rem 0 0;
    font-size: .95rem;
    color: var(--color-text-muted);
}

.wbl-faq {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 1.35rem;
}

.wbl-faq__title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 1rem;
}

.wbl-faq-item + .wbl-faq-item {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.wbl-faq-item__question {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 .45rem;
}

.wbl-faq-item__answer {
    margin: 0;
    font-size: .95rem;
    line-height: 1.7;
    color: var(--color-text-muted);
}

@media (max-width: 768px) {
    .wbl-resume,
    .wbl-short,
    .wbl-faq {
        padding: 1rem;
    }
    .wbl-paa__summary {
        padding: .95rem 1rem;
        font-size: .96rem;
    }
    .wbl-paa__answer {
        padding: 0 1rem 1rem calc(1rem + 20px + .65rem);
    }
}

@media (max-width: 767px) {
    .cms-hero-post-centered--left .cms-hero-post-centered__content {
        max-width: calc(100% - 24px);
        padding: 40px 12px 56px;
    }
    .cms-hero-post-centered--editorial .cms-hero-post-centered__title {
        font-size: clamp(30px, 9vw, 42px);
    }
}

/* Global flat icon contract: block icons are SVG, primary-colored, never raw text labels. */
.cms-fg-c3__media--icon,
.fg-cards3__icon,
.cms-fg-car__icon,
.fg-carousel__icon,
.cms-fg-alt__icon,
.fg-alt__icon,
.cms-fg-i2__icon,
.fg-icon2c__icon,
.cms-fg-li__icon,
.fg-listimg__icon,
.cms-fg-sa__icon,
.fg-svcalt__icon,
.cms-ti-list__icon,
.ti-list__icon,
.cms-ti-dsplit__item-icon,
.ti-dsplit__item-icon,
.cms-cb__icon-wrap,
.cms-cb__icon-lg,
.cb__icon-wrap,
.cb__icon-lg,
.cms-stats-cg__icon,
.stats-cg__icon,
.cms-stats-ca__icon,
.stats-ca__icon,
.cms-stats-bento__icon,
.bento__icon {
    color: var(--color-accent);
}

.cms-fg-c3__media--icon svg,
.fg-cards3__icon svg,
.cms-fg-car__icon svg,
.fg-carousel__icon svg,
.cms-fg-alt__icon svg,
.fg-alt__icon svg,
.cms-fg-i2__icon svg,
.fg-icon2c__icon svg,
.cms-fg-li__icon svg,
.fg-listimg__icon svg,
.cms-fg-sa__icon svg,
.fg-svcalt__icon svg,
.cms-ti-list__icon svg,
.ti-list__icon svg,
.cms-ti-dsplit__item-icon svg,
.ti-dsplit__item-icon svg,
.cms-cb__icon-wrap svg,
.cms-cb__icon-lg svg,
.cb__icon-wrap svg,
.cb__icon-lg svg,
.cms-stats-cg__icon svg,
.stats-cg__icon svg,
.cms-stats-ca__icon svg,
.stats-ca__icon svg,
.cms-stats-bento__icon svg,
.bento__icon svg,
.cms-steps-cs__badge svg,
.steps-cs__badge svg,
.steps-tl__dot svg,
.steps-ng__number svg,
.cms-steps-nl__number svg,
.steps-nl__number svg,
.cms-steps-pb__number svg {
    display: block;
    width: 1em;
    height: 1em;
}

.cms-fg-c3__media--icon svg,
.fg-cards3__icon svg,
.cms-fg-car__icon svg,
.fg-carousel__icon svg,
.cms-fg-alt__icon svg,
.fg-alt__icon svg {
    width: 22px;
    height: 22px;
}

/* JS Agency canonical mini-compare cards — 2026-05-06 */
.cms-content-mc {
    margin: 32px 0;
}

.cms-content-mc__shell {
    position: relative;
    padding: 0;
    border-left: 0;
}

.cms-content-mc__shell::before {
    content: none;
}

.cms-content-mc__head {
    position: relative;
    padding: 0 0 14px;
}

.cms-content-mc__eyebrow {
    display: block;
    margin: 0 0 8px;
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-mc__title {
    margin: 0 !important;
    font: 700 clamp(20px, 2.3vw, 25px)/1.15 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-mc__intro {
    margin: 10px 0 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-mc__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding-right: 0;
}

.cms-content-mc__card {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 14px;
    align-content: start;
    padding: 22px;
    border: 1px solid var(--color-border, var(--cms-border, #e2e8f0));
    border-radius: var(--radius-lg, var(--cms-radius-lg, 18px));
    background: var(--color-bg, var(--cms-bg, #fff));
    box-shadow: 0 16px 38px rgba(15, 23, 42, .06);
}

.cms-content-mc__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.cms-content-mc__label {
    margin: 0;
    font: 700 20px/1.22 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-mc__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    background: var(--color-accent, var(--cms-primary, #0f766e));
    color: #fff;
    font: 800 12px/1 var(--font-body, var(--cms-font, system-ui));
}

.cms-content-mc__points {
    display: grid;
    gap: 10px;
}

.cms-content-mc__line {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 11px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--color-border, var(--cms-border, #e2e8f0)) 82%, transparent);
}

.cms-content-mc__k {
    color: var(--color-accent, var(--cms-primary, #0f766e));
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cms-content-mc__v {
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
    font: 400 14px/1.62 var(--font-body, var(--cms-font, system-ui));
}

.cms-content-mc__v strong {
    color: var(--color-text, var(--cms-text, #1e293b));
    font-weight: 700;
}

@media (max-width: 760px) {
    .cms-content-mc__grid {
        grid-template-columns: 1fr;
    }
}

/* JS Agency mini-compare icon variant — 2026-05-06 */
.cms-content-mc__rank--icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* JS Agency canonical criteria-grid cards — 2026-05-06 */
.cms-content-cg {
    margin: 32px 0 38px;
}

.cms-content-cg__shell {
    position: relative;
}

.cms-content-cg__head {
    padding: 0 0 14px;
}

.cms-content-cg__eyebrow {
    display: block;
    margin: 0 0 8px;
    font: 700 10px/1.2 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-cg__title {
    margin: 0 !important;
    font: 700 clamp(20px, 2.3vw, 25px)/1.15 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-cg__intro {
    margin: 10px 0 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-cg__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.cms-content-cg__card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 20px;
    border: 1px solid var(--color-border, var(--cms-border, #e2e8f0));
    border-radius: var(--radius-lg, var(--cms-radius-lg, 18px));
    background: linear-gradient(180deg, color-mix(in srgb, var(--color-accent, var(--cms-primary, #0f766e)) 5%, var(--color-bg, var(--cms-bg, #fff)) 95%) 0%, var(--color-bg, var(--cms-bg, #fff)) 72%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
}

.cms-content-cg__card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--color-accent, var(--cms-primary, #0f766e));
}

.cms-content-cg__top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
}

.cms-content-cg__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 14px;
    background: var(--color-accent, var(--cms-primary, #0f766e));
    color: #fff;
}

.cms-content-cg__icon svg {
    width: 21px;
    height: 21px;
    display: block;
}

.cms-content-cg__badge {
    display: inline-flex;
    width: max-content;
    margin: 0 0 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent, var(--cms-primary, #0f766e)) 12%, transparent);
    color: var(--color-accent, var(--cms-primary, #0f766e));
    font: 700 10px/1 var(--font-body, var(--cms-font, system-ui));
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cms-content-cg__label {
    margin: 0 !important;
    font: 700 18px/1.25 var(--font-heading, var(--cms-font-heading, system-ui));
    color: var(--color-text, var(--cms-text, #1e293b));
}

.cms-content-cg__question,
.cms-content-cg__impact {
    margin: 0;
    font: 400 14px/1.65 var(--font-body, var(--cms-font, system-ui));
    color: var(--color-text-muted, var(--cms-text-light, #64748b));
}

.cms-content-cg__impact {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--color-border, var(--cms-border, #e2e8f0)) 78%, transparent);
}

.cms-content-cg__impact strong {
    color: var(--color-text, var(--cms-text, #1e293b));
}

@media (max-width: 760px) {
    .cms-content-cg__grid {
        grid-template-columns: 1fr;
    }
}

/* Service detail pages generated from Manager corporate service pages. */
.page-content .service-detail {
    max-width: var(--container, 1120px);
    margin: 0 auto;
    padding: clamp(36px, 6vw, 80px) 20px;
}

.page-content .service-detail + .service-detail {
    border-top: 1px solid color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.service-detail__eyebrow {
    display: inline-flex;
    margin: 0 0 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent) 12%, transparent);
    color: var(--color-accent);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-detail h2 {
    max-width: 860px;
    margin: 0 0 18px;
    color: var(--color-heading, var(--color-text));
    font-family: var(--font-heading);
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.08;
}

.service-detail p,
.service-detail li {
    max-width: 820px;
    color: var(--color-text-muted);
    font-size: clamp(1rem, 1.3vw, 1.1rem);
    line-height: 1.75;
}

.service-detail ul,
.service-detail ol {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding-left: 1.2rem;
}

.service-detail__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.service-detail__cards article {
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--color-accent) 14%, transparent);
    border-radius: var(--radius-lg, 18px);
    background: color-mix(in srgb, var(--color-accent) 6%, var(--color-bg));
}

.service-detail__cards strong,
.service-detail__cards span {
    display: block;
}

.service-detail__cards strong {
    margin-bottom: 8px;
    color: var(--color-heading, var(--color-text));
}

.service-detail details {
    max-width: 860px;
    padding: 18px 0;
    border-bottom: 1px solid var(--color-border, rgba(0,0,0,.12));
}

.service-detail summary {
    cursor: pointer;
    color: var(--color-heading, var(--color-text));
    font-weight: 700;
}

.service-detail__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 14px 22px;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-accent-contrast, #fff);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 760px) {
    .service-detail__cards {
        grid-template-columns: 1fr;
    }
}

/* JS Agency canonical audience-fit split block — 2026-05-06 */
.cms-content-af {
    margin: 30px 0 36px;
}

.cms-content-af__shell {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--color-border, rgba(15, 23, 42, .12));
    border-radius: var(--radius-lg, 22px);
    background: var(--color-bg-alt, #f8fafc);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
}

.cms-content-af__media {
    position: relative;
    flex: 0 0 clamp(240px, 32%, 330px);
    width: clamp(240px, 32%, 330px);
    min-width: 240px;
    min-height: 360px;
    overflow: hidden;
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 22%, #111827 78%), #0f172a);
}

.cms-content-af__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .34));
}

.cms-content-af__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center center;
    vertical-align: top;
}

.cms-content-af__media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 360px;
    background:
        radial-gradient(circle at 28% 26%, color-mix(in srgb, var(--color-accent, #0f766e) 52%, transparent) 0 18%, transparent 19%),
        linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 20%, #111827 80%), #0f172a);
}

.cms-content-af__body {
    flex: 1 1 auto;
    min-width: 0;
    padding: clamp(22px, 3.5vw, 34px);
}

.cms-content-af__eyebrow {
    display: block;
    margin: 0 0 9px;
    color: var(--color-accent, #0f766e);
    font: 800 10px/1.2 var(--font-body, sans-serif);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-af__title {
    margin: 0 !important;
    color: var(--color-text, #0f172a);
    font: 800 clamp(20px, 2.2vw, 27px)/1.12 var(--font-heading, sans-serif);
}

.cms-content-af__intro {
    max-width: 62ch;
    margin: 12px 0 0;
    color: var(--color-text-muted, #64748b);
    font: 400 13.5px/1.62 var(--font-body, sans-serif);
}

.cms-content-af__list {
    display: grid;
    gap: 10px;
    margin: 19px 0 0;
}

.cms-content-af__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 13px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 82%, transparent);
}

.cms-content-af__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    color: #fff;
    background: var(--color-accent, #0f766e);
    font: 800 11px/1 var(--font-body, sans-serif);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--color-accent, #0f766e) 24%, transparent);
}

.cms-content-af__badge {
    display: inline-flex;
    width: max-content;
    margin: 0 0 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent);
    color: var(--color-accent, #0f766e);
    font: 800 9px/1 var(--font-body, sans-serif);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cms-content-af__label {
    margin: 0 !important;
    color: var(--color-text, #0f172a);
    font: 750 16px/1.28 var(--font-heading, sans-serif);
}

.cms-content-af__note {
    margin: 6px 0 0;
    color: var(--color-text-muted, #64748b);
    font: 400 13px/1.54 var(--font-body, sans-serif);
}

@media (max-width: 820px) {
    .cms-content-af__shell {
        display: block;
    }
    .cms-content-af__media {
        width: 100%;
        min-width: 0;
        min-height: 240px;
        aspect-ratio: 16 / 9;
    }
    .cms-content-af__media img,
    .cms-content-af__media-placeholder {
        min-height: 240px;
        height: 240px;
    }
}

.cms-steps-stack {
    position: relative;
}

.cms-steps-stack__item {
    position: sticky;
    top: 80px;
    z-index: 1;
    margin-bottom: 40px;
}

.cms-steps-stack__item--offset-1 { top: 100px; z-index: 2; }

.cms-steps-stack__item--offset-2 { top: 120px; z-index: 3; }

.cms-steps-stack__item--offset-3 { top: 140px; z-index: 4; }

.cms-steps-stack__item--offset-4 { top: 160px; z-index: 5; }

.cms-steps-stack__item--offset-5 { top: 180px; z-index: 6; }

.cms-steps-stack__card {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: var(--shadow-lg);
}

.cms-steps-stack__card--with-image { flex-wrap: wrap; }

.cms-steps-stack--dark .cms-steps-stack__card {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.06);
}

.cms-steps-stack__badge {
    display: flex;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
}

.cms-steps-stack__badge svg {
    width: 1em;
    height: 1em;
}

.cms-steps-stack__body {
    flex: 1;
    min-width: 200px;
}

.cms-steps-stack__title {
    margin: 0 0 8px;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
    line-height: 1.3;
}

.cms-steps-stack__desc {
    margin: 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
}

.cms-steps-stack--dark .cms-steps-stack__title { color: var(--color-dark-text); }

.cms-steps-stack--dark .cms-steps-stack__desc { color: var(--color-dark-text-muted); }

.cms-steps-stack__media {
    flex: 0 0 clamp(150px, 30%, 250px);
    overflow: hidden;
    border-radius: var(--radius);
}

.cms-steps-stack__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.cms-steps-stack__spacer--1 { height: 20px; }

.cms-steps-stack__spacer--2 { height: 40px; }

.cms-steps-stack__spacer--3 { height: 60px; }

.cms-steps-stack__spacer--4 { height: 80px; }

.cms-steps-stack__spacer--5 { height: 100px; }

@media (max-width: 768px) {
    .cms-steps-stack__item {
        position: relative !important;
        top: auto !important;
    }
}

/* JS Agency post component readability tuning — 2026-05-06 */
.article-content .cms-summary,
.prose .cms-summary,
.article-content .cms-faq,
.prose .cms-faq,
.article-content .cms-content-mc,
.prose .cms-content-mc,
.article-content .cms-content-cg,
.prose .cms-content-cg,
.article-content .cms-content-pp,
.prose .cms-content-pp,
.article-content .cms-content-vb,
.prose .cms-content-vb {
    font-size: 0.94rem;
}

.article-content .cms-summary__list li,
.prose .cms-summary__list li {
    font-size: 0.94rem;
    line-height: 1.62;
}

.article-content .cms-faq__question,
.prose .cms-faq__question {
    font-size: 0.98rem;
    line-height: 1.42;
}

.article-content .cms-faq__answer,
.prose .cms-faq__answer {
    font-size: 0.92rem;
    line-height: 1.65;
}

.cms-content-mc__card,
.cms-content-cg__card,
.cms-content-pp__card {
    min-height: 0;
}

.cms-content-mc__label { font-size: 18px; }

.cms-content-mc__v,
.cms-content-cg__question,
.cms-content-cg__impact,
.cms-content-pp__text { font-size: 13.25px; }

.cms-content-cg__label,
.cms-content-pp__label { font-size: 16.5px; }

.cms-content-vb {
    margin: 34px 0 46px;
    min-height: clamp(250px, 30vw, 390px);
    align-items: end;
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--color-accent, #0f766e) 20%, transparent) 0 14%, transparent 15%),
        linear-gradient(135deg, var(--color-bg-alt, #f8fafc), color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg, #fff)));
    color: var(--color-text, #0f172a);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.cms-content-vb--accent,
.cms-content-vb--dark,
.cms-content-vb--light {
    color: var(--color-text, #0f172a);
}

.cms-content-vb__visual {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 14%, transparent), transparent 48%),
        repeating-linear-gradient(-35deg, color-mix(in srgb, var(--color-accent, #0f766e) 12%, transparent) 0 2px, transparent 2px 13px);
    opacity: .95;
}

.cms-content-vb__visual::after {
    background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 46%, rgba(255,255,255,.18) 100%);
}

.cms-content-vb__img {
    filter: saturate(.9) contrast(.98) brightness(.96);
}

.cms-content-vb--with-image .cms-content-vb__eyebrow,
.cms-content-vb--accent .cms-content-vb__eyebrow,
.cms-content-vb__eyebrow {
    color: var(--color-accent, #0f766e);
}

.cms-content-vb__title {
    max-width: 680px;
    color: var(--color-text, #0f172a);
    font-size: clamp(22px, 2.7vw, 34px);
}

.cms-content-vb__text {
    max-width: 620px;
    color: var(--color-text-muted, #64748b);
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.65;
}

.cms-content-vb.cms-content-vb--with-image,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--accent,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--dark,
.cms-content-vb.cms-content-vb--with-image.cms-content-vb--light {
    color: #fff;
    background: #0f172a;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__visual::after {
    background: linear-gradient(180deg, rgba(8,13,24,.10), rgba(8,13,24,.58));
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: cover;
    filter: saturate(.98) contrast(1.03) brightness(.76);
    transform: scale(1.012);
    transform-origin: center;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__eyebrow {
    color: var(--color-accent2-soft, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 26%, white 74%));
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__title {
    color: #fff;
}

.cms-content-vb.cms-content-vb--with-image .cms-content-vb__text {
    color: var(--color-accent2-soft, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 22%, white 78%));
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__eyebrow {
    color: rgba(255,255,255,.80);
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__title {
    color: #fff;
}

.cms-content-vb--accent:not(.cms-content-vb--with-image) .cms-content-vb__text {
    color: rgba(255,255,255,.86);
}

.cms-content-vb:not(.cms-content-vb--with-image) {
    min-height: auto;
    align-items: start;
}

.cms-content-icg {
    margin: 40px 0;
}

.cms-content-icg__head {
    max-width: 760px;
    margin: 0 0 18px;
}

.cms-content-icg__eyebrow {
    display: inline-flex;
    margin: 0 0 9px;
    color: var(--color-accent);
    font: 800 10px/1.2 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cms-content-icg__title {
    margin: 0 !important;
    color: var(--color-text);
    font: 800 clamp(22px, 2.5vw, 30px)/1.12 var(--font-heading);
    letter-spacing: -.02em;
}

.cms-content-icg__intro {
    margin: 10px 0 0;
    color: var(--color-text-muted);
    font: 400 14px/1.65 var(--font-body);
}

.cms-content-icg__grid {
    display: grid;
    gap: 18px;
}

.cms-content-icg--cols-2 .cms-content-icg__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-content-icg--cols-3 .cms-content-icg__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-content-icg--carousel .cms-content-icg__grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(260px, 32%);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    padding-bottom: 8px;
}

.cms-content-icg__card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-accent) 18%);
    border-radius: var(--radius-lg);
    background: var(--color-bg);
    box-shadow: 0 12px 28px rgba(15,23,42,.055);
    scroll-snap-align: start;
}

.cms-content-icg__image,
.cms-content-icg__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    height: clamp(178px, 18vw, 232px);
    border-radius: 0 !important;
    margin: 0 !important;
}

.cms-content-icg__image {
    object-fit: cover;
}

.cms-content-icg__placeholder {
    background:
        radial-gradient(circle at 24% 22%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 34%),
        linear-gradient(135deg, var(--color-bg-alt), color-mix(in srgb, var(--color-accent) 8%, var(--color-bg)));
}

.cms-content-icg__body {
    padding: clamp(16px, 2vw, 22px);
}

.cms-content-icg__link {
    color: inherit;
    text-decoration: none;
}

.cms-content-icg__item-title {
    margin: 0 0 8px !important;
    color: var(--color-text);
    font: 800 17px/1.28 var(--font-heading);
}

.cms-content-icg__text {
    margin: 0;
    color: var(--color-text-muted);
    font: 400 13.5px/1.6 var(--font-body);
}

.cms-content-icg__cta {
    display: inline-flex;
    margin-top: 13px;
    color: var(--color-accent);
    font: 800 12px/1 var(--font-body);
    text-decoration: none;
}

@media (max-width: 760px) {
    .cms-content-icg--cols-2 .cms-content-icg__grid,
    .cms-content-icg--cols-3 .cms-content-icg__grid {
        grid-template-columns: 1fr;
    }
    .cms-content-icg--carousel .cms-content-icg__grid {
        grid-auto-columns: minmax(240px, 84%);
    }
}

.cms-post-card:hover .cms-post-card__title-link,
.cms-generic-card:hover .cms-generic-card__title,
.cms-bl-ff__grid :is(.bl__card--vertical, .cms-post-card--vertical, .cms-generic-card--vertical):hover :is(h2, h3, h4, h5, h6) a {
    color: var(--color-text, #0f172a) !important;
}

.cms-post-card__title-link:hover,
.cms-generic-card__title a:hover {
    color: var(--color-text, #0f172a) !important;
    text-decoration-color: color-mix(in srgb, var(--color-accent, #0f766e) 45%, transparent);
}

.cms-post-card--overlay:hover .cms-post-card__title-link,
.cms-post-card--overlay .cms-post-card__title-link:hover,
.cms-generic-card--overlay:hover .cms-generic-card__title,
.cms-bl-card--overlay:hover .cms-bl-card__title {
    color: var(--color-accent2, rgba(255,255,255,.86)) !important;
}

/* Legacy imported post blocks — match current summary/FAQ components */
.bloc_resume_post,
.cms-block.cms-summary {
    border: none;
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    padding: 24px;
    margin: 32px 0;
    box-shadow: none;
}

.cms-pc-std__content .bloc_resume_post_title,
.article-content .bloc_resume_post_title,
.prose .bloc_resume_post_title,
.post-content .bloc_resume_post_title,
.bloc_resume_post_title,
.cms-summary__title,
.bloc_resume_post h2 {
    line-height: var(--cms-pc-std-line-height, 1.5);
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.bloc_resume_post_list,
.bloc_resume_post ul,
.cms-summary__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bloc_resume_post_list li,
.bloc_resume_post li,
.cms-summary__list li {
    position: relative;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
    font: 400 14px/1.6 var(--font-body);
    color: var(--color-text);
}

.bloc_resume_post_list li::marker,
.bloc_resume_post li::marker,
.cms-summary__list li::marker { content: ""; }

.bloc_resume_post_list li::before,
.bloc_resume_post li::before,
.cms-summary__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-accent);
    font-weight: 700;
}

.faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
}

.faq-item {
    margin: 0 !important;
    padding: 14px 0;
    border-bottom: 1px solid var(--color-border);
    background: transparent !important;
}

.faq-item:first-child { padding-top: 0; }

.faq-item:last-child { padding-bottom: 0; border-bottom: 0; }

.faq-question,
.bloc_resume_post h4,
.cms-block.cms-faq .cms-faq__question {
    margin: 0 0 7px !important;
    font: 600 15px/1.5 var(--font-body);
    color: var(--color-text);
}

.faq-answer,
.cms-block.cms-faq .cms-faq__answer {
    margin: 0 !important;
    font: 400 14px/1.7 var(--font-body);
    color: var(--color-text-muted);
}

.short_bloc {
    margin: 28px 0;
    padding: 16px 20px;
    border: 0;
    border-left: 3px solid var(--color-accent);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.short_bloc_title {
    display: block;
    margin: 0 0 10px;
    font: 700 10px/1.2 var(--font-body);
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent);
}

@media (max-width: 768px) {
    .bloc_resume_post,
    .cms-block.cms-summary {
        padding: 20px;
        border-radius: var(--radius);
    }
}

/* Utility/legal pages */
.cms-utility-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--color-accent) 28%, transparent) 0, transparent 34%),
        linear-gradient(135deg, var(--color-dark-bg, #101820) 0%, color-mix(in srgb, var(--color-dark-bg, #101820) 86%, #000) 100%);
    color: var(--color-dark-text, #fff);
    padding: clamp(110px, 14vw, 180px) 0 clamp(58px, 8vw, 96px);
    margin: 0 0 clamp(44px, 6vw, 72px);
}

.cms-utility-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -45% 42%;
    height: 70%;
    background: radial-gradient(circle, color-mix(in srgb, var(--color-accent2, var(--color-accent)) 20%, transparent), transparent 68%);
    pointer-events: none;
}

.cms-utility-hero__inner {
    position: relative;
    z-index: 1;
    width: min(var(--container, 1180px), calc(100% - 40px));
    margin: 0 auto;
}

.cms-utility-hero__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--color-accent) 72%, #fff);
}

.cms-utility-hero__title {
    max-width: 900px;
    margin: 18px 0 14px;
    font-family: var(--font-heading);
    font-size: clamp(2.35rem, 5vw, 4.8rem);
    line-height: .98;
    font-weight: 760;
    color: var(--color-dark-text, #fff);
}

.cms-utility-hero__subtitle {
    max-width: 760px;
    margin: 0;
    font: 400 clamp(1rem, 1.6vw, 1.15rem)/1.8 var(--font-body);
    color: var(--color-dark-text-muted, rgba(255,255,255,.74));
}

/* ---------------------------------------------------------------------------
   Hotfix 2026-05-08 — Visual banner + decision/profile blocks specificity
   --------------------------------------------------------------------------- */
.cms-content-vb__visual {
    line-height: 0;
    overflow: hidden;
    display: block;
}

.cms-content-vb__img {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.cms-content-vb--with-image .cms-content-vb__title,
.cms-content-vb--with-image .cms-content-vb__text {
    color: #fff !important;
}

.cms-content-vb--with-image {
    min-height: clamp(220px, 28vw, 340px) !important;
}

.post-content h4.cms-content-ds__card-title,
.post-content h4.cms-content-pp__label {
    margin-top: 14px !important;
}

.cms-content-pp__card {
    min-height: auto !important;
}

.cms-content-clp__item {
    line-height: 1.3 !important;
}

/* ---------------------------------------------------------------------------
   OL badge 2026-05-08 — Ordered lists in editorial content
   --------------------------------------------------------------------------- */
.article-content ol, .prose ol, .post-content ol, .cms-pc-std__content ol { list-style:none !important; padding-left:0px; margin:1rem 0; counter-reset:cms-ordered-list; }

.article-content ol > li, .prose ol > li, .post-content ol > li, .cms-pc-std__content ol > li { list-style:none !important; position:relative; margin:.7rem 0; padding:.85rem 1rem .85rem 3rem; border:1px solid color-mix(in srgb,var(--color-accent,var(--cms-accent,#D97706)) 22%,var(--color-border,#E7E5E4)); border-radius:12px; background:color-mix(in srgb,var(--color-bg-alt,#F8F7F4) 84%,white 16%); line-height:1.65; counter-increment:cms-ordered-list; }

.article-content ol > li::marker, .prose ol > li::marker, .post-content ol > li::marker, .cms-pc-std__content ol > li::marker { content:none; }

.article-content ol > li::before, .prose ol > li::before, .post-content ol > li::before, .cms-pc-std__content ol > li::before { content:counter(cms-ordered-list); position:absolute; left:.85rem; top:.85rem; width:1.6rem; height:1.6rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; line-height:1; color:#fff; background:var(--color-accent,var(--cms-accent,#D97706)); box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent,var(--cms-accent,#D97706)) 30%,transparent); }

.article-content ol ol, .prose ol ol, .post-content ol ol, .cms-pc-std__content ol ol { list-style:decimal; counter-reset:none; padding-left:1.4rem; margin:.5rem 0 .25rem; }

.article-content ol ol > li, .prose ol ol > li, .post-content ol ol > li, .cms-pc-std__content ol ol > li { border:0; background:transparent; border-radius:0; padding:0; margin:.35rem 0; counter-increment:none; }

.article-content ol ol > li::before, .prose ol ol > li::before, .post-content ol ol > li::before, .cms-pc-std__content ol ol > li::before { content:none; }

/* Hotfix 2026-05-08 — pc-std heading spacing consistency */
.cms-pc-std__content :is(h2,h3,h4) { margin-top: 22px; }

.cms-pc-std__content h2 { margin-top: 22px; }

.cms-pc-std__content h3 { margin-top: 22px; }

.cms-pc-std__content h4 { margin-top: 22px; }

.cms-pc-std__content h2:first-child { margin-top: 0; }

/* Hotfix 2026-05-08d — section-focus icon/title vertical alignment */
.cms-content-sf__head-row {
  align-items: center !important;
}

.cms-content-sf__title,
.cms-content-sf__head-row h3 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center;
}

/* Hotfix 2026-05-08e — consent video embed sizing */
.cms-content-video__embed.cms-consent-embed {
  position: relative;
  height: 0 !important;
  min-height: 0 !important;
  padding-bottom: 56.25% !important;
  overflow: hidden;
}

.cms-content-video__embed .cms-consent-embed__placeholder,
.cms-content-video__embed .cms-content-video__placeholder {
  position: absolute;
  inset: 0;
  min-height: 0 !important;
}

.cms-content-video__thumb {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 0 !important;
  opacity: .72;
  filter: saturate(1.05) contrast(1.02);
}

.cms-content-video__placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, .26));
  pointer-events: none;
}

.cms-content-video__placeholder .cms-consent-embed__panel {
  position: relative;
  z-index: 1;
}

.cms-content-video__embed iframe,
.cms-content-video__embed iframe.cms-consent-frame--fill,
.cms-content-video__embed iframe.cms-consent-frame--cover {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

/* Section focus keeps native bullet lists readable inside transformed case cards. */
.cms-content-sf__content ul { list-style: disc; padding-left: 1.25rem !important; margin: .65rem 0 .9rem; }

.cms-content-sf__content ul li { list-style: disc; padding-left: 0; margin: .35rem 0; }

.cms-content-sf__content ol { margin: .65rem 0 .9rem; }

/* Formula highlight — auto-emphasis for calculation paragraphs in article flow */
.post-content p.cms-formula-highlight,
.article-content p.cms-formula-highlight,
.cms-pc-std__content p.cms-formula-highlight {
    position: relative;
    margin: 1rem 0 1.1rem;
    padding: .85rem 1rem .85rem 1.1rem;
    border-left: 4px solid var(--color-accent, var(--cms-accent, #D97706));
    border-radius: 0 var(--radius-md, 12px) var(--radius-md, 12px) 0;
    background: color-mix(in srgb, var(--color-bg-alt, #F8FAFC) 78%, white 22%);
    color: var(--color-text, #1e293b);
    font-weight: 600;
    line-height: 1.62;
}

/* Decision strip harmonization 2026-05-18 */
.cms-content-ds--image_list {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.cms-content-ds--image_list .cms-content-ds__eyebrow,
.cms-content-ds--grid_image_card .cms-content-ds__eyebrow {
    display: none;
}

.cms-content-ds--grid_image_card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.cms-content-ds--image_list .cms-content-ds__grid { grid-template-columns: 1fr; }

.cms-content-ds--image_list .cms-content-ds__card {
    display: grid;
    grid-template-columns: minmax(220px, 42%) 1fr;
    align-items: center;
    gap: 24px;
    padding: 14px;
    background: var(--color-bg-alt);
    border-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-border));
}

.cms-content-ds--grid_image_card .cms-content-ds__card:not(.cms-content-ds__card--image) {
    background: var(--color-bg-alt);
    border-color: color-mix(in srgb, var(--color-accent) 12%, var(--color-border));
}

.cms-content-ds__body { display: flex; flex-direction: column; }

.cms-content-ds--image_list .cms-content-ds__num { margin-bottom: 10px; }

.cms-content-ds--image_list .cms-content-ds__card-title { margin: 0 0 12px; }

.cms-content-ds--image_list .cms-content-ds__text { margin: 0; }

.cms-content-ds--image_list .cms-content-ds__image {
    min-height: 190px;
    max-height: 240px;
}

@media (max-width: 820px) {
    .cms-content-ds--image_list .cms-content-ds__card { grid-template-columns: 1fr; }
}

/* PRE_LIGHT_STYLE_V1 */
.post-content pre,
.article-content pre,
.prose pre {
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-x: auto;
}

.post-content pre code,
.article-content pre code,
.prose pre code {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background: transparent;
  padding: 0;
}

/* ICG_FULLWIDTH_OVER_2_V1 */
.cms-content-icg--cols-1 .cms-content-icg__grid {
  grid-template-columns: 1fr !important;
}

/* Editorial synthesis components 2026-05-22 */
.cms-content-info,
.cms-content-cpanel,
.cms-content-stat {
  margin: clamp(24px, 4vw, 42px) 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb));
  border-radius: var(--radius-lg, 22px);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}

.cms-content-info__head,
.cms-content-cpanel__head,
.cms-content-stat__head {
  max-width: 760px;
  margin-bottom: 18px;
}

.cms-content-info__eyebrow,
.cms-content-cpanel__eyebrow,
.cms-content-stat__eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--color-accent, #0f766e);
  font: 900 11px/1 var(--font-body);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cms-content-info__title,
.cms-content-cpanel__title,
.cms-content-stat__title {
  margin: 0 !important;
  color: var(--color-text, #0f172a);
  font: 850 clamp(22px, 3vw, 32px)/1.08 var(--font-heading);
}

.cms-content-info__intro,
.cms-content-cpanel__intro,
.cms-content-stat__intro {
  margin: 10px 0 0;
  color: var(--color-text-muted, #64748b);
  font: 400 15px/1.65 var(--font-body);
}

.cms-content-info__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.cms-content-info--cols-2 .cms-content-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cms-content-info--cols-4 .cms-content-info__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cms-content-info__card {
  position: relative;
  overflow: hidden;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-border, #e5e7eb));
  border-radius: var(--radius-md, 16px);
  background: color-mix(in srgb, var(--color-bg, #fff) 88%, var(--color-accent, #0f766e) 4%);
}

.cms-content-info__img {
  display: block;
  width: calc(100% + 32px) !important;
  max-width: none !important;
  height: 150px !important;
  margin: -16px -16px 14px !important;
  object-fit: cover;
  border-radius: var(--radius-md, 16px) var(--radius-md, 16px) 0 0;
}

.cms-content-info__top,
.cms-content-cpanel__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cms-content-info__icon,
.cms-content-cpanel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--color-accent, #0f766e);
  background: color-mix(in srgb, var(--color-accent, #0f766e) 12%, var(--color-bg, #fff));
}

.cms-content-info__icon svg,
.cms-content-cpanel__icon svg {
  width: 17px;
  height: 17px;
}

.cms-content-info__badge,
.cms-content-cpanel__tag {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--color-text, #0f172a);
  background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg, #fff));
  font: 850 10px/1 var(--font-body);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cms-content-info__item-title,
.cms-content-cpanel__label {
  margin: 12px 0 7px !important;
  color: var(--color-text, #0f172a);
  font: 850 17px/1.22 var(--font-heading);
}

.cms-content-info__text,
.cms-content-cpanel__note,
.cms-content-cpanel__value {
  margin: 0;
  color: var(--color-text-muted, #64748b);
  font: 400 14px/1.58 var(--font-body);
}

.cms-content-cpanel__list {
  display: grid;
  gap: 10px;
}

.cms-content-cpanel__row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: var(--radius-md, 16px);
  background: var(--color-bg, #fff);
}

.cms-content-cpanel__label {
  margin: 0 !important;
}

.cms-content-cpanel__value {
  margin-top: 8px;
  color: var(--color-text, #0f172a);
  font-weight: 750;
}

.cms-content-cpanel__note {
  margin-top: 5px;
}

.cms-content-stat {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
  gap: clamp(18px, 3vw, 28px);
  align-items: stretch;
}

.cms-content-stat--media-right {
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
}

.cms-content-stat--media-right .cms-content-stat__media {
  order: 2;
}

.cms-content-stat--grid {
  display: block;
}

.cms-content-stat--grid .cms-content-stat__head {
  max-width: 880px;
}

.cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__grid {
  grid-template-columns: 1fr;
}

.cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__card {
  display: grid;
  grid-template-columns: minmax(130px, .28fr) minmax(0, .34fr) minmax(0, .7fr);
  gap: 16px;
  align-items: center;
  padding: clamp(18px, 3vw, 24px);
}

.cms-content-stat__media {
  margin: 0;
  overflow: hidden;
  min-height: 240px;
  border-radius: var(--radius-lg, 22px);
}

.cms-content-stat__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin: 0 !important;
}

.cms-content-stat__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cms-content-stat__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cms-content-stat--cols-1 .cms-content-stat__grid { grid-template-columns: 1fr; }

.cms-content-stat--cols-3 .cms-content-stat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cms-content-stat--cols-4 .cms-content-stat__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cms-content-stat__card {
  padding: 16px;
  border-radius: var(--radius-md, 16px);
  background: var(--color-bg, #fff);
}

.cms-content-stat__value {
  display: block;
  color: var(--color-accent, #0f766e);
  font: 900 clamp(24px, 3vw, 34px)/.98 var(--font-heading);
  letter-spacing: -.035em;
}

.cms-content-stat__value--long {
  font-size: clamp(21px, 2.4vw, 28px);
  letter-spacing: -.025em;
}

.cms-content-stat__label {
  display: block;
  margin-top: 7px;
  color: var(--color-text, #0f172a);
  font: 850 14px/1.25 var(--font-heading);
}

.cms-content-stat__detail {
  margin: 8px 0 0;
  color: var(--color-text-muted, #64748b);
  font: 400 13px/1.5 var(--font-body);
}

@media (max-width: 900px) {
  .cms-content-info__grid,
  .cms-content-info--cols-2 .cms-content-info__grid,
  .cms-content-info--cols-4 .cms-content-info__grid,
  .cms-content-stat,
  .cms-content-stat--media-right,
  .cms-content-stat__grid,
  .cms-content-stat--cols-3 .cms-content-stat__grid,
  .cms-content-stat--cols-4 .cms-content-stat__grid {
    grid-template-columns: 1fr;
  }
  .cms-content-stat--media-right .cms-content-stat__media {
    order: 0;
  }
  .cms-content-stat--grid.cms-content-stat--cols-1 .cms-content-stat__card {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* ARTICLE_COMPONENT_COMPACT_FINAL_20260522: final cascade pass for compact writer components */
.cms-pc-std__content :is(.cms-content-sum,.cms-content-faq,.cms-content-clp,.cms-content-scen,.cms-content-src,.cms-content-af,.cms-content-info,.cms-content-cpanel,.cms-content-stat,.cms-content-mc,.cms-content-cg,.cms-content-ds,.cms-content-pp,.cms-content-table,.cms-inline-accent){margin-top:24px;margin-bottom:24px}

.cms-pc-std__content :is(.cms-content-sum,.cms-content-faq,.cms-content-clp,.cms-content-scen,.cms-content-src,.cms-content-info,.cms-content-cpanel,.cms-content-stat){padding:clamp(16px,2.2vw,22px)}

.cms-pc-std__content :is(.cms-content-af__shell,.cms-content-mc__shell,.cms-content-cg__shell){padding:16px 0 16px 16px}

.cms-pc-std__content :is(.cms-content-sum__list,.cms-content-clp__list,.cms-content-src__list,.cms-content-cpanel__list){gap:7px}

.cms-pc-std__content :is(.cms-content-scen__grid,.cms-content-af__list,.cms-content-info__grid,.cms-content-stat__grid,.cms-content-mc__grid,.cms-content-cg__grid,.cms-content-ds__grid,.cms-content-pp__grid){gap:10px}

.cms-pc-std__content :is(.cms-content-scen__card,.cms-content-af__item,.cms-content-info__card,.cms-content-stat__card,.cms-content-mc__card,.cms-content-cg__card,.cms-content-ds__card,.cms-content-pp__card){padding:13px 14px}

.cms-pc-std__content :is(.cms-content-sum__eyebrow,.cms-content-faq__eyebrow,.cms-content-clp__eyebrow,.cms-content-scen__eyebrow,.cms-content-src__eyebrow,.cms-content-af__eyebrow,.cms-content-info__eyebrow,.cms-content-cpanel__eyebrow,.cms-content-stat__eyebrow,.cms-content-mc__eyebrow,.cms-content-cg__eyebrow,.cms-content-ds__eyebrow,.cms-content-pp__eyebrow){margin-bottom:8px;font-size:10px;line-height:1.2}

.cms-pc-std__content :is(.cms-content-clp__title,.cms-content-scen__title,.cms-content-src__title,.cms-content-af__title,.cms-content-info__title,.cms-content-cpanel__title,.cms-content-stat__title,.cms-content-mc__title,.cms-content-cg__title,.cms-content-ds__title,.cms-content-pp__title){font-size:clamp(18px,2.25vw,24px);line-height:1.16}

.cms-pc-std__content :is(.cms-content-clp__intro,.cms-content-scen__intro,.cms-content-src__intro,.cms-content-af__intro,.cms-content-info__intro,.cms-content-cpanel__intro,.cms-content-stat__intro,.cms-content-mc__intro,.cms-content-cg__intro,.cms-content-pp__intro){margin-top:8px;font-size:13.5px;line-height:1.55}

.cms-pc-std__content :is(.cms-content-sum__item,.cms-content-clp__item,.cms-content-src__item,.cms-content-faq__answer-inner,.cms-content-scen__context,.cms-content-scen__line,.cms-content-scen__warning,.cms-content-af__note,.cms-content-info__text,.cms-content-cpanel__note,.cms-content-cpanel__value,.cms-content-mc__v,.cms-content-cg__question,.cms-content-cg__impact,.cms-content-ds__text,.cms-content-pp__text){font-size:13.25px;line-height:1.52}

.cms-pc-std__content .cms-content-faq__trigger{padding:11px 0}

.cms-pc-std__content :is(.cms-content-faq__question,.cms-content-scen__card-title,.cms-content-af__label,.cms-content-info__item-title,.cms-content-cpanel__label,.cms-content-mc__label,.cms-content-cg__label,.cms-content-ds__card-title,.cms-content-pp__label){font-size:15px;line-height:1.3}

.cms-pc-std__content .cms-inline-accent{padding:14px 16px}

.cms-pc-std__content .cms-inline-accent__content{font-size:13.5px;line-height:1.55}

.cms-pc-std__content .cms-content-table__table :is(th,td){padding:10px 13px;font-size:13px}

/* RAW_ARTICLE_TABLE_READING_PASS_20260529: native article tables keep a compact, readable card style after CSS restores. */
.cms-pc-std__content table:not(.cms-content-table__table),
.article-content table:not(.cms-content-table__table),
.prose table:not(.cms-content-table__table),
.post-content table:not(.cms-content-table__table) {
  margin: 22px 0 !important;
  border: 1px solid color-mix(in srgb, var(--color-border, #e5e7eb) 88%, var(--color-accent, #0f766e) 12%) !important;
  border-radius: 16px !important;
  border-spacing: 0 !important;
  border-collapse: separate !important;
  background: var(--color-bg, #fff) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
  scrollbar-color: color-mix(in srgb, var(--color-accent, #0f766e) 48%, #94a3b8 52%) transparent !important;
}

.cms-pc-std__content table:not(.cms-content-table__table)::-webkit-scrollbar,
.article-content table:not(.cms-content-table__table)::-webkit-scrollbar,
.prose table:not(.cms-content-table__table)::-webkit-scrollbar,
.post-content table:not(.cms-content-table__table)::-webkit-scrollbar {
  height: 9px;
}

.cms-pc-std__content table:not(.cms-content-table__table)::-webkit-scrollbar-thumb,
.article-content table:not(.cms-content-table__table)::-webkit-scrollbar-thumb,
.prose table:not(.cms-content-table__table)::-webkit-scrollbar-thumb,
.post-content table:not(.cms-content-table__table)::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 52%, #94a3b8 48%);
  background-clip: padding-box;
}

.cms-pc-std__content table:not(.cms-content-table__table) :is(th, td),
.article-content table:not(.cms-content-table__table) :is(th, td),
.prose table:not(.cms-content-table__table) :is(th, td),
.post-content table:not(.cms-content-table__table) :is(th, td) {
  padding: 10px 13px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  border-right: 1px solid color-mix(in srgb, var(--color-border, #e5e7eb) 74%, transparent) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border, #e5e7eb) 82%, transparent) !important;
  vertical-align: top !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) th,
.article-content table:not(.cms-content-table__table) th,
.prose table:not(.cms-content-table__table) th,
.post-content table:not(.cms-content-table__table) th {
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  font: 700 12px/1.35 var(--font-heading, inherit) !important;
  letter-spacing: .01em !important;
  color: #fff !important;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 88%, #0f172a 12%) !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) td,
.article-content table:not(.cms-content-table__table) td,
.prose table:not(.cms-content-table__table) td,
.post-content table:not(.cms-content-table__table) td {
  color: var(--color-text, #111827) !important;
  background: var(--color-bg, #fff) !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) tbody tr:nth-child(even) td,
.article-content table:not(.cms-content-table__table) tbody tr:nth-child(even) td,
.prose table:not(.cms-content-table__table) tbody tr:nth-child(even) td,
.post-content table:not(.cms-content-table__table) tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--color-bg-alt, #f8fafc) 72%, var(--color-bg, #fff) 28%) !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) :is(th, td):last-child,
.article-content table:not(.cms-content-table__table) :is(th, td):last-child,
.prose table:not(.cms-content-table__table) :is(th, td):last-child,
.post-content table:not(.cms-content-table__table) :is(th, td):last-child {
  border-right: none !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) tr:last-child td,
.article-content table:not(.cms-content-table__table) tr:last-child td,
.prose table:not(.cms-content-table__table) tr:last-child td,
.post-content table:not(.cms-content-table__table) tr:last-child td {
  border-bottom: none !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) :is(th, td):first-child,
.article-content table:not(.cms-content-table__table) :is(th, td):first-child,
.prose table:not(.cms-content-table__table) :is(th, td):first-child,
.post-content table:not(.cms-content-table__table) :is(th, td):first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
  width: 30% !important;
  min-width: 178px !important;
  max-width: 260px !important;
  overflow-wrap: normal !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) th:first-child,
.article-content table:not(.cms-content-table__table) th:first-child,
.prose table:not(.cms-content-table__table) th:first-child,
.post-content table:not(.cms-content-table__table) th:first-child {
  z-index: 4 !important;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 78%, #020617 22%) !important;
}

.cms-pc-std__content table:not(.cms-content-table__table) td:first-child,
.article-content table:not(.cms-content-table__table) td:first-child,
.prose table:not(.cms-content-table__table) td:first-child,
.post-content table:not(.cms-content-table__table) td:first-child {
  font-weight: 650 !important;
  background: color-mix(in srgb, var(--color-bg-alt, #f8fafc) 64%, var(--color-bg, #fff) 36%) !important;
  box-shadow: 1px 0 0 color-mix(in srgb, var(--color-border, #e5e7eb) 82%, transparent) !important;
}

.cms-pc-std__content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td),
.article-content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td),
.prose table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td),
.post-content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td) {
  min-width: 142px !important;
}

.cms-pc-std__content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td):first-child,
.article-content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td):first-child,
.prose table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td):first-child,
.post-content table:not(.cms-content-table__table):has(tr > :nth-child(5)) :is(th, td):first-child {
  min-width: 190px !important;
}

@media (max-width: 768px) {
  .cms-pc-std__content table:not(.cms-content-table__table),
  .article-content table:not(.cms-content-table__table),
  .prose table:not(.cms-content-table__table),
  .post-content table:not(.cms-content-table__table) {
    border-radius: 12px !important;
  }
  .cms-pc-std__content table:not(.cms-content-table__table) :is(th, td),
  .article-content table:not(.cms-content-table__table) :is(th, td),
  .prose table:not(.cms-content-table__table) :is(th, td),
  .post-content table:not(.cms-content-table__table) :is(th, td) {
    padding: 9px 11px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }
  .cms-pc-std__content table:not(.cms-content-table__table) :is(th, td):first-child,
  .article-content table:not(.cms-content-table__table) :is(th, td):first-child,
  .prose table:not(.cms-content-table__table) :is(th, td):first-child,
  .post-content table:not(.cms-content-table__table) :is(th, td):first-child {
    min-width: 146px !important;
    max-width: 190px !important;
  }
}

/* PC_TABLE_SCROLL_NEUTRAL_SHELL_20260529: wrapper only handles scroll; the table owns the visual card. */
.cms-pc-std__content .pc-table-shell {
  margin: 22px 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cms-pc-std__content .pc-table-scroll {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.cms-pc-std__content .pc-table-scroll table:not(.cms-content-table__table) {
  margin: 0 !important;
}

/* PC_TABLE_WIDTH_BALANCE_20260529: 2-col native tables must fill the article; sticky first column must stay proportional. */
.cms-pc-std__content .pc-table-shell[data-sticky-first="0"] .pc-table-scroll table:not(.cms-content-table__table) {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: auto !important;
}

.cms-pc-std__content .pc-table-shell[data-sticky-first="0"] .pc-table-scroll table:not(.cms-content-table__table) :is(th, td) {
  min-width: 0 !important;
}

.cms-pc-std__content .pc-table-shell[data-cols="4"][data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child) {
  width: auto !important;
  min-width: 132px !important;
  max-width: 190px !important;
}

.cms-pc-std__content .pc-table-shell[data-cols="5"][data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child),
.cms-pc-std__content .pc-table-shell[data-cols="6"][data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child),
.cms-pc-std__content .pc-table-shell[data-density="compact"][data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child) {
  width: auto !important;
  min-width: 146px !important;
  max-width: 220px !important;
}

@media (max-width: 768px) {
  .cms-pc-std__content .pc-table-shell[data-cols="4"][data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child),
  .cms-pc-std__content .pc-table-shell[data-sticky-first="1"] .pc-table-scroll table:not(.cms-content-table__table) :is(th:first-child, td:first-child) {
    min-width: 124px !important;
    max-width: 168px !important;
  }
}

@media (max-width:768px){.cms-pc-std__content :is(.cms-content-sum,.cms-content-faq,.cms-content-clp,.cms-content-scen,.cms-content-src,.cms-content-info,.cms-content-cpanel,.cms-content-stat){padding:15px}}

/* ARTICLE_DETAIL_COMPACT_FINAL_20260522: ol badges and calculation block tuning */
.cms-pc-std__content ol {
  margin: 14px 0 18px !important;
}

.cms-pc-std__content ol > li {
  margin: 7px 0 !important;
  padding: 10px 12px 10px 42px !important;
  line-height: 1.52 !important;
  border-radius: 10px !important;
}

.cms-pc-std__content ol > li::before {
  left: 12px !important;
  top: 10px !important;
  width: 22px !important;
  height: 22px !important;
  font-size: 11px !important;
  box-shadow: 0 5px 12px color-mix(in srgb, var(--color-accent, var(--cms-accent, #D97706)) 22%, transparent) !important;
}

.cms-pc-std__content .cms-content-calc {
  margin: 24px 0 !important;
  padding: 16px 18px !important;
}

.cms-pc-std__content .cms-content-calc__eyebrow {
  margin-bottom: 5px !important;
  font-size: 10px !important;
}

.cms-pc-std__content .cms-content-calc__title {
  margin-top: 0 !important;
  font-size: clamp(18px, 2vw, 23px) !important;
  line-height: 1.16 !important;
}

.cms-pc-std__content .cms-content-calc__formula {
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  font-size: clamp(15px, 1.55vw, 19px) !important;
  line-height: 1.38 !important;
}

.cms-pc-std__content .cms-content-calc__example {
  margin-top: 12px !important;
  font-size: 13.25px !important;
  line-height: 1.55 !important;
}

/* ARTICLE_AUDIENCE_FIT_MEDIA_EDGE_20260522 */
.cms-pc-std__content .cms-content-af__shell {
  padding: 0 !important;
}

.cms-pc-std__content .cms-content-af__media {
  flex: 0 0 clamp(280px, 40%, 390px) !important;
  width: clamp(280px, 40%, 390px) !important;
  min-width: 280px !important;
  margin: 0 !important;
}

.cms-pc-std__content .cms-content-af__media img,
.cms-pc-std__content .cms-content-af__media-placeholder {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

.cms-pc-std__content .cms-content-af__body {
  padding: clamp(18px, 2.6vw, 28px) !important;
}

@media (max-width: 820px) {
  .cms-pc-std__content .cms-content-af__media {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 230px !important;
  }
  .cms-pc-std__content .cms-content-af__media img,
  .cms-pc-std__content .cms-content-af__media-placeholder {
    height: 230px !important;
    min-height: 230px !important;
  }
}

/* ARTICLE_AUDIENCE_FIT_DENSITY_20260522 */
.cms-pc-std__content .cms-content-af__list {
  gap: 8px !important;
  margin-top: 14px !important;
}

.cms-pc-std__content .cms-content-af__item {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding-top: 10px !important;
}

.cms-pc-std__content .cms-content-af__index {
  width: 30px !important;
  height: 30px !important;
  font-size: 10px !important;
}

.cms-pc-std__content .cms-content-af__badge {
  margin-bottom: 4px !important;
  padding: 3px 7px !important;
  font-size: 8.5px !important;
}

.cms-pc-std__content .cms-content-af__label {
  margin: 0 !important;
  line-height: 1.22 !important;
}

.cms-pc-std__content .cms-content-af__note {
  margin-top: 5px !important;
  line-height: 1.45 !important;
}

/* ARTICLE_CHECKLIST_BOTTOM_TIGHTEN_20260522 */
.cms-pc-std__content .cms-content-clp {
  padding-bottom: 16px !important;
}

.cms-pc-std__content .cms-content-clp__list {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.cms-pc-std__content .cms-content-clp__item {
  margin-bottom: 0 !important;
}

.cms-pc-std__content .cms-content-clp__item:last-child {
  margin-bottom: 0 !important;
}

/* ARTICLE_EXAMPLE_FOCUS_BASE_20260522: base rendering for image-led examples */
.cms-content-exf {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(260px, .85fr);
  gap: 0;
  overflow: hidden;
  margin: 38px 0;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 16%, var(--color-border, #e2e8f0));
  border-radius: var(--radius-lg, 24px);
  background: linear-gradient(135deg, var(--color-bg, #fff), color-mix(in srgb, var(--color-accent, #0f766e) 6%, var(--color-bg-alt, #f8fafc) 94%));
  box-shadow: var(--shadow, 0 18px 48px rgba(15, 23, 42, .07));
}

.cms-content-exf__media {
  min-height: 330px;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 16%, #111827 84%);
}

.cms-content-exf__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  object-position: center center;
}

.cms-content-exf__body {
  padding: clamp(22px, 3.5vw, 36px);
}

.cms-content-exf__eyebrow {
  display: inline-flex;
  width: max-content;
  margin: 0 0 12px;
  padding: 6px 10px;
  border-radius: var(--radius-full, 999px);
  color: var(--color-accent, #0f766e);
  background: color-mix(in srgb, var(--color-accent, #0f766e) 13%, white 87%);
  font: 900 10px/1 var(--font-body, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cms-content-exf__title {
  margin: 0 0 12px !important;
  color: var(--color-text, #0f172a);
  font: 850 clamp(22px, 2.5vw, 31px)/1.08 var(--font-heading, sans-serif);
  letter-spacing: -.025em;
}

.cms-content-exf__context,
.cms-content-exf__line,
.cms-content-exf__warning,
.cms-content-exf__list {
  color: var(--color-text-muted, #64748b);
  font: 400 14px/1.62 var(--font-body, sans-serif);
}

.cms-content-exf__context {
  margin: 0 0 16px;
}

.cms-content-exf__line {
  margin: 0 0 11px;
}

.cms-content-exf__line strong {
  color: var(--color-text, #0f172a);
}

.cms-content-exf__list {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.cms-content-exf__list li {
  position: relative;
  padding-left: 22px;
}

.cms-content-exf__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--color-accent, #0f766e);
}

.cms-content-exf__warning {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: var(--radius-md, 16px);
  color: color-mix(in srgb, var(--color-warning, #f59e0b) 68%, #0f172a 32%);
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, white 88%);
  font-weight: 680;
}

@media (max-width: 820px) {
  .cms-content-exf {
    grid-template-columns: 1fr;
  }
  .cms-content-exf__media,
  .cms-content-exf__media img {
    min-height: 240px;
  }
}

/* ARTICLE_EXAMPLE_FOCUS_REBALANCE_20260522 */
.cms-pc-std__content .cms-content-exf {
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr) !important;
}

.cms-pc-std__content .cms-content-exf__media {
  min-height: 300px !important;
}

.cms-pc-std__content .cms-content-exf__media img {
  min-height: 300px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.cms-pc-std__content .cms-content-exf__body {
  padding: clamp(18px, 2.6vw, 28px) !important;
}

.cms-pc-std__content .cms-content-exf__eyebrow {
  margin-bottom: 6px !important;
}

.cms-pc-std__content .cms-content-exf__title {
  margin-bottom: 10px !important;
  font-size: clamp(19px, 2.15vw, 26px) !important;
}

.cms-pc-std__content .cms-content-exf__list {
  list-style: none !important;
}

.cms-pc-std__content .cms-content-exf__list li {
  list-style: none !important;
  padding-left: 18px !important;
}

.cms-pc-std__content .cms-content-exf__list li::marker {
  content: "" !important;
}

.cms-pc-std__content .cms-content-exf__list li::before {
  top: .72em !important;
  width: 6px !important;
  height: 6px !important;
}

.cms-pc-std__content .cms-content-exf__conclusion {
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px 20px;
  border-top: 1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 22%, var(--color-border, #e2e8f0));
  color: color-mix(in srgb, var(--color-warning, #f59e0b) 68%, #0f172a 32%);
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, white 88%);
}

.cms-pc-std__content .cms-content-exf__conclusion-label {
  display: block;
  margin: 0 0 4px;
  font: 900 10px/1.2 var(--font-body, sans-serif);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cms-pc-std__content .cms-content-exf__conclusion p {
  margin: 0 !important;
  color: inherit !important;
  font: 650 13.25px/1.52 var(--font-body, sans-serif) !important;
}

.cms-content-exf__conclusion {
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px 20px;
  border-top: 1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 22%, var(--color-border, #e2e8f0));
  color: color-mix(in srgb, var(--color-warning, #f59e0b) 68%, #0f172a 32%);
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, white 88%);
}

.cms-content-exf__conclusion-label {
  display: block;
  margin: 0 0 4px;
  font: 900 10px/1.2 var(--font-body, sans-serif);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cms-content-exf__conclusion p {
  margin: 0 !important;
  color: inherit !important;
  font: 650 13.25px/1.52 var(--font-body, sans-serif) !important;
}

@media (max-width: 820px) {
  .cms-pc-std__content .cms-content-exf {
    grid-template-columns: 1fr !important;
  }
  .cms-pc-std__content .cms-content-exf__media,
  .cms-pc-std__content .cms-content-exf__media img {
    min-height: 230px !important;
  }
}

/* ORDERED_LIST_NO_BORDER_20260522 */
.article-content ol > li,
.prose ol > li,
.post-content ol > li,
.cms-pc-std__content ol > li {
  border: none !important;
}

/* ARTICLE_COMPARE_PANEL_DENSITY_20260522 */
.cms-pc-std__content .cms-content-cpanel__value {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  line-height: 1.45 !important;
}

.cms-pc-std__content .cms-content-cpanel__note {
  margin-top: 3px !important;
}

/* WRITER_COMPONENTS_DEPLOY_20260525: shared writer component harmonization. */
/* WRITER_COMPONENTS_COMPARISON_PANEL_HARMONY_20260522
   Canonical article component chrome: align all Writer blocks on comparison-panel. */
.cms-pc-std__content :is(
  .cms-content-sum,
  .cms-block.cms-faq,
  .cms-content-paa,
  .cms-inline-accent,
  .cms-content-cg__shell,
  .cms-content-pc,
  .pc-shell,
  .cms-content-af__shell,
  .cms-content-exf,
  .cms-content-clp,
  .cms-content-pp,
  .cms-content-ds,
  .cms-content-tool,
  .cms-content-calc,
  .cms-content-scen,
  .cms-content-src,
  .cms-content-mf,
  .cms-content-info,
  .cms-content-cpanel,
  .cms-content-stat,
  .cms-content-icg,
  .cms-content-vb,
  .cms-content-table
) {
  margin: clamp(24px, 4vw, 42px) 0 !important;
  padding: clamp(20px, 3vw, 30px) !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb)) !important;
  border-radius: var(--radius-lg, 22px) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc) !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .07) !important;
  color: var(--color-text, #0f172a) !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__head,
  .cms-content-cg__head,
  .cms-content-pc__head,
  .pc-head,
  .cms-content-af__body,
  .cms-content-exf__body,
  .cms-content-clp__head,
  .cms-content-pp__head,
  .cms-content-ds__head,
  .cms-content-tool__head,
  .cms-content-calc__head,
  .cms-content-scen__head,
  .cms-content-src__head,
  .cms-content-mf__head,
  .cms-content-info__head,
  .cms-content-cpanel__head,
  .cms-content-stat__head,
  .cms-content-icg__head,
  .cms-content-vb__content
) {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__eyebrow,
  .cms-content-paa__eyebrow,
  .cms-inline-accent__eyebrow,
  .cms-content-cg__eyebrow,
  .cms-content-pc__eyebrow,
  .pc-eyebrow,
  .cms-content-af__eyebrow,
  .cms-content-exf__eyebrow,
  .cms-content-clp__eyebrow,
  .cms-content-pp__eyebrow,
  .cms-content-ds__eyebrow,
  .cms-content-tool__eyebrow,
  .cms-content-calc__eyebrow,
  .cms-content-scen__eyebrow,
  .cms-content-src__eyebrow,
  .cms-content-mf__eyebrow,
  .cms-content-info__eyebrow,
  .cms-content-cpanel__eyebrow,
  .cms-content-stat__eyebrow,
  .cms-content-icg__eyebrow,
  .cms-content-vb__eyebrow
) {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--color-accent, #0f766e) !important;
  background: transparent !important;
  font: 900 11px/1 var(--font-body, sans-serif) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__title,
  .cms-faq__title,
  .cms-content-cg__title,
  .cms-content-pc__title,
  .pc-title,
  .cms-content-af__title,
  .cms-content-exf__title,
  .cms-content-clp__title,
  .cms-content-pp__title,
  .cms-content-ds__title,
  .cms-content-tool__title,
  .cms-content-calc__title,
  .cms-content-scen__title,
  .cms-content-src__title,
  .cms-content-mf__title,
  .cms-content-info__title,
  .cms-content-cpanel__title,
  .cms-content-stat__title,
  .cms-content-icg__title,
  .cms-content-vb__title
) {
  margin: 0 !important;
  color: var(--color-text, #0f172a) !important;
  font: 850 clamp(22px, 3vw, 32px)/1.08 var(--font-heading, sans-serif) !important;
  letter-spacing: 0 !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__intro,
  .cms-content-cg__intro,
  .cms-content-pc__intro,
  .cms-content-af__intro,
  .cms-content-exf__context,
  .cms-content-clp__intro,
  .cms-content-pp__intro,
  .cms-content-ds__intro,
  .cms-content-tool__intro,
  .cms-content-calc__intro,
  .cms-content-scen__intro,
  .cms-content-src__intro,
  .cms-content-mf__intro,
  .cms-content-info__intro,
  .cms-content-cpanel__intro,
  .cms-content-stat__intro,
  .cms-content-icg__intro,
  .cms-content-vb__text
) {
  margin: 10px 0 0 !important;
  color: var(--color-text-muted, #64748b) !important;
  font: 400 15px/1.65 var(--font-body, sans-serif) !important;
}

.cms-pc-std__content :is(
  .cms-inline-accent__content,
  .cms-content-paa .cms-inline-accent__content,
  .cms-faq__answer,
  .cms-faq__answer div[itemprop="text"]
) {
  color: var(--color-text-muted, #64748b) !important;
  font: 400 15px/1.65 var(--font-body, sans-serif) !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__list,
  .cms-faq__list,
  .cms-content-cg__grid,
  .cms-content-pc__grid,
  .pc-grid,
  .cms-content-af__list,
  .cms-content-exf__list,
  .cms-content-clp__list,
  .cms-content-pp__grid,
  .cms-content-ds__grid,
  .cms-content-tool__grid,
  .cms-content-calc__vars,
  .cms-content-scen__grid,
  .cms-content-src__list,
  .cms-content-mf__grid,
  .cms-content-info__grid,
  .cms-content-cpanel__list,
  .cms-content-stat__grid,
  .cms-content-icg__grid
) {
  gap: 10px !important;
}

.cms-pc-std__content :is(
  .cms-content-cg__card,
  .cms-content-pc__col,
  .pc-col,
  .cms-faq__item,
  .cms-content-af__item,
  .cms-content-exf__line,
  .cms-content-clp__item,
  .cms-content-pp__card,
  .cms-content-ds__card,
  .cms-content-tool__field,
  .cms-content-calc__var,
  .cms-content-scen__card,
  .cms-content-src__item,
  .cms-content-mf__card,
  .cms-content-info__card,
  .cms-content-cpanel__row,
  .cms-content-stat__card,
  .cms-content-icg__card
) {
  border: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  background: var(--color-bg, #fff) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-info__top {
  margin-bottom: 8px !important;
}

/* TOOL_CARD_TUNING_20260522 */
.cms-pc-std__content .cms-content-tool::before {
  display: none !important;
  content: none !important;
}

.cms-pc-std__content .cms-content-tool__field {
  background: transparent !important;
}

.cms-pc-std__content .cms-content-tool__grid {
  row-gap: 18px !important;
  margin-bottom: 22px !important;
}

.cms-pc-std__content .cms-content-tool__actions {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding-top: 2px !important;
}

/* WRITER_COMPONENT_STYLE_V2_20260522: inverted/light component style selected by pipeline */
.cms-pc-std__content :is(
  .cms-content-style-v2.cms-content-cpanel,
  .cms-content-style-v2 .cms-content-cg__shell,
  .cms-content-style-v2.pc-shell,
  .cms-content-style-v2.cms-content-stat,
  .cms-content-style-v2.cms-content-calc,
  .cms-content-style-v2.cms-content-exf,
  .cms-content-style-v2 .cms-content-af__shell,
  .cms-content-style-v2.cms-content-pp,
  .cms-content-style-v2.cms-content-clp,
  .cms-content-style-v2.cms-content-info,
  .cms-content-style-v2.cms-content-icg,
  .cms-content-style-v2.cms-content-src,
  .cms-content-style-v2.cms-content-ds,
  .cms-content-style-v2.cms-content-tool
) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cms-pc-std__content :is(
  .cms-content-style-v2 .cms-content-cpanel__head,
  .cms-content-style-v2 .cms-content-cg__head,
  .cms-content-style-v2 .pc-head,
  .cms-content-style-v2 .cms-content-stat__head,
  .cms-content-style-v2 .cms-content-clp__head,
  .cms-content-style-v2 .cms-content-info__head,
  .cms-content-style-v2 .cms-content-icg__head,
  .cms-content-style-v2 .cms-content-src__head,
  .cms-content-style-v2 .cms-content-ds__head,
  .cms-content-style-v2 .cms-content-tool__head
) {
  padding: 0 !important;
}

.cms-pc-std__content :is(
  .cms-content-style-v2 .cms-content-cpanel__row,
  .cms-content-style-v2 .cms-content-cg__card,
  .cms-content-style-v2 .pc-col,
  .cms-content-style-v2 .cms-content-stat__card,
  .cms-content-style-v2 .cms-content-calc__formula,
  .cms-content-style-v2 .cms-content-calc__var,
  .cms-content-style-v2 .cms-content-calc__example,
  .cms-content-style-v2 .cms-content-calc__note,
  .cms-content-style-v2 .cms-content-exf__body,
  .cms-content-style-v2 .cms-content-af__body,
  .cms-content-style-v2 .cms-content-pp__card,
  .cms-content-style-v2 .cms-content-clp__item,
  .cms-content-style-v2 .cms-content-info__card,
  .cms-content-style-v2 .cms-content-icg__card,
  .cms-content-style-v2 .cms-content-src__item,
  .cms-content-style-v2 .cms-content-ds__card,
  .cms-content-style-v2 .cms-content-tool__result
) {
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb)) !important;
  border-radius: var(--radius-md, 16px) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc) !important;
  box-shadow: none !important;
}

.cms-pc-std__content :is(.cms-content-style-v2 .cms-content-exf__media, .cms-content-style-v2 .cms-content-af__media) {
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb)) !important;
  border-radius: var(--radius-lg, 22px) !important;
  background: var(--color-bg-alt, #f8fafc) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-style-v2 .cms-content-icg__grid {
  background: transparent !important;
}

.cms-pc-std__content .cms-content-style-v2.cms-content-tool .cms-content-tool__field {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.cms-pc-std__content .cms-content-style-v2.cms-content-tool :is(input, select, textarea) {
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb)) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 8%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc) !important;
  box-shadow: none !important;
}

/* FAQ_DIVIDED_SIMPLE_20260522 */
.cms-pc-std__content .cms-block.cms-faq .cms-faq__list {
  gap: 0 !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__item {
  margin: 0 !important;
  padding: 14px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border, #e5e7eb) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__item:first-child {
  padding-top: 0 !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__item:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__question {
  padding: 0 !important;
  background: transparent !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__answer {
  background: transparent !important;
}

/* LEGACY_FAQ_CARD_CHART_20260529: old cms-block FAQ follows current post component card rhythm. */
.cms-pc-std__content .cms-block.cms-faq,
.post-content .cms-block.cms-faq,
.article-content .cms-block.cms-faq,
.prose .cms-block.cms-faq {
  margin: 32px 0 !important;
  padding: clamp(18px, 2.4vw, 24px) !important;
  border: 1px solid var(--color-border, #e5e7eb) !important;
  border-radius: var(--radius-lg, 16px) !important;
  background: var(--color-bg-alt, #f8fafc) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__title,
.post-content .cms-block.cms-faq .cms-faq__title,
.article-content .cms-block.cms-faq .cms-faq__title,
.prose .cms-block.cms-faq .cms-faq__title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--color-accent, #0f766e) !important;
  font: 700 11px/1.2 var(--font-body, sans-serif) !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

.cms-pc-std__content .cms-block.cms-faq .cms-faq__list,
.post-content .cms-block.cms-faq .cms-faq__list,
.article-content .cms-block.cms-faq .cms-faq__list,
.prose .cms-block.cms-faq .cms-faq__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cms-pc-std__content :is(.cms-content-vb--with-image, .cms-content-vb--dark, .cms-content-vb--accent, .cms-content-ds--dark, .cms-content-ds--accent) {
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc) !important;
  color: var(--color-text, #0f172a) !important;
}

.cms-pc-std__content :is(.cms-content-vb--with-image .cms-content-vb__title, .cms-content-vb--with-image .cms-content-vb__text) {
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .34) !important;
}

/* CRITERIA_GRID_MATCH_COMPARE_PANEL_20260522 */
.cms-pc-std__content .cms-content-cg__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.cms-pc-std__content .cms-content-cg__card {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  background: var(--color-bg, #fff) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-cg__card::before {
  display: none !important;
  content: none !important;
}

.cms-pc-std__content .cms-content-cg__top {
  display: contents !important;
}

.cms-pc-std__content .cms-content-cg__icon {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--color-accent, #0f766e) !important;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 12%, var(--color-bg, #fff)) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-cg__icon svg {
  width: 17px !important;
  height: 17px !important;
}

.cms-pc-std__content .cms-content-cg__top > div {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.cms-pc-std__content .cms-content-cg__badge {
  order: 2 !important;
  display: inline-flex !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--color-text, #0f172a) !important;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg, #fff)) !important;
  font: 850 10px/1 var(--font-body, sans-serif) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.cms-pc-std__content .cms-content-cg__label {
  order: 1 !important;
  margin: 0 !important;
  color: var(--color-text, #0f172a) !important;
  font: 850 17px/1.22 var(--font-heading, sans-serif) !important;
}

.cms-pc-std__content .cms-content-cg__question,
.cms-pc-std__content .cms-content-cg__impact {
  grid-column: 2 !important;
  margin: 0 !important;
  color: var(--color-text-muted, #64748b) !important;
  font: 400 14px/1.58 var(--font-body, sans-serif) !important;
}

.cms-pc-std__content .cms-content-cg__question {
  margin-top: 8px !important;
  color: var(--color-text, #0f172a) !important;
  font-weight: 750 !important;
}

.cms-pc-std__content .cms-content-cg__impact {
  margin-top: 5px !important;
}

/* CALCULATION_BOX_TUNING_20260522 */
.cms-pc-std__content .cms-content-calc::before {
  display: none !important;
  content: none !important;
}

.cms-pc-std__content .cms-content-calc__formula {
  margin: 14px 0 12px !important;
  padding: 14px 16px !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.28 !important;
}

/* EXAMPLE_FOCUS_COMPACT_REPAIR_20260522 */
.cms-pc-std__content .cms-content-exf {
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr) !important;
  gap: 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.cms-pc-std__content .cms-content-exf__media {
  min-height: 300px !important;
  margin: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  overflow: hidden !important;
}

.cms-pc-std__content .cms-content-exf__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 300px !important;
  margin: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  object-fit: cover !important;
}

.cms-pc-std__content .cms-content-exf__body {
  padding: clamp(18px, 2.6vw, 28px) clamp(20px, 3vw, 30px) clamp(18px, 2.6vw, 28px) 0 !important;
}

.cms-pc-std__content .cms-content-exf__context,
.cms-pc-std__content .cms-content-exf__line,
.cms-pc-std__content .cms-content-exf__list,
.cms-pc-std__content .cms-content-exf__list li {
  font-size: 13.25px !important;
  line-height: 1.5 !important;
}

.cms-pc-std__content .cms-content-exf__context {
  margin-bottom: 10px !important;
}

.cms-pc-std__content .cms-content-exf__line {
  margin-bottom: 7px !important;
  padding: 8px 10px !important;
  border-radius: var(--radius-sm, 10px) !important;
  background: color-mix(in srgb, var(--color-bg, #fff) 72%, transparent) !important;
}

.cms-pc-std__content .cms-content-exf__list {
  gap: 4px !important;
  margin-top: 10px !important;
  padding-left: 4px !important;
}

.cms-pc-std__content .cms-content-exf__list li {
  padding-left: 16px !important;
  margin: 0 !important;
}

.cms-pc-std__content .cms-content-exf__list li::before {
  top: .68em !important;
  width: 5px !important;
  height: 5px !important;
}

@media (max-width: 820px) {
  .cms-pc-std__content .cms-content-exf {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .cms-pc-std__content .cms-content-exf__body {
    padding: 18px !important;
  }
}

/* AUDIENCE_FIT_MATCH_EXAMPLE_FOCUS_20260522 */
.cms-pc-std__content .cms-content-af__shell {
  display: grid !important;
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr) !important;
  gap: 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.cms-pc-std__content .cms-content-af__media {
  width: auto !important;
  min-width: 0 !important;
  min-height: 300px !important;
  margin: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  overflow: hidden !important;
}

.cms-pc-std__content .cms-content-af__media img,
.cms-pc-std__content .cms-content-af__media-placeholder {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 300px !important;
  margin: 0 !important;
  border-radius: var(--radius-md, 16px) !important;
  object-fit: cover !important;
}

.cms-pc-std__content .cms-content-af__body {
  padding: clamp(18px, 2.6vw, 28px) clamp(20px, 3vw, 30px) clamp(18px, 2.6vw, 28px) 0 !important;
}

.cms-pc-std__content .cms-content-af__intro,
.cms-pc-std__content .cms-content-af__note {
  font-size: 13.25px !important;
  line-height: 1.5 !important;
}

.cms-pc-std__content .cms-content-af__intro {
  margin-top: 10px !important;
}

.cms-pc-std__content .cms-content-af__list {
  gap: 6px !important;
  margin-top: 12px !important;
  padding-left: 4px !important;
}

.cms-pc-std__content .cms-content-af__item {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-top: 0 !important;
  border-radius: var(--radius-sm, 10px) !important;
  background: color-mix(in srgb, var(--color-bg, #fff) 72%, transparent) !important;
}

.cms-pc-std__content .cms-content-af__index {
  align-self: center !important;
  width: 30px !important;
  height: 30px !important;
  font-size: 10px !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-af__index :is(svg, img) {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  object-fit: contain !important;
}

.cms-pc-std__content .cms-content-af__badge {
  margin-bottom: 4px !important;
}

.cms-pc-std__content .cms-content-af__label {
  font-size: 15px !important;
  line-height: 1.28 !important;
}

.cms-pc-std__content .cms-content-af__note {
  margin-top: 4px !important;
}

@media (max-width: 820px) {
  .cms-pc-std__content .cms-content-af__shell {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .cms-pc-std__content .cms-content-af__body {
    padding: 18px !important;
  }
}

/* CHECKLIST_STEPS_PANEL_20260522: checklist rendering with numbered steps */
.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__list {
  list-style: none !important;
  counter-reset: none !important;
  gap: 24px !important;
  padding-left: 0 !important;
}

.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__item {
  position: relative !important;
  list-style: none !important;
  counter-increment: none !important;
  padding: 13px 14px !important;
}

.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__item::before {
  content: none !important;
  display: none !important;
}

.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__item::marker {
  content: "" !important;
}

.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__tick {
  font-size: 10px !important;
}

.cms-pc-std__content .cms-content-clp--steps .cms-content-clp__item:not(:last-child)::after {
  content: "↓";
  position: absolute;
  left: 31px;
  bottom: -18px;
  z-index: 2;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--color-accent, #0f766e);
  background: transparent;
  box-shadow: none;
  font: 900 15px/1 var(--font-heading, sans-serif);
  opacity: .95;
  animation: cmsChecklistStepArrow 1.8s ease-in-out infinite;
}

@keyframes cmsChecklistStepArrow {
  0%, 100% { transform: translateY(0); opacity: .55; }
  50% { transform: translateY(3px); opacity: 1; }
}

/* IMAGE_CARD_GRID_CAROUSEL_NAV_20260522 */
.cms-pc-std__content .cms-content-icg--carousel {
  position: relative !important;
}

.cms-pc-std__content .cms-content-icg__controls {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 20px 0 0 !important;
}

.cms-pc-std__content .cms-content-icg__nav {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 36%, var(--color-border, #e5e7eb)) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 92%, #111827 8%), var(--color-accent, #0f766e)) !important;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--color-accent, #0f766e) 22%, transparent) !important;
  cursor: pointer !important;
  font: 0/0 a !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

.cms-pc-std__content .cms-content-icg__nav::before {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
}

.cms-pc-std__content .cms-content-icg__nav--prev::before {
  transform: translateX(2px) rotate(-135deg) !important;
}

.cms-pc-std__content .cms-content-icg__nav--next::before {
  transform: translateX(-2px) rotate(45deg) !important;
}

.cms-pc-std__content .cms-content-icg__nav:hover {
  transform: translateY(-1px) !important;
  border-color: color-mix(in srgb, var(--color-accent, #0f766e) 62%, var(--color-border, #e5e7eb)) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #0f766e) 82%, #020617 18%), var(--color-accent, #0f766e)) !important;
}

.cms-pc-std__content .cms-content-icg--carousel .cms-content-icg__grid {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.cms-pc-std__content .cms-content-icg--carousel .cms-content-icg__grid::-webkit-scrollbar {
  display: none !important;
}

@media (max-width: 768px) {
  .cms-pc-std__content :is(
    .cms-content-sum,
    .cms-content-faq,
    .cms-content-cg,
    .cms-content-pc,
    .cms-content-af__shell,
    .cms-content-exf,
    .cms-content-clp,
    .cms-content-pp,
    .cms-content-ds,
    .cms-content-tool,
    .cms-content-calc,
    .cms-content-scen,
    .cms-content-src,
    .cms-content-mf,
    .cms-content-info,
    .cms-content-cpanel,
    .cms-content-stat,
    .cms-content-icg,
    .cms-content-vb,
    .cms-content-table
  ) {
    padding: 15px !important;
  }
}

/* WRITER_COMPONENTS_COMPACT_TYPE_20260525: slightly smaller component typography on Conseil Assurance. */
.cms-pc-std__content :is(
  .cms-content-sum__title,
  .cms-faq__title,
  .cms-content-cg__title,
  .cms-content-pc__title,
  .pc-title,
  .cms-content-af__title,
  .cms-content-exf__title,
  .cms-content-clp__title,
  .cms-content-pp__title,
  .cms-content-ds__title,
  .cms-content-tool__title,
  .cms-content-calc__title,
  .cms-content-scen__title,
  .cms-content-src__title,
  .cms-content-mf__title,
  .cms-content-info__title,
  .cms-content-cpanel__title,
  .cms-content-stat__title,
  .cms-content-icg__title,
  .cms-content-vb__title
) {
  font-size: clamp(19px, 2.35vw, 27px) !important;
  line-height: 1.12 !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__intro,
  .cms-content-cg__intro,
  .cms-content-pc__intro,
  .cms-content-af__intro,
  .cms-content-exf__context,
  .cms-content-clp__intro,
  .cms-content-pp__intro,
  .cms-content-ds__intro,
  .cms-content-tool__intro,
  .cms-content-calc__intro,
  .cms-content-scen__intro,
  .cms-content-src__intro,
  .cms-content-mf__intro,
  .cms-content-info__intro,
  .cms-content-cpanel__intro,
  .cms-content-stat__intro,
  .cms-content-icg__intro,
  .cms-content-vb__text,
  .cms-inline-accent__content,
  .cms-content-paa .cms-inline-accent__content,
  .cms-faq__answer,
  .cms-faq__answer div[itemprop="text"]
) {
  font-size: 13.75px !important;
  line-height: 1.58 !important;
}

.cms-pc-std__content :is(
  .cms-content-cpanel__value,
  .cms-content-cpanel__note,
  .cms-content-cg__question,
  .cms-content-cg__impact,
  .cms-content-pc__list li,
  .cms-content-exf__context,
  .cms-content-exf__line,
  .cms-content-exf__list,
  .cms-content-exf__list li,
  .cms-content-af__intro,
  .cms-content-af__note,
  .cms-content-info__text,
  .cms-content-icg__text,
  .cms-content-src__text,
  .cms-content-clp__item,
  .cms-content-pp__text,
  .cms-content-ds__text,
  .cms-content-stat__label
) {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.cms-pc-std__content :is(
  .cms-content-cg__label,
  .cms-content-pc__col-title,
  .cms-content-info__label,
  .cms-content-icg__item-title,
  .cms-content-cpanel__label,
  .cms-content-af__label
) {
  font-size: 15px !important;
  line-height: 1.25 !important;
}

.cms-pc-std__content :is(
  .cms-content-sum__eyebrow,
  .cms-content-paa__eyebrow,
  .cms-inline-accent__eyebrow,
  .cms-content-cg__eyebrow,
  .cms-content-pc__eyebrow,
  .pc-eyebrow,
  .cms-content-af__eyebrow,
  .cms-content-exf__eyebrow,
  .cms-content-clp__eyebrow,
  .cms-content-pp__eyebrow,
  .cms-content-ds__eyebrow,
  .cms-content-tool__eyebrow,
  .cms-content-calc__eyebrow,
  .cms-content-scen__eyebrow,
  .cms-content-src__eyebrow,
  .cms-content-mf__eyebrow,
  .cms-content-info__eyebrow,
  .cms-content-cpanel__eyebrow,
  .cms-content-stat__eyebrow,
  .cms-content-icg__eyebrow,
  .cms-content-vb__eyebrow
) {
  font-size: 10px !important;
}

.cms-pc-std__content .cms-content-stat__value {
  font-size: clamp(19px, 2.15vw, 25px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}

.cms-pc-std__content .cms-content-stat__value--long {
  font-size: clamp(17px, 1.9vw, 22px) !important;
  letter-spacing: -.015em !important;
}

.cms-pc-std__content .cms-content-stat__label {
  margin-top: 5px !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

.cms-pc-std__content .cms-content-stat__detail {
  margin-top: 5px !important;
  font-size: 12.25px !important;
  line-height: 1.45 !important;
}

/* BLOG_LISTING_GRID_COLUMNS_20260525: ensure category/blog listings keep their column layout. */
.cms-bl-grid { width: 100%; }

.cms-bl-grid__grid { display: grid; grid-template-columns: repeat(var(--cms-bl-grid-cols, 3), minmax(0, 1fr)); gap: clamp(24px, 2.8vw, 36px); }

.cms-bl-grid--cols-1 { --cms-bl-grid-cols: 1; }

.cms-bl-grid--cols-2 { --cms-bl-grid-cols: 2; }

.cms-bl-grid--cols-3 { --cms-bl-grid-cols: 3; }

.cms-bl-grid--cols-4 { --cms-bl-grid-cols: 4; }

@media (max-width: 900px) { .cms-bl-grid--cols-3, .cms-bl-grid--cols-4 { --cms-bl-grid-cols: 2; } }

@media (max-width: 640px) { .cms-bl-grid--cols-2, .cms-bl-grid--cols-3, .cms-bl-grid--cols-4 { --cms-bl-grid-cols: 1; } }

/* restore-comparative-components-20260529: restored after CSS rollback. */
/* COMPARATIVE_SERP_COMPONENTS_20260527: ranking blocks for commercial comparison intents. */
.cms-pc-std__content .cms-content-rankcmp,
.article-content .cms-content-rankcmp,
.prose .cms-content-rankcmp,
.post-content .cms-content-rankcmp,
.cms-pc-std__content .cms-content-matrix,
.article-content .cms-content-matrix,
.prose .cms-content-matrix,
.post-content .cms-content-matrix {
  margin: 30px 0 !important;
  padding: clamp(18px, 2.4vw, 24px) !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 16%, var(--color-border, #dbe7e1)) !important;
  border-radius: var(--radius-lg, 22px) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0fbd74) 11%, transparent), transparent 42%),
    var(--color-bg-alt, #f4fbf7) !important;
  box-shadow: 0 12px 30px rgba(6, 17, 15, .06) !important;
}

.cms-content-rankcmp__head,
.cms-content-matrix__head {
  margin: 0 0 18px !important;
}

.cms-content-rankcmp__eyebrow,
.cms-content-matrix__eyebrow {
  display: inline-flex !important;
  margin: 0 0 10px !important;
  color: var(--color-accent, #0fbd74) !important;
  font: 900 10px/1 var(--font-body, sans-serif) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.cms-content-rankcmp__title,
.cms-content-matrix__title {
  margin: 0 !important;
  color: var(--color-text, #10231f) !important;
  font: 850 clamp(20px, 2.3vw, 28px)/1.12 var(--font-heading, sans-serif) !important;
}

.cms-content-rankcmp__intro,
.cms-content-matrix__intro {
  max-width: 760px !important;
  margin: 9px 0 0 !important;
  color: var(--color-text-muted, #5d6f67) !important;
  font-size: 13.75px !important;
  line-height: 1.55 !important;
}

.cms-content-rankcmp__list {
  display: grid !important;
  gap: 13px !important;
}

.cms-content-rankcmp__item {
  display: grid !important;
  grid-template-columns: 56px minmax(240px, 1fr) 94px minmax(260px, 1.25fr) minmax(140px, .55fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 13%, var(--color-border, #dbe7e1)) !important;
  border-radius: var(--radius-md, 16px) !important;
  background: var(--color-bg, #fff) !important;
  box-shadow: 0 8px 18px rgba(6, 17, 15, .045) !important;
}

.cms-content-rankcmp__rank {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--color-accent, #0fbd74), color-mix(in srgb, var(--color-accent, #0fbd74) 58%, #081f1a)) !important;
  font: 950 14px/1 var(--font-body, sans-serif) !important;
}

.cms-content-rankcmp__brand {
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.cms-content-rankcmp__logo {
  display: grid !important;
  place-items: center !important;
  width: 66px !important;
  height: 54px !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 14%, var(--color-border, #dbe7e1)) !important;
  border-radius: 16px !important;
  color: var(--color-text, #10231f) !important;
  background: color-mix(in srgb, var(--color-accent, #0fbd74) 8%, #fff) !important;
  font: 950 13px/1 var(--font-heading, sans-serif) !important;
  letter-spacing: -.03em !important;
}

.cms-content-rankcmp__brand > div:last-child {
  min-width: 0 !important;
}

.cms-content-rankcmp__tag,
.cms-content-matrix__tag {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 5px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--color-accent, #0fbd74) 72%, #10231f) !important;
  background: color-mix(in srgb, var(--color-accent, #0fbd74) 12%, #fff) !important;
  font: 850 10px/1 var(--font-body, sans-serif) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.cms-content-rankcmp__name {
  margin: 0 !important;
  color: var(--color-text, #10231f) !important;
  font: 850 17px/1.18 var(--font-heading, sans-serif) !important;
}

.cms-content-rankcmp__best {
  margin: 5px 0 0 !important;
  color: var(--color-text-muted, #5d6f67) !important;
  font-size: 12.75px !important;
  line-height: 1.35 !important;
}

.cms-content-rankcmp__scorebox {
  display: grid !important;
  gap: 4px !important;
  justify-items: center !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: var(--color-bg-alt, #f4fbf7) !important;
  text-align: center !important;
}

.cms-content-rankcmp__scorebox strong {
  color: var(--color-text, #10231f) !important;
  font: 950 22px/1 var(--font-heading, sans-serif) !important;
}

.cms-content-rankcmp__scorebox span,
.cms-content-rankcmp__action small {
  color: var(--color-text-muted, #5d6f67) !important;
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}

.cms-content-rankcmp__points {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.cms-content-rankcmp__points li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 18px !important;
  border: 0 !important;
  color: var(--color-text, #10231f) !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  list-style: none !important;
}

.cms-content-rankcmp__points li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: auto !important;
  height: auto !important;
  color: var(--color-accent, #0fbd74) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 900 12px/1.4 var(--font-body, sans-serif) !important;
}

.cms-content-rankcmp__trust {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 9px !important;
}

.cms-content-rankcmp__trust span {
  padding: 5px 8px !important;
  border-radius: 999px !important;
  color: var(--color-text-muted, #5d6f67) !important;
  background: color-mix(in srgb, var(--color-border, #dbe7e1) 55%, transparent) !important;
  font: 750 11px/1 var(--font-body, sans-serif) !important;
}

.cms-content-rankcmp__action {
  display: grid !important;
  gap: 8px !important;
  justify-items: stretch !important;
}

.cms-content-rankcmp__price {
  color: var(--color-text, #10231f) !important;
  font: 850 13px/1.2 var(--font-body, sans-serif) !important;
  text-align: center !important;
}

.cms-content-rankcmp__cta,
.cms-content-matrix__table a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--color-accent, #0fbd74) !important;
  font: 900 12px/1 var(--font-body, sans-serif) !important;
  text-decoration: none !important;
}

.cms-content-matrix__scroll {
  overflow-x: auto !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 13%, var(--color-border, #dbe7e1)) !important;
  border-radius: var(--radius-md, 16px) !important;
  background: var(--color-bg, #fff) !important;
}

.cms-content-matrix__table {
  width: 100% !important;
  min-width: 820px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
}

.cms-content-matrix__table th,
.cms-content-matrix__table td {
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 78%, transparent) !important;
  color: var(--color-text, #10231f) !important;
  line-height: 1.38 !important;
  vertical-align: top !important;
}

.cms-content-matrix__table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
  color: var(--color-text, #10231f) !important;
  background: color-mix(in srgb, var(--color-accent, #0fbd74) 8%, #fff) !important;
  font: 900 11px/1.2 var(--font-body, sans-serif) !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.cms-content-matrix__table tbody tr:last-child th,
.cms-content-matrix__table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.cms-content-matrix__solution {
  display: block !important;
  min-width: 150px !important;
  font: 900 14px/1.2 var(--font-heading, sans-serif) !important;
}

.cms-content-matrix__table td strong {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--color-text, #10231f) !important;
  font: 850 13px/1.35 var(--font-body, sans-serif) !important;
}

.cms-content-matrix__table a {
  min-height: 32px !important;
  padding: 8px 12px !important;
  font-size: 11px !important;
}

@media (max-width: 960px) {
  .cms-content-rankcmp__item {
    grid-template-columns: 48px minmax(0, 1fr) 84px !important;
  }
  .cms-content-rankcmp__body,
  .cms-content-rankcmp__action {
    grid-column: 2 / -1 !important;
  }
}

@media (max-width: 640px) {
  .cms-content-rankcmp,
  .cms-content-matrix {
    padding: 16px !important;
  }
  .cms-content-rankcmp__item {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }
  .cms-content-rankcmp__scorebox,
  .cms-content-rankcmp__body,
  .cms-content-rankcmp__action {
    grid-column: 1 / -1 !important;
  }
}

/* COMPARATIVE_SERP_COMPONENTS_V2_20260527: ranking has no parent card; matrix is a column comparator, not a table. */
.cms-pc-std__content .cms-content-rankcmp,
.article-content .cms-content-rankcmp,
.prose .cms-content-rankcmp,
.post-content .cms-content-rankcmp {
  margin: 30px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cms-content-rankcmp__head {
  margin-bottom: 16px !important;
}

.cms-content-matrix__scroll {
  overflow-x: auto !important;
  padding: 4px 4px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.cms-content-matrix__container {
  display: flex !important;
  align-items: stretch !important;
  gap: 14px !important;
  min-width: max-content !important;
  padding: 2px 2px 8px !important;
}

.cms-content-matrix__criteria,
.cms-content-matrix__partner {
  display: flex !important;
  flex: 0 0 208px !important;
  flex-direction: column !important;
}

.cms-content-matrix__criteria {
  flex-basis: 190px !important;
}

.cms-content-matrix__partner {
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 14%, var(--color-border, #dbe7e1)) !important;
  border-radius: 20px !important;
  background: var(--color-bg, #fff) !important;
  box-shadow: 0 12px 28px rgba(6, 17, 15, .075) !important;
}

.cms-content-matrix__row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 58px !important;
  padding: 11px 13px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 74%, transparent) !important;
  color: var(--color-text, #10231f) !important;
  background: transparent !important;
}

.cms-content-matrix__row--header,
.cms-content-matrix__partner-header {
  min-height: 96px !important;
}

.cms-content-matrix__row--md {
  min-height: 82px !important;
}

.cms-content-matrix__row--lg {
  min-height: 112px !important;
}

.cms-content-matrix__criteria .cms-content-matrix__row {
  color: var(--color-text-muted, #5d6f67) !important;
  font-weight: 850 !important;
}

.cms-content-matrix__criteria .cms-content-matrix__row--header {
  color: var(--color-text, #10231f) !important;
  font: 950 20px/1.1 var(--font-heading, sans-serif) !important;
}

.cms-content-matrix__row p {
  margin: 0 !important;
  font-size: 12.75px !important;
  line-height: 1.38 !important;
}

.cms-content-matrix__row--highlight p,
.cms-content-matrix__row p strong,
.cms-content-matrix__row .text-green {
  color: var(--color-accent, #0fbd74) !important;
  font-weight: 850 !important;
}

.cms-content-matrix__partner-header {
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  padding: 14px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 74%, transparent) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0fbd74) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f4fbf7) !important;
  text-align: center !important;
}

.cms-content-matrix__partner-logo {
  display: grid !important;
  place-items: center !important;
  min-width: 72px !important;
  min-height: 42px !important;
  padding: 8px 12px !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 14%, var(--color-border, #dbe7e1)) !important;
  border-radius: 14px !important;
  color: var(--color-text, #10231f) !important;
  background: var(--color-bg, #fff) !important;
  font: 950 15px/1 var(--font-heading, sans-serif) !important;
  letter-spacing: -.04em !important;
}

.cms-content-matrix__partner-header h4 {
  margin: 4px 0 0 !important;
  color: var(--color-text, #10231f) !important;
  font: 900 16px/1.15 var(--font-heading, sans-serif) !important;
}

.cms-content-matrix__partner-body {
  display: flex !important;
  flex-direction: column !important;
}

.cms-content-matrix__check,
.cms-content-matrix__cross {
  display: inline-grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 auto !important;
  border-radius: 999px !important;
  font: 950 14px/1 var(--font-body, sans-serif) !important;
}

.cms-content-matrix__check {
  color: #fff !important;
  background: var(--color-accent, #0fbd74) !important;
}

.cms-content-matrix__cross {
  color: #fff !important;
  background: #a8b5ae !important;
}

.cms-content-matrix__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 13px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--color-accent, #0fbd74) !important;
  font: 900 12px/1 var(--font-body, sans-serif) !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  .cms-content-matrix__criteria {
    position: sticky !important;
    left: 0 !important;
    z-index: 2 !important;
    flex-basis: 150px !important;
    background: var(--color-bg-alt, #f4fbf7) !important;
  }
  .cms-content-matrix__partner {
    flex-basis: 210px !important;
  }
}

.cms-content-matrix {
  --cms-matrix-head-h: 128px;
  --cms-matrix-row-h: 60px;
  --cms-matrix-row-md-h: 86px;
  --cms-matrix-row-lg-h: 118px;
}

.cms-content-matrix__criteria,
.cms-content-matrix__partner,
.cms-content-matrix__row,
.cms-content-matrix__partner-header {
  box-sizing: border-box !important;
}

.cms-content-matrix__row {
  min-height: 0 !important;
  height: var(--cms-matrix-row-h) !important;
  overflow: hidden !important;
}

.cms-content-matrix__row--header,
.cms-content-matrix__partner-header {
  min-height: 0 !important;
  height: var(--cms-matrix-head-h) !important;
}

.cms-content-matrix__row--md {
  min-height: 0 !important;
  height: var(--cms-matrix-row-md-h) !important;
}

.cms-content-matrix__row--lg {
  min-height: 0 !important;
  height: var(--cms-matrix-row-lg-h) !important;
}

.cms-content-matrix__partner-header {
  align-content: center !important;
  grid-auto-rows: max-content !important;
}

.cms-content-matrix__row p {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

.cms-content-matrix__row--md p {
  -webkit-line-clamp: 4 !important;
}

.cms-content-matrix__row--lg p {
  -webkit-line-clamp: 5 !important;
}

/* COMPARISON_MATRIX_V2_ONLY_20260527: matrix is never a V1/card component. */
.cms-pc-std__content .cms-content-matrix,
.article-content .cms-content-matrix,
.prose .cms-content-matrix,
.post-content .cms-content-matrix {
  margin: 32px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cms-content-matrix__head {
  margin-bottom: 16px !important;
}

.cms-content-matrix__scroll {
  width: 100% !important;
  overflow-x: auto !important;
  padding: 2px 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cms-content-matrix__container {
  width: 100% !important;
  min-width: 100% !important;
  gap: 14px !important;
  padding: 2px 0 8px !important;
}

.cms-content-matrix__criteria {
  flex: 0 0 178px !important;
}

.cms-content-matrix__partner {
  flex: 1 1 0 !important;
  min-width: 220px !important;
}

.cms-content-matrix__partner-header {
  gap: 5px !important;
  padding: 18px 14px 12px !important;
}

.cms-content-matrix__partner-header h4 {
  margin-top: 2px !important;
}

.cms-content-rankcmp__points {
  margin-bottom: 10px !important;
}

.cms-content-matrix__footer {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.cms-content-matrix__cta {
  display: inline-flex !important;
  width: auto !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--color-accent, #0fbd74) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px color-mix(in srgb, var(--color-accent, #0fbd74) 24%, transparent) !important;
}

@media (max-width: 760px) {
  .cms-content-matrix__container {
    min-width: max-content !important;
  }

  .cms-content-matrix__criteria {
    flex: 0 0 150px !important;
  }

  .cms-content-matrix__partner {
    flex: 0 0 210px !important;
    min-width: 210px !important;
  }
}

/* POST_FULL_WIDTH_LAYOUT_20260527: no-sidebar article layout for component labs. */

/* POST_SIDEBAR_RELATED_LIST_FIX_20260529: keep "À lire aussi" cards compact in article sidebars. */
.post-with-sidebar__related-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.post-with-sidebar__related-list .cms-post-card--minimal {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 96px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border, rgba(15,23,42,.12)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.post-with-sidebar__related-list .cms-post-card--minimal:hover {
  transform: none !important;
}

.post-with-sidebar__related-list .cms-post-card--minimal:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.post-with-sidebar__related-list .cms-post-card__thumb {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

.post-with-sidebar__related-list .cms-post-card__thumb .cms-post-card__media,
.post-with-sidebar__related-list .cms-post-card__thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
}

.post-with-sidebar__related-list .cms-post-card__minimal-copy {
  min-width: 0 !important;
}

.post-with-sidebar__related-list .cms-post-card__title--minimal {
  margin: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.32 !important;
}

.post-with-sidebar__related-list .cms-post-card__title-link {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  color: var(--color-text, #111827) !important;
  text-decoration: none !important;
}

.post-with-sidebar__related-list .cms-post-card__meta--minimal {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  margin-top: 6px !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

.post-with-sidebar__related-list .cms-post-card__excerpt {
  display: none !important;
}

@media (max-width: 980px) {
  .post-with-sidebar__related-list .cms-post-card--minimal {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    min-height: 84px !important;
  }
  .post-with-sidebar__related-list .cms-post-card__thumb {
    width: 64px !important;
    height: 64px !important;
  }
}

/* COMPARISON_MATRIX_VISUAL_TUNING_20260529: lighter matrix cards, cleaner slider arrows and readable CTAs. */
.cms-pc-std__content .cms-content-matrix__partner,
.article-content .cms-content-matrix__partner,
.prose .cms-content-matrix__partner,
.post-content .cms-content-matrix__partner {
  box-shadow: 0 8px 18px rgba(6, 17, 15, .055) !important;
}

.cms-pc-std__content .cms-content-matrix__partner:hover,
.article-content .cms-content-matrix__partner:hover,
.prose .cms-content-matrix__partner:hover,
.post-content .cms-content-matrix__partner:hover {
  box-shadow: 0 10px 22px rgba(6, 17, 15, .075) !important;
}

.cms-pc-std__content .cms-content-matrix__controls,
.article-content .cms-content-matrix__controls,
.prose .cms-content-matrix__controls,
.post-content .cms-content-matrix__controls {
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
}

.cms-pc-std__content .cms-content-matrix__nav,
.article-content .cms-content-matrix__nav,
.prose .cms-content-matrix__nav,
.post-content .cms-content-matrix__nav {
  position: relative !important;
  width: 34px !important;
  height: 34px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 26%, var(--color-border, #dbe7e1)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--color-accent, #0fbd74) 7%, #fff) !important;
  color: transparent !important;
  box-shadow: 0 6px 14px rgba(6, 17, 15, .06) !important;
}

.cms-pc-std__content .cms-content-matrix__nav::before,
.article-content .cms-content-matrix__nav::before,
.prose .cms-content-matrix__nav::before,
.post-content .cms-content-matrix__nav::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  color: var(--color-accent, #0fbd74) !important;
}

.cms-pc-std__content .cms-content-matrix__nav--prev::before,
.article-content .cms-content-matrix__nav--prev::before,
.prose .cms-content-matrix__nav--prev::before,
.post-content .cms-content-matrix__nav--prev::before {
  transform: rotate(-135deg) translate(-1px, -1px) !important;
}

.cms-pc-std__content .cms-content-matrix__nav--next::before,
.article-content .cms-content-matrix__nav--next::before,
.prose .cms-content-matrix__nav--next::before,
.post-content .cms-content-matrix__nav--next::before {
  transform: rotate(45deg) translate(-1px, -1px) !important;
}

.cms-pc-std__content .cms-content-matrix__nav:hover,
.cms-pc-std__content .cms-content-matrix__nav:focus-visible,
.article-content .cms-content-matrix__nav:hover,
.article-content .cms-content-matrix__nav:focus-visible,
.prose .cms-content-matrix__nav:hover,
.prose .cms-content-matrix__nav:focus-visible,
.post-content .cms-content-matrix__nav:hover,
.post-content .cms-content-matrix__nav:focus-visible {
  background: var(--color-accent, #0fbd74) !important;
}

.cms-pc-std__content .cms-content-matrix__nav:hover::before,
.cms-pc-std__content .cms-content-matrix__nav:focus-visible::before,
.article-content .cms-content-matrix__nav:hover::before,
.article-content .cms-content-matrix__nav:focus-visible::before,
.prose .cms-content-matrix__nav:hover::before,
.prose .cms-content-matrix__nav:focus-visible::before,
.post-content .cms-content-matrix__nav:hover::before,
.post-content .cms-content-matrix__nav:focus-visible::before {
  color: #fff !important;
}

.cms-pc-std__content .cms-content-matrix__footer,
.article-content .cms-content-matrix__footer,
.prose .cms-content-matrix__footer,
.post-content .cms-content-matrix__footer {
  padding: 0 !important;
}

.cms-pc-std__content .cms-content-matrix__cta,
.article-content .cms-content-matrix__cta,
.prose .cms-content-matrix__cta,
.post-content .cms-content-matrix__cta {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 15px 11px !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}

/* AFFILIATE_LEGACY_COMPONENTS_NO_INLINE_20260604 */
.cms-aff-product-grid,
.cms-aff-product-pick,
.cms-aff-product-table,
.cms-aff-compat-matrix {
  margin: 32px 0;
}

.cms-aff-product-grid__head {
  margin: 0 0 16px;
}

.cms-aff-product-grid__title,
.cms-aff-product-table__title,
.cms-aff-compat-matrix__title {
  margin: 0 0 14px;
  padding: 0;
  color: var(--color-text);
  font: 850 clamp(24px, 2.8vw, 30px)/1.15 var(--font-heading);
  letter-spacing: -.025em;
}

.cms-aff-product-grid__intro {
  margin: 0;
  color: var(--color-text-muted);
  font: 400 15px/1.7 var(--font-body);
}

.cms-aff-product-grid__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}

.cms-aff-product-grid__card,
.cms-aff-product-pick,
.cms-aff-product-table__wrap,
.cms-aff-compat-matrix__wrap {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg, #fff);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.cms-aff-product-grid__card {
  display: flex;
  flex-direction: column;
}

.cms-aff-product-grid__media,
.cms-aff-product-table__media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--color-bg-alt);
}

.cms-aff-product-grid__media {
  aspect-ratio: 4 / 3;
}

.cms-aff-product-grid__media img,
.cms-aff-product-table__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 10px;
  object-fit: contain;
  background: #fff;
  box-sizing: border-box;
}

.cms-aff-product-grid__media-fallback,
.cms-aff-product-pick__media-fallback,
.cms-aff-product-table__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  padding: 16px;
  text-align: center;
  color: var(--color-text-muted);
  font: 700 13px/1.45 var(--font-body);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, .02), rgba(15, 23, 42, .08));
}

.cms-aff-product-grid__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.cms-aff-product-grid__kicker,
.cms-aff-product-pick__badge,
.cms-aff-product-pick__kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  color: var(--color-accent);
  font: 850 11px/1 var(--font-body);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cms-aff-product-grid__kicker {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text) 6%, transparent);
  color: var(--color-text);
}

.cms-aff-product-grid__card h3,
.cms-aff-product-pick__title {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  line-height: 1.2;
}

.cms-aff-product-grid__card h3 {
  font-size: 20px;
}

.cms-aff-product-grid__chips,
.cms-aff-product-pick__badges,
.cms-aff-product-pick__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-aff-product-grid__chips span,
.cms-aff-product-pick__chip,
.cms-aff-product-pick__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--color-border) 80%, transparent);
  border-radius: 999px;
  background: var(--color-bg-alt);
  color: var(--color-text-muted);
  font: 750 12px/1 var(--font-body);
}

.cms-aff-product-grid__desc,
.cms-aff-product-pick__desc,
.cms-aff-product-pick__verdict {
  margin: 0;
  color: var(--color-text);
  font: 400 14px/1.65 var(--font-body);
}

.cms-aff-product-grid__proscons {
  display: grid;
  gap: 8px;
}

.cms-aff-product-grid__proscons strong {
  display: block;
  margin-bottom: 4px;
  color: var(--color-text-muted);
  font: 850 12px/1.2 var(--font-body);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cms-aff-product-grid__proscons ul,
.cms-aff-product-pick__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-aff-product-grid__proscons li,
.cms-aff-product-pick__list li {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: var(--color-text);
  font: 400 13px/1.55 var(--font-body);
}

.cms-aff-product-grid__proscons li::before,
.cms-aff-product-pick__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--color-accent);
}

.cms-aff-product-grid__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.cms-aff-product-grid__price,
.cms-aff-product-pick__price {
  margin: 0;
  color: var(--color-text);
  font: 850 16px/1.2 var(--font-heading);
}

.cms-aff-product-pick__price {
  font-size: clamp(22px, 2vw, 28px);
}

.cms-aff-product-pick__price span {
  margin-left: 8px;
  color: var(--color-text-muted);
  font-size: 14px;
  text-decoration: line-through;
}

.cms-aff-product-grid__cta,
.cms-aff-product-pick__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff !important;
  font: 850 13px/1 var(--font-body);
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
}

.cms-aff-product-pick__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 0;
}

.cms-aff-product-pick__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr);
  gap: 20px;
  padding: 18px 20px 20px;
}

.cms-aff-product-pick__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: calc(var(--radius-lg) - 4px);
  background: var(--color-bg-alt);
}

.cms-aff-product-pick__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: cover;
}

.cms-aff-product-pick__content {
  display: grid;
  align-content: start;
  gap: 12px;
}

.cms-aff-product-pick__kicker {
  margin: 0;
}

.cms-aff-product-pick__title {
  font-size: clamp(22px, 2.8vw, 30px);
}

.cms-aff-product-table__wrap,
.cms-aff-compat-matrix__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cms-aff-product-table table,
.cms-aff-compat-matrix table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.cms-aff-product-table th,
.cms-aff-product-table td,
.cms-aff-compat-matrix th,
.cms-aff-compat-matrix td {
  min-width: 180px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}

.cms-aff-compat-matrix th,
.cms-aff-compat-matrix td {
  text-align: center;
}

.cms-aff-product-table thead th,
.cms-aff-compat-matrix thead th {
  background: var(--color-accent);
  color: #fff;
  font: 750 13px/1.3 var(--font-heading);
  text-align: left;
}

.cms-aff-compat-matrix thead th {
  text-align: center;
}

.cms-aff-product-table tbody td,
.cms-aff-compat-matrix tbody td {
  font: 400 14px/1.55 var(--font-body);
}

.cms-aff-product-table tbody td:first-child,
.cms-aff-compat-matrix tbody td:first-child {
  width: 190px;
  background: color-mix(in srgb, var(--color-bg-alt) 80%, transparent);
  color: var(--color-text-muted);
  font-weight: 800;
}

.cms-aff-product-table tbody tr:last-child td,
.cms-aff-compat-matrix tbody tr:last-child td {
  border-bottom: 0;
}

.cms-aff-product-table__product {
  display: grid;
  gap: 10px;
}

.cms-aff-product-table__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-bg);
}

.cms-aff-product-table__product-title {
  color: var(--color-text);
  font: 800 14px/1.35 var(--font-heading);
}

.cms-aff-compat-matrix__yes {
  color: var(--color-accent);
  font-weight: 850;
}

.cms-aff-compat-matrix__no {
  color: var(--color-text-muted);
}

.cms-content-rankcmp__brand {
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: 20px !important;
}

.cms-content-rankcmp__media {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 70px;
  width: 70px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  background: #fff;
}

.cms-content-rankcmp__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 7px;
  object-fit: contain;
  box-sizing: border-box;
}

@media (max-width: 860px) {
  .cms-aff-product-pick__grid {
    grid-template-columns: 1fr;
  }

  .cms-aff-product-pick__media {
    min-height: 180px;
  }
}

@media (max-width: 768px) {
  .cms-aff-product-table th,
  .cms-aff-product-table td,
  .cms-aff-compat-matrix th,
  .cms-aff-compat-matrix td {
    min-width: 160px;
    padding: 10px 14px;
    font-size: 13px;
  }
}

@media (max-width: 760px) {
  .cms-content-rankcmp__brand {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .cms-content-rankcmp__media {
    flex-basis: 62px;
    width: 62px;
  }
}

@media (max-width: 768px) {
  .cms-content-figure--portrait {
    width: 100%;
    max-width: 100%;
  }
}

/* AFFILIATE_COMPARISON_CTA_COMPACT_20260528 */
.cms-pc-std__content .cms-content-rankcmp__cta {
  min-height: 32px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-matrix__footer {
  padding: 0 !important;
}

.cms-pc-std__content .cms-content-matrix__cta {
  min-height: 34px !important;
  padding: 8px 11px !important;
  font-size: 11px !important;
  width: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* COMPARISON_MATRIX_NAV_CTA_FIX_20260529: precise arrow centering and CTA vertical rhythm. */
.cms-pc-std__content .cms-content-matrix__nav,
.article-content .cms-content-matrix__nav,
.prose .cms-content-matrix__nav,
.post-content .cms-content-matrix__nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.cms-pc-std__content .cms-content-matrix__nav::before,
.article-content .cms-content-matrix__nav::before,
.prose .cms-content-matrix__nav::before,
.post-content .cms-content-matrix__nav::before {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  margin: 0 !important;
  transform-origin: center !important;
}

.cms-pc-std__content .cms-content-matrix__nav--prev::before,
.article-content .cms-content-matrix__nav--prev::before,
.prose .cms-content-matrix__nav--prev::before,
.post-content .cms-content-matrix__nav--prev::before {
  transform: translate(-42%, -50%) rotate(-135deg) !important;
}

.cms-pc-std__content .cms-content-matrix__nav--next::before,
.article-content .cms-content-matrix__nav--next::before,
.prose .cms-content-matrix__nav--next::before,
.post-content .cms-content-matrix__nav--next::before {
  transform: translate(-58%, -50%) rotate(45deg) !important;
}

.cms-pc-std__content .cms-content-matrix__footer .cms-content-matrix__cta,
.article-content .cms-content-matrix__footer .cms-content-matrix__cta,
.prose .cms-content-matrix__footer .cms-content-matrix__cta,
.post-content .cms-content-matrix__footer .cms-content-matrix__cta {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 16px 12px !important;
  font-size: 13px !important;
  line-height: 1.18 !important;
}

/* COMPONENT_H4_LABEL_MARGIN_RESET_20260529: generic article h4 spacing must not affect component labels. */
.cms-pc-std__content h4.cms-content-cpanel__label,
.article-content h4.cms-content-cpanel__label,
.post-content h4.cms-content-cpanel__label,
.prose h4.cms-content-cpanel__label {
  margin: 0 !important;
}

/* PROS_CONS_SOURCE_PANEL_CARD_FIX_20260529: avoid nested card effect on canonical post components. */
.cms-pc-std__content .cms-content-pc__head {
  padding: 0 !important;
}

.cms-pc-std__content .cms-content-pc__grid {
  padding: 18px 0 0 !important;
}

.cms-pc-std__content .cms-content-pc__foot {
  padding: 14px 0 0 !important;
}

.cms-pc-std__content :is(.cms-content-style-v2.cms-content-pc, .cms-content-style-v2.cms-content-src) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cms-pc-std__content .cms-content-src:not(.cms-content-style-v2) .cms-content-src__item {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 12%, var(--color-border, #e5e7eb)) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.cms-pc-std__content .cms-content-src:not(.cms-content-style-v2) .cms-content-src__item:last-child {
  border-bottom: 0 !important;
}

.cms-pc-std__content .cms-content-cg__card {
  gap: 2px !important;
}

.cms-pc-std__content .cms-content-style-v2 .cms-content-src__item,
.cms-pc-std__content .writer-component-card--src-lab .cms-content-style-v2 .cms-content-src__item {
  padding: 14px 16px !important;
  border-radius: var(--radius-md, 16px) !important;
}

.cms-pc-std__content .cms-content-style-v2 .cms-content-cg__card,
.cms-pc-std__content .cms-content-cg.cms-content-style-v2 .cms-content-cg__card,
.cms-pc-std__content .writer-component-card--criteria-lab .cms-content-style-v2 .cms-content-cg__card {
  padding: 14px 16px !important;
  border-radius: var(--radius-md, 16px) !important;
}

/* COMPONENT_DEFENSIVE_VARIANTS_20260529:
   Keep writer components styled when PHP emits direct variant classes
   instead of only relying on the generic .cms-content-style-v2 selector. */
.cms-pc-std__content :is(
  .cms-content-cpanel--v2,
  .cms-content-stat--v2,
  .cms-content-cg--v2,
  .cms-content-info--v2,
  .cms-content-src--v2,
  .cms-content-ds--v2,
  .cms-content-pc--v2,
  .cms-content-af--v2,
  .cms-content-pp--v2,
  .cms-content-clp--v2,
  .cms-content-icg--v2,
  .cms-content-tool--v2
) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cms-pc-std__content :is(
  .cms-content-cpanel--v2 .cms-content-cpanel__head,
  .cms-content-stat--v2 .cms-content-stat__head,
  .cms-content-cg--v2 .cms-content-cg__head,
  .cms-content-info--v2 .cms-content-info__head,
  .cms-content-src--v2 .cms-content-src__head,
  .cms-content-ds--v2 .cms-content-ds__head,
  .cms-content-pc--v2 .cms-content-pc__head,
  .cms-content-af--v2 .cms-content-af__head,
  .cms-content-pp--v2 .cms-content-pp__head,
  .cms-content-clp--v2 .cms-content-clp__head,
  .cms-content-icg--v2 .cms-content-icg__head,
  .cms-content-tool--v2 .cms-content-tool__head
) {
  padding: 0 !important;
}

.cms-pc-std__content :is(
  .cms-content-cpanel--v2 .cms-content-cpanel__row,
  .cms-content-stat--v2 .cms-content-stat__card,
  .cms-content-cg--v2 .cms-content-cg__card,
  .cms-content-info--v2 .cms-content-info__card,
  .cms-content-src--v2 .cms-content-src__item,
  .cms-content-ds--v2 .cms-content-ds__card,
  .cms-content-pc--v2 .pc-col,
  .cms-content-af--v2 .cms-content-af__body,
  .cms-content-pp--v2 .cms-content-pp__card,
  .cms-content-clp--v2 .cms-content-clp__item,
  .cms-content-icg--v2 .cms-content-icg__card,
  .cms-content-tool--v2 .cms-content-tool__result
) {
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 14%, var(--color-border, #e5e7eb)) !important;
  border-radius: var(--radius-md, 16px) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 10%, transparent), transparent 42%),
    var(--color-bg-alt, #f8fafc) !important;
  box-shadow: none !important;
}

.cms-pc-std__content .cms-content-stat--cols-2 .cms-content-stat__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-pc-std__content .cms-content-cpanel__row,
.cms-pc-std__content .cms-content-stat__card {
  min-width: 0;
}

@media (max-width: 900px) {
  .cms-pc-std__content .cms-content-stat--cols-2 .cms-content-stat__grid {
    grid-template-columns: 1fr;
  }
}

/* CRITERIA_GRID_WRAPPER_NEUTRAL_20260529:
   criteria-grid has a root wrapper plus an inner shell. The wrapper must never
   receive card chrome, otherwise V1 renders as a double card/border block. */
.cms-pc-std__content .cms-content-cg {
  margin: clamp(24px, 4vw, 42px) 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cms-pc-std__content .cms-content-cg > .cms-content-cg__shell {
  margin: 0 !important;
}

.cms-pc-std__content .cms-content-style-v2.cms-content-cg > .cms-content-cg__shell,
.cms-pc-std__content .cms-content-cg--v2 > .cms-content-cg__shell {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ARTICLE_CODE_TERMINAL_STYLE_20260529:
   Code-heavy posts need readable terminal-like blocks after legacy light pre styles. */
.cms-pc-std__content pre,
.cms-pc-std__content pre.wp-block-code,
.article-content pre,
.article-content pre.wp-block-code,
.post-content pre,
.post-content pre.wp-block-code,
.prose pre,
.prose pre.wp-block-code {
  position: relative !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  margin: 24px 0 !important;
  padding: 18px 20px !important;
  overflow-x: auto !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 18%, #1f2937) !important;
  border-radius: var(--radius-lg, 18px) !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0f766e) 18%, transparent), transparent 42%),
    linear-gradient(180deg, #111827 0%, #0b1120 100%) !important;
  color: #e5edf7 !important;
  box-shadow: 0 18px 44px rgba(2, 6, 23, .22) !important;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  white-space: pre !important;
  -webkit-overflow-scrolling: touch;
}

.cms-pc-std__content pre code,
.cms-pc-std__content pre.wp-block-code code,
.article-content pre code,
.article-content pre.wp-block-code code,
.post-content pre code,
.post-content pre.wp-block-code code,
.prose pre code,
.prose pre.wp-block-code code {
  display: block !important;
  min-width: 100% !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  font: inherit !important;
  white-space: inherit !important;
}

.cms-pc-std__content :is(p, li, td, th) > code,
.article-content :is(p, li, td, th) > code,
.post-content :is(p, li, td, th) > code,
.prose :is(p, li, td, th) > code {
  display: inline;
  padding: .14em .42em !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 16%, transparent) !important;
  border-radius: 7px !important;
  background: color-mix(in srgb, var(--color-accent, #0f766e) 10%, var(--color-bg-alt, #f8fafc)) !important;
  color: color-mix(in srgb, var(--color-accent, #0f766e) 82%, var(--color-text, #0f172a)) !important;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace !important;
  font-size: .88em !important;
  line-height: 1.35 !important;
  white-space: break-spaces;
}

@media (max-width: 640px) {
  .cms-pc-std__content pre,
  .cms-pc-std__content pre.wp-block-code,
  .article-content pre,
  .article-content pre.wp-block-code,
  .post-content pre,
  .post-content pre.wp-block-code,
  .prose pre,
  .prose pre.wp-block-code {
    padding: 14px 15px !important;
    font-size: 12px !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere;
  }
  .cms-pc-std__content pre code,
  .cms-pc-std__content pre.wp-block-code code,
  .article-content pre code,
  .article-content pre.wp-block-code code,
  .post-content pre code,
  .post-content pre.wp-block-code code,
  .prose pre code,
  .prose pre.wp-block-code code {
    width: 100% !important;
    max-width: 100% !important;
    white-space: inherit !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* TEMPLATE_MEDIA_BACKGROUND_FALLBACKS_20260529
   Defensive layer: some rebuilt component bundles missed the background-image
   declarations while PHP components still emit CSS variables. Keep this block
   append-only and sync it with tools/scripts/sync-components-css-safe.js. */
.cms-hero-centered__bg {
  background-image: var(--cms-hero-centered-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-bcta-overlay__bg {
  background-image: var(--cms-bcta-overlay-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cms-bcta-stacked__image {
  background-image: var(--cms-bcta-stacked-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-min__bg {
  background-image: var(--cms-hero-min-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-bcta-split__image {
  background-image: var(--cms-bcta-split-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cms-bcta-imgbar__image {
  background-image: var(--cms-bcta-imgbar-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cms-ti-parallax__image {
  background-image: var(--cms-ti-parallax-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-post-centered__bg {
  background-image: var(--cms-hero-post-centered-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-post-overlay__bg {
  background-image: var(--cms-hero-post-overlay-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-oc__bg-image {
  background-image: var(--cms-hero-oc-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-fc__bg {
  background-image: var(--cms-hero-fc-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-glow__bg {
  background-image: var(--cms-hero-glow-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-video__fallback {
  background-image: var(--cms-hero-video-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-slider__bg {
  background-image: var(--cms-hero-slider-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cms-hero-sf__bg {
  background-image: var(--cms-hero-sf-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 768px) {
  .cms-ti-dsplit__wrap,
  .cms-ti-std__wrap {
    flex-direction: column !important;
  }
  .cms-ti-dsplit__text,
  .cms-ti-dsplit__image-col,
  .cms-ti-std__text,
  .cms-ti-std__image-col {
    flex: 1 1 auto;
    width: 100%;
  }
  .cms-ti-dsplit__image-col {
    min-height: 250px;
  }
  .cms-ti-parallax__wrap {
    flex-direction: column-reverse !important;
    min-height: auto;
    border-radius: 0;
  }
  .cms-ti-parallax__text {
    flex: 1 1 auto;
    width: 100%;
    padding: clamp(28px, 4vw, 48px) 20px;
  }
  .cms-ti-parallax__image-col {
    flex: 1 1 auto;
    width: 100%;
    height: 300px;
    position: relative;
  }
  .cms-ti-parallax__image {
    background-attachment: scroll;
  }
  .cms-ti-covl__wrap {
    flex-direction: column;
    min-height: auto;
  }
  .cms-ti-covl__image-col {
    flex: 1 1 auto;
    width: 100%;
    order: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .cms-ti-covl__image-col .cms-img-deco {
    min-height: 260px;
  }
  .cms-ti-covl__card {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -40px auto 0;
  }
}

@media (max-width: 768px) {
  .cms-ti-dsplit__wrap,
  .cms-ti-std__wrap {
    flex-direction: column !important;
  }
  .cms-ti-dsplit__text,
  .cms-ti-dsplit__image-col,
  .cms-ti-std__text,
  .cms-ti-std__image-col {
    flex: 1 1 auto;
    width: 100%;
  }
  .cms-ti-dsplit__image-col {
    min-height: 250px;
  }
  .cms-ti-parallax__wrap {
    flex-direction: column-reverse !important;
    min-height: auto;
    border-radius: 0;
  }
  .cms-ti-parallax__text {
    flex: 1 1 auto;
    width: 100%;
    padding: clamp(28px, 4vw, 48px) 20px;
  }
  .cms-ti-parallax__image-col {
    flex: 1 1 auto;
    width: 100%;
    height: 300px;
    position: relative;
  }
  .cms-ti-parallax__image {
    background-attachment: scroll;
  }
  .cms-ti-covl__wrap {
    flex-direction: column;
    min-height: auto;
  }
  .cms-ti-covl__image-col {
    flex: 1 1 auto;
    width: 100%;
    order: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .cms-ti-covl__image-col .cms-img-deco {
    min-height: 260px;
  }
  .cms-ti-covl__card {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -40px auto 0;
  }
}

/* COMPARISON_MATRIX_CAROUSEL_FIX_20260602: hide native scrollbar while keeping arrow carousel functional. */
.cms-pc-std__content .cms-content-matrix__controls,
.article-content .cms-content-matrix__controls,
.prose .cms-content-matrix__controls,
.post-content .cms-content-matrix__controls {
  display: flex !important;
}

.cms-pc-std__content .cms-content-matrix__scroll,
.article-content .cms-content-matrix__scroll,
.prose .cms-content-matrix__scroll,
.post-content .cms-content-matrix__scroll {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.cms-pc-std__content .cms-content-matrix__scroll::-webkit-scrollbar,
.article-content .cms-content-matrix__scroll::-webkit-scrollbar,
.prose .cms-content-matrix__scroll::-webkit-scrollbar,
.post-content .cms-content-matrix__scroll::-webkit-scrollbar {
  display: none !important;
}

.cms-pc-std__content .cms-content-matrix__container,
.article-content .cms-content-matrix__container,
.prose .cms-content-matrix__container,
.post-content .cms-content-matrix__container {
  width: max-content !important;
  min-width: max-content !important;
  padding-right: 4px !important;
}

.cms-pc-std__content .cms-content-matrix__criteria,
.article-content .cms-content-matrix__criteria,
.prose .cms-content-matrix__criteria,
.post-content .cms-content-matrix__criteria {
  position: sticky !important;
  left: 0 !important;
  z-index: 4 !important;
  flex: 0 0 150px !important;
  background: var(--color-bg-alt, #f4fbf7) !important;
}

.cms-pc-std__content .cms-content-matrix__partner,
.article-content .cms-content-matrix__partner,
.prose .cms-content-matrix__partner,
.post-content .cms-content-matrix__partner {
  flex: 0 0 clamp(188px, 20vw, 224px) !important;
  min-width: clamp(188px, 20vw, 224px) !important;
}

@media (max-width: 760px) {
  .cms-pc-std__content .cms-content-matrix__criteria,
  .article-content .cms-content-matrix__criteria,
  .prose .cms-content-matrix__criteria,
  .post-content .cms-content-matrix__criteria {
    flex-basis: 92px !important;
  }

  .cms-pc-std__content .cms-content-matrix__partner,
  .article-content .cms-content-matrix__partner,
  .prose .cms-content-matrix__partner,
  .post-content .cms-content-matrix__partner {
    flex-basis: 202px !important;
    min-width: 202px !important;
  }
}

/* ARTICLE_V2_MOBILE_BASELINE_20260605
   Shared mobile defaults for post pages. Keep at EOF so it overrides older
   generated component blocks without changing site-specific home/listing CSS. */
@media (max-width: 800px) {
  .page-post .cms-section__inner--contained,
  .page-post .cms-section__inner--narrow,
  .page-post .cms-section__inner--full {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  :is(
    .page-post,
    .page-blog,
    .page-blog-categorie,
    .page-category,
    .page-author,
    .page-guides,
    .page-nos-guides
  ) :is(
    [data-reveal],
    .cms-post-card,
    .cms-generic-card,
    .cms-ds-card,
    .cms-bl-grid,
    .cms-bl-ff,
    .cms-bl-fg
  ) {
    opacity: 1 !important;
    transform: none !important;
    transition-duration: 0s !important;
    animation: none !important;
  }

  :is(
    .page-post,
    .page-blog,
    .page-blog-categorie,
    .page-category,
    .page-author,
    .page-guides,
    .page-nos-guides
  ) :is(
    .cms-post-card:hover,
    .cms-generic-card:hover,
    .cms-ds-card:hover,
    .cms-post-card:hover .cms-post-card__media,
    .cms-generic-card:hover .cms-generic-card__media
  ) {
    transform: none !important;
  }
}

/* ARTICLE_V2_LISTING_BASELINE_20260605
   Shared defaults for blog/home listings and obfuscated footer links. */
.page-listing-paged :is(
  .cms-hero-min,
  .cms-hero-fc,
  .cms-hero-post-overlay,
  .cms-hero-post-centered,
  .cms-hero-cwm,
  .cms-hero-centered,
  .cms-hero-split,
  .cms-hero-slider,
  .gdn-hero,
  .rse-editorial-hero,
  .nix-category-hero,
  .ic-hero
) {
  min-height: clamp(220px, 32vh, 360px) !important;
}

.page-listing-paged [class*="hero"][class*="__title"] {
  font-size: clamp(1.65rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
}

.page-listing-paged [class*="hero"][class*="__subtitle"],
.page-listing-paged [class*="hero"][class*="__scroll"] {
  display: none !important;
}

:is(.page-home, .page-blog, .page-blog-categorie, .page-category) :is(
  .cms-bl-grid[data-reveal],
  .cms-bl-grid [data-reveal],
  .cms-bl-ff[data-reveal],
  .cms-bl-fg[data-reveal],
  .cms-post-card,
  .cms-generic-card,
  .cms-bl-card,
  .bl__card,
  .cms-card
) {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

:is(.page-home, .page-blog, .page-blog-categorie, .page-category) :is(
  .cms-post-card:hover,
  .cms-generic-card:hover,
  .cms-bl-card:hover,
  .bl__card:hover,
  .cms-card:hover,
  .cms-post-card:hover img,
  .cms-generic-card:hover img,
  .cms-bl-card:hover img,
  .bl__card:hover img,
  .cms-card:hover img
) {
  transform: none !important;
}

.cms-obfuscated-link,
.cms-legal-link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
  text-align: inherit;
  text-decoration: inherit;
  cursor: pointer;
}

:is(
  .cms-footer-mega,
  .cms-footer-cta,
  .cms-ftr-col3,
  .cms-ftr-col4
) :is(.cms-obfuscated-link, .cms-legal-link) {
  display: inline-flex;
  align-items: baseline;
  width: auto;
  min-width: 0;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* RANKING_COMPARISON_GRID_STABLE_20260608: keep body/action columns stable when optional scorebox is absent. */
.cms-content-rankcmp__rank {
  grid-column: 1 !important;
}

.cms-content-rankcmp__brand {
  grid-column: 2 !important;
}

.cms-content-rankcmp__scorebox {
  grid-column: 3 !important;
}

.cms-content-rankcmp__body {
  grid-column: 4 !important;
  min-width: 0 !important;
}

.cms-content-rankcmp__action {
  grid-column: 5 !important;
  width: min(100%, 138px) !important;
  min-width: 0 !important;
  justify-self: end !important;
}

.cms-content-rankcmp__cta {
  width: 100% !important;
  max-width: 138px !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.15 !important;
}

@media (max-width: 960px) {
  .cms-content-rankcmp__rank,
  .cms-content-rankcmp__brand,
  .cms-content-rankcmp__scorebox,
  .cms-content-rankcmp__body,
  .cms-content-rankcmp__action {
    grid-column: auto !important;
  }

  .cms-content-rankcmp__body,
  .cms-content-rankcmp__action {
    grid-column: 2 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  .cms-content-rankcmp__cta {
    max-width: none !important;
  }
}

/* CONTENT_CAROUSEL_OVERFLOW_FIX_20260608
   Keep article product grids static when all cards fit, and reserve carousel
   controls for real overflow cases. */
.cms-pc-std__content .cms-content-icg--cols-3 .cms-content-icg__grid,
.article-content .cms-content-icg--cols-3 .cms-content-icg__grid,
.prose .cms-content-icg--cols-3 .cms-content-icg__grid,
.post-content .cms-content-icg--cols-3 .cms-content-icg__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  overflow: visible !important;
}

.cms-pc-std__content .cms-content-icg--cols-4 .cms-content-icg__grid,
.article-content .cms-content-icg--cols-4 .cms-content-icg__grid,
.prose .cms-content-icg--cols-4 .cms-content-icg__grid,
.post-content .cms-content-icg--cols-4 .cms-content-icg__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  overflow: visible !important;
}

.cms-pc-std__content .cms-content-icg__link,
.cms-pc-std__content .cms-content-icg__link:hover,
.article-content .cms-content-icg__link,
.article-content .cms-content-icg__link:hover,
.prose .cms-content-icg__link,
.prose .cms-content-icg__link:hover,
.post-content .cms-content-icg__link,
.post-content .cms-content-icg__link:hover {
  color: inherit !important;
  text-decoration: none !important;
}

.cms-pc-std__content .cms-content-icg__cta,
.article-content .cms-content-icg__cta,
.prose .cms-content-icg__cta,
.post-content .cms-content-icg__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 40px !important;
  margin-top: 16px !important;
  padding: 11px 16px !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0f766e) 28%, transparent) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--color-accent, #0f766e) !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--color-accent, #0f766e) 20%, transparent) !important;
  font: 800 12px/1 var(--font-body, sans-serif) !important;
  text-decoration: none !important;
}

.cms-pc-std__content .cms-content-icg__cta:hover,
.article-content .cms-content-icg__cta:hover,
.prose .cms-content-icg__cta:hover,
.post-content .cms-content-icg__cta:hover {
  color: #fff !important;
  filter: brightness(.94);
  text-decoration: none !important;
}

.cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__controls,
.article-content .cms-content-matrix--fit .cms-content-matrix__controls,
.prose .cms-content-matrix--fit .cms-content-matrix__controls,
.post-content .cms-content-matrix--fit .cms-content-matrix__controls {
  display: none !important;
}

.cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__scroll,
.article-content .cms-content-matrix--fit .cms-content-matrix__scroll,
.prose .cms-content-matrix--fit .cms-content-matrix__scroll,
.post-content .cms-content-matrix--fit .cms-content-matrix__scroll {
  overflow-x: visible !important;
  padding-right: 0 !important;
}

.cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__container,
.article-content .cms-content-matrix--fit .cms-content-matrix__container,
.prose .cms-content-matrix--fit .cms-content-matrix__container,
.post-content .cms-content-matrix--fit .cms-content-matrix__container {
  width: 100% !important;
  min-width: 100% !important;
  display: flex !important;
}

.cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__criteria,
.article-content .cms-content-matrix--fit .cms-content-matrix__criteria,
.prose .cms-content-matrix--fit .cms-content-matrix__criteria,
.post-content .cms-content-matrix--fit .cms-content-matrix__criteria {
  position: static !important;
  flex: 0 0 clamp(128px, 16%, 178px) !important;
  min-width: 0 !important;
}

.cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__partner,
.article-content .cms-content-matrix--fit .cms-content-matrix__partner,
.prose .cms-content-matrix--fit .cms-content-matrix__partner,
.post-content .cms-content-matrix--fit .cms-content-matrix__partner {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

@media (max-width: 900px) {
  .cms-pc-std__content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .cms-pc-std__content .cms-content-icg--cols-4 .cms-content-icg__grid,
  .article-content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .article-content .cms-content-icg--cols-4 .cms-content-icg__grid,
  .prose .cms-content-icg--cols-3 .cms-content-icg__grid,
  .prose .cms-content-icg--cols-4 .cms-content-icg__grid,
  .post-content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .post-content .cms-content-icg--cols-4 .cms-content-icg__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__scroll,
  .article-content .cms-content-matrix--fit .cms-content-matrix__scroll,
  .prose .cms-content-matrix--fit .cms-content-matrix__scroll,
  .post-content .cms-content-matrix--fit .cms-content-matrix__scroll {
    overflow-x: auto !important;
  }

  .cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__container,
  .article-content .cms-content-matrix--fit .cms-content-matrix__container,
  .prose .cms-content-matrix--fit .cms-content-matrix__container,
  .post-content .cms-content-matrix--fit .cms-content-matrix__container {
    width: max-content !important;
    min-width: max-content !important;
  }

  .cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__criteria,
  .article-content .cms-content-matrix--fit .cms-content-matrix__criteria,
  .prose .cms-content-matrix--fit .cms-content-matrix__criteria,
  .post-content .cms-content-matrix--fit .cms-content-matrix__criteria {
    position: sticky !important;
    left: 0 !important;
    z-index: 4 !important;
    flex: 0 0 92px !important;
  }

  .cms-pc-std__content .cms-content-matrix--fit .cms-content-matrix__partner,
  .article-content .cms-content-matrix--fit .cms-content-matrix__partner,
  .prose .cms-content-matrix--fit .cms-content-matrix__partner,
  .post-content .cms-content-matrix--fit .cms-content-matrix__partner {
    flex: 0 0 202px !important;
    min-width: 202px !important;
  }
}

@media (max-width: 620px) {
  .cms-pc-std__content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .cms-pc-std__content .cms-content-icg--cols-4 .cms-content-icg__grid,
  .article-content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .article-content .cms-content-icg--cols-4 .cms-content-icg__grid,
  .prose .cms-content-icg--cols-3 .cms-content-icg__grid,
  .prose .cms-content-icg--cols-4 .cms-content-icg__grid,
  .post-content .cms-content-icg--cols-3 .cms-content-icg__grid,
  .post-content .cms-content-icg--cols-4 .cms-content-icg__grid {
    grid-template-columns: 1fr !important;
  }
}

/* RANKCMP_CTA_BOX_SIZING_FIX_20260608
   Ranking comparison CTAs can be width:100%; keep padding inside the card. */
.cms-pc-std__content .cms-content-rankcmp__cta,
.article-content .cms-content-rankcmp__cta,
.prose .cms-content-rankcmp__cta,
.post-content .cms-content-rankcmp__cta {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* COMPARISON_MATRIX_PRODUCT_MEDIA_20260608: compact product/logo images in matrix headers. */
.cms-content-matrix__partner-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 72px !important;
  height: 52px !important;
  margin: 0 auto 4px !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 14%, var(--color-border, #dbe7e1)) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.cms-content-matrix__partner-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 6px !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

/* CONTENT_CARD_FULL_CLICK_FIX_20260608
   Cards with data-cms-card-link are fully clickable while keeping nested links
   and buttons native. */
[data-cms-card-link] {
  cursor: pointer;
}

[data-cms-card-link]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-accent, #0f766e) 48%, transparent);
  outline-offset: 3px;
}

/* TOOL_NOTE_GRID_BASE_20260608
   Reusable note grid for standalone tool pages and calculator explainers. */
.cms-tool-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: clamp(28px, 4vw, 44px) 0;
}

.cms-tool-note-grid > div {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--color-border, var(--cms-border, #e5e7eb));
  border-radius: 18px;
  background: var(--color-bg, var(--cms-bg, #fff));
}

@media (max-width: 860px) {
  .cms-tool-note-grid {
    grid-template-columns: 1fr;
  }
}

/* TOOL_RESULT_VISIBILITY_20260608
   Multi-step and guided engines render their result blocks dynamically. Keep
   the legacy calculator default hidden, but show engine-specific result states. */
.cms-tool[data-engine="multi-step-calculator"],
.cms-tool[data-engine="estimator"],
.cms-tool[data-engine="checker"],
.cms-tool[data-engine="quiz"] {
  overflow: visible !important;
}

.cms-tool .cms-tool__result--estimator,
.cms-tool .cms-tool__checker-result,
.cms-tool .cms-tool__quiz-result {
  display: block !important;
}</style>    <style>/* Canonical article/post layout CSS. Synced separately from components. */

.ws-layout-section { overflow: visible !important; }

.ws-layout-shell {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.ws-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(32px, 4vw, 60px);
    align-items: start;
}

.ws-content { min-width: 0; }

.ws-content .post-content {
    max-width: 100% !important;
    padding: 0 !important;
}

.ws-content .post-content h2,
.ws-content .post-content h3 {
    scroll-margin-top: calc(var(--header-sticky-offset, 96px) + 12px);
}

.ws-sidebar {
    position: sticky;
    top: 100px;
    align-self: start;
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: clamp(24px, 3vw, 40px);
}

.ws-sidebar > *:first-child { margin-top: 0 !important; }

.ws-card {
    margin-bottom: 20px;
    padding: 20px;
    border: var(--cms-pc-border);
    border-radius: var(--cms-ds-radius-lg);
    background: var(--cms-pc-bg);
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
}

.ws-card--flat {
    background: var(--color-bg-alt);
    box-shadow: none;
}

.ws-label {
    display: block;
    margin: 0 0 14px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.ws-toc-list,
.ws-toc-children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ws-toc-children { margin: 2px 0 4px; }

.ws-toc-group { margin: 0; }

.ws-toc-group + .ws-toc-group { margin-top: 2px; }

.ws-toc-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.ws-toc-link {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    margin-left: -10px;
    padding: 4px 0 4px 10px;
    border-left: 2px solid transparent;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color .2s, border-color .2s;
}

.ws-toc-link:hover,
.ws-toc-link.active {
    color: var(--color-accent);
    border-left-color: var(--color-accent);
}

.ws-toc-link.active { font-weight: 600; }

.ws-toc-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin-top: 2px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--cms-ds-radius-full);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: background .2s, color .2s, transform .2s;
}

.ws-toc-toggle:hover {
    background: var(--color-bg-alt);
    color: var(--color-accent);
}

.ws-toc-toggle svg {
    width: 14px;
    height: 14px;
    transition: transform .2s ease;
}

.ws-toc-group.is-open .ws-toc-toggle svg { transform: rotate(180deg); }

.ws-toc-h3 { margin: 0; }

.ws-toc-h3 .ws-toc-link {
    padding-left: 22px;
    font-size: 12px;
}

.ws-sidebar .cms-post-card--minimal:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.ws-related-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ws-related-list .cms-post-card--minimal {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    min-height: 96px;
    transform: none !important;
}

.ws-related-list .cms-post-card--minimal:hover {
    transform: none !important;
}

.ws-related-list .cms-post-card__thumb {
    width: 72px;
    height: 72px;
    border-radius: 12px;
}

.ws-related-list .cms-post-card__thumb .cms-post-card__media,
.ws-related-list .cms-post-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0 !important;
    border-radius: inherit;
}

.ws-related-list .cms-post-card__minimal-copy {
    min-width: 0;
}

.ws-related-list .cms-post-card__title--minimal {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.32;
}

.ws-related-list .cms-post-card__title-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ws-related-list .cms-post-card--minimal:hover .cms-post-card__title-link {
    color: var(--color-accent) !important;
}

.ws-related-list .cms-post-card__meta--minimal {
    gap: 8px;
    margin-top: 6px;
    font-size: 11.5px;
    line-height: 1.35;
}

.ws-author {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-top: clamp(32px, 4vw, 48px);
}

.ws-author__media {
    flex-shrink: 0;
}

.ws-author__avatar {
    display: block;
    width: 64px;
    height: 64px;
    border: 2px solid var(--color-border);
    border-radius: 50%;
    object-fit: cover;
}

.ws-author__body { min-width: 0; }

.ws-author__name {
    display: block;
    margin: 0 0 6px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text);
    text-decoration: none;
}

.ws-author__bio {
    margin: 0;
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-muted);
}

.page-post--standard .post-layout-shell {
    max-width: 820px;
    margin: 0 auto;
}

.page-post--standard .post-layout-shell--overlap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding: 40px;
    border-radius: var(--radius-lg, 12px);
    background: var(--color-bg, #fff);
    box-shadow: 0 2px 20px rgba(0,0,0,.06);
}

.page-post--standard .post-layout-author {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 20px;
}

.page-post--standard .post-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.post-box-hero-shell {
    max-width: calc(var(--container, 1200px) - 80px);
    margin: 40px auto;
    overflow: hidden;
    border-radius: var(--radius-lg, 12px);
}

.post-box-content {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 20px;
}

.post-box-content--overlap {
    position: relative;
    z-index: 2;
    margin-top: -40px;
    padding: 40px;
    border-radius: var(--radius-lg, 12px);
    background: var(--color-bg, #fff);
    box-shadow: 0 2px 20px rgba(0,0,0,.06);
}

.post-box-author {
    display: flex;
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 20px;
    align-items: center;
    gap: 16px;
}

.post-box-author__avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.post-box-author__name {
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.post-box-author__bio {
    display: -webkit-box;
    margin: 4px 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .cms-ds-grid--cols-3,
    .cms-ds-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ws-layout { grid-template-columns: 1fr !important; }
    .ws-sidebar {
        position: static;
        padding-top: 0;
        padding-bottom: 0;
    }
    .listing-grid,
    .listing-layout--grid-2col .listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .page-post--standard .post-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .listing-layout--list-horizontal .listing-grid,
    .listing-layout--list-full .listing-grid,
    .listing-layout--minimal-list .listing-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .page-post--standard .post-layout-shell--overlap {
        margin-top: -24px;
        padding: 24px 18px;
    }
    .page-post--standard .post-layout-author {
        padding: 0 16px;
    }
}

@media (max-width: 640px) {
    .cms-ds-container,
    .cms-ds-container--narrow { width: min(100% - 32px, var(--cms-ds-container)); }
    .cms-ds-grid--cols-2,
    .cms-ds-grid--cols-3,
    .cms-ds-grid--cols-4 { grid-template-columns: 1fr; }
    .listing-grid,
    .listing-layout--grid-2col .listing-grid {
        grid-template-columns: 1fr;
    }
    .page-post--standard .post-related-grid {
        grid-template-columns: 1fr;
    }
}

.cms-post-std__breadcrumb-wrap {
    padding-top: clamp(80px, 10vw, 120px);
    padding-bottom: 16px;
    background: var(--color-bg-alt);
}

.cms-post-std__inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-std__breadcrumb {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-text-muted);
}

.cms-post-std__breadcrumb-link { color: inherit; text-decoration: none; transition: color 0.2s ease; }

.cms-post-std__breadcrumb-link:hover { color: var(--color-accent); }

.cms-post-std__sep { margin: 0 8px; }

.cms-post-std__header {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 24px clamp(24px, 3vw, 40px);
    text-align: center;
}

.cms-post-std__category-pill {
    display: inline-block;
    margin-bottom: 16px;
    padding: 5px 16px;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
}

.cms-post-std__title {
    margin: 0 0 20px;
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-text);
}

.cms-post-std__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-muted);
}

.cms-post-std__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.cms-post-std__meta-main {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cms-post-std__author-link,
.cms-post-std__author-name {
    font-weight: 600;
    color: var(--color-text);
    text-decoration: none;
}

.cms-post-std__author-link:hover { color: var(--color-accent); }

.cms-post-std__figure {
    max-width: 960px;
    margin: 0 auto clamp(32px, 4vw, 56px);
    padding: 0 24px;
}

.cms-post-std__content-wrap {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-std__content {
    max-width: 800px;
    margin: 0 auto;
}

.cms-post-std__author-box { margin-top: clamp(40px, 5vw, 64px); }

.cms-post-std__related {
    padding: var(--spacing-section) 0;
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
}

.cms-post-std__related-inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.cms-post-std__related-title {
    margin: 0 0 clamp(24px, 3vw, 40px);
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 700;
    color: var(--color-text);
}

.cms-post-std__related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

@media (max-width: 900px) {
    .cms-post-std__related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .cms-post-std__related-grid { grid-template-columns: 1fr; }
}

.cms-table-modal { position:fixed; inset:0; z-index:10040; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(15,23,42,.44); backdrop-filter:blur(4px); }

.cms-table-modal[hidden] { display:none !important; }

.cms-table-modal__dialog { display:flex; flex-direction:column; width:min(1600px, calc(100vw - 20px)); max-height:min(92vh, 1100px); overflow:hidden; border-radius:20px; background:var(--color-bg); box-shadow:0 24px 60px rgba(15,23,42,.22); }

.cms-table-modal__topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid var(--color-border); background:color-mix(in srgb, var(--color-bg) 92%, var(--color-bg-alt) 8%); }

.cms-table-modal__title { color:var(--color-text); font:600 14px/1.4 var(--font-body); }

.cms-table-modal__close { width:40px; height:40px; border:none; border-radius:999px; background:var(--color-bg); color:var(--color-text); cursor:pointer; box-shadow:0 6px 16px rgba(15,23,42,.08); }

.cms-table-modal__body { overflow:auto; padding:18px; background:var(--color-bg); }

.cms-table-modal__body :is(.pc-table-shell, .tb-shell) { border-radius:16px; box-shadow:none; }

.cms-table-modal__body :is(.pc-table-shell, .tb-shell)::before, .cms-table-modal__body :is(.pc-table-shell, .tb-shell)::after { content:""; position:absolute; top:0; bottom:0; width:18px; pointer-events:none; opacity:0; transition:opacity .18s ease; z-index:5; }

.cms-table-modal__body :is(.pc-table-shell, .tb-shell)::before { left:0; background:linear-gradient(to right, rgba(255,255,255,.96), rgba(255,255,255,0)); }

.cms-table-modal__body :is(.pc-table-shell, .tb-shell)::after { right:0; background:linear-gradient(to left, rgba(255,255,255,.96), rgba(255,255,255,0)); }

.cms-table-modal__body :is(.pc-table-shell.has-left-shadow, .tb-shell.has-left-shadow)::before, .cms-table-modal__body :is(.pc-table-shell.has-right-shadow, .tb-shell.has-right-shadow)::after { opacity:1; }

.cms-table-modal__body :is(.pc-table-scroll, .tb-wrap) { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:rgba(148, 163, 184, 0.85) transparent; }

.cms-table-modal__body :is(.pc-table-scroll, .tb-wrap)::-webkit-scrollbar { height:10px; }

.cms-table-modal__body :is(.pc-table-scroll, .tb-wrap)::-webkit-scrollbar-track { background:transparent; }

.cms-table-modal__body :is(.pc-table-scroll, .tb-wrap)::-webkit-scrollbar-thumb { background:rgba(148, 163, 184, 0.75); border:2px solid transparent; border-radius:999px; background-clip:padding-box; }

.cms-table-modal__body :is(.pc-table-scroll table, .tb-wrap table) { display:table !important; width:100%; min-width:max-content; margin:0 !important; border-collapse:separate; border-spacing:0; table-layout:auto; font-family:var(--font-body); font-size:15px; }

.cms-table-modal__body :is(.pc-table-scroll th, .tb-wrap th) { position:sticky; top:0; z-index:2; min-width:136px; padding:13px 18px; background:var(--color-accent); color:#fff; text-align:left; font-weight:600; line-height:1.35; white-space:normal; word-break:normal; overflow-wrap:anywhere; }

.cms-table-modal__body :is(.pc-table-scroll td, .tb-wrap td) { min-width:136px; padding:13px 18px; color:var(--color-text-muted); vertical-align:top; line-height:1.6; border-bottom:1px solid var(--color-border, rgba(0,0,0,0.08)); background:var(--color-bg, #fff); white-space:normal; word-break:normal; overflow-wrap:anywhere; }

.cms-table-modal__body .pc-table-shell[data-density="balanced"] .pc-table-scroll :is(th,td) { min-width:118px; }

.cms-table-modal__body .pc-table-shell[data-density="compact"] .pc-table-scroll :is(th,td) { min-width:102px; font-size:14px; }

.cms-table-modal__body :is(.tb-wrap tbody tr:last-child td, .pc-table-scroll tbody tr:last-child td) { border-bottom:none; }

.cms-table-modal__body :is(.pc-table-shell[data-sticky-first="1"] .pc-table-scroll th:first-child, .pc-table-shell[data-sticky-first="1"] .pc-table-scroll td:first-child, .tb-wrap th:first-child, .tb-wrap td:first-child) { position:sticky; left:0; min-width:170px; box-shadow:1px 0 0 var(--color-border, rgba(0,0,0,0.08)); }

.cms-table-modal__body :is(.pc-table-shell[data-sticky-first="1"] .pc-table-scroll th:first-child, .tb-wrap th:first-child) { z-index:6; background:color-mix(in srgb, var(--color-accent) 92%, #000 8%); }

.cms-table-modal__body :is(.pc-table-shell[data-sticky-first="1"] .pc-table-scroll td:first-child, .tb-wrap td:first-child) { z-index:3; background:color-mix(in srgb, var(--color-bg) 92%, var(--color-bg-alt) 8%); color:var(--color-text); font-weight:600; }

.cms-pc-sb {
    --cms-pc-sb-font-size: 16px;
    --cms-pc-sb-line-height: 1.8;
    --cms-pc-sb-text: var(--color-text);
    --cms-pc-sb-muted: var(--color-text-muted);
}

.cms-pc-sb--dark {
    --cms-pc-sb-text: var(--color-dark-text);
    --cms-pc-sb-muted: var(--color-dark-text-muted);
}

.cms-pc-sb--style-editorial {
    --cms-pc-sb-font-size: 17px;
}

.cms-pc-sb__grid { display:grid; grid-template-columns:1fr 340px; gap:clamp(32px, 4vw, 64px); max-width:var(--container, 1200px); margin:0 auto; padding:0 20px; align-items:start; }

.cms-pc-sb__content { min-width:0; }

.cms-pc-sb .post-sidebar-slot { position:sticky; top:100px; min-width:0; }

.cms-pc-sb__content :is(h2,h3,h4) { color:var(--cms-pc-sb-text); font-family:var(--font-heading); font-weight:600; line-height:1.3; }

.cms-pc-sb__content h2 { margin:48px 0 16px; font-size:clamp(22px, 3vw, 28px); }

.cms-pc-sb__content h2:first-child { margin-top:0; }

.cms-pc-sb__content h3 { margin:36px 0 12px; font-size:clamp(18px, 2.5vw, 22px); }

.cms-pc-sb__content h4 { margin:28px 0 8px; font-size:17px; }

.cms-pc-sb__content p { margin:0 0 20px; color:var(--cms-pc-sb-muted); font-family:var(--font-body); font-size:var(--cms-pc-sb-font-size); line-height:var(--cms-pc-sb-line-height); }

.cms-pc-sb__content p:last-child { margin-bottom:0; }

.cms-pc-sb__content a { color:var(--color-accent); text-decoration:underline; text-underline-offset:3px; transition:color 0.2s; }

.cms-pc-sb__content a:hover { color:var(--color-accent-hover, var(--color-accent)); }

.cms-pc-sb__content blockquote { margin:32px 0; padding:4px 0 4px 24px; border-left:3px solid var(--color-accent); color:var(--cms-pc-sb-text); font-size:18px; font-style:italic; line-height:1.7; }

.cms-pc-sb__content blockquote p { margin-bottom:0; color:inherit; font-size:inherit; }

.cms-pc-sb__content :is(ul,ol) { margin:0 0 20px; padding-left:24px; }

.cms-pc-sb__content li { margin-bottom:6px; color:var(--cms-pc-sb-muted); font-family:var(--font-body); font-size:var(--cms-pc-sb-font-size); line-height:var(--cms-pc-sb-line-height); }

.cms-pc-sb__content img { display:block; width:100%; height:auto; margin:32px 0; border-radius:var(--radius, 8px); }

.cms-pc-sb__content table { width:100%; margin:32px 0; border-collapse:collapse; font-family:var(--font-body); font-size:15px; }

.cms-pc-sb__content th { padding:12px 16px; background:var(--color-accent); color:#fff; text-align:left; font-weight:600; }

.cms-pc-sb__content td { padding:10px 16px; color:var(--cms-pc-sb-muted); border-bottom:1px solid var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-sb__content tr:last-child td { border-bottom:none; }

.cms-pc-sb__content hr { border:none; height:1px; margin:40px 0; background:var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-sb--firstletter .cms-pc-sb__content > p:first-of-type::first-letter { float:left; margin:6px 8px 0 0; color:var(--color-accent); font-family:var(--font-heading); font-size:3.5em; font-weight:700; line-height:0.8; }

.cms-pc-sb--code .cms-pc-sb__content pre { margin:24px 0; padding:20px 24px; overflow-x:auto; border-radius:var(--radius,8px); background:var(--color-bg-alt,#f5f5f5); font-size:14px; line-height:1.6; }

.cms-pc-sb--code .cms-pc-sb__content code { font-family:'JetBrains Mono','Fira Code',monospace; font-size:0.9em; }

.cms-pc-sb--code .cms-pc-sb__content :is(p code, li code) { padding:2px 6px; border-radius:4px; background:var(--color-bg-alt,#f5f5f5); }

.cms-pc-sb--code .cms-pc-sb__content :is(.info-box,.warning-box) { margin:24px 0; padding:16px 20px; border-radius:var(--radius,8px); font-size:15px; line-height:1.6; }

.cms-pc-sb--code .cms-pc-sb__content .info-box { border-left:4px solid var(--color-accent); background:var(--color-bg-alt,#f5f5f5); }

.cms-pc-sb--code .cms-pc-sb__content .warning-box { border-left:4px solid #e67e22; background:rgba(230,126,34,0.06); }

.cms-pc-nar {
    --cms-pc-nar-text: var(--color-text);
    --cms-pc-nar-muted: var(--color-text-muted);
}

.cms-pc-nar--dark {
    --cms-pc-nar-text: var(--color-dark-text);
    --cms-pc-nar-muted: var(--color-dark-text-muted);
}

.cms-pc-nar__content { max-width:600px; margin:0 auto; padding:0 20px; }

.cms-pc-nar__content :is(h2,h3,h4) { color:var(--cms-pc-nar-text); font-family:var(--font-heading); font-weight:600; }

.cms-pc-nar__content h2 { margin:56px 0 20px; font-size:clamp(24px,3vw,32px); line-height:1.25; letter-spacing:-0.02em; }

.cms-pc-nar__content h2:first-child { margin-top:0; }

.cms-pc-nar__content h3 { margin:44px 0 16px; font-size:clamp(20px,2.5vw,24px); line-height:1.3; letter-spacing:-0.01em; }

.cms-pc-nar__content h4 { margin:36px 0 12px; font-size:19px; }

.cms-pc-nar__content p { margin:0 0 28px; color:var(--cms-pc-nar-muted); font-family:var(--font-body); font-size:18px; line-height:2em; }

.cms-pc-nar__content p:last-child { margin-bottom:0; }

.cms-pc-nar__content a { color:var(--color-accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color 0.2s; }

.cms-pc-nar__content a:hover { color:var(--color-accent-hover, var(--color-accent)); }

.cms-pc-nar__content blockquote { margin:40px 0; padding:8px 0 8px 28px; border-left:3px solid var(--color-accent); color:var(--cms-pc-nar-text); font-size:20px; font-style:italic; line-height:1.7; letter-spacing:-0.01em; }

.cms-pc-nar__content blockquote p { margin-bottom:0; color:inherit; font-size:inherit; line-height:inherit; }

.cms-pc-nar__content :is(ul,ol) { margin:0 0 28px; padding-left:24px; }

.cms-pc-nar__content li { margin-bottom:8px; color:var(--cms-pc-nar-muted); font-family:var(--font-body); font-size:18px; line-height:2em; }

.cms-pc-nar__content img { display:block; width:100%; height:auto; margin:40px 0; border-radius:var(--radius,8px); }

.cms-pc-nar__content table { width:100%; margin:36px 0; border-collapse:collapse; font-family:var(--font-body); font-size:16px; }

.cms-pc-nar__content th { padding:12px 16px; background:var(--color-accent); color:#fff; text-align:left; font-weight:600; }

.cms-pc-nar__content td { padding:10px 16px; color:var(--cms-pc-nar-muted); border-bottom:1px solid var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-nar__content tr:last-child td { border-bottom:none; }

.cms-pc-nar__content hr { max-width:120px; height:1px; margin:48px auto; border:none; background:var(--color-border, rgba(0,0,0,0.08)); }

.cms-pc-nar__content pre { margin:28px 0; padding:20px 24px; overflow-x:auto; border-radius:var(--radius,8px); background:var(--color-bg-alt,#f5f5f5); font-size:15px; line-height:1.6; }

.cms-pc-nar__content code { font-family:'JetBrains Mono','Fira Code',monospace; font-size:0.88em; }

.cms-pc-nar__content :is(p code, li code) { padding:2px 6px; border-radius:4px; background:var(--color-bg-alt,#f5f5f5); }

@media (max-width: 968px) {
    .cms-pc-sb__grid { grid-template-columns: 1fr; }
    .cms-pc-sb .post-sidebar-slot { display: none; }
    .cms-pc-sb__content h2 { margin-top: 36px; }
    .cms-pc-sb__content blockquote { margin: 24px 0; font-size: 16px; }
}

@media (max-width: 768px) {
    .cms-pc-std__content { padding: 0 10px; }
    .cms-pc-std--overlap .cms-pc-std__content { margin-top: -24px; padding: 24px 18px; }
    .cms-pc-std--breakout .cms-pc-std__content > img,
    .cms-pc-std--breakout .cms-pc-std__content > p > img:only-child,
    .cms-pc-std--breakout .cms-pc-std__content > figure > img,
    .cms-pc-std--breakout .cms-pc-std__content > .wp-block-image img,
    .cms-pc-std--breakout .cms-pc-std__content > .medias-wrapper > img,
    .cms-pc-std--breakout .cms-pc-std__content > .cms-content-figure img { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
    .cms-pc-std__content .pc-table-shell { margin-left: -12px; margin-right: -12px; border-radius: var(--radius, 8px); }
    .cms-pc-std__content .pc-table-expand { display: none !important; }
    .cms-pc-std__content h2 { margin-top: 36px; }
    .cms-pc-std__content blockquote { margin: 24px 0; font-size: 16px; }
    .cms-pc-std__content .pc-table-scroll :is(th,td) { min-width: 116px; padding: 10px 12px; font-size: 13px; }
    .cms-pc-std__content .pc-table-shell[data-density="balanced"] .pc-table-scroll :is(th,td) { min-width: 102px; }
    .cms-pc-std__content .pc-table-shell[data-density="compact"] .pc-table-scroll :is(th,td) { min-width: 90px; }
    .cms-pc-std__content .pc-table-shell[data-sticky-first="1"] .pc-table-scroll :is(th:first-child, td:first-child) { min-width: 124px; }
    .cms-pc-nar__content p { margin-bottom: 24px; font-size: 17px; line-height: 1.85em; }
    .cms-pc-nar__content h2 { margin-top: 40px; }
    .cms-pc-nar__content blockquote { margin: 28px 0; font-size: 18px; }
    .cms-pc-nar__content li { font-size: 17px; line-height: 1.85em; }
}

/* Post Author */
.cms-pa-in { --cms-pa-in-text: var(--color-text); --cms-pa-in-muted: var(--color-text-muted); }

.cms-pa-in--dark { --cms-pa-in-text: var(--color-dark-text); --cms-pa-in-muted: var(--color-dark-text-muted); }

.cms-pa-in__row { display:flex; align-items:center; gap:10px; max-width:var(--container,1200px); margin:0 auto; color:var(--cms-pa-in-muted); font-family:var(--font-body); font-size:14px; line-height:1; }

.cms-pa-in__avatar { width:36px; height:36px; border-radius:50%; object-fit:cover; flex-shrink:0; }

.cms-pa-in__name { color:var(--cms-pa-in-text); font-weight:700; }

.cms-pa-in__sep { color:var(--cms-pa-in-muted); user-select:none; }

.cms-table-modal{position:fixed;inset:0;z-index:10040;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.44);backdrop-filter:blur(4px)}

.cms-table-modal[hidden]{display:none !important}

.cms-table-modal__dialog{display:flex;flex-direction:column;width:min(1600px,calc(100vw - 20px));max-height:min(92vh,1100px);overflow:hidden;border-radius:20px;background:var(--color-bg);box-shadow:0 24px 60px rgba(15,23,42,.22)}

.cms-table-modal__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 92%,var(--color-bg-alt) 8%)}

.cms-table-modal__title{font:600 14px/1.4 var(--font-body);color:var(--color-text)}

.cms-table-modal__close{width:40px;height:40px;border:none;border-radius:999px;background:var(--color-bg);color:var(--color-text);cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.08)}

.cms-table-modal__body{padding:18px;overflow:auto;background:var(--color-bg)}

.cms-table-modal__body .cms-content-table__shell{border-radius:16px;box-shadow:none}

.cms-table-modal__body .cms-content-table__expand-btn{display:none !important}

.cms-table-modal__body .cms-content-table__table{width:100%;min-width:max-content}

.cms-table-modal__body .cms-content-table__table th,.cms-table-modal__body .cms-content-table__table td{min-width:var(--cms-content-table-modal-cell-min)}

.cms-table-modal{position:fixed;inset:0;z-index:10040;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.44);backdrop-filter:blur(4px)}

.cms-table-modal[hidden]{display:none !important}

.cms-table-modal__dialog{display:flex;flex-direction:column;width:min(1600px,calc(100vw - 20px));max-height:min(92vh,1100px);overflow:hidden;border-radius:20px;background:var(--color-bg);box-shadow:0 24px 60px rgba(15,23,42,.22)}

.cms-table-modal__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 92%,var(--color-bg-alt) 8%)}

.cms-table-modal__title{font:600 14px/1.4 var(--font-body);color:var(--color-text)}

.cms-table-modal__close{width:40px;height:40px;border:none;border-radius:999px;background:var(--color-bg);color:var(--color-text);cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.08)}

.cms-table-modal__body{padding:18px;overflow:auto;background:var(--color-bg)}

.cms-table-modal__body .cms-content-table__shell{border-radius:16px;box-shadow:none}

.cms-table-modal__body .cms-content-table__expand-btn{display:none !important}

.cms-table-modal__body .cms-content-table__table{width:100%;min-width:max-content}

.cms-table-modal__body .cms-content-table__table th,.cms-table-modal__body .cms-content-table__table td{min-width:var(--cms-content-table-modal-cell-min)}

/* COMPARATIVE_SERP_LAYOUT_FIX_20260527: wide SERP comparators + aligned matrix rows. */
@media (min-width: 1080px) {
  .ws-layout .cms-pc-std__content > :is(.cms-content-rankcmp, .cms-content-matrix),
  .ws-layout .cms-pc-std__content > .writer-component-card:has(> :is(.cms-content-rankcmp, .cms-content-matrix)) {
    --cms-comparison-breakout: clamp(352px, 30vw, 400px);
    position: relative !important;
    z-index: 5 !important;
    width: min(calc(100vw - 48px), calc(100% + var(--cms-comparison-breakout))) !important;
    max-width: min(calc(100vw - 48px), calc(100% + var(--cms-comparison-breakout))) !important;
    margin-right: calc(var(--cms-comparison-breakout) * -1) !important;
  }
}

.page-post--full-width .fw-post-section .cms-section__inner {
  max-width: none !important;
  padding-right: clamp(16px, 4vw, 56px) !important;
  padding-left: clamp(16px, 4vw, 56px) !important;
}

.fw-post-layout {
  width: min(100%, 1280px);
  margin: 0 auto;
}

.fw-post-toc {
  margin: 0 0 clamp(28px, 4vw, 52px);
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid color-mix(in srgb, var(--color-accent, #0fbd74) 16%, var(--color-border, #dbe7e1));
  border-radius: var(--radius-lg, 22px);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent, #0fbd74) 9%, transparent), transparent 38%),
    var(--color-bg-alt, #f4fbf7);
}

.fw-post-toc__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.fw-post-toc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fw-post-toc__head .ws-label {
  margin-bottom: 0;
}

.fw-post-toc__title {
  display: block;
  margin: 0;
  color: var(--color-text, #10231f);
  font: 900 clamp(24px, 3vw, 38px)/1.05 var(--font-heading, sans-serif);
  letter-spacing: -.035em;
}

.fw-post-toc__icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--color-accent, #0fbd74);
  color: #fff;
  font: 900 17px/1 var(--font-body, sans-serif);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--color-accent, #0fbd74) 18%, transparent);
}

.fw-post-toc__nav {
  margin-top: 18px;
}

.fw-post-toc__nav[hidden] {
  display: none !important;
}

.fw-post-toc__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: none !important;
}

.fw-post-toc__group,
.cms-pc-std__content .fw-post-toc__group {
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 86%, transparent) !important;
  border-radius: 18px !important;
  background: var(--color-bg, #fff) !important;
  list-style: none !important;
}

.fw-post-toc__group::before {
  content: none !important;
}

.fw-post-toc a {
  display: inline-flex;
  color: var(--color-text, #10231f);
  font: 850 14px/1.35 var(--font-body, sans-serif);
  text-decoration: none;
}

.fw-post-toc a:hover {
  color: var(--color-accent, #0fbd74);
}

.fw-post-toc__group > ol {
  display: grid;
  gap: 8px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fw-post-toc__group > ol > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

.fw-post-toc__group > ol > li::before {
  content: none !important;
}

.fw-post-toc__group > ol a {
  color: var(--color-text-muted, #5d6f67);
  font-size: 12.75px;
  font-weight: 750;
}

.page-post--full-width .cms-pc-std__content {
  max-width: 100% !important;
  padding-right: clamp(10px, 3vw, 42px) !important;
  padding-left: clamp(10px, 3vw, 42px) !important;
}

.page-post--full-width .fw-post-content {
  width: 100%;
}

.page-post--full-width .fw-post-author {
  max-width: 920px;
  margin: clamp(34px, 5vw, 64px) auto 0;
}

@media (max-width: 980px) {
  .fw-post-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .fw-post-toc__head {
    display: block;
  }

  .fw-post-toc__head .ws-label {
    margin-bottom: 10px;
  }

  .fw-post-toc__list {
    grid-template-columns: 1fr;
  }
}

/* CONTENT_SURFACES_20260604 */
.cms-surface-section .fw-post-layout {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
}

.cms-surface-content {
  width: 100%;
}

.cms-surface-body {
  width: 100%;
}

.cms-surface-nav {
  width: 100%;
  margin: 0 0 clamp(18px, 3vw, 30px);
}

.cms-surface-nav__track {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 2px 10px;
  scrollbar-width: none;
}

.cms-surface-nav__track::-webkit-scrollbar {
  display: none;
}

.cms-surface-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 9px 14px;
  border: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 82%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-bg, #fff) 92%, var(--color-accent, #0fbd74) 8%);
  color: var(--color-text, #10231f);
  font: 850 13px/1 var(--font-body, sans-serif);
  text-decoration: none !important;
  white-space: nowrap;
}

.cms-surface-nav__link:hover {
  border-color: color-mix(in srgb, var(--color-accent, #0fbd74) 44%, var(--color-border, #dbe7e1));
  color: var(--color-accent, #0fbd74);
}

.cms-surface-hub-section {
  position: relative;
}

.cms-surface-hub {
  width: 100%;
}

@media (max-width: 768px) {
  .cms-surface-section .fw-post-layout {
    width: min(100%, calc(100vw - 24px));
  }

  .cms-surface-nav {
    margin-bottom: 16px;
  }

  .cms-surface-nav__link {
    min-height: 34px;
    padding: 8px 12px;
    font-size: 12.5px;
  }
}

/* ARTICLE_IMAGE_PORTRAIT_20260604: portrait editorial images should not be
   cropped or stretched full-width on desktop. Component/card/logo images are
   intentionally excluded. */
@media (min-width: 769px) {
  .cms-pc-std__content > .cms-content-figure--portrait,
  .cms-pc-sb__content > .cms-content-figure--portrait,
  .post-content > .cms-content-figure--portrait,
  .article-content > .cms-content-figure--portrait,
  .prose > .cms-content-figure--portrait {
    width: 50%;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }

  .cms-content-figure--portrait .cms-img-deco,
  .cms-content-figure--portrait .cms-img-deco__inner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }

  .cms-content-figure--portrait .cms-img-deco__img,
  .cms-pc-std__content .cms-content-figure--portrait .cms-img-deco__img,
  .post-content .cms-content-figure--portrait .cms-img-deco__img,
  .article-content .cms-content-figure--portrait .cms-img-deco__img,
  .prose .cms-content-figure--portrait .cms-img-deco__img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* WP_IMPORTED_TABLE_MOBILE_SAFE_20260530
   Mobile fix for imported WordPress tables wrapped in figure.wp-block-table.
   Keep append-only: preserves existing site-specific table styling and only
   prevents mobile column crushing on post pages. */
@media (max-width: 680px) {
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) {
    padding-left: min(12px, 3.5vw);
    padding-right: min(12px, 3.5vw);
  }
  .cms-pc-std--overlap .cms-pc-std__content {
    padding: 12px 12px 24px;
  }
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) figure.wp-block-table {
    width: calc(100% + 16px);
    max-width: calc(100% + 16px);
    margin: 22px -8px;
    padding: 0;
    overflow: visible;
  }
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) figure.wp-block-table :is(.pc-table-shell, .tb-shell) {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) figure.wp-block-table :is(.pc-table-scroll, .tb-wrap) {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) figure.wp-block-table :is(.pc-table-scroll, .tb-wrap) table {
    width: max-content !important;
    min-width: 640px !important;
    max-width: none !important;
    table-layout: auto !important;
  }
  :is(.cms-pc-std__content, .cms-pc-sb__content, .article-content, .post-content) figure.wp-block-table :is(.pc-table-scroll, .tb-wrap) :is(th, td) {
    min-width: 180px !important;
    white-space: normal !important;
  }
}

.fw-post-toc__head .ws-label {
  margin-bottom: 0;
}

.fw-post-toc__title {
  display: block;
  margin: 0;
  color: var(--color-text, #10231f);
  font: 900 clamp(24px, 3vw, 38px)/1.05 var(--font-heading, sans-serif);
  letter-spacing: -.035em;
}

.fw-post-toc__icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--color-accent, #0fbd74);
  color: #fff;
  font: 900 17px/1 var(--font-body, sans-serif);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--color-accent, #0fbd74) 18%, transparent);
}

.fw-post-toc__nav {
  margin-top: 18px;
}

.fw-post-toc__nav[hidden] {
  display: none !important;
}

.fw-post-toc__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: none !important;
}

.fw-post-toc__group,
.cms-pc-std__content .fw-post-toc__group {
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid color-mix(in srgb, var(--color-border, #dbe7e1) 86%, transparent) !important;
  border-radius: 18px !important;
  background: var(--color-bg, #fff) !important;
  list-style: none !important;
}

.fw-post-toc__group::before {
  content: none !important;
}

.fw-post-toc a {
  display: inline-flex;
  color: var(--color-text, #10231f);
  font: 850 14px/1.35 var(--font-body, sans-serif);
  text-decoration: none;
}

.fw-post-toc a:hover {
  color: var(--color-accent, #0fbd74);
}

.fw-post-toc__group > ol {
  display: grid;
  gap: 8px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fw-post-toc__group > ol > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

.fw-post-toc__group > ol > li::before {
  content: none !important;
}

.fw-post-toc__group > ol a {
  color: var(--color-text-muted, #5d6f67);
  font-size: 12.75px;
  font-weight: 750;
}

.page-post--full-width .cms-pc-std__content {
  max-width: 100% !important;
  padding-right: clamp(10px, 3vw, 42px) !important;
  padding-left: clamp(10px, 3vw, 42px) !important;
}

.page-post--full-width .fw-post-content {
  width: 100%;
}

.page-post--full-width .fw-post-author {
  max-width: 920px;
  margin: clamp(34px, 5vw, 64px) auto 0;
}

@media (max-width: 980px) {
  .fw-post-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .fw-post-toc__head {
    display: block;
  }

  .fw-post-toc__head .ws-label {
    margin-bottom: 10px;
  }

  .fw-post-toc__list {
    grid-template-columns: 1fr;
  }
}</style>    <style>/* Canonical non-post legacy UI CSS kept out of components.css. */

.cms-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 70;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--cms-ds-radius-full);
    background: var(--color-accent);
    color: #fff;
    box-shadow: var(--shadow-lg);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease;
}

.cms-parallax-media {
    transform: translate3d(0, 0, 0) scale(1.08);
    transform-origin: center center;
    will-change: transform;
}

body.cms-back-to-top-visible #cms-back-to-top {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

body.cms-preview-mode {
    margin-right: 280px;
}

body.cms-preview-mode main {
    margin-right: 280px;
}

body.cms-preview-mode.sidebar-collapsed,
body.cms-preview-mode main.sidebar-collapsed {
    margin-right: 0;
}

.listing-filter {
    position: sticky;
    top: 76px;
    z-index: 40;
    padding: 16px 0;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-alt);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.listing-filter__inner {
    display: flex;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    flex-wrap: wrap;
    gap: 10px;
}

.listing-filter__item {
    padding: 8px 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: border-color .2s, color .2s, background .2s;
}

.listing-filter__item:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.listing-filter__item.is-active {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: #fff;
}

.listing-layout {
    padding: clamp(32px, 4vw, 56px) 0 var(--spacing-section);
    background: var(--color-bg-alt);
}

.listing-layout__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.listing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.listing-layout--grid-2col .listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-layout--list-horizontal .listing-grid,
.listing-layout--list-full .listing-grid {
    grid-template-columns: 1fr;
    max-width: 900px;
}

.listing-layout--minimal-list .listing-grid {
    grid-template-columns: 1fr;
    max-width: 800px;
}

.listing-layout__featured {
    margin-bottom: clamp(24px, 3vw, 40px);
}

.listing-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: clamp(32px, 4vw, 56px);
}

.listing-pagination__item {
    padding: 8px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: border-color .2s, color .2s, background .2s;
}

.listing-pagination__item--wide { padding-inline: 16px; }

.listing-pagination__item:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.listing-pagination__item.is-active {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: #fff;
    font-weight: 600;
}

.listing-pagination__dots {
    padding: 4px 8px;
    color: var(--color-text-muted);
}

.listing-layout__empty {
    margin: 0;
    padding: clamp(40px, 5vw, 80px) 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 16px;
    text-align: center;
}

@media (min-width: 1024px) {
    .cms-header-bottom__desktop { display: flex !important; }
    .cms-header-bottom__mobile { display: none !important; }
    .cms-header-centered__nav { display: flex !important; }
    .cms-header-centered__burger,
    .cms-header-centered .cms-header-mobile,
    .cms-header-centered + .cms-header-mobile-fs { display: none !important; }
}

@media (max-width: 1023px) {
    .cms-header-bottom__desktop { display: none !important; }
    .cms-header-bottom__mobile { display: block !important; }
    .cms-header-centered__nav { display: none !important; }
}

.cms-header-bottom--light {
    --cms-header-bottom-bg: var(--color-bg);
    --cms-header-bottom-text: var(--color-text);
    --cms-header-bottom-muted: var(--color-text-muted);
    --cms-header-bottom-border: var(--color-border);
}

.cms-header-bottom--dark {
    --cms-header-bottom-bg: var(--color-dark-bg);
    --cms-header-bottom-text: var(--color-dark-text);
    --cms-header-bottom-muted: rgba(255,255,255,.6);
    --cms-header-bottom-border: rgba(255,255,255,.1);
}

.cms-header-bottom__desktop {
    display: flex;
    max-width: var(--container);
    height: 56px;
    margin: 0 auto;
    padding: 0 24px;
    align-items: center;
    justify-content: space-between;
}

.cms-header-bottom__logo,
.cms-header-bottom__brand,
.cms-header-bottom__nav,
.cms-header-bottom__cta {
    display: flex;
    align-items: center;
}

.cms-header-bottom__logo {
    flex-shrink: 0;
    color: inherit;
    text-decoration: none;
}

.cms-header-bottom__logo-img {
    width: auto;
    height: 32px;
}

.cms-header-bottom__brand { gap: 8px; }

.cms-header-bottom__mark {
    display: flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
}

.cms-header-bottom__name {
    color: var(--cms-header-bottom-text);
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
}

.cms-header-bottom__nav { gap: 4px; }

.cms-header-bottom__link {
    padding: 6px 12px;
    border-radius: var(--radius);
    color: var(--cms-header-bottom-muted);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s;
}

.cms-header-bottom__link:hover,
.cms-header-bottom__link.is-active {
    color: var(--color-accent);
}

.cms-header-bottom__cta {
    padding: 8px 20px;
    border: 1.5px solid var(--color-accent);
    border-radius: var(--radius-full);
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s;
}

.cms-header-bottom__cta:hover {
    background: var(--color-accent);
    color: #fff;
}

.cms-header-bottom__mobile {
    display: none;
    height: 56px;
    border-top: 1px solid var(--cms-header-bottom-border);
}

.cms-header-bottom__mobile-inner {
    display: flex;
    height: 100%;
    padding: 0 8px;
    align-items: center;
    justify-content: space-around;
}

.cms-header-bottom__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 4px 8px;
    color: var(--cms-header-bottom-muted);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s;
}

.cms-header-bottom__tab.is-active,
.cms-header-bottom__tab:hover {
    color: var(--color-accent);
}

.cms-header-bottom-spacer { height: 56px; }

.cms-header-centered--light {
    --cms-hcen-bg: var(--color-bg);
    --cms-hcen-text: var(--color-text);
    --cms-hcen-link: var(--color-text-muted);
    --cms-hcen-drop-bg: var(--color-bg);
    --cms-hcen-drop-text: var(--color-text);
}

.cms-header-centered--dark {
    --cms-hcen-bg: var(--color-dark-bg);
    --cms-hcen-text: #fff;
    --cms-hcen-link: rgba(255,255,255,.7);
    --cms-hcen-drop-bg: var(--color-dark-bg);
    --cms-hcen-drop-text: rgba(255,255,255,.85);
    --cms-hcen-border: 1px solid rgba(255,255,255,.08);
}

.cms-header-centered--transparent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    --cms-hcen-bg: transparent;
    --cms-hcen-text: #fff;
    --cms-hcen-link: rgba(255,255,255,.85);
    --cms-hcen-drop-bg: rgba(0,0,0,.85);
    --cms-hcen-drop-text: rgba(255,255,255,.9);
    --cms-hcen-border: none;
}

.cms-header-centered--transparent.cms-header-centered--with-topbar { top: 36px; }

.cms-header-centered--contained {
    width: calc(100% - 32px);
    max-width: var(--container);
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.cms-header-centered--contained.cms-header-centered--fixed {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.cms-header-centered--bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
}

.cms-header-centered--bottom.cms-header-centered--contained {
    bottom: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-centered--shell {
    position: relative;
    border: inherit;
    border-radius: inherit;
    background: inherit;
    box-shadow: inherit;
}

.cms-header-centered--contained.is-fixed,
.cms-header-centered--shell.is-fixed {
    top: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-centered--transparent.is-fixed {
    --cms-hcen-bg: var(--color-bg);
    --cms-hcen-text: var(--color-text);
    --cms-hcen-link: var(--color-text);
    --cms-hcen-border: 1px solid var(--color-border);
}

.cms-header-centered__inner {
    position: relative;
    display: flex;
    max-width: var(--container);
    height: 60px;
    margin: 0 auto;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
}

.cms-header-centered__inner--full {
    max-width: 100%;
}

.cms-header-centered__nav {
    display: none;
    flex: 1;
    align-items: center;
    gap: 4px;
}

.cms-header-centered__nav--left {
    justify-content: flex-end;
    padding-right: 24px;
}

.cms-header-centered__nav--right {
    justify-content: flex-start;
    padding-left: 0px;
}

.cms-header-centered__item {
    position: relative;
}

.cms-header-centered__item--has-children::after {
    content: "";
    position: absolute;
    left: -10px;
    right: -10px;
    top: 100%;
    height: 16px;
}

.cms-header-centered__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    color: var(--cms-hcen-link);
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s;
}

.cms-header-centered__link--button {
    border: none;
    background: none;
    cursor: pointer;
}

.cms-header-centered__link:hover,
.cms-header-centered__link.is-active {
    color: var(--color-accent);
}

.cms-header-centered__link.is-active {
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 6px;
}

.cms-header-centered__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 51;
    display: flex;
    min-width: 200px;
    padding: 8px 0;
    flex-direction: column;
    border-radius: var(--radius);
    background: var(--cms-hcen-drop-bg);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity .16s, visibility .16s;
}

.cms-header-centered__item:hover > .cms-header-centered__dropdown,
.cms-header-centered__item:focus-within > .cms-header-centered__dropdown {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.cms-header-centered__dropdown-link {
    display: block;
    padding: 10px 20px;
    color: var(--cms-hcen-drop-text);
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: color .15s;
}

.cms-header-centered__dropdown-link:hover {
    color: var(--color-accent);
}

.cms-header-centered__logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
    color: var(--cms-hcen-text);
    text-decoration: none;
}

.cms-header-centered__logo-img {
    width: auto;
    height: 43px;
}

.cms-header-centered__logo-mark {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
}

.cms-header-centered__logo-text {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
}

.cms-header-centered__burger {
    position: absolute;
    right: 24px;
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    color: var(--cms-hcen-text);
    cursor: pointer;
}

.cms-header-mobile {
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
    padding: 16px 24px 24px;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    z-index: 9980;
}

.cms-header-mobile__toggle,
.cms-header-mobile__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 0;
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
}

.cms-header-mobile__toggle {
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    cursor: pointer;
}

.cms-header-mobile__chevron { transition: transform 0.2s ease; }

.cms-header-mobile__chevron.is-open { transform: rotate(180deg); }

.cms-header-mobile__children { padding-left: 16px; }

.cms-header-mobile__child-link {
    display: block;
    padding: 10px 0;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-text-muted);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
}

.cms-header-mobile__cta {
    display: block;
    margin-top: 16px;
    padding: 14px 24px;
    text-align: center;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-header-mobile-fs {
    position: fixed;
    inset: 0;
    z-index: 9980;
    background: rgba(15,15,20,0.97);
    overflow-y: auto;
}

.cms-header-mobile-fs__close {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 9981;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,0.7);
    transition: color 0.2s ease;
}

.cms-header-mobile-fs__close:hover { color: #fff; }

.cms-header-mobile-fs__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    width: 100%;
    padding: 60px 24px;
}

.cms-header-mobile-fs__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
}

.cms-header-mobile-fs__item-wrap { text-align: center; }

.cms-header-mobile-fs__toggle,
.cms-header-mobile-fs__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-heading);
    font-size: clamp(28px, 6vw, 48px);
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color 0.2s ease;
    text-align: center;
}

.cms-header-mobile-fs__toggle.is-active,
.cms-header-mobile-fs__link.is-active,
.cms-header-mobile-fs__toggle:hover,
.cms-header-mobile-fs__link:hover { color: var(--color-accent); }

.cms-header-mobile-fs__chevron { transition: transform 0.3s ease; }

.cms-header-mobile-fs__chevron.is-open { transform: rotate(180deg); }

.cms-header-mobile-fs__children { margin-top: 8px; }

.cms-header-mobile-fs__child-link {
    display: block;
    padding: 6px 0;
    font-family: var(--font-body);
    font-size: 16px;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s ease;
}

.cms-header-mobile-fs__child-link:hover { color: var(--color-accent); }

.cms-header-mobile-fs__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.cms-header-mobile-fs__meta-links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-header-mobile-fs__meta-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
}

.cms-header-mobile-fs__cta {
    display: inline-flex;
    align-items: center;
    padding: 14px 36px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.cms-header-mobile-fs__cta:hover { opacity: 0.85; }

/* ---------------------------------------------------------------------------
   Contact Form — Split Info
   --------------------------------------------------------------------------- */
.cf-min,
.cf-std,
.cf-split {
    --cms-cf-text: var(--color-text);
    --cms-cf-muted: var(--color-text-muted);
    --cms-cf-input-bg: var(--color-bg);
    --cms-cf-input-border: var(--color-border);
    --cms-cf-info-bg: var(--color-bg-alt, #f9fafb);
    --cms-cf-info-border: var(--color-border);
    width: 100%;
    padding: clamp(48px, 6vw, 80px) 24px;
}

.cf-min--dark,
.cf-std--dark,
.cf-split--dark {
    --cms-cf-text: var(--color-dark-text);
    --cms-cf-muted: var(--color-dark-text-muted);
    --cms-cf-input-bg: rgba(255,255,255,0.06);
    --cms-cf-input-border: rgba(255,255,255,0.15);
    --cms-cf-info-bg: rgba(255,255,255,0.05);
    --cms-cf-info-border: rgba(255,255,255,0.08);
}

.cf-min .contact-msg,
.cf-std .contact-msg,
.cf-split .contact-msg { display: none; margin-top: 12px; font-family: var(--font-body); font-size: 14px; }

.cf-min .contact-msg { text-align: center; }

.cf-split,
.cf-split *,
.cf-split *::before,
.cf-split *::after { box-sizing: border-box; }

.cms-cf-info {
    --cms-cf-info-text: var(--color-text);
    --cms-cf-info-muted: var(--color-text-muted);
    --cms-cf-info-input-bg: var(--color-bg);
    --cms-cf-info-input-border: var(--color-border);
    --cms-cf-info-card-bg: var(--color-bg-alt, #f9fafb);
    --cms-cf-info-card-border: var(--color-border);
    --cms-cf-info-icon-bg: color-mix(in srgb, var(--color-accent) 10%, transparent);
    width: 100%;
    padding: clamp(48px, 6vw, 80px) 24px;
    box-sizing: border-box;
}

.cms-cf-info--dark {
    --cms-cf-info-text: var(--color-dark-text);
    --cms-cf-info-muted: var(--color-dark-text-muted);
    --cms-cf-info-input-bg: rgba(255,255,255,0.06);
    --cms-cf-info-input-border: rgba(255,255,255,0.15);
    --cms-cf-info-card-bg: rgba(255,255,255,0.04);
    --cms-cf-info-card-border: rgba(255,255,255,0.08);
    --cms-cf-info-icon-bg: rgba(255,255,255,0.06);
}

.cms-cf-info,
.cms-cf-info *,
.cms-cf-info *::before,
.cms-cf-info *::after {
    box-sizing: border-box;
}

.cms-cf-info__inner {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}

.cms-cf-info__left-title {
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    color: var(--cms-cf-info-text, var(--color-text));
    margin: 0 0 6px;
    line-height: 1.3;
}

.cms-cf-info__left-subtitle {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--cms-cf-info-muted, var(--color-text-muted));
    margin: 0 0 32px;
    line-height: 1.6;
}

.cms-cf-info__card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--cms-cf-info-card-bg, var(--color-bg-alt, #f9fafb));
    border: 1px solid var(--cms-cf-info-card-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    padding: 18px;
    margin-bottom: 12px;
    transition: box-shadow 0.3s ease;
}

.cms-cf-info__card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.cms-cf-info__card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cms-cf-info-icon-bg, color-mix(in srgb, var(--color-accent) 10%, transparent));
    border-radius: var(--radius, 8px);
    color: var(--color-accent);
}

.cms-cf-info__card-label {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cms-cf-info-muted, var(--color-text-muted));
    margin-bottom: 3px;
}

.cms-cf-info__card-value {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--cms-cf-info-text, var(--color-text));
}

.cms-cf-info__card-value a {
    color: inherit;
    text-decoration: none;
}

.cms-cf-info__card-value a:hover {
    color: var(--color-accent);
}

.cms-cf-info__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
    align-items: start;
}

.cms-cf-info__field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.cms-cf-info__field--full {
    grid-column: 1 / -1;
}

.cms-cf-info__label {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--cms-cf-info-text, var(--color-text));
}

.cms-cf-info__input,
.cms-cf-info__textarea {
    display: block;
    padding: 11px 14px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--cms-cf-info-text, var(--color-text));
    background: var(--cms-cf-info-input-bg, var(--color-bg));
    border: 1px solid var(--cms-cf-info-input-border, var(--color-border));
    border-radius: var(--radius, 8px);
    outline: none;
    transition: border-color 0.3s ease;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.cms-cf-info__input:focus,
.cms-cf-info__textarea:focus {
    border-color: var(--color-accent);
}

.cms-cf-info__textarea {
    resize: vertical;
    min-height: 100px;
}

.cms-cf-info__submit {
    margin-top: 8px;
    padding: 13px 28px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--color-accent);
    border: none;
    border-radius: var(--radius-full, 50px);
    cursor: pointer;
    transition: background 0.3s ease;
}

.cms-cf-info__submit:hover {
    background: var(--color-accent2);
}

.cms-cf-info .contact-msg {
    display: none;
    font-family: var(--font-body);
    font-size: 14px;
    margin-top: 12px;
}

@media (max-width: 768px) {
    .cms-ti-list__wrap,
    .cms-ti-overlap__wrap {
        flex-direction: column !important;
    }

    .cms-ti-list__text,
    .cms-ti-list__image-col,
    .cms-ti-overlap__text,
    .cms-ti-overlap__images {
        flex: 1 1 auto;
        width: 100%;
    }

    .cms-ti-overlap__images {
        min-height: 300px;
        display: block;
    }

    .cms-ti-overlap__img-main {
        width: 82%;
    }

    .cms-ti-overlap__img-secondary {
        width: 50%;
        bottom: -10px;
    }

    .cms-fg-imgtop__grid,
    .cms-ti-list__wrap,
    .cms-ti-overlap__wrap,
    .cms-cs-grid__wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cms-fg-imgtop__grid { grid-template-columns: 1fr; }
    .cms-cf-info__inner { grid-template-columns: 1fr; }
    .cms-cf-info__grid { grid-template-columns: 1fr; }
    .cms-bl-card--horizontal { flex-direction: column; }
    .cms-bl-card__h-media { width: 100%; }
    .cms-stats-ml__row { flex-direction: column; gap: 4px; }
    .cms-stats-ml__pipe { width: 40px; height: 1px; }
    .cms-stats-ib__grid { flex-wrap: wrap; }
    .cms-stats-ib__item { flex: 0 0 50%; padding: 20px 12px; }
    .cms-stats-ib__item + .cms-stats-ib__item { border-left: none; }
    .cms-stats-ib__item:nth-child(even) { border-left: 1px solid var(--cms-stats-ib-divider, var(--color-border)); }
    .cms-stats-ib__item:nth-child(n+3) { border-top: 1px solid var(--cms-stats-ib-divider, var(--color-border)); }
    .cms-team-gc { padding: 0 20px; }
    .cms-team-gc__grid { grid-template-columns: 1fr; max-width: 400px; }
    .cms-team-feat__member { grid-template-columns: 1fr; text-align: center; }
    .cms-team-feat__avatar { width: 160px; height: 160px; margin: 0 auto; }
    .cms-team-feat__info { align-items: center; }
    .cms-team-feat__social { justify-content: center; }
    .cms-team-circ__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .cms-cc-horiz { padding: 0 20px; }
    .cms-cc-horiz__card { grid-template-columns: 1fr; }
    .cms-cc-horiz__img-wrap { aspect-ratio: 16 / 9; }
    .cms-cc-edgrid__grid { grid-template-columns: 1fr 1fr; }
    .cms-nl-card { padding: 0 20px; }
    .cms-nl-center__input { min-width: 0; max-width: 340px; }
    .cms-nl-card__inner { padding: 28px 20px; }
    .cms-nl-card__input { min-width: 0; width: 100%; }
    .cms-nl-card__btn { width: 100%; }
    .cms-stats-cg__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-bcta-card { padding: 48px 16px; }
    .cms-bcta-card__inner,
    .cms-bcta-card__inner--image { max-width: 100%; padding: 32px 20px; background-attachment: scroll; }
    .cms-bcta-min { padding: 44px 20px; }
    .cms-bcta-split { flex-direction: column-reverse; }
    .cms-bcta-split__text,
    .cms-bcta-split__image { width: 100%; flex: 1 1 auto; }
    .cms-bcta-split__image,
    .cms-bcta-overlay__bg,
    .cms-bcta-imgbar__image { background-attachment: scroll; }
    .cms-bcta-split__image { min-height: 250px; }
    .cms-bcta-overlay__video { display: none !important; }
    .cms-bcta-imgbar__inner { padding: 0 20px; }
    .cms-nl-split__inner { grid-template-columns: 1fr; }
    .cms-nl-split__row { flex-direction: column; }
    .cms-nl-split__input,
    .cms-nl-split__btn { width: 100%; }
    .cms-stats-ca__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-stats-bento__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cms-cb__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: none !important;
        --cms-cb-row-min: 160px;
    }
    .cms-cb__cell {
        grid-area: auto !important;
        padding: 24px;
    }
    .cms-cb__cell--image {
        min-height: 210px;
    }
}

.listing-filter__item:hover,
.listing-pagination__item:hover {
    color: var(--color-text, #0f172a);
    border-color: color-mix(in srgb, var(--color-accent, #0f766e) 42%, var(--color-border, #e2e8f0));
    background: color-mix(in srgb, var(--color-accent, #0f766e) 7%, var(--color-bg, #fff));
}

.listing-filter__item:hover,
.listing-pagination__item:hover {
    color: var(--color-text, #0f172a);
    border-color: color-mix(in srgb, var(--color-accent, #0f766e) 42%, var(--color-border, #e2e8f0));
    background: color-mix(in srgb, var(--color-accent, #0f766e) 7%, var(--color-bg, #fff));
}

/* ADDITIONAL_LEGACY_UI_20260604 */

.cms-header-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    border-top: 1px solid var(--cms-header-bottom-border);
    background: var(--cms-header-bottom-bg);
    box-shadow: 0 -2px 12px rgba(0,0,0,.06);
    color: var(--cms-header-bottom-text);
}

.cms-header-centered {
    z-index: 50;
    color: var(--cms-hcen-text, var(--color-text));
    background: var(--cms-hcen-bg, var(--color-bg));
    border-bottom: var(--cms-hcen-border, 1px solid var(--color-border));
    transition: background .3s, box-shadow .3s, border-color .3s;
}

.cms-header-centered.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 20px rgba(0,0,0,.1);
}

.cf-min__inner { max-width: 600px; margin: 0 auto; }

.cf-min__fields { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }

.cf-min__field,
.cf-std__field,
.cf-split__field { display: flex; flex-direction: column; gap: 6px; }

.cf-split__field { min-width: 0; width: 100%; overflow: hidden; gap: 5px; }

.cf-min__label,
.cf-std__label,
.cf-split__label { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--cms-cf-text); }

.cf-split__label { font-size: 13px; }

.cf-min__input,
.cf-min__textarea,
.cf-std__input,
.cf-std__textarea,
.cf-split__input,
.cf-split__textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid var(--cms-cf-input-border);
    border-radius: var(--radius, 8px);
    outline: none;
    background: var(--cms-cf-input-bg);
    color: var(--cms-cf-text);
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.cf-split__input,
.cf-split__textarea { display: block; padding: 11px 14px; font-size: 14px; }

.cf-min__input:focus,
.cf-min__textarea:focus,
.cf-std__input:focus,
.cf-std__textarea:focus,
.cf-split__input:focus,
.cf-split__textarea:focus { border-color: var(--color-accent); }

.cf-min__textarea,
.cf-std__textarea { min-height: 120px; resize: vertical; }

.cf-split__textarea { min-height: 100px; resize: vertical; }

.cf-min__submit,
.cf-std__submit,
.cf-split__submit {
    padding: 14px 32px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.cf-min__submit { width: 100%; }

.cf-std__submit,
.cf-split__submit { margin-top: 8px; }

.cf-split__submit { padding: 13px 28px; }

.cf-min__submit:hover,
.cf-std__submit:hover,
.cf-split__submit:hover { background: var(--color-accent2); }

.cf-std__inner,
.cf-split__inner { max-width: var(--container, 1200px); margin: 0 auto; }

.cf-std__title,
.cf-split__title {
    margin: 0 0 8px;
    color: var(--cms-cf-text);
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.3;
}

.cf-split__title { margin-bottom: 6px; font-size: clamp(22px, 3vw, 30px); }

.cf-std__subtitle,
.cf-split__subtitle {
    margin: 0 0 32px;
    color: var(--cms-cf-muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
}

.cf-split__subtitle { margin-bottom: 28px; font-size: 15px; }

.cf-std__grid,
.cf-split__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; align-items: start; }

.cf-split__grid { gap: 14px; margin-bottom: 14px; }

.cf-std__field--full,
.cf-split__field--full { grid-column: 1 / -1; }

.cf-std__info,
.cf-split__info {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--cms-cf-info-border);
}

.cf-split__info { gap: 20px; margin-top: 28px; padding-top: 24px; }

.cf-std__info-item,
.cf-split__info-item { display: flex; align-items: flex-start; gap: 12px; }

.cf-split__info-item { gap: 10px; }

.cf-std__info-icon,
.cf-split__info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: var(--radius, 8px);
    background: var(--cms-cf-info-bg);
    color: var(--color-accent);
}

.cf-split__info-icon { width: 36px; height: 36px; }

.cf-std__info-label,
.cf-split__info-label {
    margin-bottom: 2px;
    color: var(--cms-cf-muted);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cf-split__info-label { font-size: 11px; }

.cf-std__info-text,
.cf-split__info-text {
    color: var(--cms-cf-text);
    font-family: var(--font-body);
    font-size: 15px;
    text-decoration: none;
}

.cf-split__info-text { font-size: 14px; }

.cf-std__info-text:hover,
.cf-split__info-text:hover { color: var(--color-accent); }

.cf-split__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}</style>    <style>/* Shared hub pages: tools, resources, comparisons and future utility hubs. */

.cms-layout-shell {
  --cms-layout-max: var(--container, 1200px);
  box-sizing: border-box;
  width: 100%;
  max-width: var(--cms-layout-max);
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

.cms-layout-shell--narrow {
  --cms-layout-max: 980px;
}

.cms-layout-shell--wide {
  --cms-layout-max: 1400px;
}

@media (max-width: 640px) {
  .cms-layout-shell {
    padding-right: 16px;
    padding-left: 16px;
  }
}

.cms-hub,
:is(.cms-tools-hub, .cms-resources-hub, .affcmp-compare-hub) {
  --cms-hub-border: var(--color-border, var(--cms-border, #e5e7eb));
  --cms-hub-bg: var(--color-bg, var(--cms-bg, #fff));
  --cms-hub-soft: color-mix(in srgb, var(--color-accent, #2563eb) 8%, var(--color-bg, #fff));
  --cms-hub-soft-strong: color-mix(in srgb, var(--color-accent, #2563eb) 16%, var(--color-bg, #fff));
  max-width: var(--container, 1200px);
  margin: 0 auto;
  padding: 0 24px 56px;
  color: var(--color-text, var(--cms-text, #111827));
}

.cms-hub *,
:is(.cms-tools-hub, .cms-resources-hub, .affcmp-compare-hub) * {
  box-sizing: border-box;
}

.cms-hub a,
:is(.cms-tools-hub, .cms-resources-hub, .affcmp-compare-hub) a {
  color: inherit;
  text-decoration: none;
}

.cms-hub svg,
:is(.cms-tools-hub, .cms-resources-hub, .affcmp-compare-hub) svg {
  width: 1.45rem;
  height: 1.45rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-hub__intro,
:is(.cms-tools-hub__intro, .cms-resources-hub__intro, .affcmp-compare-hub__intro) {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 24px;
  align-items: stretch;
  margin-top: 12px;
}

.cms-hub__lead,
:is(.cms-tools-hub__lead, .cms-resources-hub__lead, .affcmp-compare-hub__lead) {
  max-width: 70ch;
  color: var(--color-text-muted, var(--cms-text-light, #64748b));
  font-size: 1.08rem;
  line-height: 1.8;
}

.cms-hub__quick,
:is(.cms-tools-hub__quick, .cms-resources-hub__quick, .affcmp-compare-hub__quick) {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--cms-hub-border);
  border-radius: 18px;
  background: var(--cms-hub-soft);
}

.cms-hub__quick strong,
:is(.cms-tools-hub__quick, .cms-resources-hub__quick, .affcmp-compare-hub__quick) strong {
  font-family: var(--font-heading, var(--cms-font-heading, sans-serif));
  font-size: 1.1rem;
}

.cms-hub__quick a,
:is(.cms-tools-hub__quick, .cms-resources-hub__quick, .affcmp-compare-hub__quick) a {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--color-accent, #2563eb) 18%, var(--cms-hub-border));
  border-radius: 12px;
  background: var(--cms-hub-bg);
  font-weight: 650;
}

.cms-hub__quick a span,
:is(.cms-tools-hub__quick, .cms-resources-hub__quick, .affcmp-compare-hub__quick) a span {
  color: var(--color-accent, #2563eb);
}

.cms-hub__section,
:is(.cms-tools-hub__section, .cms-resources-hub__section, .affcmp-compare-hub__section) {
  margin-top: 46px;
}

.cms-hub__section > p,
:is(.cms-tools-hub__section, .cms-resources-hub__section, .affcmp-compare-hub__section) > p {
  max-width: 76ch;
  color: var(--color-text-muted, var(--cms-text-light, #64748b));
  line-height: 1.75;
}

.cms-hub__grid,
:is(.cms-tools-hub__grid, .cms-resources-hub__grid, .affcmp-compare-hub__grid) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.cms-hub-card,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card) {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 14px;
  min-height: 270px;
  padding: 20px;
  border: 1px solid var(--cms-hub-border);
  border-radius: 18px;
  background: var(--cms-hub-bg);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--color-text, #111827) 8%, transparent);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.cms-hub-card:hover,
.cms-hub-card:focus-visible,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card):hover,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card):focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--color-accent, #2563eb) 44%, var(--cms-hub-border));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--color-accent, #2563eb) 16%, transparent);
  outline: none;
}

.cms-hub-card--soon,
:is(.cms-tool-card--soon, .cms-resource-card--soon, .affcmp-compare-card--soon) {
  box-shadow: none;
  background: linear-gradient(180deg, var(--cms-hub-soft), var(--cms-hub-bg));
}

.cms-hub-card__top,
:is(.cms-tool-card__top, .cms-resource-card__top, .affcmp-compare-card__top) {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cms-hub-card__icon,
:is(.cms-tool-card__icon, .cms-resource-card__icon, .affcmp-compare-card__icon) {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: var(--cms-hub-soft-strong);
  color: var(--color-accent, #2563eb);
}

.cms-hub-card h2,
.cms-hub-card h3,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card) h2,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card) h3 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.25;
  letter-spacing: 0;
}

.cms-hub-card p,
:is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card) p {
  margin: 0;
  color: var(--color-text-muted, var(--cms-text-light, #64748b));
  line-height: 1.62;
}

.cms-hub-card__meta,
:is(.cms-tool-card__meta, .cms-resource-card__meta, .affcmp-compare-card__meta) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-hub-card__meta span,
:is(.cms-tool-card__meta, .cms-resource-card__meta, .affcmp-compare-card__meta) span {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--cms-hub-soft);
  color: var(--color-text, var(--cms-text, #111827));
  font-size: 0.82rem;
  font-weight: 650;
}

.cms-hub-card__cta,
:is(.cms-tool-card__cta, .cms-resource-card__cta, .affcmp-compare-card__cta) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-accent, #2563eb);
  font-weight: 750;
}

.cms-hub__path,
.cms-hub__matrix,
:is(.cms-tools-hub__path, .cms-resources-hub__path, .affcmp-compare-hub__matrix) {
  display: grid;
  grid-template-columns: repeat(var(--cms-hub-path-cols, 4), minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.cms-resources-hub__path {
  --cms-hub-path-cols: 3;
}

.cms-hub__step,
:is(.cms-tools-hub__step, .cms-resources-hub__step, .affcmp-compare-hub__step) {
  padding: 16px;
  border: 1px solid var(--cms-hub-border);
  border-radius: 16px;
  background: var(--cms-hub-bg);
}

.cms-hub__step b,
:is(.cms-tools-hub__step, .cms-resources-hub__step, .affcmp-compare-hub__step) b {
  display: block;
  color: var(--color-accent, #2563eb);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cms-hub__step strong,
:is(.cms-tools-hub__step, .cms-resources-hub__step, .affcmp-compare-hub__step) strong {
  display: block;
  margin-top: 6px;
}

.cms-hub__step span,
:is(.cms-tools-hub__step, .cms-resources-hub__step, .affcmp-compare-hub__step) span {
  display: block;
  margin-top: 8px;
  color: var(--color-text-muted, var(--cms-text-light, #64748b));
  line-height: 1.55;
}

.cms-hub__note,
:is(.cms-tools-hub__note, .cms-resources-hub__note, .affcmp-compare-hub__note) {
  margin-top: 28px;
  padding: 20px;
  border-left: 4px solid var(--color-accent, #2563eb);
  border-radius: 0 16px 16px 0;
  background: var(--cms-hub-soft);
  color: var(--color-text, var(--cms-text, #111827));
  line-height: 1.7;
}

.cms-hub__note p,
:is(.cms-tools-hub__note, .cms-resources-hub__note, .affcmp-compare-hub__note) p {
  margin: 0;
}

.cms-hub__note p + p,
:is(.cms-tools-hub__note, .cms-resources-hub__note, .affcmp-compare-hub__note) p + p {
  margin-top: 10px;
}

@media (max-width: 960px) {
  .cms-hub__intro,
  .cms-hub__grid,
  :is(.cms-tools-hub__intro, .cms-resources-hub__intro, .affcmp-compare-hub__intro),
  :is(.cms-tools-hub__grid, .cms-resources-hub__grid, .affcmp-compare-hub__grid) {
    grid-template-columns: 1fr 1fr;
  }

  .cms-hub__path,
  .cms-hub__matrix,
  :is(.cms-tools-hub__path, .cms-resources-hub__path, .affcmp-compare-hub__matrix) {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .cms-hub,
  :is(.cms-tools-hub, .cms-resources-hub, .affcmp-compare-hub) {
    padding-inline: 16px;
  }

  .cms-hub__intro,
  .cms-hub__grid,
  .cms-hub__path,
  .cms-hub__matrix,
  :is(.cms-tools-hub__intro, .cms-resources-hub__intro, .affcmp-compare-hub__intro),
  :is(.cms-tools-hub__grid, .cms-resources-hub__grid, .affcmp-compare-hub__grid),
  :is(.cms-tools-hub__path, .cms-resources-hub__path, .affcmp-compare-hub__matrix) {
    grid-template-columns: 1fr;
  }

  .cms-hub-card,
  :is(.cms-tool-card, .cms-resource-card, .affcmp-compare-card) {
    min-height: 0;
  }

  .cms-hub__quick,
  :is(.cms-tools-hub__quick, .cms-resources-hub__quick, .affcmp-compare-hub__quick) {
    padding: 14px;
  }
}</style>        <style>/**
 * JS-CMS Animations
 * Lightweight motion system for published sites.
 */

:root {
    --cms-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --cms-ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);
    --cms-ease-bounce-soft: cubic-bezier(0.2, 0.9, 0.2, 1);
}

/* ---------------------------------------------------------------------------
   Reveal on scroll
   --------------------------------------------------------------------------- */
.cms-reveal,
.reveal-on-scroll {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition:
        opacity 0.7s var(--cms-ease-out),
        transform 0.7s var(--cms-ease-out);
    will-change: opacity, transform;
}

.cms-reveal.revealed,
.reveal-on-scroll.revealed {
    opacity: 1;
    transform: none;
}

.cms-reveal.reveal-left,
.reveal-on-scroll.reveal-left {
    transform: translate3d(-28px, 0, 0);
}

.cms-reveal.reveal-right,
.reveal-on-scroll.reveal-right {
    transform: translate3d(28px, 0, 0);
}

.cms-reveal.reveal-scale,
.reveal-on-scroll.reveal-scale {
    transform: scale(0.96);
}

.cms-reveal.reveal-soft,
.reveal-on-scroll.reveal-soft {
    transform: translate3d(0, 18px, 0);
}

/* ---------------------------------------------------------------------------
   Page intro
   --------------------------------------------------------------------------- */
.cms-intro-motion {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition:
        opacity 0.8s var(--cms-ease-smooth),
        transform 0.8s var(--cms-ease-smooth);
}

.cms-intro-motion.is-visible {
    opacity: 1;
    transform: none;
}

/* ---------------------------------------------------------------------------
   Interactive surfaces
   --------------------------------------------------------------------------- */
.cms-post-card,
.cms-generic-card,
.bl-fg__side-item article,
.cms-tool__card,
.tc-std__card,
.tc-split__tool,
.tc-split__info,
.cms-section-header,
.post-related-grid article,
.team-card,
.team-car__card {
    transition:
        box-shadow 0.28s var(--cms-ease-smooth),
        border-color 0.24s ease,
        background-color 0.24s ease;
}

.cms-post-card img,
.cms-generic-card img,
.bl-fg__side-item article img,
.hero-centered .cms-parallax-media,
.hero-post-split__image img,
.hero-cwm__media img {
    transition: transform 0.45s var(--cms-ease-smooth);
}

.cms-section-header__title,
.hero-centered h1,
.hero-post-split__text h1,
.hero-cwm__text h1 {
    text-wrap: balance;
}

/* ---------------------------------------------------------------------------
   Ambient motion
   --------------------------------------------------------------------------- */
.hero-centered,
.hero-post-split__image,
.hero-cwm__media {
    isolation: isolate;
}

.hero-centered::after,
.hero-post-split__image::after,
.hero-cwm__media::after,
.hero-centered__scroll {
    display: none !important;
}

/* ---------------------------------------------------------------------------
   Glass card
   --------------------------------------------------------------------------- */
.glass-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ---------------------------------------------------------------------------
   Smooth transitions
   --------------------------------------------------------------------------- */
.transition-smooth {
    transition: all 0.3s ease;
}

.transition-smooth-slow {
    transition: all 0.6s ease;
}

/* ---------------------------------------------------------------------------
   Reduced motion
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .cms-reveal,
    .reveal-on-scroll,
    .cms-intro-motion,
    .cms-post-card,
    .cms-generic-card,
    .bl-fg__side-item article,
    .cms-post-card img,
    .cms-generic-card img,
    .bl-fg__side-item article img,
    .hero-centered .cms-parallax-media,
    .hero-post-split__image img,
    .hero-cwm__media img,
    .hero-centered::after,
    .hero-post-split__image::after,
    .hero-cwm__media::after,
    .hero-centered__scroll {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    .cms-post-card:hover img,
    .cms-generic-card:hover img,
    .bl-fg__side-item article:hover img,
    .hero-post-split__image:hover img,
    .hero-cwm__media:hover img {
        transform: scale(1.01);
    }
}</style>    <style>/* Minimal utility layer for published front.
   Replaces Tailwind runtime on generated sites. */

html,body{margin:0;padding:0}
body{
  display:block;
  overflow-x:hidden;
  font-family:var(--font-body,'Segoe UI','Helvetica Neue',Arial,sans-serif);
  color:var(--color-text,#111827);
  background:var(--color-bg,#FFFFFF);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading,Georgia,serif);
  text-rendering:optimizeLegibility;
  letter-spacing:-0.018em;
}

.container{width:min(100%,var(--container,1200px));margin-inline:auto;padding-inline:24px}
.block{display:block}.flex{display:flex}.grid{display:grid}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-row{flex-direction:row}
.items-center{align-items:center}.justify-center{justify-content:center}
.relative{position:relative}.absolute{position:absolute}
.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}
.w-full{width:100%}.w-1\/3{width:33.333333%}.w-5{width:1.25rem}
.h-full{height:100%}.h-48{height:12rem}.h-5{height:1.25rem}
.shrink-0{flex-shrink:0}
.max-w-5xl{max-width:64rem}.mx-auto{margin-inline:auto}
.px-6{padding-inline:1.5rem}.py-16{padding-block:4rem}.p-5{padding:1.25rem}
.pl-6{padding-left:1.5rem}.pt-3{padding-top:.75rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.gap-2{gap:.5rem}.space-y-2>*+*{margin-top:.5rem}
.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}
.border{border:1px solid var(--color-border,#E7E5E4)}
.border-t{border-top:1px solid var(--color-border,#E7E5E4)}
.border-stone-100{border-color:#e7e5e4}.border-white\/30{border-color:rgba(255,255,255,.3)}
.bg-white{background:#fff}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}
.via-black\/30{--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.3),var(--tw-gradient-to,rgba(0,0,0,0))}
.to-transparent{--tw-gradient-to:transparent}
.text-white{color:#fff}.text-white\/70{color:rgba(255,255,255,.7)}.text-white\/80{color:rgba(255,255,255,.8)}
.text-primary{color:var(--color-text,#1C1917)}.text-secondary{color:var(--color-text-muted,#78716C)}
.text-accent{color:var(--color-accent,#D97706)}.text-dark{color:var(--color-text,#1C1917)}.text-gray-500{color:#6b7280}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}
.font-serif{font-family:var(--font-heading),serif}
.leading-snug{line-height:1.375}
.object-cover{object-fit:cover}
.overflow-hidden{overflow:hidden}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.1)}
.transition-colors{transition:color .2s ease}.transition-shadow{transition:box-shadow .3s ease}.transition-transform{transition:transform .3s ease}
.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.aspect-\[4\/5\]{aspect-ratio:4/5}

.hover\:underline:hover{text-decoration:underline}
.hover\:text-accent:hover{color:var(--color-accent,#D97706)}
.hover\:shadow-lg:hover{box-shadow:0 16px 40px rgba(15,23,42,.18)}
.hover\:scale-105:hover{transform:scale(1.05)}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}

@media (min-width:768px){
  .md\:py-24{padding-block:6rem}
}

/* Header standard — local fallback because this refonte uses a lean CSS bundle. */
.cms-header-std {
  z-index: 1000;
  width: 100%;
  color: #fff;
  background: var(--color-dark-bg, #1D090B);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.cms-header-std--fixed {
  position: sticky;
  top: 0;
}

.cms-header-std__bar {
  width: min(calc(100% - 48px), 1400px);
  min-height: 86px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 44px);
}

.cms-header-std__logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
}

.cms-header-std__logo-img {
  display: block;
  width: auto;
  max-width: 230px;
  height: 52px;
  object-fit: contain;
}

.cms-header-std__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}

.cms-header-std__item {
  position: relative;
}

.cms-header-std__item--has-children {
  padding-bottom: 8px;
  margin-bottom: -8px;
}

.cms-header-std__link,
.cms-header-std__link--button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255,255,255,.76);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.cms-header-std__link:hover,
.cms-header-std__link.is-active,
.cms-header-std__link--button:hover {
  color: #fff !important;
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}

.cms-header-std__item--has-children:hover > :is(.cms-header-std__link,.cms-header-std__link--button),
.cms-header-std__item--has-children:focus-within > :is(.cms-header-std__link,.cms-header-std__link--button) {
  color: #fff !important;
}

.cms-header-std__dropdown {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  min-width: 270px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(243, 199, 178, .18);
  border-radius: 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(139, 58, 46, .28), transparent 38%),
    rgba(29,9,11,.98);
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  transition: opacity .2s ease, transform .2s ease;
}

.cms-header-std__dropdown::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .20;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(circle at 20% 10%, #000, transparent 70%);
}

.cms-header-std__item:hover > .cms-header-std__dropdown,
.cms-header-std__item:focus-within > .cms-header-std__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.cms-header-std__dropdown-link {
  position: relative;
  z-index: 1;
  display: block;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 0;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.80);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.cms-header-std__dropdown-link:hover {
  color: #fff;
  border-color: rgba(243, 199, 178, .34);
  background: rgba(243, 199, 178, .11);
  transform: translateX(4px);
}

.cms-header-std__cta {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--color-dark-bg, #1D090B);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
  transition: transform .2s ease, box-shadow .2s ease;
}

.cms-header-std__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(0,0,0,.30);
}

.cms-header-std__burger {
  display: none;
  width: 44px;
  height: 44px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
}

.cms-header-mobile {
  display: none;
}

.cms-back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 990;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(243, 199, 178, .24);
  border-radius: 999px;
  background: rgba(29, 9, 11, .94);
  color: #fff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .26);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.cms-back-to-top:hover {
  background: #3A1014;
  transform: translateY(10px);
}

.cms-back-to-top-visible .cms-back-to-top {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

@media (max-width: 980px) {
  .cms-header-std__bar {
    width: min(calc(100% - 28px), 1400px);
    min-height: 72px;
  }

  .cms-header-std__nav {
    display: none;
  }

  .cms-header-std__burger {
    display: inline-flex;
  }

  .cms-header-std__logo-img {
    height: 40px;
    max-width: 180px;
  }

  .cms-header-mobile {
    display: grid;
    gap: 8px;
    width: min(calc(100% - 28px), 680px);
    margin: 0 auto 14px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px;
    background: rgba(29,9,11,.98);
  }

  .cms-header-mobile[hidden],
  [x-cloak] {
    display: none !important;
  }

  .cms-header-mobile__link,
  .cms-header-mobile__toggle,
  .cms-header-mobile__child-link,
  .cms-header-mobile__cta {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border: 0;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    color: #fff;
    font: inherit;
    font-weight: 750;
    text-decoration: none;
  }

  .cms-header-mobile__children {
    display: grid;
    gap: 6px;
    margin-top: 6px;
    padding-left: 10px;
  }

  .cms-header-mobile__cta {
    justify-content: center;
    background: #fff;
    color: var(--color-dark-bg, #1D090B);
  }
}

/* NixSoftware agency homepage */
.page-home-nix {
  --color-accent: #1D090B;
  --color-accent-2: #8B3A2E;
  --color-accent-3: #3A1014;
  --color-bg: #fffaf7;
  --color-bg-alt: #f5ece7;
  --color-text: #1c1515;
  --color-text-muted: #766461;
  --color-border: rgba(29, 9, 11, .16);
  background: var(--color-bg);
}

.nix-home {
  background:
    linear-gradient(180deg, #1D090B 0, #1D090B 560px, var(--color-bg) 560px);
  color: var(--color-text);
  font-family: var(--font-body, Inter, sans-serif);
}

.nix-container {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.nix-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--color-accent-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-label::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
}

.nix-label--light {
  color: #f3c7b2;
}

.nix-hero {
  position: relative;
  min-height: min(790px, 100svh);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 170px 0 96px;
}

.nix-hero__media,
.nix-final__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-hero__media img,
.nix-final__media img,
.nix-audit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nix-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 72% 30%, rgba(139, 58, 46, .28), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .96) 0%, rgba(29, 9, 11, .78) 44%, rgba(29, 9, 11, .34) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .22), rgba(29, 9, 11, .92));
}

.nix-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .26) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}

.nix-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  padding-bottom: 40px;
}

.nix-hero h1,
.nix-final h2 {
  max-width: 840px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 7vw, 104px);
  line-height: .92;
  letter-spacing: 0;
}

.nix-hero__lead,
.nix-final p:not(.nix-label) {
  max-width: 660px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.nix-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}

.nix-btn:hover {
  transform: translateY(-2px);
}

.nix-btn--light {
  background: #fff;
  color: #1D090B;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
}

.nix-btn--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .32);
  background: rgba(255, 255, 255, .08);
}

.nix-btn--dark {
  background: #1D090B;
  color: #fff;
}

.nix-hero__panel {
  position: absolute;
  right: max(28px, calc((100vw - 1200px) / 2));
  bottom: 62px;
  width: min(360px, calc(100vw - 48px));
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(29, 9, 11, .74);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.nix-hero__panel span {
  display: block;
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-hero__panel strong {
  display: block;
  margin: 5px 0 18px;
  color: #fff;
  font-size: 18px;
}

.nix-hero__panel strong:last-child {
  margin-bottom: 0;
}

.nix-section {
  position: relative;
  padding: clamp(72px, 8vw, 128px) 0;
  overflow: hidden;
}

.nix-section--intro {
  margin-top: -58px;
  padding-top: 0;
  z-index: 3;
}

.nix-intro {
  position: relative;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(28px, 5vw, 80px);
  padding: clamp(34px, 5vw, 62px);
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 34px 90px rgba(29, 9, 11, .16);
}

.nix-intro::after,
.nix-section--services::before,
.nix-section--posts::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 14% 20%, #000, transparent 58%);
}

.nix-intro > * {
  position: relative;
}

.nix-intro h2,
.nix-section-head h2,
.nix-audit h2,
.nix-proof h2 {
  margin: 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(34px, 5vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

.nix-intro__body p,
.nix-audit__copy p {
  margin: 0 0 18px;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.7;
}

.nix-intro__badge {
  position: absolute;
  right: 46px;
  bottom: -32px;
  width: 230px;
  padding: 20px;
  background: #1D090B;
  color: #fff;
  box-shadow: 0 22px 56px rgba(29, 9, 11, .24);
}

.nix-intro__badge span,
.nix-audit__card span {
  display: block;
  margin-bottom: 8px;
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-section--services {
  background: var(--color-bg-alt);
}

.nix-section-head {
  position: relative;
  max-width: 860px;
  margin-bottom: clamp(34px, 5vw, 64px);
}

.nix-section-head--split {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
}

.nix-service-stack {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
}

.nix-service {
  position: relative;
  min-height: 270px;
  padding: clamp(26px, 4vw, 44px);
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 20px 58px rgba(29, 9, 11, .09);
  transition: transform .24s ease, box-shadow .24s ease;
}

.nix-service:hover {
  transform: translateY(-6px);
  box-shadow: 0 34px 80px rgba(29, 9, 11, .16);
}

.nix-service--wide {
  overflow: hidden;
  grid-row: span 2;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  color: #fff;
  background: #1D090B;
}

.nix-service--wide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(29, 9, 11, .18), rgba(29, 9, 11, .92)),
    linear-gradient(120deg, rgba(29, 9, 11, .80) 0%, rgba(29, 9, 11, .34) 48%, rgba(139, 58, 46, .38) 100%);
}

.nix-service__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.nix-service__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .6s ease;
}

.nix-service--wide:hover .nix-service__media img {
  transform: scale(1.04);
}

.nix-service--wide > :not(.nix-service__media) {
  position: relative;
  z-index: 2;
}

.nix-service--offset {
  transform: translateX(42px);
}

.nix-service--offset:hover {
  transform: translate(42px, -6px);
}

.nix-service__index {
  color: #8B3A2E;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
}

.nix-service--wide .nix-service__index {
  color: #f3c7b2;
}

.nix-service h3 {
  margin: 20px 0 16px;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(26px, 3.2vw, 46px);
  line-height: 1;
  letter-spacing: 0;
}

.nix-service p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.65;
}

.nix-service--wide p {
  color: rgba(255, 255, 255, .78);
  max-width: 580px;
}

.nix-service a {
  width: max-content;
  margin-top: 28px;
  color: #fff;
  font-weight: 800;
}

.nix-audit {
  display: grid;
  grid-template-columns: 1fr .92fr;
  gap: clamp(36px, 6vw, 82px);
  align-items: center;
}

.nix-audit__media {
  position: relative;
  min-height: 560px;
  overflow: visible;
}

.nix-audit__media picture {
  position: absolute;
  inset: 0;
  display: block;
  height: auto;
  min-height: 0;
  overflow: hidden;
  box-shadow: 0 34px 84px rgba(29, 9, 11, .18);
}

.nix-audit__card {
  position: absolute;
  right: -42px;
  bottom: 42px;
  width: min(290px, 74%);
  padding: 24px;
  background: #1D090B;
  color: #fff;
}

.nix-checks {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.nix-checks span {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 18px;
  background: var(--color-bg-alt);
  border-left: 4px solid #1D090B;
  font-weight: 800;
}

.nix-section--proof {
  background: #1D090B;
  color: #fff;
}

.nix-proof {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
}

.nix-proof__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.nix-proof__items article {
  position: relative;
  min-height: 230px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .16), transparent 40%),
    rgba(255, 255, 255, .07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: transform .24s ease, background .24s ease, border-color .24s ease;
}

.nix-proof__items article::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -38px;
  width: 122px;
  height: 122px;
  border: 1px solid rgba(255, 255, 255, .10);
  transform: rotate(18deg);
}

.nix-proof__items article:hover {
  transform: translateY(-6px);
  border-color: rgba(243, 199, 178, .34);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .24), transparent 42%),
    rgba(255, 255, 255, .10);
}

.nix-proof__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #f3c7b2;
  color: #1D090B;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
  transition: transform .24s ease;
}

.nix-proof__items article:hover .nix-proof__icon {
  transform: rotate(-4deg) scale(1.08);
}

.nix-proof__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nix-proof__items strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 6vw, 78px);
  line-height: .9;
}

.nix-proof__items span {
  display: block;
  margin-top: 18px;
  color: rgba(255, 255, 255, .72);
  line-height: 1.5;
}

.nix-proof__items .nix-proof__icon {
  margin-top: 0;
  margin-bottom: 22px;
  display: inline-flex;
}

.nix-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 8vw, 118px) 0 28px;
  color: #fff;
  background:
    radial-gradient(circle at 12% 18%, rgba(139, 58, 46, .34), transparent 34%),
    radial-gradient(circle at 86% 68%, rgba(243, 199, 178, .14), transparent 32%),
    #1D090B;
}

.nix-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .14) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, #000, transparent 82%);
}

.nix-footer__inner,
.nix-footer__bottom {
  position: relative;
  z-index: 1;
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.nix-footer__inner {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.35fr);
  gap: clamp(42px, 7vw, 94px);
}

.nix-footer__brand {
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .24);
}

.nix-footer__logo {
  display: inline-flex;
  margin-bottom: 28px;
}

.nix-footer__logo img {
  display: block;
  width: auto;
  height: 58px;
  object-fit: contain;
}

.nix-footer__brand p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: 17px;
  line-height: 1.7;
}

.nix-footer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 28px;
  padding: 0 20px;
  border-radius: 999px;
  background: #fff;
  color: #1D090B;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .25);
  transition: transform .2s ease, box-shadow .2s ease;
}

.nix-footer__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .34);
}

.nix-footer__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 46px);
  align-self: center;
}

.nix-footer__col h2 {
  margin: 0 0 18px;
  color: #f3c7b2;
  font-family: var(--font-body, Inter, sans-serif);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-footer__col a,
.nix-footer__col span,
.nix-footer__bottom a,
.nix-footer__bottom span,
.nix-footer__legal-button,
.nix-footer .cms-obfuscated-link.nix-footer__link {
  display: block;
  margin: 0 0 11px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .72) !important;
  font: inherit;
  font-size: 14px !important;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.nix-footer__col a:hover,
.nix-footer__bottom a:hover,
.nix-footer__legal-button:hover,
.nix-footer .cms-obfuscated-link.nix-footer__link:hover {
  color: #fff;
}

.nix-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(42px, 6vw, 76px);
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.nix-footer__bottom nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px;
}

.nix-footer__bottom a,
.nix-footer__bottom span,
.nix-footer__legal-button {
  margin: 0;
}

.nix-section--posts {
  background: #fffaf7;
}

.nix-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.nix-post-card {
  background: #fff;
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(29, 9, 11, .08);
}

.nix-post-card--featured {
  grid-column: span 2;
}

.nix-post-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.nix-post-card--featured .nix-post-card__image {
  aspect-ratio: 16 / 7;
}

.nix-post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.nix-post-card:hover .nix-post-card__image img {
  transform: scale(1.04);
}

.nix-post-card__content {
  padding: 22px;
}

.nix-post-card__content span {
  color: #8B3A2E;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-post-card h3 {
  margin: 10px 0 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: 0;
}

.nix-post-card h3 a {
  color: inherit;
  text-decoration: none;
}

.nix-post-card h3 a:hover {
  color: #8B3A2E;
}

.nix-final {
  position: relative;
  min-height: clamp(520px, 72vh, 780px);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}

.nix-final__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(29, 9, 11, .96), rgba(29, 9, 11, .62) 56%, rgba(29, 9, 11, .35)),
    radial-gradient(circle at 72% 25%, rgba(139, 58, 46, .25), transparent 36%);
}

.nix-final__inner {
  position: relative;
}

.nix-final h2 {
  font-size: clamp(42px, 6vw, 84px);
  max-width: 930px;
}

.nix-final .nix-btn {
  margin-top: 30px;
}

/* NixSoftware custom about page */
.page-about-nix {
  --color-accent: #1D090B;
  --color-accent-2: #8B3A2E;
  --color-bg: #fffaf7;
  --color-bg-alt: #f5ece7;
  --color-text: #1c1515;
  --color-text-muted: #766461;
  --color-border: rgba(29, 9, 11, .16);
  background: var(--color-bg);
}

.nix-about {
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-body, Inter, sans-serif);
}

.nix-about-hero {
  position: relative;
  min-height: clamp(680px, 88vh, 900px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px 0 86px;
  background: #1D090B;
}

.nix-about-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-about-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nix-about-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 76% 20%, rgba(139, 58, 46, .28), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .98) 0%, rgba(29, 9, 11, .80) 47%, rgba(29, 9, 11, .34) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .20), rgba(29, 9, 11, .92));
}

.nix-about-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .24;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .25) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nix-about-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, 360px);
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
}

.nix-about-hero h1,
.nix-about-final h2 {
  max-width: 880px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 7vw, 104px);
  line-height: .92;
  letter-spacing: 0;
}

.nix-about-hero__copy p:not(.nix-label),
.nix-about-final p:not(.nix-label) {
  max-width: 680px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-about-hero__note {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(29, 9, 11, .76);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.nix-about-hero__note span,
.nix-about-manifest__panel span,
.nix-about-workshop__cards span {
  display: block;
  margin-bottom: 10px;
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-about-hero__note strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.nix-about-manifest {
  margin-top: -58px;
  padding-top: 0;
  z-index: 3;
}

.nix-about-manifest__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.08fr .72fr;
  gap: clamp(28px, 5vw, 78px);
  padding: clamp(34px, 5vw, 62px);
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 34px 90px rgba(29, 9, 11, .16);
}

.nix-about-manifest__grid::after,
.nix-about-team::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 18% 16%, #000, transparent 58%);
}

.nix-about-manifest__grid > * {
  position: relative;
  z-index: 1;
}

.nix-about-manifest h2,
.nix-about-proof h2,
.nix-about-team h2 {
  margin: 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(34px, 5vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

.nix-about-manifest__copy p {
  margin: 22px 0 0;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.72;
}

.nix-about-manifest__panel {
  align-self: end;
  padding: clamp(26px, 4vw, 42px);
  background: #1D090B;
  color: #fff;
}

.nix-about-manifest__panel ul {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nix-about-manifest__panel li {
  color: rgba(255, 255, 255, .80);
  font-size: 16px;
  line-height: 1.55;
}

.nix-about-workshop {
  background: var(--color-bg-alt);
}

.nix-about-workshop__grid {
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  gap: clamp(26px, 5vw, 70px);
  align-items: center;
}

.nix-about-workshop__media {
  min-height: 620px;
  display: block;
  overflow: hidden;
  box-shadow: 0 34px 84px rgba(29, 9, 11, .18);
}

.nix-about-workshop__media img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  display: block;
  object-fit: cover;
}

.nix-about-workshop__cards {
  display: grid;
  gap: 18px;
}

.nix-about-workshop__cards article {
  position: relative;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--color-border);
  background: #fff;
  box-shadow: 0 20px 58px rgba(29, 9, 11, .08);
  transition: transform .24s ease, box-shadow .24s ease;
}

.nix-about-workshop__cards article:nth-child(2) {
  transform: translateX(-48px);
  background: #1D090B;
  color: #fff;
}

.nix-about-workshop__cards article:hover {
  transform: translateY(-5px);
  box-shadow: 0 34px 80px rgba(29, 9, 11, .15);
}

.nix-about-workshop__cards article:nth-child(2):hover {
  transform: translate(-48px, -5px);
}

.nix-about-workshop__cards h2 {
  margin: 0 0 12px;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(30px, 4vw, 54px);
  line-height: .98;
  letter-spacing: 0;
}

.nix-about-workshop__cards p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.65;
}

.nix-about-workshop__cards article:nth-child(2) p {
  color: rgba(255, 255, 255, .76);
}

.nix-about-proof {
  background: #1D090B;
  color: #fff;
}

.nix-about-proof__grid {
  display: grid;
  grid-template-columns: .80fr 1.20fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}

.nix-about-proof__list {
  display: grid;
  gap: 16px;
}

.nix-about-proof__list article {
  display: grid;
  grid-template-columns: 56px 1fr;
  column-gap: 22px;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .14), transparent 40%),
    rgba(255, 255, 255, .07);
  transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.nix-about-proof__list article:hover {
  transform: translateX(-8px);
  border-color: rgba(243, 199, 178, .34);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .22), transparent 42%),
    rgba(255, 255, 255, .10);
}

.nix-about-proof__icon {
  grid-row: span 2;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #f3c7b2;
  color: #1D090B;
}

.nix-about-proof__icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nix-about-proof__list strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 28px;
  line-height: 1.08;
}

.nix-about-proof__list p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, .72);
  line-height: 1.6;
}

.nix-about-team {
  background: #fffaf7;
}

.nix-about-team__lead {
  max-width: 420px;
  margin: 0;
  color: var(--color-text-muted);
  line-height: 1.65;
}

.nix-about-team__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.nix-about-author {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: flex-end;
  background: #1D090B;
  box-shadow: 0 22px 62px rgba(29, 9, 11, .12);
}

.nix-about-author img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: .78;
  transition: transform .45s ease, opacity .25s ease;
}

.nix-about-author::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(29, 9, 11, .08), rgba(29, 9, 11, .92));
}

.nix-about-author:hover img {
  transform: scale(1.04);
  opacity: .92;
}

.nix-about-author div {
  position: relative;
  z-index: 1;
  padding: 26px;
}

.nix-about-author span {
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-about-author h3 {
  margin: 10px 0 12px;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0;
}

.nix-about-author p {
  margin: 0;
  color: rgba(255, 255, 255, .74);
  line-height: 1.56;
}

.nix-about-final {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(520px, 68vh, 760px);
  display: grid;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(29, 9, 11, .96), rgba(29, 9, 11, .70)),
    url('/assets/images/home-agency/nix-service-audit.webp') center / cover;
}

.nix-about-final__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 78% 22%, rgba(139, 58, 46, .28), transparent 34%),
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: auto, 46px 46px, 46px 46px;
}

.nix-about-final__inner {
  position: relative;
}

.nix-about-final .nix-btn {
  margin-top: 30px;
}

/* NixSoftware custom services page */
.page-services-nix {
  --color-accent: #1D090B;
  --color-accent-2: #8B3A2E;
  --color-bg: #fffaf7;
  --color-bg-alt: #f5ece7;
  --color-text: #1c1515;
  --color-text-muted: #766461;
  --color-border: rgba(29, 9, 11, .16);
  background: var(--color-bg);
}

.page-blog-nix,
.page-blog-category-nix,
.page-post-nix,
.page-author-nix {
  --color-accent: #1D090B;
  --color-accent-2: #8B3A2E;
  --color-accent-3: #3A1014;
  --color-bg: #fffaf7;
  --color-bg-alt: #f5ece7;
  --color-text: #1c1515;
  --color-text-muted: #766461;
  --color-border: rgba(29, 9, 11, .16);
  background: var(--color-bg);
}

.nix-blog {
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-body, Inter, sans-serif);
}

.nix-post-hero,
.nix-author-hero {
  position: relative;
  min-height: clamp(640px, 82vh, 860px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px 0 86px;
  background: #1D090B;
}

.nix-post-hero__media,
.nix-author-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-post-hero__media img,
.nix-author-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nix-post-hero__shade,
.nix-author-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 76% 22%, rgba(139, 58, 46, .26), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .98) 0%, rgba(29, 9, 11, .82) 46%, rgba(29, 9, 11, .30) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .18), rgba(29, 9, 11, .94));
}

.nix-post-hero__grid,
.nix-author-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .25) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nix-post-hero__inner,
.nix-author-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.nix-author-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(260px, 380px);
  gap: clamp(30px, 6vw, 90px);
  align-items: end;
}

.nix-post-hero h1,
.nix-author-hero h1 {
  max-width: 980px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(44px, 6.4vw, 92px);
  line-height: .94;
  letter-spacing: 0;
}

.nix-author-hero__copy p:not(.nix-label) {
  max-width: 720px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-post-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.nix-post-hero__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .80);
  font-size: 13px;
  font-weight: 800;
}

.nix-author-hero__portrait {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(29, 9, 11, .72);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.nix-author-hero__portrait img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  display: block;
  object-fit: cover;
}

.nix-post-content-section {
  background: #fffaf7;
}

.nix-post-content-section::before,
.nix-post-related-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .34;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 18% 8%, #000, transparent 58%);
}

.nix-post-content-section > *,
.nix-post-related-section > * {
  position: relative;
  z-index: 1;
}

.page-post-nix .ws-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: clamp(28px, 4vw, 54px);
  align-items: start;
}

.page-post-nix .cms-pc-std__content {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-post-nix .ws-sidebar {
  position: sticky;
  top: 118px;
  display: grid;
  gap: 18px;
}

.page-post-nix .ws-card,
.page-post-nix .ws-author {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(29, 9, 11, .14);
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 20px 54px rgba(29, 9, 11, .08);
  backdrop-filter: blur(16px);
}

.page-post-nix .ws-card {
  padding: 22px;
}

.page-post-nix .ws-card::before,
.page-post-nix .ws-author::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .22) 1.2px, transparent 1.6px),
    linear-gradient(35deg, transparent 48.8%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.2%);
  background-size: 28px 28px, 58px 58px;
  mask-image: radial-gradient(circle at 12% 0%, #000, transparent 62%);
}

.page-post-nix .ws-card > *,
.page-post-nix .ws-author > * {
  position: relative;
  z-index: 1;
}

.page-post-nix .ws-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  color: #8B3A2E;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.page-post-nix .ws-label::before {
  content: "";
  width: 20px;
  height: 1px;
  background: currentColor;
}

.page-post-nix .ws-toc-list,
.page-post-nix .ws-toc-children {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-post-nix .ws-toc-group + .ws-toc-group {
  margin-top: 8px;
}

.page-post-nix .ws-toc-children {
  margin-top: 4px;
}

.page-post-nix .ws-toc-row {
  display: block;
}

.page-post-nix .ws-toc-link {
  display: block;
  width: 100%;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: #4f403d;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.38;
  text-decoration: none;
  transition: color .2s ease;
}

.page-post-nix .ws-toc-h3 .ws-toc-link {
  padding-left: 14px;
  color: #6d5e5a;
  font-size: 12px;
  font-weight: 620;
}

.page-post-nix .ws-toc-h4 .ws-toc-link {
  padding-left: 26px;
  color: #867672;
  font-size: 12px;
  font-weight: 560;
}

.page-post-nix .ws-toc-toggle {
  display: none !important;
}

.page-post-nix .ws-toc-link:hover,
.page-post-nix .ws-toc-link.active {
  background: transparent;
  color: #8B3A2E;
}

.page-post-nix .ws-related-list {
  display: grid;
  gap: 12px;
}

.page-post-nix .ws-related-list .cms-post-card--minimal {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr);
  flex-direction: initial !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 12px !important;
  border: 1px solid rgba(29, 9, 11, .10);
  border-radius: 0;
  background: rgba(255, 250, 247, .82);
  box-shadow: none;
  min-height: 94px;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.page-post-nix .ws-related-list .cms-post-card--minimal:hover {
  border-color: rgba(139, 58, 46, .32);
  background: #fff;
  transform: translateY(-2px);
}

.page-post-nix .ws-related-list .cms-post-card__thumb {
  width: 82px;
  height: 70px !important;
  display: block;
  overflow: hidden;
  margin: 0;
}

.page-post-nix .ws-related-list .cms-post-card__media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.page-post-nix .ws-related-list .cms-post-card__minimal-copy {
  min-width: 0;
  align-self: start;
  padding: 0;
  margin: 0;
}

.page-post-nix .ws-related-list .cms-post-card__title {
  margin: 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 15px;
  line-height: 1.16;
}

.page-post-nix .ws-related-list .cms-post-card__title-link {
  color: #1c1515;
  text-decoration: none;
}

.page-post-nix .ws-related-list .cms-post-card__title-link:hover {
  color: #8B3A2E;
}

.page-post-nix .ws-related-list .cms-post-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 7px;
  color: #766461;
  font-size: 11px;
  font-weight: 760;
}

.page-post-nix .ws-author {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  margin-top: 28px;
  padding: 24px;
}

.page-post-nix .ws-author__media {
  width: 92px;
  height: 92px;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(29, 9, 11, .12);
  background: #fffaf7;
}

.page-post-nix .ws-author__avatar {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.page-post-nix .ws-author__name {
  display: block;
  margin: 0 0 8px;
  color: #1c1515;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 25px;
  font-weight: 840;
  line-height: 1.05;
  text-decoration: none;
}

.page-post-nix .ws-author__name:hover {
  color: #8B3A2E;
}

.page-post-nix .ws-author__bio {
  margin: 0;
  color: #5f504d;
  font-size: 14px;
  line-height: 1.55;
}

.page-post-nix .ws-author .ws-label {
  display: flex;
  width: fit-content;
  margin-bottom: 10px;
}

.nix-post-final {
  margin-top: 0;
}

.nix-editorial-hero {
  position: relative;
  min-height: clamp(620px, 80vh, 840px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px 0 86px;
  background: #1D090B;
}

.nix-editorial-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-editorial-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nix-editorial-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 76% 22%, rgba(139, 58, 46, .26), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .98) 0%, rgba(29, 9, 11, .82) 46%, rgba(29, 9, 11, .30) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .18), rgba(29, 9, 11, .94));
}

.nix-editorial-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .25) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nix-editorial-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
}

.nix-editorial-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 7vw, 104px);
  line-height: .92;
  letter-spacing: 0;
}

.nix-editorial-hero p:not(.nix-label) {
  max-width: 700px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-editorial-hero--small {
  min-height: clamp(300px, 38vh, 420px);
  padding: 118px 0 52px;
}

.nix-editorial-hero--small h1 {
  max-width: 820px;
  font-size: clamp(38px, 5vw, 70px);
  line-height: .96;
}

.nix-editorial-hero--small p:not(.nix-label) {
  max-width: 660px;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.55;
}

.nix-blog-listing {
  background: var(--color-bg-alt);
}

.nix-blog-listing::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .38;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 16% 12%, #000, transparent 58%);
}

.nix-blog-listing .nix-container {
  position: relative;
  z-index: 1;
}

.nix-blog-cats {
  max-width: 560px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.nix-blog-cats a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(29, 9, 11, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .64);
  color: #1D090B;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.nix-blog-cats a:hover {
  transform: translateY(-2px);
  border-color: rgba(139, 58, 46, .34);
  background: #fff;
}

.nix-post-card__meta {
  margin: 12px 0 0;
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

.nix-blog-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: clamp(34px, 5vw, 58px);
}

.nix-blog-pagination a {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #1D090B;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.nix-blog-pagination a:hover,
.nix-blog-pagination a.is-active {
  transform: translateY(-2px);
  background: #1D090B;
  color: #fff;
}

.nix-services {
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-body, Inter, sans-serif);
}

.nix-services-hero {
  position: relative;
  min-height: clamp(690px, 90vh, 920px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px 0 88px;
  background: #1D090B;
}

.nix-services-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-services-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nix-services-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 76% 22%, rgba(139, 58, 46, .26), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .98) 0%, rgba(29, 9, 11, .82) 46%, rgba(29, 9, 11, .30) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .18), rgba(29, 9, 11, .94));
}

.nix-services-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .25) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nix-services-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(280px, 360px);
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
}

.nix-services-hero h1,
.nix-services-final h2 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 7vw, 104px);
  line-height: .92;
  letter-spacing: 0;
}

.nix-services-hero__copy p:not(.nix-label),
.nix-services-final p:not(.nix-label) {
  max-width: 700px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-services-hero__panel {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(29, 9, 11, .76);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.nix-services-hero__panel span,
.nix-services-card__kicker,
.nix-services-ops__badge span,
.nix-services-scope span {
  display: block;
  margin-bottom: 10px;
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-services-hero__panel strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.nix-services-intro {
  margin-top: -58px;
  padding-top: 0;
  z-index: 3;
}

.nix-services-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(28px, 5vw, 78px);
  padding: clamp(34px, 5vw, 62px);
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 34px 90px rgba(29, 9, 11, .16);
}

.nix-services-intro__grid::after,
.nix-services-detail::before,
.nix-services-roadmap::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .40;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 16% 16%, #000, transparent 58%);
}

.nix-services-intro__grid > * {
  position: relative;
  z-index: 1;
}

.nix-services-intro h2,
.nix-services-card h3,
.nix-services-ops h2,
.nix-services-proof h2,
.nix-services-roadmap h2 {
  margin: 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(34px, 5vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

.nix-services-intro__body p,
.nix-services-ops__copy > p,
.nix-services-roadmap__copy > p,
.nix-services-detail__lead {
  margin: 0 0 18px;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.7;
}

.nix-services-detail {
  background: var(--color-bg-alt);
}

.nix-services-detail__lead {
  max-width: 440px;
}

.nix-services-detail__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.nix-services-card {
  position: relative;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 4vw, 42px);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 22px 62px rgba(29, 9, 11, .10);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.nix-services-card::after {
  content: "";
  position: absolute;
  right: -54px;
  bottom: -54px;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(29, 9, 11, .10);
  transform: rotate(18deg);
}

.nix-services-card:hover {
  transform: translateY(-6px);
  border-color: rgba(139, 58, 46, .32);
  box-shadow: 0 36px 88px rgba(29, 9, 11, .16);
}

.nix-services-card--dark {
  background:
    radial-gradient(circle at 88% 8%, rgba(243, 199, 178, .16), transparent 38%),
    #1D090B;
  color: #fff;
}

.nix-services-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}

.nix-services-card__index {
  color: #8B3A2E;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
}

.nix-services-card--dark .nix-services-card__index {
  color: #f3c7b2;
}

.nix-services-card h3 {
  font-size: clamp(30px, 3.7vw, 50px);
}

.nix-services-card p,
.nix-services-card li {
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.62;
}

.nix-services-card--dark p,
.nix-services-card--dark li,
.nix-services-card--dark .nix-services-card__stat span {
  color: rgba(255, 255, 255, .74);
}

.nix-services-card ul {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.nix-services-card li {
  position: relative;
  padding-left: 20px;
}

.nix-services-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  background: #8B3A2E;
}

.nix-services-card--dark li::before {
  background: #f3c7b2;
}

.nix-services-card__stat {
  margin-top: auto;
  padding-top: 30px;
}

.nix-services-card__stat strong {
  display: block;
  color: #1D090B;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(50px, 6vw, 78px);
  line-height: .9;
}

.nix-services-card--dark .nix-services-card__stat strong {
  color: #fff;
}

.nix-services-card__stat span {
  display: block;
  margin-top: 12px;
  color: var(--color-text-muted);
  line-height: 1.45;
}

.nix-services-ops__grid,
.nix-services-roadmap__grid {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: clamp(32px, 6vw, 84px);
  align-items: center;
}

.nix-services-ops__media,
.nix-services-roadmap__media {
  position: relative;
  min-height: 620px;
  display: block;
  overflow: hidden;
  box-shadow: 0 34px 84px rgba(29, 9, 11, .18);
}

.nix-services-ops__media img,
.nix-services-roadmap__media img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  display: block;
  object-fit: cover;
}

.nix-services-ops__badge {
  position: absolute;
  right: -34px;
  bottom: 42px;
  width: min(300px, 76%);
  padding: 24px;
  background: #1D090B;
  color: #fff;
}

.nix-services-ops__badge strong {
  display: block;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 27px;
  line-height: 1.06;
}

.nix-services-scope {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.nix-services-scope article {
  padding: 22px;
  border-left: 4px solid #1D090B;
  background: var(--color-bg-alt);
}

.nix-services-scope span {
  color: #8B3A2E;
}

.nix-services-scope strong {
  display: block;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 26px;
  line-height: 1.05;
}

.nix-services-scope p {
  margin: 10px 0 0;
  color: var(--color-text-muted);
  line-height: 1.58;
}

.nix-services-proof {
  background: #1D090B;
  color: #fff;
}

.nix-services-proof__grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
}

.nix-services-proof__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.nix-services-proof__items article {
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .16), transparent 40%),
    rgba(255, 255, 255, .07);
  transition: transform .24s ease, background .24s ease, border-color .24s ease;
}

.nix-services-proof__items article:hover {
  transform: translateY(-6px);
  border-color: rgba(243, 199, 178, .34);
  background:
    radial-gradient(circle at 90% 0%, rgba(243, 199, 178, .24), transparent 42%),
    rgba(255, 255, 255, .10);
}

.nix-services-proof__items strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(42px, 5vw, 66px);
  line-height: .95;
}

.nix-services-proof__items p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .72);
  line-height: 1.5;
}

.nix-services-roadmap {
  background: #fffaf7;
}

.nix-services-roadmap__grid {
  grid-template-columns: 1fr .88fr;
}

.nix-services-roadmap__copy,
.nix-services-roadmap__media {
  position: relative;
  z-index: 1;
}

.nix-services-final {
  position: relative;
  min-height: clamp(560px, 76vh, 820px);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}

/* NixSoftware custom contact page */
.page-contact-nix {
  --color-accent: #1D090B;
  --color-accent-2: #8B3A2E;
  --color-bg: #fffaf7;
  --color-bg-alt: #f5ece7;
  --color-text: #1c1515;
  --color-text-muted: #766461;
  --color-border: rgba(29, 9, 11, .16);
  background: var(--color-bg);
}

.nix-contact {
  color: var(--color-text);
  background: var(--color-bg);
  font-family: var(--font-body, Inter, sans-serif);
}

.nix-contact-hero {
  position: relative;
  min-height: clamp(690px, 90vh, 920px);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px 0 88px;
  background: #1D090B;
}

.nix-contact-hero__media {
  position: absolute;
  inset: 0;
  z-index: -3;
}

.nix-contact-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.nix-contact-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 72% 24%, rgba(139, 58, 46, .28), transparent 34%),
    linear-gradient(90deg, rgba(29, 9, 11, .98) 0%, rgba(29, 9, 11, .84) 46%, rgba(29, 9, 11, .28) 100%),
    linear-gradient(180deg, rgba(29, 9, 11, .18), rgba(29, 9, 11, .94));
}

.nix-contact-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, .25) 1.4px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.8%, rgba(255, 255, 255, .12) 49%, rgba(255, 255, 255, .12) 51%, transparent 51.2%),
    linear-gradient(145deg, transparent 48.8%, rgba(255, 255, 255, .09) 49%, rgba(255, 255, 255, .09) 51%, transparent 51.2%);
  background-size: 46px 46px, 92px 92px, 92px 92px;
  mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.nix-contact-hero__inner {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(280px, 360px);
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
}

.nix-contact-hero h1,
.nix-contact-final h2 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(48px, 7vw, 104px);
  line-height: .92;
  letter-spacing: 0;
}

.nix-contact-hero__copy p:not(.nix-label),
.nix-contact-final p:not(.nix-label) {
  max-width: 700px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 18px;
  line-height: 1.65;
}

.nix-contact-hero__note {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(29, 9, 11, .76);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.nix-contact-hero__note span,
.nix-contact-signal span {
  display: block;
  margin-bottom: 10px;
  color: #f3c7b2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-contact-hero__note strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.nix-contact-intro {
  margin-top: -58px;
  padding-top: 0;
  z-index: 3;
}

.nix-contact-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(28px, 5vw, 78px);
  padding: clamp(34px, 5vw, 62px);
  background: #fff;
  border: 1px solid var(--color-border);
  box-shadow: 0 34px 90px rgba(29, 9, 11, .16);
}

.nix-contact-intro__grid::after,
.nix-contact-faq::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .40;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 36px 36px, 72px 72px, 72px 72px;
  mask-image: radial-gradient(circle at 16% 16%, #000, transparent 58%);
}

.nix-contact-intro__grid > *,
.nix-contact-faq .nix-container {
  position: relative;
  z-index: 1;
}

.nix-contact-intro h2,
.nix-contact-form-shell h2,
.nix-contact-faq h2 {
  margin: 0;
  font-family: var(--font-heading, Georgia, serif);
  font-size: clamp(34px, 5vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

.nix-contact-intro__body p,
.nix-contact-form-shell__aside > p {
  margin: 0 0 18px;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.7;
}

.nix-contact-form-section {
  background: #1D090B;
  color: #fff;
}

.nix-contact-form-shell {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: clamp(26px, 5vw, 64px);
  align-items: stretch;
}

.nix-contact-form-shell__aside {
  padding: clamp(30px, 5vw, 54px);
  background:
    radial-gradient(circle at 88% 8%, rgba(243, 199, 178, .16), transparent 38%),
    rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
}

.nix-contact-form-shell__aside > p {
  color: rgba(255, 255, 255, .74);
}

.nix-contact-signal {
  margin-top: 34px;
  padding: 24px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
}

.nix-contact-signal strong {
  display: block;
  color: #fff;
  font-family: var(--font-heading, Georgia, serif);
  font-size: 27px;
  line-height: 1.08;
}

.nix-contact-form-card {
  position: relative;
  overflow: hidden;
  width: min(100%, 820px);
  margin-left: auto;
  padding: clamp(28px, 4.5vw, 54px);
  background:
    linear-gradient(135deg, rgba(255, 250, 247, .98), rgba(245, 236, 231, .96)),
    #fffaf7;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .24);
}

.nix-contact-form-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .38;
  background-image:
    radial-gradient(circle, rgba(29, 9, 11, .18) 1.35px, transparent 1.7px),
    linear-gradient(35deg, transparent 48.7%, rgba(29, 9, 11, .08) 49%, rgba(29, 9, 11, .08) 51%, transparent 51.3%),
    linear-gradient(145deg, transparent 48.7%, rgba(139, 58, 46, .07) 49%, rgba(139, 58, 46, .07) 51%, transparent 51.3%);
  background-size: 34px 34px, 70px 70px, 70px 70px;
  mask-image: radial-gradient(circle at 82% 10%, #000, transparent 58%);
}

.nix-contact-form-card > * {
  position: relative;
  z-index: 1;
}

.nix-contact-form-card__top {
  max-width: 720px;
  margin-bottom: 28px;
}

.nix-contact-form-card__top p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.65;
}

.nix-contact-form-custom {
  display: grid;
  gap: 24px;
}

.nix-contact-form-custom__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 300px));
  justify-content: start;
  gap: 16px;
}

.nix-contact-form-custom label {
  display: grid;
  gap: 9px;
}

.nix-contact-form-custom span {
  color: #1D090B;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-contact-form-custom input,
.nix-contact-form-custom textarea {
  width: 100%;
  border: 1px solid rgba(29, 9, 11, .14);
  border-radius: 0;
  background: rgba(255, 255, 255, .82);
  color: #1D090B;
  font: 600 15px/1.45 var(--font-body, Inter, sans-serif);
  outline: none;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.nix-contact-form-custom input {
  min-height: 50px;
  padding: 0 14px;
}

.nix-contact-form-custom textarea {
  min-height: 160px;
  resize: vertical;
  padding: 14px;
}

.nix-contact-form-custom input:focus,
.nix-contact-form-custom textarea:focus {
  border-color: rgba(139, 58, 46, .52);
  background: #fff;
  box-shadow: 0 0 0 5px rgba(139, 58, 46, .12);
}

.nix-contact-form-custom__full {
  grid-column: 1 / -1;
  max-width: 616px;
}

.nix-contact-form-custom__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.nix-contact-form-custom__footer button {
  min-height: 52px;
  flex: 0 0 auto;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: #1D090B;
  color: #fff;
  font: 900 14px/1 var(--font-body, Inter, sans-serif);
  cursor: pointer;
  box-shadow: 0 18px 42px rgba(29, 9, 11, .22);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.nix-contact-form-custom__footer button:hover {
  transform: translateY(-2px);
  background: #3A1014;
  box-shadow: 0 26px 62px rgba(29, 9, 11, .28);
}

.nix-contact-form-custom__footer p {
  max-width: 360px;
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.nix-contact-form .contact-msg,
.nix-contact-form .cms-form-feedback {
  color: #1D090B;
  font-weight: 800;
}

.nix-contact-channels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 30px;
  background: rgba(29, 9, 11, .12);
  color: #1D090B;
}

.nix-contact-channels div {
  min-height: 108px;
  padding: 18px;
  background: rgba(255, 255, 255, .70);
  color: #1D090B;
}

.nix-contact-channels span {
  display: block;
  margin-bottom: 10px;
  color: #8B3A2E;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nix-contact-channels a,
.nix-contact-channels .cms-obfuscated-link,
.nix-contact-channels strong {
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
  color: #1D090B;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
  text-align: left;
  cursor: pointer;
}

.nix-contact-faq {
  background: var(--color-bg);
}

.nix-contact-faq__grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}

.nix-contact-faq .cms-faq-acc__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nix-contact-faq .cms-faq-acc__item {
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 18px 48px rgba(29, 9, 11, .07);
}

.nix-contact-faq .cms-faq-acc__trigger {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  border: 0;
  background: transparent;
  color: #1D090B;
  font: 850 16px/1.35 var(--font-body, Inter, sans-serif);
  text-align: left;
  cursor: pointer;
}

.nix-contact-faq .cms-faq-acc__chevron {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: #8B3A2E;
}

.nix-contact-faq .cms-faq-acc__answer {
  padding: 0 24px 22px;
  color: var(--color-text-muted);
  line-height: 1.65;
}

.nix-contact-faq .cms-faq-acc__answer p {
  margin: 0;
}

.nix-contact-final {
  position: relative;
  min-height: clamp(560px, 76vh, 820px);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}

@media (max-width: 980px) {
  .nix-hero {
    padding-top: 140px;
  }

  .nix-hero__panel {
    position: relative;
    right: auto;
    bottom: auto;
    margin: 20px auto 0;
  }

  .nix-intro,
  .nix-audit,
  .nix-proof,
  .nix-service-stack,
  .nix-about-hero__inner,
  .nix-about-manifest__grid,
  .nix-about-workshop__grid,
  .nix-about-proof__grid,
  .nix-about-team__grid,
  .nix-blog .nix-section-head--split,
  .nix-author-hero__inner,
  .nix-services-hero__inner,
  .nix-services-intro__grid,
  .nix-services-detail__grid,
  .nix-services-ops__grid,
  .nix-services-proof__grid,
  .nix-services-proof__items,
  .nix-services-roadmap__grid,
  .nix-contact-hero__inner,
  .nix-contact-intro__grid,
  .nix-contact-form-shell,
  .nix-contact-faq__grid {
    grid-template-columns: 1fr;
  }

  .nix-intro__badge,
  .nix-audit__card {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 22px;
    width: auto;
  }

  .nix-service--wide {
    min-height: 360px;
  }

  .nix-service--offset,
  .nix-service--offset:hover,
  .nix-about-workshop__cards article:nth-child(2),
  .nix-about-workshop__cards article:nth-child(2):hover {
    transform: none;
  }

  .nix-proof__items,
  .nix-post-grid,
  .page-post-nix .ws-layout,
  .nix-footer__inner,
  .nix-footer__cols {
    grid-template-columns: 1fr;
  }

  .page-post-nix .ws-sidebar {
    position: static;
  }

  .page-post-nix .ws-related-list .cms-post-card--minimal {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .page-post-nix .ws-related-list .cms-post-card__thumb {
    width: 82px;
  }

  .nix-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .nix-footer__bottom nav {
    justify-content: flex-start;
  }

  .nix-post-card--featured {
    grid-column: auto;
  }

  .nix-section-head--split {
    align-items: start;
    flex-direction: column;
  }

  .nix-about-hero__note {
    max-width: 520px;
  }

  .nix-about-workshop__media,
  .nix-about-workshop__media img,
  .nix-services-ops__media,
  .nix-services-ops__media img,
  .nix-services-roadmap__media,
  .nix-services-roadmap__media img {
    min-height: 440px;
  }

  .nix-services-card {
    min-height: auto;
  }

  .nix-services-ops__badge {
    right: 20px;
  }

  .nix-blog-cats {
    justify-content: flex-start;
  }

  .nix-author-hero__portrait,
  .nix-author-hero__portrait img {
    min-height: 360px;
  }
}

@media (max-width: 640px) {
  .nix-container,
  .nix-hero__inner,
  .nix-about-hero__inner {
    width: min(100% - 28px, 1200px);
  }

  .nix-hero {
    min-height: auto;
    padding: 128px 0 54px;
  }

  .nix-hero h1 {
    font-size: 46px;
  }

  .nix-about-hero {
    min-height: auto;
    padding: 128px 0 54px;
  }

  .nix-about-hero h1,
  .nix-about-final h2,
  .nix-contact-hero h1,
  .nix-contact-final h2,
  .nix-services-hero h1,
  .nix-services-final h2,
  .nix-editorial-hero h1,
  .nix-post-hero h1,
  .nix-author-hero h1 {
    font-size: 46px;
  }

  .nix-hero__lead,
  .nix-final p:not(.nix-label),
  .nix-about-hero__copy p:not(.nix-label),
  .nix-about-final p:not(.nix-label),
  .nix-contact-hero__copy p:not(.nix-label),
  .nix-contact-final p:not(.nix-label),
  .nix-services-hero__copy p:not(.nix-label),
  .nix-services-final p:not(.nix-label),
  .nix-editorial-hero p:not(.nix-label),
  .nix-author-hero__copy p:not(.nix-label) {
    font-size: 16px;
  }

  .nix-intro {
    padding: 28px;
  }

  .nix-audit__media,
  .nix-audit__media picture {
    min-height: 380px;
  }

  .nix-footer__inner,
  .nix-footer__bottom {
    width: min(100% - 28px, 1200px);
  }

  .nix-footer__logo img {
    height: 46px;
  }

  .page-post-nix .ws-card {
    padding: 18px;
  }

  .page-post-nix .ws-author {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .nix-about-manifest__grid,
  .nix-services-intro__grid,
  .nix-contact-intro__grid {
    padding: 28px;
  }

  .nix-contact-form-shell__aside,
  .nix-contact-form-card {
    padding: 24px;
  }

  .nix-contact-form-custom__grid,
  .nix-contact-channels {
    grid-template-columns: 1fr;
  }

  .nix-contact-form-custom__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .nix-contact-form-custom__footer button {
    width: 100%;
  }

  .nix-about-proof__list article {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .nix-about-author {
    min-height: 390px;
  }
}

@media (max-width: 800px) {
  .cms-header-std__bar {
    box-sizing: border-box !important;
    width: min(100% - 28px, 1400px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .cms-consent-banner,
  .cms-consent-banner__card {
    box-sizing: border-box !important;
    max-width: calc(100vw - 24px) !important;
  }

  .cms-header-mobile,
  .cms-header-mobile__link,
  .cms-header-mobile__toggle,
  .cms-header-mobile__child-link,
  .cms-header-mobile__cta {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .cms-header-mobile__link,
  .cms-header-mobile__toggle {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nix-services-intro__grid,
  .nix-contact-intro__grid,
  .nix-contact-form-card {
    box-sizing: border-box !important;
    width: min(100% - 28px, 1200px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nix-services-proof__items {
    grid-template-columns: 1fr !important;
  }

  .nix-services-proof__items article {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px !important;
  }

  .nix-services-proof__items strong {
    font-size: clamp(34px, 12vw, 48px) !important;
  }

  .nix-editorial-hero,
  .nix-post-hero {
    min-height: clamp(380px, 50vh, 480px) !important;
    padding-top: 96px !important;
    padding-bottom: 42px !important;
    align-items: center !important;
  }

  .nix-editorial-hero__inner,
  .nix-post-hero__inner {
    width: min(100% - 28px, 1200px) !important;
  }

  .nix-editorial-hero h1,
  .nix-post-hero h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: .98 !important;
  }

  .nix-editorial-hero p:not(.nix-label) {
    display: none !important;
  }

  .nix-contact-form-card,
  .nix-contact-form-custom,
  .nix-contact-form-custom__grid,
  .nix-contact-form-custom label,
  .nix-contact-form-custom input,
  .nix-contact-form-custom textarea,
  .nix-contact-form-custom select {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .nix-contact-form-card {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .nix-contact-form-custom input,
  .nix-contact-form-custom textarea,
  .nix-contact-form-custom select {
    width: 100% !important;
    min-width: 0 !important;
  }
}</style>
    <link rel="icon" href="https://nixsoftware.com/assets/images/favicon.svg?v=1779890646" type="image/svg+xml">
    <link rel="alternate icon" href="https://nixsoftware.com/assets/images/favicon.ico?v=1779890646" sizes="any">
    <link rel="icon" href="https://nixsoftware.com/assets/images/favicon.png?v=1779890646" type="image/png" sizes="32x32">
    <link rel="apple-touch-icon" href="https://nixsoftware.com/assets/images/apple-touch-icon.png?v=1779890646">
        <link rel="manifest" href="https://nixsoftware.com/site.webmanifest">
        <meta name="theme-color" content="#1D090B">
        <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Guides et conseils votre thématique | nixsoftware","description":"Guides, comparatifs et conseils pratiques pour mieux comprendre votre thématique.","url":"https://nixsoftware.com/","isPartOf":{"@type":"WebSite","name":"nixsoftware","url":"https://nixsoftware.com"}}</script>    </head>
<body class="page-home page-home-nix">
<div
    id="cms-consent-root"
    data-consent-version="2026-05-07-support-consent"
    data-site-name="nixsoftware"
    data-consent-default-external-media="denied"
    data-consent-default-analytics="granted"
    data-consent-default-marketing="granted"
></div>



<div class="">
<div x-data="{ mobileOpen: false }" @keydown.escape.window="mobileOpen = false">
<header id="hdr-6e2fe4" class="cms-header-std hdr-6e2fe4-header cms-header-std--dark cms-header-std--fixed">
    <div class="cms-header-std__bar hdr-6e2fe4-bar">
        <a href="/" class="cms-header-std__logo hdr-6e2fe4-logo">
                        <img src="/assets/images/brand/logo-light.png" alt="Nixsoftware" class="cms-header-std__logo-img" data-logo-default="/assets/images/brand/logo-light.png" data-logo-light="/assets/images/brand/logo-light.png">
                    </a>

        <nav class="cms-header-std__nav hdr-6e2fe4-nav">
                                            <a href="/a-propos/" class="cms-header-std__link cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500 hdr-6e2fe4-link">À propos</a>
                                                            <a href="/services/" class="cms-header-std__link cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500 hdr-6e2fe4-link">Services</a>
                                                            <div class="cms-header-std__item cms-header-std__item--has-children">
                                        <a href="/blog/" class="cms-header-std__link cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500 hdr-6e2fe4-link">
                        Blog                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="m6 9 6 6 6-6"/></svg>
                    </a>
                                        <div class="cms-header-std__dropdown cms-header-std__dropdown--align-center">
                                                <a href="/blog/cybersecurite/" class="cms-header-std__dropdown-link">Cybersécurité</a>
                                                <a href="/blog/materiel-informatique/" class="cms-header-std__dropdown-link">Informatique</a>
                                                <a href="/blog/logiciels-services/" class="cms-header-std__dropdown-link">Logiciels Services</a>
                                                <a href="/blog/mobile-telecom/" class="cms-header-std__dropdown-link">Mobile Télécom</a>
                                                <a href="/blog/web/" class="cms-header-std__dropdown-link">Web</a>
                                            </div>
                </div>
                            
                        <a href="/contact/" class="cms-header-std__cta">Nous contacter</a>
                    </nav>

        <button @click="mobileOpen=!mobileOpen" data-cms-menu-toggle="hdr-6e2fe4" class="cms-header-std__burger hdr-6e2fe4-burger" aria-label="Menu" aria-expanded="false">
            <svg x-show="!mobileOpen" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
            <svg x-show="mobileOpen" x-cloak width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
        </button>
    </div>

            <div
    x-show="mobileOpen"
    x-transition:enter="transition ease-[cubic-bezier(0.22,1,0.36,1)] duration-300"
    x-transition:enter-start="opacity-0 -translate-y-2"
    x-transition:enter-end="opacity-100 translate-y-0"
    x-transition:leave="transition ease-[cubic-bezier(0.4,0,0.2,1)] duration-220"
    x-transition:leave-start="opacity-100 translate-y-0"
    x-transition:leave-end="opacity-0 -translate-y-2"
    x-cloak
    hidden
    data-cms-menu-panel="hdr-6e2fe4"
    class="cms-header-mobile cms-header-mobile--slidedown hdr-6e2fe4-mobile-panel"
>
                    <a href="/a-propos/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__link cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500">À propos</a>
                            <a href="/services/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__link cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500">Services</a>
                            <div x-data="{sub:false}" class="cms-header-mobile__group">
            <button @click="sub=!sub" class="cms-header-mobile__toggle cms-header-nav-typo cms-header-nav-typo--body cms-header-nav-typo--w-500">
                Blog                <svg :class="sub ? 'is-open' : ''" class="cms-header-mobile__chevron" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="m6 9 6 6 6-6"/></svg>
            </button>
            <div
                x-show="sub"
                x-transition:enter="transition ease-[cubic-bezier(0.22,1,0.36,1)] duration-260"
                x-transition:enter-start="opacity-0 -translate-y-1"
                x-transition:enter-end="opacity-100 translate-y-0"
                x-transition:leave="transition ease-[cubic-bezier(0.4,0,0.2,1)] duration-180"
                x-transition:leave-start="opacity-100 translate-y-0"
                x-transition:leave-end="opacity-0 -translate-y-1"
                x-cloak
                class="cms-header-mobile__children"
            >
                                <a href="/blog/cybersecurite/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__child-link">Cybersécurité</a>
                                <a href="/blog/materiel-informatique/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__child-link">Informatique</a>
                                <a href="/blog/logiciels-services/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__child-link">Logiciels Services</a>
                                <a href="/blog/mobile-telecom/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__child-link">Mobile Télécom</a>
                                <a href="/blog/web/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__child-link">Web</a>
                            </div>
        </div>
                    <a href="/contact/" data-cms-menu-close="hdr-6e2fe4" class="cms-header-mobile__cta">Nous contacter</a>
    </div>
    </header>

</div>
</div>

<script>
(function(){
    var hdr = document.getElementById('hdr-6e2fe4');
    if (!hdr) return;
    var placeholder = document.createElement('div');
    placeholder.style.display = 'none';
    hdr.parentNode.insertBefore(placeholder, hdr.nextSibling);
    var origTop = hdr.getBoundingClientRect().top + window.scrollY;
    var isFixed = false;
    var logoImg = hdr.querySelector('.hdr-6e2fe4-logo img[data-logo-default]');
    var logoLink = hdr.querySelector('.hdr-6e2fe4-logo');
    var logoHeightDefault = '52px';
    var logoHeightScrolled = '46px';
    var hideLogoUntilScrolled = false;
    var containedOnScroll = false;

    function setHeaderLogo(mode) {
        if (!logoImg) return;
        var defaultSrc = logoImg.getAttribute('data-logo-default') || '';
        var lightSrc = logoImg.getAttribute('data-logo-light') || '';
        var nextSrc = mode === 'light' && lightSrc ? lightSrc : (defaultSrc || lightSrc);
        if (nextSrc && logoImg.getAttribute('src') !== nextSrc) {
            logoImg.setAttribute('src', nextSrc);
        }
        logoImg.style.height = mode === 'light' ? logoHeightDefault : logoHeightScrolled;
        if (hideLogoUntilScrolled && logoLink) {
            var visible = mode !== 'light';
            logoLink.style.opacity = visible ? '1' : '0';
            logoLink.style.pointerEvents = visible ? '' : 'none';
        }
    }

    function onScroll() {
        if (window.scrollY > origTop && !isFixed) {
                        placeholder.style.display = 'block';
            var bar = hdr.querySelector('.hdr-6e2fe4-bar');
            placeholder.style.height = (bar ? bar.offsetHeight : 64) + 'px';
                        hdr.style.position = 'fixed';
            hdr.style.boxShadow = '0 2px 20px rgba(0,0,0,0.1)';
                        hdr.style.top = '0';
            hdr.style.left = '0';
            hdr.style.right = '0';
                                    isFixed = true;
        } else if (window.scrollY <= origTop && isFixed) {
            placeholder.style.display = 'none';
            hdr.style.boxShadow = '';
            hdr.style.transform = '';
                        hdr.style.position = '';
            hdr.style.top = '';
            hdr.style.left = '';
            hdr.style.right = '';
                        isFixed = false;
        }
    }

    setHeaderLogo('default');
    window.addEventListener('scroll', onScroll, {passive:true});
    onScroll();
})();
</script>

<main>
    
<main class="nix-home">
  <section class="nix-hero" aria-labelledby="nix-hero-title">
    <picture class="nix-hero__media">
      <source srcset="/assets/images/home-agency/nix-hero.webp" type="image/webp">
      <img src="/assets/images/home-agency/nix-hero.png" alt="Equipe technique en cadrage d'architecture logicielle" loading="eager" fetchpriority="high">
    </picture>
    <div class="nix-hero__shade" aria-hidden="true"></div>
    <div class="nix-hero__grid" aria-hidden="true"></div>

    <div class="nix-hero__inner">
      <p class="nix-label nix-label--light">Agence tech & infrastructure</p>
      <h1 id="nix-hero-title">Stabiliser le logiciel, l’infra et les décisions qui vont avec</h1>
      <p class="nix-hero__lead">NixSoftware accompagne les équipes qui doivent reprendre un parc, fiabiliser une migration, sécuriser une stack ou arbitrer un choix technique sans perdre des semaines en flou.</p>
      <div class="nix-hero__actions">
        <a class="nix-btn nix-btn--light" href="/contact/">Cadrer un besoin</a>
        <a class="nix-btn nix-btn--ghost" href="/services/">Voir les services</a>
      </div>
    </div>

    <div class="nix-hero__panel" aria-label="Points de cadrage">
      <span>01 Audit</span>
      <strong>Ce qui bloque vraiment</strong>
      <span>02 Priorités</span>
      <strong>Ce qui doit passer d’abord</strong>
      <span>03 Exécution</span>
      <strong>Ce qui tient en production</strong>
    </div>
  </section>

  <section class="nix-section nix-section--intro">
    <div class="nix-container nix-intro">
      <div class="nix-intro__copy">
        <p class="nix-label">Positionnement</p>
        <h2>Un regard technique qui parle aussi budget, risque et continuité</h2>
      </div>
      <div class="nix-intro__body">
        <p>Le problème n’est pas toujours le serveur, le logiciel ou le prestataire. Souvent, c’est l’absence de lecture globale: dépendances invisibles, dette accumulée, responsabilité mal placée, sécurité traitée trop tard.</p>
        <p>NixSoftware remet ces sujets à plat pour que chaque décision technique puisse être expliquée, priorisée et suivie.</p>
      </div>
      <div class="nix-intro__badge">
        <span>Priorité</span>
        <strong>moins de décisions subies</strong>
      </div>
    </div>
  </section>

  <section class="nix-section nix-section--services">
    <div class="nix-container">
      <div class="nix-section-head">
        <p class="nix-label">Périmètre</p>
        <h2>Trois interventions pour reprendre la main sur le système</h2>
      </div>
      <div class="nix-service-stack">
        <article class="nix-service nix-service--wide">
          <picture class="nix-service__media" aria-hidden="true">
            <source srcset="/assets/images/home-agency/nix-service-audit.webp" type="image/webp">
            <img src="/assets/images/home-agency/nix-service-audit.png" alt="Audit technique d'une architecture logicielle" loading="lazy">
          </picture>
          <span class="nix-service__index">01</span>
          <h3>Audit d’architecture et dette technique</h3>
          <p>Cartographier les dépendances, les versions, les points de fragilité et les choix qui ralentissent les équipes. Le livrable doit permettre de trancher: corriger, migrer, remplacer ou documenter.</p>
          <a href="/services/">Lire le périmètre</a>
        </article>
        <article class="nix-service nix-service--offset">
          <span class="nix-service__index">02</span>
          <h3>Migration, hébergement et continuité</h3>
          <p>Préparer une bascule sans improvisation: sauvegardes, DNS, certificats, contraintes applicatives, retours arrière et suivi post-migration.</p>
        </article>
        <article class="nix-service">
          <span class="nix-service__index">03</span>
          <h3>Sécurité pragmatique</h3>
          <p>Vérifier les accès, durcir les points exposés, prioriser les risques réels et rendre les consignes applicables par les équipes.</p>
        </article>
      </div>
    </div>
  </section>

  <section class="nix-section nix-section--audit">
    <div class="nix-container nix-audit">
      <div class="nix-audit__media">
        <picture>
          <source srcset="/assets/images/home-agency/nix-audit.webp" type="image/webp">
          <img src="/assets/images/home-agency/nix-audit.png" alt="Analyse d'une architecture logicielle sur poste de travail" loading="lazy">
        </picture>
        <div class="nix-audit__card">
          <span>Livrable attendu</span>
          <strong>une feuille de route qui peut être exécutée</strong>
        </div>
      </div>
      <div class="nix-audit__copy">
        <p class="nix-label">Méthode</p>
        <h2>On ne vend pas une stack. On clarifie le prochain arbitrage.</h2>
        <p>Une mission utile doit réduire l’incertitude. Elle part du contexte réel: niveau d’équipe, budget, contraintes de production, historique des incidents, obligations de sécurité et dépendance aux outils existants.</p>
        <div class="nix-checks">
          <span>Inventaire des risques concrets</span>
          <span>Priorisation coût / impact / urgence</span>
          <span>Plan d’action lisible par la direction</span>
        </div>
      </div>
    </div>
  </section>

  <section class="nix-section nix-section--proof">
    <div class="nix-container nix-proof">
      <div class="nix-proof__title">
        <p class="nix-label nix-label--light">Repères</p>
        <h2>Des chiffres utiles, pas des promesses décoratives</h2>
      </div>
      <div class="nix-proof__items">
        <article>
          <span class="nix-proof__icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M4 5h16v10H4z"/><path d="M8 19h8"/><path d="M12 15v4"/></svg></span>
          <strong>48h</strong>
          <span>pour obtenir une première lecture claire des risques et priorités</span>
        </article>
        <article>
          <span class="nix-proof__icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M7 7h10v10H7z"/><path d="M3 9h4"/><path d="M17 9h4"/><path d="M3 15h4"/><path d="M17 15h4"/><path d="M9 3v4"/><path d="M15 3v4"/><path d="M9 17v4"/><path d="M15 17v4"/></svg></span>
          <strong>3x</strong>
          <span>plus de visibilité sur les dépendances critiques avant une migration</span>
        </article>
        <article>
          <span class="nix-proof__icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M12 3 5 6v5c0 4.5 2.9 8.4 7 10 4.1-1.6 7-5.5 7-10V6z"/><path d="m9 12 2 2 4-5"/></svg></span>
          <strong>100%</strong>
          <span>des bascules cadrées avec sauvegarde, rollback et validation des accès</span>
        </article>
      </div>
    </div>
  </section>

    <section class="nix-section nix-section--posts">
    <div class="nix-container">
      <div class="nix-section-head nix-section-head--split">
        <div>
          <p class="nix-label">Dernières analyses</p>
          <h2>Des sujets concrets pour garder une longueur d’avance</h2>
        </div>
        <a class="nix-btn nix-btn--dark" href="/blog/">Tous les articles</a>
      </div>
      <div class="nix-post-grid">
                            <article class="nix-post-card nix-post-card--featured">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/alternance-cybersecurite-missions-prerequis-et-pieges-a-eviter/">
                <img src="/assets/images/posts/alternance-cybersecurite-missions-prerequis-et-pieges-a-eviter-featured-1780848210295.webp" alt="Alternance cybersécurité: missions, prérequis et pièges à éviter" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/alternance-cybersecurite-missions-prerequis-et-pieges-a-eviter/">Alternance cybersécurité: missions, prérequis et pièges à éviter</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/agence-de-conseil-en-strategie-digitale/">
                <img src="/assets/images/posts/agence-de-conseil-en-strategie-digitale-featured-1780329014938.png" alt="Agence de conseil en stratégie digitale: comment choisir le bon prestataire" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/agence-de-conseil-en-strategie-digitale/">Agence de conseil en stratégie digitale: comment choisir le bon prestataire</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/logiciels-services-outil-de-ticketing-informatique-pme-criteres-et-deploiement/">
                <img src="/assets/images/posts/logiciels-services-outil-de-ticketing-informatique-pme-criteres-et-deploiement-featured-1780135405233.png" alt="Outil de ticketing informatique PME: choix, exemples, déploiement" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/logiciels-services-outil-de-ticketing-informatique-pme-criteres-et-deploiement/">Outil de ticketing informatique PME: choix, exemples, déploiement</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/consommation-data-analysez-optimisez-micro-echanges-donnees-machine/">
                <img src="/assets/images/posts/consommation-data-analysez-optimisez-micro-echanges-donnees-machine-featured.jpg" alt="Consommation Data: analysez et optimisez les micro-échanges de données machine" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/consommation-data-analysez-optimisez-micro-echanges-donnees-machine/">Consommation Data: analysez et optimisez les micro-échanges de données machine</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/smartphone-reconditionne-fiable-en-2026-guide-complet-pour-bien-choisir/">
                <img src="/assets/images/posts/smartphone-reconditionne-fiable-en-2026-guide-complet-pour-bien-choisir-featured.jpg" alt="Smartphone reconditionné fiable en 2026: guide complet pour bien choisir" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/smartphone-reconditionne-fiable-en-2026-guide-complet-pour-bien-choisir/">Smartphone reconditionné fiable en 2026: guide complet pour bien choisir</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/liberez-equipe-gestion-it-grace-linfogerance/">
                <img src="/assets/images/posts/liberez-equipe-gestion-it-grace-linfogerance-featured.jpg" alt="Libérez votre équipe de la gestion IT grâce à l infogérance" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/liberez-equipe-gestion-it-grace-linfogerance/">Libérez votre équipe de la gestion IT grâce à l infogérance</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/dun-ecran-fissure-a-un-affichage-liquid-retina-en-15-minutes/">
                <img src="/assets/images/posts/dun-ecran-fissure-a-un-affichage-liquid-retina-en-15-minutes-featured.jpg" alt="D un écran fissuré à un affichage Liquid Retina en 15 minutes" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/dun-ecran-fissure-a-un-affichage-liquid-retina-en-15-minutes/">D un écran fissuré à un affichage Liquid Retina en 15 minutes</a></h3>
            </div>
          </article>
                            <article class="nix-post-card">
                          <a class="nix-post-card__image" href="https://nixsoftware.com/numerisation-super-8-qui-separe-rendu-amateur-dun-resultat-professionnel/">
                <img src="/assets/images/posts/numerisation-super-8-qui-separe-rendu-amateur-dun-resultat-professionnel-featured.jpg" alt="Numérisation Super 8: ce qui sépare un rendu amateur d un résultat professionnel" loading="lazy">
              </a>
                        <div class="nix-post-card__content">
              <span>Analyse</span>
              <h3><a href="https://nixsoftware.com/numerisation-super-8-qui-separe-rendu-amateur-dun-resultat-professionnel/">Numérisation Super 8: ce qui sépare un rendu amateur d un résultat professionnel</a></h3>
            </div>
          </article>
              </div>
    </div>
  </section>
  
  <section class="nix-final">
    <picture class="nix-final__media">
      <source srcset="/assets/images/home-agency/nix-deploy.webp" type="image/webp">
      <img src="/assets/images/home-agency/nix-deploy.png" alt="Environnement technique stable après déploiement" loading="lazy">
    </picture>
    <div class="nix-final__shade" aria-hidden="true"></div>
    <div class="nix-container nix-final__inner">
      <p class="nix-label nix-label--light">Premier cadrage</p>
      <h2>Avant de migrer, corriger ou sécuriser, il faut savoir ce qui compte vraiment</h2>
      <p>Décris le contexte, les contraintes et le point de blocage. On t’aide à poser un cadre exploitable avant de lancer un chantier technique.</p>
      <a class="nix-btn nix-btn--light" href="/contact/">Lancer le cadrage</a>
    </div>
  </section>
</main>
</main>
<footer class="nix-footer">
  <div class="nix-footer__inner">
    <div class="nix-footer__brand">
      <a class="nix-footer__logo" href="/">
        <img src="/assets/images/brand/logo-light.png" alt="nixsoftware">
      </a>
      <p>NixSoftware aide les équipes à clarifier leurs décisions techniques: architecture, migration, sécurité, dette logicielle et continuité de service.</p>
      <a class="nix-footer__cta" href="/contact/">Cadrer un besoin</a>
    </div>

    <div class="nix-footer__cols">
      <div class="nix-footer__col">
        <h2>Navigation</h2>
        <a href="/a-propos/">À propos</a>
        <a href="/services/">Services</a>
        <a href="/blog/">Blog</a>
        <a href="/contact/">Contact</a>
      </div>

            <div class="nix-footer__col">
        <h2>Thématiques</h2>
                  <a href="/blog/cybersecurite/">Cybersécurité</a>
                  <a href="/blog/materiel-informatique/">Informatique</a>
                  <a href="/blog/logiciels-services/">Logiciels Services</a>
                  <a href="/blog/mobile-telecom/">Mobile Télécom</a>
                  <a href="/blog/web/">Web</a>
              </div>
      
      <div class="nix-footer__col">
        <h2>Contact</h2>
                  <button type="button" class="cms-obfuscated-link nix-footer__link" style="appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;line-height:inherit;text-align:inherit;color:inherit;cursor:pointer;" aria-label="Envoyer un email" data-obfuscated-href="bWFpbHRvOmluZm9zQG5peHNvZnR3YXJlLmNvbQ==">infos[@]nixsoftware.com</button>                <a href="tel:0561068945">05 61 06 89 45</a>        <span>16 Rue des 7 Troubadours, 31000 Toulouse</span>      </div>
    </div>
  </div>

  <div class="nix-footer__bottom">
    <span>© 2026 nixsoftware</span>
    <nav aria-label="Liens légaux">
      <a href="/sitemap/">Plan du site</a>
      <a href="/mentions-legales/">Mentions légales</a>
      <a href="/politique-de-confidentialite/">Politique de confidentialité</a>
      <button type="button" class="cms-cookie-preferences-btn nix-footer__legal-button">Préférences cookies</button>    </nav>
  </div>
</footer>
<button id="cms-back-to-top" class="cms-back-to-top" type="button" aria-label="Remonter en haut">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>
</button>

<!-- Alpine.js (interactive components: FAQ accordion, TOC, etc.) -->
<script defer src="https://nixsoftware.com/assets/js/vendor/alpine.min.js?v=1779890634"></script>
<!-- Legacy CMS JS -->
<script defer src="https://nixsoftware.com/assets/js/cms.js?v=1779890646"></script>
<!-- Common JS (reveal, mobile menu, copyright year) -->
<script defer src="https://nixsoftware.com/assets/js/common.js?v=1779890646&cv=20260526-no-auto-formula-highlight"></script>
<!-- Site-specific JS (generated by Builder at deploy time) -->
<script defer src="https://nixsoftware.com/assets/js/main.js?v=1779890634"></script>


<script>
(function(){
    var root = document.documentElement;
    var btn = document.getElementById('cms-back-to-top');
    var parallaxEls = Array.prototype.slice.call(document.querySelectorAll('[data-parallax-speed]'));
    var ticking = false;

    function updateParallax(){
        parallaxEls.forEach(function(el){
            var rect = el.parentElement ? el.parentElement.getBoundingClientRect() : el.getBoundingClientRect();
            var speed = parseFloat(el.getAttribute('data-parallax-speed')) || 0.14;
            var shift = rect.top * speed * -1;
            el.style.transform = 'translate3d(0,' + shift.toFixed(2) + 'px,0) scale(1.08)';
        });
    }

    function onScroll(){
        if (btn) {
            if ((window.scrollY || window.pageYOffset || 0) > 480) document.body.classList.add('cms-back-to-top-visible');
            else document.body.classList.remove('cms-back-to-top-visible');
        }
        if (!ticking) {
            window.requestAnimationFrame(function(){
                updateParallax();
                ticking = false;
            });
            ticking = true;
        }
    }

    if (btn) {
        btn.addEventListener('click', function(){
            window.scrollTo({ top: 0, behavior: 'smooth' });
        });
    }

    updateParallax();
    window.addEventListener('scroll', onScroll, { passive: true });
    window.addEventListener('resize', updateParallax);
})();
</script>

<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a08d44b14fc14434',t:'MTc4MDk3ODAzNQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>
