/* Shared CollaMouv design tokens and refinements for every public page. */
:root:root {
  --cm-bg: #f6f8f6;
  --cm-surface: #fff;
  --cm-ink: #102f38;
  --cm-muted: #596d70;
  --cm-soft: #657b7b;
  --cm-line: #dce5df;
  --cm-dark: #102e35;
  --cm-green: #176a50;
  --cm-blue: #527b8c;
  --cm-gold: #ad914f;
  --cm-wash: linear-gradient(135deg, #edf4ef 0%, #f8f9f5 100%);
  --cm-content: 1440px;
  --cm-gutter: clamp(20px, 4vw, 64px);
  --cm-header-height: 108px;
  --cm-display: 'Manrope', ui-sans-serif, system-ui, sans-serif;
  --cm-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --cm-radius: 22px;
  --section-y: clamp(56px, 6vw, 88px);
  --bg: var(--cm-bg); --surface: var(--cm-surface); --ink: var(--cm-ink); --ink-2: var(--cm-muted); --ink-3: var(--cm-soft);
  --muted: var(--cm-muted); --soft: var(--cm-soft); --line: var(--cm-line); --line-2: var(--cm-line);
  --green: var(--cm-green); --blue: var(--cm-blue); --gold: var(--cm-gold); --dark: var(--cm-dark); --dark2: #16453f;
  --content: var(--cm-content); --gutter: var(--cm-gutter); --display: var(--cm-display); --body: var(--cm-body); --mono: var(--cm-body);
}
html { scroll-padding-top: calc(var(--cm-header-height) + 24px); }
body { background: var(--cm-bg); color: var(--cm-ink); font-family: var(--cm-body); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: var(--cm-body); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--cm-green); outline-offset: 4px; }
:where(input, select, textarea) { accent-color: var(--cm-green); }
::selection { background: #d6e9dc; color: var(--cm-ink); }
.site-page { padding-top: var(--cm-header-height); }
.wordpress-home .section-head h2, .wordpress-home .content-heading h2, .site-page .section-head h2, .site-page .video-intro h2 { font-size: clamp(30px, 3.6vw, 50px); font-weight: 600; line-height: 1.16; letter-spacing: -.04em; text-wrap: balance; }
.wordpress-home .section-head, .site-page .section-head { margin-bottom: 36px; }
.wordpress-home .content-section, .site-page .section { padding-block: clamp(56px, 6vw, 88px); }
.wordpress-home .section-head > p, .site-page .section-head > p { margin-top: 18px; font-size: 17px; line-height: 1.7; }
.wordpress-home .btn, .site-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 12px; font: 600 14px/1.45 var(--cm-body); box-shadow: none; transform: none; transition: background .18s, border-color .18s; }
.wordpress-home .btn-rb, .wordpress-home .btn-primary, .site-page .btn:not(.ghost):not(.light):not(.subtle) { background: var(--cm-green); color: #fff; }
.wordpress-home .btn-rb::before, .wordpress-home .btn-rb::after { display: none; }
.wordpress-home .btn-ghost, .site-page .btn.ghost, .site-page .btn.subtle { border-color: #b8c8bd; background: transparent; color: var(--cm-ink); }
.wordpress-home .btn:hover, .site-page .btn:hover { transform: none; box-shadow: none; }
.wordpress-home .btn-rb:hover, .site-page .btn:not(.ghost):hover { background: #10533d; }
.wordpress-home .home-add-cart { min-height: 50px; border-radius: 12px; background: var(--cm-green); box-shadow: none; font: 600 14px/1.45 var(--cm-body); }
.wordpress-home .home-add-cart:hover { transform: none; }
.wordpress-home .home-format-select { height: 50px; border-radius: 12px; font-size: 14px; }
.wordpress-home .program-card .price-line { gap: 20px; align-items: flex-end; flex-wrap: wrap; }
.wordpress-home .program-card { display: flex; flex-direction: column; padding: 28px; border-color: var(--cm-line); border-radius: var(--cm-radius); background: #fff; box-shadow: none; }
.wordpress-home .program-card h3 { font-size: 28px; line-height: 1.18; letter-spacing: -.03em; }
.wordpress-home .program-card .price-line { margin-top: auto; padding-top: 24px; }
.wordpress-home .program-actions .home-add-cart, .wordpress-home .program-actions .btn { min-height: 46px; font-size: 13px; }
.wordpress-home .program-actions .btn { border-color: #b8c8bd; background: transparent; color: var(--cm-green); }
.wordpress-home .program-actions .btn:hover { background: #edf4ef; }
.wordpress-home .programs-intro { max-width: 760px; margin: 0 0 36px; color: var(--cm-muted); font-size: 17px; line-height: 1.7; }
.wordpress-home .programs .section-head { margin-bottom: 22px; }
.wordpress-home :is(.family-showcase, .programs, .trust-quality, .faq, .bigcta, .product-lab, .movement-academy) { padding-block: var(--section-y); }
.wordpress-home .family-showcase, .wordpress-home .programs { background: var(--cm-wash); }
.wordpress-home .trust-quality-card { background: #f6f8f6; }
.wordpress-home .bigcta h2, .wordpress-home .bigcta#cta h2, .wordpress-home .product-lab h2, .wordpress-home .movement-academy h2 { font-size: clamp(34px, 4vw, 56px); line-height: 1.16; letter-spacing: -.04em; }
.wordpress-home .bigcta h2 em { background: none; color: #acd0bd; -webkit-text-fill-color: #acd0bd; animation: none; }
.wordpress-home .bigcta h2 em::after { display: none; }
.wordpress-home .home-family-card, .site-page .card, .site-page .product-family-card, .site-page .legal-copy { border-color: var(--cm-line); border-radius: var(--cm-radius); box-shadow: none; }
.wordpress-home .home-family-card { background: var(--cm-wash); }
.wordpress-home .home-family-card h3 { font-size: 23px; line-height: 1.2; }
.wordpress-home .home-family-card:hover { transform: translateY(-2px); }
.wordpress-home .hero.hero-editorial { min-height: 0; padding-top: calc(var(--cm-header-height) + 64px); padding-bottom: 64px; background: var(--cm-wash); }
.wordpress-home .hero.hero-editorial .hero-bg { opacity: .18; }
.wordpress-home #page { isolation: isolate; }
.wordpress-home #page > section { z-index: auto; }
.wordpress-home #page > section > :is(.container, .wrap, .routine-pin) { position: relative; z-index: 2; }
.wordpress-home #flowSvg { opacity: 1; pointer-events: none; overflow: hidden; }
.wordpress-home #flowSvg .path-bg { opacity: .28; stroke: #ba944c; stroke-opacity: .07; }
.wordpress-home #flowSvg .path-fg { opacity: .28; stroke-width: 1.5; filter: none; }
.wordpress-home #flowSvg .pulse { opacity: .45; filter: none; }
.wordpress-home #flowSvg .pulse-core { fill: #e7b94d; stroke: #fff1bd; stroke-width: 1; opacity: .95; }
.wordpress-home .hero.hero-editorial .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 64px; }
.wordpress-home .hero-copy { padding: 12px 0; }
.wordpress-home .hero.hero-editorial h1.hero-family-title { max-width: 14ch !important; margin: 0 0 24px; font-size: clamp(42px, 4.6vw, 66px) !important; font-weight: 600; line-height: 1.12 !important; letter-spacing: -.05em; }
.wordpress-home .hero.hero-editorial h1 .l { padding: 0; }
.wordpress-home .hero.hero-editorial h1 .l > span { display: block !important; transform: none !important; transition: none; }
.wordpress-home .hero.hero-editorial h1 em { background: none; color: var(--cm-green); -webkit-text-fill-color: var(--cm-green); }
.wordpress-home .hero-description { max-width: 43ch; margin: 0; color: var(--cm-muted); font-size: 18px; line-height: 1.7; }
.wordpress-home .hero-categories { margin-top: 22px; color: var(--cm-muted); font-size: 10px; line-height: 1.8; letter-spacing: .08em; }
.wordpress-home .hero.hero-editorial .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.wordpress-home .hero-trust { margin-top: 36px; padding-top: 22px; }
.wordpress-home .hero-trust strong { font-size: 16px; }
.wordpress-home .hero-trust span { font-size: 9px; color: var(--cm-muted); letter-spacing: .04em; }
.wordpress-home .hero-visual { width: 100%; height: 560px; min-height: 0; border-radius: 26px; box-shadow: none; }
.wordpress-home .hero-visual-card { left: 20px; right: 20px; bottom: 20px; padding: 22px; border-radius: 16px; background: rgba(16,46,53,.78); }
.wordpress-home .hero-visual-card strong { font-size: 28px; line-height: 1.15; }
.wordpress-home .hero-visual-tag { top: 20px; right: 20px; letter-spacing: .07em; font-size: 10px; }
.wordpress-home .hero .reveal { opacity: 1; transform: none; }
/* Quiet entrances and a faint background flow. */
.wordpress-home .reveal:not(.in):not(.hero .reveal) { transform: translateY(16px); }
.wordpress-home .reveal { transition-duration: .75s; }
@keyframes cm-hero-in {
  from { opacity: 0; translate: 0 12px; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .wordpress-home .hero.hero-editorial h1 .l > span { animation: cm-hero-in .75s cubic-bezier(.2,.75,.2,1) both; }
  .wordpress-home .hero.hero-editorial h1 .l:nth-child(2) > span { animation-delay: .13s; }
  .wordpress-home .hero-description, .wordpress-home .hero .reveal { animation: cm-hero-in .75s cubic-bezier(.2,.75,.2,1) .2s both; }
  .wordpress-home .hero .reveal[data-d="2"] { animation-delay: .2s; }
  .wordpress-home .hero .reveal[data-d="3"] { animation-delay: .25s; }
  .wordpress-home .hero .reveal[data-d="4"] { animation-delay: .3s; }
}
@media (max-width: 780px) {
  .wordpress-home #flowSvg .path-fg, .wordpress-home #flowSvg .path-bg { opacity: .17; }
  .wordpress-home #flowSvg .path-fg { stroke-width: 1.25; }
  .wordpress-home #flowSvg .pulse { opacity: .24; }
  .wordpress-home #flowSvg .pulse-core { r: 2.5px; opacity: .75; stroke-width: .75; }
  }
@media (prefers-reduced-motion: reduce) {
  .wordpress-home #flowSvg :is(.path-fg, .pulse, .pulse-core) { display: none; }
  .wordpress-home .hero-visual > img, .wordpress-home .cinema > img { transform: none; }
}
.wordpress-home .tracker-home-copy h2, .wordpress-home .contact-cta h2 { font-size: clamp(36px, 4.5vw, 60px); line-height: 1.12; }
.site-page .page-hero, .site-page .academy-hero, .site-page .legal-hero, .site-page .product-hero { padding-top: 64px; padding-bottom: 64px; background: var(--cm-wash); }
.site-page .page-hero h1, .site-page .faq-heading h1, .site-page .legal-hero h1, .site-page .academy-hero h1, .site-page .product-copy h1 { font-size: clamp(38px, 4.8vw, 64px); font-weight: 600; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
.site-page .page-hero .lead, .site-page .academy-hero .video-intro > p { font-size: 17px; line-height: 1.75; }
.site-page .hero-visual { border-radius: 24px; box-shadow: none; }
.site-page .page-hero::before, .site-page .academy-hero::before { opacity: .25; }
.site-page .card h3 { font-size: 23px; line-height: 1.25; letter-spacing: -.025em; }
.site-page .form input, .site-page .form select, .site-page .form textarea { min-height: 52px; padding: 13px 16px; border: 1px solid var(--cm-line); border-radius: 12px; background: #fff; font-size: 16px; }
.site-page .form label { font-size: 13px; color: var(--cm-ink); }
.site-page .legal-copy h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.2; }
.cm-editorial-content { padding: 64px var(--cm-gutter); background: #edf3ed; }
.cm-editorial-content__inner { width: min(var(--cm-content), 100%); }
.cm-editorial-content h2 { font: 600 clamp(28px, 3.3vw, 44px)/1.2 var(--cm-display); letter-spacing: -.035em; }
.cm-editorial-content p { max-width: 70ch; font-size: 17px; }
.site-page .hero-visual, .site-page .product-family-card { background: var(--cm-wash); }
.site-page .section.dark, .site-page .comparison-showcase { background: var(--cm-dark); border-radius: 24px; }
.site-page .dark .btn.ghost { color: #fff; border-color: #74938b; }
.site-page .comparison-showcase { margin: 0; padding: 64px 0 80px; border-radius: 0; }
.site-page .comparison-showcase::before { display: none; }
.site-page .comparison-kicker { margin-bottom: 24px; color: #acd0bd; }
.site-page .comparison-showcase h1, .site-page .academy-hero .video-intro h1, .site-page .article-hero h1 { font-size: clamp(38px, 4.8vw, 64px); font-weight: 600; line-height: 1.12; letter-spacing: -.045em; }
.site-page .comparison-showcase h1 { max-width: 20ch; }
.site-page .comparison-showcase h1 em { background: none; color: #acd0bd; -webkit-text-fill-color: #acd0bd; }
.site-page .comparison-showcase > .wrap > p { max-width: 60ch; margin-top: 24px; color: #c8d8d1; font: 400 17px/1.75 var(--cm-body); }
.site-page .comparison-product-grid { margin-top: 44px; gap: 24px; }
.site-page .comparison-product-card { padding: 28px; border-radius: 22px; }
.site-page .comparison-product-card:hover { transform: none; }
.site-page .comparison-product-visual { height: 270px; margin-bottom: 24px; background: var(--cm-wash); border-radius: 14px; }
.site-page .comparison-product-card h2 { font-size: 30px; line-height: 1.2; }
.site-page .comparison-product-card > a { min-height: 48px; align-items: center; border-radius: 12px; padding: 12px 20px; }
.site-page .article-hero { padding-block: 64px; }
.site-page .article-hero h1 { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 14 6 6; text-wrap: wrap; }
.site-page .faq-item summary { padding-block: 22px; font-size: 20px; line-height: 1.45; }
.site-page .academy-sheet-close { width: 44px; height: 44px; }
.site-page .academy-hero .video-intro h1 { max-width: 18ch; }
.site-page .article-copy { width: 100%; min-width: 0; }
.site-page .article-section h2, .site-page .article-references h2 { font-size: clamp(28px, 3.3vw, 44px); line-height: 1.2; }

/* One horizontal sequence: swipe on mobile, scroll through the three steps on desktop. */
.wordpress-home .method { padding: 0; background: #edf3ed; scroll-margin-top: 0; }
.wordpress-home .routine-sticky { padding-block: var(--section-y); }
.wordpress-home .routine-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 32px; }
.wordpress-home .section-eyebrow { margin: 0 0 14px; color: var(--cm-green); font: 600 11px/1.5 var(--cm-body); letter-spacing: .09em; text-transform: uppercase; }
.wordpress-home .routine-intro h2, .wordpress-home .quality-intro h2 { margin: 0; font: 600 clamp(32px, 3.5vw, 48px)/1.16 var(--cm-display); letter-spacing: -.04em; }
.wordpress-home .routine-intro h2 span, .wordpress-home .quality-intro h2 span { color: var(--cm-muted); }
.wordpress-home .routine-intro > p { max-width: 33ch; margin: 0; color: var(--cm-muted); font-size: 16px; line-height: 1.7; }
.wordpress-home .routine-window { overflow: hidden; }
.wordpress-home .routine-steps { display: flex; gap: 24px; margin: 0; padding: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; overscroll-behavior-x: contain; }
.wordpress-home .routine-steps::-webkit-scrollbar { display: none; }
.wordpress-home .routine-step { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(32px,6vw,88px); scroll-snap-align: start; }
.wordpress-home .routine-photo { order: 2; height: clamp(280px,33vw,420px); margin: 0; overflow: hidden; border-radius: 20px; background: #e1e9e1; }
.wordpress-home .routine-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.wordpress-home .routine-index { display: flex; align-items: center; gap: 20px; margin: 0 0 20px; color: #91ad99; font: 500 clamp(48px,6vw,80px)/1 var(--cm-display); letter-spacing: -.06em; }
.wordpress-home .routine-index span { color: var(--cm-muted); font: 500 11px/1.5 var(--cm-body); letter-spacing: .08em; text-transform: uppercase; }
.wordpress-home .routine-index { transition: color .5s ease; }
.wordpress-home .routine-step.is-active .routine-index { color: var(--cm-green); }
.wordpress-home .routine-copy h3 { margin: 0 0 16px; font: 600 clamp(32px,4vw,52px)/1.15 var(--cm-display); letter-spacing: -.04em; }
.wordpress-home .routine-copy > p:last-child { max-width: 36ch; margin: 0; color: var(--cm-muted); font-size: 17px; line-height: 1.7; }
.wordpress-home .routine-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; }
.wordpress-home .routine-hint { color: var(--cm-muted); font-size: 12px; }
.wordpress-home .routine-dots { display: flex; gap: 8px; }
.wordpress-home .routine-dots button { width: 44px; height: 44px; border: 1px solid #bdcdc1; border-radius: 50%; background: transparent; color: var(--cm-muted); font: 600 12px var(--cm-body); cursor: pointer; }
.wordpress-home .routine-dots [aria-current] { background: var(--cm-green); border-color: var(--cm-green); color: #fff; }
@media (min-width: 901px) and (min-height: 701px) and (prefers-reduced-motion: no-preference) {
  .wordpress-home .routine-pin { height: 250svh; }
  .wordpress-home .routine-sticky { position: sticky; top: var(--cm-header-height); height: calc(100svh - var(--cm-header-height)); padding-block: 28px; display: flex; align-items: center; }
  .wordpress-home .routine-sticky > .container { width: min(var(--cm-content), calc(100% - 2 * var(--cm-gutter))); }
  .wordpress-home .routine-intro { margin-bottom: 24px; }
  .wordpress-home .routine-intro h2 { font-size: clamp(30px,3vw,40px); }
  .wordpress-home .routine-intro h2 br { display: none; }
  .wordpress-home .routine-photo { height: clamp(240px,42svh,440px); }
  .wordpress-home .routine-steps { overflow: visible; }
}
@media (max-width: 700px) {
  .wordpress-home .routine-intro { display: block; margin-bottom: 28px; }
  .wordpress-home .routine-intro > p { margin-top: 16px; font-size: 15px; }
  .wordpress-home .routine-window { margin-right: calc(-1 * var(--cm-gutter)); }
  .wordpress-home .routine-steps { gap: 16px; padding: 0 var(--cm-gutter) 4px 0; }
  .wordpress-home .routine-step { flex-basis: 88%; grid-template-columns: 1fr; gap: 22px; align-content: start; }
  .wordpress-home .routine-photo { order: 0; height: 260px; border-radius: 16px; }
  .wordpress-home .routine-index { margin-bottom: 14px; font-size: 42px; }
  .wordpress-home .routine-copy h3 { font-size: 32px; }
  .wordpress-home .routine-copy > p:last-child { font-size: 15px; }
}

/* Quality logos retain their original artwork, with a shared optical size. */
.wordpress-home .trust-quality { scroll-margin-top: 0; background: #fff; }
.wordpress-home .quality-intro { margin-bottom: 42px; }
.wordpress-home .quality-intro > p:last-child { max-width: 60ch; margin: 22px 0 0; color: var(--cm-muted); font-size: 16px; line-height: 1.75; }
.wordpress-home .quality-primary { padding: 28px 0 32px; border-block: 1px solid var(--cm-line); }
.wordpress-home .quality-primary > h3 { margin: 0 0 28px; color: var(--cm-muted); font: 500 11px/1.5 var(--cm-body); letter-spacing: .08em; text-transform: uppercase; }
.wordpress-home .quality-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.wordpress-home .quality-strip figure { margin: 0; }
.wordpress-home .quality-logo { display: flex; align-items: center; justify-content: center; height: 72px; margin-bottom: 18px; }
.wordpress-home .quality-logo img { display: block; width: 80px; height: 72px; object-fit: contain; }
.wordpress-home .quality-strip figcaption { max-width: 160px; margin-inline: auto; color: var(--cm-muted); font-size: 13px; line-height: 1.6; text-align: center; }
.wordpress-home .quality-details { border-bottom: 1px solid var(--cm-line); }
.wordpress-home .quality-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 88px; padding: 22px 0; list-style: none; cursor: pointer; font-size: 15px; font-weight: 500; }
.wordpress-home .quality-details > summary::-webkit-details-marker { display: none; }
.wordpress-home .quality-details summary small { display: block; margin-top: 6px; color: var(--cm-muted); font-size: 12px; font-weight: 400; }
.wordpress-home .quality-details-action { flex-shrink: 0; color: var(--cm-green); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.wordpress-home .quality-details .when-open, .wordpress-home .quality-details[open] .when-closed { display: none; }
.wordpress-home .quality-details[open] .when-open { display: inline; }
.wordpress-home .quality-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 64px; padding: 20px 0 36px; }
.wordpress-home .quality-group { margin: 0; padding: 0; }
.wordpress-home .quality-group h3 { margin: 0 0 18px; font: 600 18px/1.4 var(--cm-display); letter-spacing: -.02em; }
.wordpress-home .quality-group ul { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.wordpress-home .quality-group li { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 18px; min-height: 64px; }
.wordpress-home .quality-group li p { margin: 0; color: var(--cm-muted); font-size: 14px; line-height: 1.65; }
.wordpress-home .quality-detail-logo { display: flex; align-items: center; justify-content: center; height: 56px; }
.wordpress-home .quality-detail-logo img { display: block; max-width: 64px; width: 100%; height: 56px; object-fit: contain; }
.wordpress-home .quality-fact { color: var(--cm-green); font: 600 24px/1 var(--cm-display); letter-spacing: -.03em; text-align: center; }
@media (max-width: 1000px) {
  .wordpress-home .quality-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
}
@media (max-width: 700px) {
  .wordpress-home .quality-intro { margin-bottom: 30px; }
  .wordpress-home .quality-intro > p:last-child { font-size: 15px; }
  .wordpress-home .quality-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
  .wordpress-home .quality-logo { height: 64px; margin-bottom: 12px; }
  .wordpress-home .quality-logo img { height: 64px; width: 72px; }
  .wordpress-home .quality-strip figcaption { max-width: 150px; font-size: 12px; }
  .wordpress-home .quality-details > summary { gap: 16px; font-size: 14px; }
  .wordpress-home .quality-detail-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 380px) {
}
@media (max-width: 1000px) {
  :root:root { --cm-header-height: 100px; }
  .wordpress-home .hero.hero-editorial .hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .wordpress-home .hero-visual { max-width: 740px; height: 500px; }
  .wordpress-home .hero.hero-editorial h1.hero-family-title { max-width: 20ch !important; }
}
@media (max-width: 600px) {
  .wordpress-home .hero.hero-editorial { padding-top: calc(var(--cm-header-height) + 36px); padding-bottom: 40px; }
  .wordpress-home .hero.hero-editorial h1.hero-family-title { font-size: clamp(36px, 10vw, 44px) !important; line-height: 1.14 !important; }
  .wordpress-home .hero-description { font-size: 16px; }
  .wordpress-home .hero.hero-editorial .hero-cta { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .wordpress-home .hero-trust { margin-top: 28px; }
  .wordpress-home .hero-trust div { padding-inline: 10px; }
  .wordpress-home .hero-trust div:first-child { padding-left: 0; }
  .wordpress-home .hero-trust strong { font-size: 14px; }
  .wordpress-home .hero-trust span { font-size: 8px; }
  .wordpress-home .hero-visual { height: 430px; border-radius: 22px; }
  .wordpress-home .hero-visual-card { left: 14px; right: 14px; bottom: 14px; padding: 18px; }
  .wordpress-home .hero-visual-card strong { font-size: 25px; }
  .wordpress-home .program-card { padding: 22px; }
  .wordpress-home .section-head > p, .site-page .section-head > p { font-size: 16px; }
  .site-page .page-hero, .site-page .academy-hero, .site-page .legal-hero, .site-page .product-hero { padding-block: 40px; }
  .site-page .page-hero h1, .site-page .faq-heading h1, .site-page .legal-hero h1, .site-page .academy-hero h1, .site-page .product-copy h1 { font-size: clamp(34px, 9vw, 42px); line-height: 1.15; }
  .site-page .hero-visual { height: 320px; }
  .site-page .comparison-showcase, .site-page .article-hero { padding-block: 40px; }
  .site-page .comparison-showcase h1, .site-page .academy-hero .video-intro h1, .site-page .article-hero h1 { font-size: clamp(34px, 9vw, 42px); line-height: 1.15; }
  .site-page .comparison-showcase > .wrap > p { font-size: 16px; }
  .site-page .comparison-product-grid { margin-top: 32px; }
  .site-page .comparison-product-card { padding: 22px; }
  .site-page .comparison-product-visual { height: 235px; }
  .site-page .faq-item summary { font-size: 18px; }
  .cm-editorial-content { padding-block: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Finishing pass: a consistent purchase hierarchy and quieter page chrome. */
html.cm-menu-open { overflow: hidden; }
html.cm-menu-open .sticky-cta { visibility: hidden; }
.wordpress-home .sticky-cta { border-radius: 16px; padding: 6px; bottom: 20px; max-width: calc(100vw - 40px); gap: 16px; transition: transform .3s; }
.wordpress-home .sticky-cta .label { padding: 8px 4px 8px 16px; font-size: 13px; white-space: nowrap; }
.wordpress-home .sticky-cta .btn { min-height: 44px; padding: 11px 20px; border-radius: 10px; white-space: nowrap; }
.wordpress-home .product-card { padding: 28px; border-radius: 22px; background: rgba(255,255,255,.055); box-shadow: none; }
.wordpress-home .product-card h3 { margin-block: 14px 16px; font-size: clamp(27px,3vw,36px); line-height: 1.2; }
.wordpress-home .product-card > p { margin-bottom: 28px; font-size: 16px; line-height: 1.7; }
.wordpress-home .product-kicker { color: #b7c9c5; letter-spacing: .08em; font-size: 10px; }
.wordpress-home .home-shop-controls { gap: 12px; padding-top: 24px; }
.wordpress-home .format-price { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin: 0 0 4px; color: #fff; }
.wordpress-home .format-price strong { font: 600 28px/1.3 var(--cm-display); letter-spacing: -.025em; white-space: nowrap; }
.wordpress-home .format-price > span { color: #b7c9c5; font: 400 13px/1.5 var(--cm-body); }
.wordpress-home .home-format-select { font-size: 14px; }
.wordpress-home .home-product-link { min-height: 44px; padding-top: 10px; color: #dce9e2; font-size: 13px; }
.wordpress-home .home-cart-status:empty { display: none; }
.wordpress-home .program-card .price-line { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
.wordpress-home .program-card .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; font: 600 26px/1.3 var(--cm-display); color: var(--cm-ink); white-space: nowrap; }
.wordpress-home .program-card .price s { font-size: 16px; font-weight: 400; color: var(--cm-muted); }
.wordpress-home .program-actions { display: flex; width: 100%; justify-content: flex-start; gap: 10px; }
.wordpress-home .program-actions .home-add-cart { flex: 1; }
.wordpress-home .contact-cta { margin: 0; border-radius: 0; background: var(--cm-dark); }
.wordpress-home .contact-cta .row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.wordpress-home .contact-cta .btn-rb, .site-page .btn.light { background: #fff; border-color: #fff; color: var(--cm-ink); }
.wordpress-home .contact-cta .btn-rb:hover, .site-page .btn.light:hover { background: #e6eee8; border-color: #e6eee8; color: var(--cm-ink); }
.wordpress-home .contact-cta .btn-ghost { border-color: #869d96; color: #fff; background: transparent; }
.wordpress-home .contact-cta .btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.06); color: #fff; }
.wordpress-home .num { letter-spacing: .09em; font-size: 11px; color: var(--cm-muted); }
.wordpress-home .bigcta .num { color: #b7c9c5; }
.wordpress-home .faq-q { gap: 16px; }
.wordpress-home .faq-q .qnum { display: none; }
.wordpress-home .faq-body { padding-left: 0; }
.site-page .section-head { gap: 40px; align-items: start; }
.site-page .section-head > p { margin-top: 0; }
.site-page .prose h2:first-of-type { margin-top: 0; }
.site-page .hero-grid, .site-page .page-hero.poster .hero-grid { grid-template-columns: 1.1fr 1fr; gap: 56px; }
.site-page .hero-visual, .site-page .page-hero.poster .hero-visual { height: 420px; }
.site-page .page-hero.statement > .wrap { padding: 0; border-radius: 0; background: none; color: var(--cm-ink); }
.site-page .page-hero.statement .eyebrow { color: var(--cm-green); }
.site-page .page-hero.statement .lead { color: var(--cm-muted); }
.site-page .section.dark { margin: 0; border-radius: 0; }
.site-page .dark .card { border-color: #45605e; }
.site-page .btn.outline { background: transparent; color: var(--cm-ink); border-color: #b8c8bd; }
.site-page .dark .btn.outline { color: #fff; border-color: #869d96; }
.site-page .form-note { grid-column: 1 / -1; margin: 0; color: var(--cm-muted); font-size: 13px; line-height: 1.6; }
.site-page .form .field { min-width: 0; }
.site-page .form .btn { justify-self: start; }
.site-page .legal-copy, .site-page .card, .site-page .prose { overflow-wrap: break-word; }
.site-page .table-wrap { -webkit-overflow-scrolling: touch; }
.site-page .card .btn { margin-top: 14px; }
@media (max-width: 900px) {
  .site-page .hero-grid, .site-page .page-hero.poster .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .site-page .page-hero .hero-copy { padding: 0; }
  .site-page .hero-visual, .site-page .page-hero.poster .hero-visual { height: 320px; }
  .site-page .section-head { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 600px) {
  .wordpress-home .product-card { padding: 22px; }
  .wordpress-home .product-card > p { font-size: 15px; }
  .wordpress-home .product-format-gallery { gap: 10px; margin-bottom: 24px; }
  .wordpress-home .format-price { display: grid; gap: 6px; margin-bottom: 6px; }
  .wordpress-home .contact-cta .row { display: grid; grid-template-columns: 1fr; }
  .wordpress-home .contact-cta h2 { font-size: 36px; }
  .site-page .hero-grid, .site-page .page-hero.poster .hero-grid { gap: 28px; }
  .site-page .split { gap: 32px; }
  .site-page .prose h2 { margin-bottom: 20px; }
  .site-page .card { padding: 24px; }
  .site-page .form .btn { justify-self: stretch; width: 100%; }
  .site-page .legal-copy h2 { overflow-wrap: anywhere; }
}
.wordpress-home #cta { background: var(--cm-dark); }
.wordpress-home #cta > .container > p { margin-top: 24px !important; max-width: 48ch !important; font: 400 17px/1.7 var(--cm-body) !important; letter-spacing: 0 !important; }
.wordpress-home .faq-list summary { display: flex; gap: 20px; }
.wordpress-home .faq-list summary > span:first-child { flex: 1; }
.wordpress-home .faq-list summary > .plus { flex: none; margin-left: auto; }
.site-page .page-hero.statement > .wrap { width: min(var(--cm-content), calc(100% - 2 * var(--cm-gutter))); margin-inline: auto; }
.site-page .download-grid .card { display: flex; flex-direction: column; align-items: flex-start; }
.site-page .download-grid .card p { flex: 1; margin-bottom: 22px; }
.site-page .download-grid .card .btn { margin-top: auto; }
.site-page .article-table-wrap { position: relative; }
@media (max-width: 700px) {
  .site-page .womac-group { min-width: 0; }
  .site-page .womac-question { padding: 20px 12px; }
  .site-page .womac-options { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; overflow: visible; }
  .site-page .womac-options label { min-width: 0; }
  .site-page .womac-options label > span { min-height: 60px; padding: 8px 1px; font-size: 9px; }
  .site-page .article-hero h1 { font-size: clamp(30px,8.2vw,36px); line-height: 1.18; }
  .site-page .table-wrap::before, .site-page .article-table-wrap::before { content: 'Seitlich wischen für den Vergleich →'; display: block; position: sticky; left: 0; width: 100%; padding: 12px 16px; background: #edf3ed; color: var(--cm-muted); font-size: 12px; }
  .site-page .article-table-wrap table { min-width: 560px; }
  .site-page .article-table-wrap th, .site-page .article-table-wrap td { padding: 16px; font-size: 14px; }
}

.wordpress-home .routine-sticky > .container { width: min(var(--cm-content), calc(100% - 2 * var(--cm-gutter))); max-width: var(--cm-content); padding-inline: 0; margin-inline: auto; }
@media (min-width: 701px) {
  .site-page .article-hero h1 { max-width: 28ch; font-size: clamp(38px,4vw,56px); line-height: 1.16; }
}

/* Pricing and comparison refinements from the September catalog review. */
.format-price .home-uvp{display:inline-flex;gap:5px;align-items:baseline;font:400 13px/1.4 var(--cm-body);letter-spacing:0;text-transform:none;color:#b7c9c5}
.format-price .home-uvp s{color:inherit;font-size:inherit}
.comparison-film .academy-hero-video{display:block;width:100%;max-width:none;height:auto;margin:0;aspect-ratio:16/9;min-height:0;border-radius:24px;overflow:hidden}
.comparison-film .academy-hero-video img{width:100%;height:100%;object-fit:cover}

.wordpress-home .program-visual.official-bundle{height:auto;aspect-ratio:1;background:#fff;padding:0;overflow:hidden;border-radius:16px}
.wordpress-home .program-visual.official-bundle img{width:100%;height:100%;object-fit:contain;max-height:none;padding:0;mix-blend-mode:normal}
.comparison-player .academy-sheet{width:min(480px,100%);height:auto;max-height:calc(100svh - 32px);overflow:auto}
.comparison-player .academy-player{width:min(100%,calc(68svh * .5625));margin-inline:auto;height:auto;aspect-ratio:9/16}
.comparison-player .academy-player iframe{display:block;aspect-ratio:9/16}
.comparison-player .academy-sheet-meta{flex-wrap:wrap}
/* Editorial reading layout and shared News overview. */
.cm-blog-hero{padding-top:80px;padding-bottom:56px}.cm-blog-hero h1{max-width:850px;font:600 clamp(36px,5vw,64px)/1.08 var(--cm-display);letter-spacing:-.04em;margin:18px 0 24px}.cm-blog-hero>p:last-child{max-width:660px;font-size:18px;line-height:1.7;color:var(--cm-muted)}
.cm-blog-list{padding-bottom:90px}.cm-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.cm-blog-card{display:flex;flex-direction:column;border:1px solid var(--cm-line);border-radius:24px;overflow:hidden;background:#fff;color:var(--cm-ink);text-decoration:none;transition:box-shadow .2s}.cm-blog-card:hover{box-shadow:0 12px 30px #102f3810}.cm-blog-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.cm-blog-card>div{padding:28px;display:flex;flex-direction:column;flex:1}.cm-blog-card h2{font:600 24px/1.25 var(--cm-display);letter-spacing:-.025em;margin:14px 0}.cm-blog-card p{font-size:15px;line-height:1.7;color:var(--cm-muted)}.cm-blog-card .cm-blog-meta{font-size:12px;margin:0}.cm-blog-card strong{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px;font-size:14px;color:var(--cm-green)}
.cm-breadcrumb{display:flex;gap:12px;font-size:13px;color:var(--cm-muted);margin-bottom:28px}.cm-breadcrumb a:hover{text-decoration:underline}.article-hero{padding-top:64px}.article-hero h1{max-width:1000px;font-size:clamp(34px,4.5vw,60px);line-height:1.12}.article-hero figure{height:clamp(220px,32vw,420px);border-radius:24px;margin-top:36px}.article-layout>.wrap{grid-template-columns:260px minmax(0,760px);justify-content:space-between;gap:64px}.article-toc{padding:24px;background:#fff;border:1px solid var(--cm-line);border-radius:20px;max-height:calc(100svh - 145px);overflow:auto}.article-toc a{font-size:13px;line-height:1.5;padding:12px 0}.article-section h2,.article-references h2{font-size:clamp(27px,3vw,38px);line-height:1.2;letter-spacing:-.025em}.article-section{padding-bottom:44px;margin-bottom:44px;scroll-margin-top:140px}.article-section p{line-height:1.8}.article-references{overflow-wrap:anywhere}
@media(max-width:1000px){.cm-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout>.wrap{grid-template-columns:1fr;gap:36px}.article-toc{display:block;position:static;max-height:300px}.article-copy{width:100%}.cm-blog-hero,.article-hero{padding-top:48px}}
@media(max-width:600px){.cm-blog-grid{grid-template-columns:1fr;gap:24px}.cm-blog-card>div{padding:24px}.cm-blog-hero{padding-bottom:36px}.article-hero figure{height:240px}.article-toc{padding:20px}.cm-blog-list{padding-bottom:60px}}

/* Fill the first two family cards with the product photography, without side bands. */
.wordpress-home .home-family-card:nth-child(-n+2) .family-image{padding:0}
.wordpress-home .home-family-card:nth-child(-n+2) .family-image img{object-fit:cover;mix-blend-mode:normal}

/* Shared product photography frame across home, catalog and product pages. */
:root{--cm-product-image-radius:17px}
.wordpress-home .home-family-card .family-image{padding:0;border-radius:var(--cm-product-image-radius);overflow:hidden}
.wordpress-home .home-family-card .family-image img{object-fit:cover;mix-blend-mode:normal}
.wordpress-home .product-format-gallery figure,
.wordpress-home .program-visual.official-bundle,
.site-page .comparison-product-visual,
.site-page .product-stage{border-radius:var(--cm-product-image-radius);overflow:hidden;background:#fff;padding:0}
.wordpress-home .product-format-gallery img{padding:0}
.site-page .comparison-product-visual img,.site-page .product-stage img{padding:0;filter:none;object-fit:contain}
.site-page .product-family-card img{display:block;width:100%;max-width:100%;margin:0 0 20px;border-radius:var(--cm-product-image-radius);background:#fff;object-fit:contain}
.woocommerce ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:1;padding:0;border-radius:var(--cm-product-image-radius);background:#fff;object-fit:contain;mix-blend-mode:normal}
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image{border-radius:var(--cm-product-image-radius);overflow:hidden;background:#fff}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{border-radius:var(--cm-product-image-radius);padding:0;mix-blend-mode:normal}
.woocommerce div.product div.images .flex-control-thumbs img{padding:0;border-radius:12px}
/* Let gallery photos retain their proportions so the rounded frame meets the image itself. */
.woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:auto;height:auto;max-height:none}

/* Partner display: preserve the full portrait photograph at every viewport. */
.site-page .page-hero .hero-visual.partner-display {
  width: min(100%, 370px);
  height: auto;
  aspect-ratio: 1404 / 2048;
  justify-self: center;
  overflow: hidden;
}
.site-page .hero-visual.partner-display img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
}
@media (max-width: 820px) {
  .site-page .page-hero .hero-visual.partner-display { width: min(100%, 340px); }
}

/* Product story: visual entry points for Original and Plus. */
.wordpress-home .product-story { background: #f2f5f1; }
.wordpress-home .product-story .product-lab-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(40px,6vw,88px); align-items: center; }
.wordpress-home .product-story .product-lab-copy .num { margin-bottom: 20px; color: var(--cm-green); font: 600 11px/1.5 var(--cm-body); letter-spacing: .14em; }
.wordpress-home .product-story h2 { margin: 0; font-size: clamp(34px,3.7vw,52px); line-height: 1.16; letter-spacing: -.045em; }
.wordpress-home .product-story h2 em { font-style: normal; color: var(--cm-green); }
.wordpress-home .product-story .product-lab-copy > p { max-width: 43ch; margin: 24px 0 30px; color: var(--cm-muted); font: 400 16px/1.75 var(--cm-body); }
.wordpress-home .formula-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.wordpress-home .formula-link { display: block; min-width: 0; border-radius: 17px; }
.wordpress-home .formula-photo { display: block; overflow: hidden; aspect-ratio: 3/2; border-radius: var(--cm-product-image-radius,17px); background: #e7e9e5; }
.wordpress-home .formula-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.wordpress-home .formula-label { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 14px 2px 0; }
.wordpress-home .formula-label strong { display: block; font: 600 19px/1.4 var(--cm-display); color: var(--cm-ink); letter-spacing: -.025em; }
.wordpress-home .formula-label small { display: block; margin-top: 4px; font: 400 12px/1.5 var(--cm-body); color: var(--cm-muted); }
.wordpress-home .formula-arrow { color: var(--cm-green); font-size: 22px; transition: transform .2s; }
.wordpress-home .formula-link:focus-visible,.wordpress-home .formula-compare:focus-visible { outline: 2px solid var(--cm-green); outline-offset: 6px; }
.wordpress-home .formula-compare { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; min-height: 44px; color: var(--cm-green); font: 600 13px/1.5 var(--cm-body); }
.wordpress-home .formula-compare:hover { text-decoration: underline; text-underline-offset: 4px; }
.wordpress-home .formula-story-photo { position: relative; overflow: hidden; isolation: isolate; margin: 0; border-radius: 26px; aspect-ratio: 4/5; }
.wordpress-home .formula-story-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.wordpress-home .formula-story-photo::after { content: ''; position: absolute; z-index: 0; inset: 55% 0 0; background: linear-gradient(transparent,rgba(11,31,29,.65)); pointer-events: none; }
.wordpress-home .formula-story-photo figcaption { position: absolute; z-index: 1; inset: auto 30px 28px; display: flex; align-items: center; gap: 20px; color: #fff; }
.wordpress-home .formula-story-photo figcaption strong { font: 500 clamp(32px,3.5vw,46px)/1.15 var(--cm-display); letter-spacing: -.04em; white-space: nowrap; }
.wordpress-home .formula-story-photo figcaption span { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.4); font: 400 13px/1.6 var(--cm-body); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .wordpress-home .formula-link:hover .formula-photo img { transform: scale(1.035); }
  .wordpress-home .formula-link:hover .formula-arrow { transform: translate(2px,-2px); }
}
@media (max-width:980px) {
  .wordpress-home .product-story .product-lab-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .wordpress-home .formula-pair { gap: 14px; }
  .wordpress-home .formula-story-photo { aspect-ratio: 3/4; }
}
@media (max-width:760px) {
  .wordpress-home .product-story .product-lab-grid { grid-template-columns: 1fr; gap: 32px; }
  .wordpress-home .product-story h2 { font-size: clamp(32px,8.5vw,42px); }
  .wordpress-home .product-story .product-lab-copy > p { margin: 20px 0 26px; font-size: 15px; }
  .wordpress-home .formula-label strong { font-size: 18px; }
  .wordpress-home .formula-label small { font-size: 11px; }
  .wordpress-home .formula-story-photo { aspect-ratio: 4/5; border-radius: 22px; }
  .wordpress-home .formula-story-photo figcaption { inset: auto 22px 22px; gap: 16px; }
  .wordpress-home .formula-story-photo figcaption span { padding-left: 16px; font-size: 12px; }
  .wordpress-home .formula-compare { margin-top: 18px; }
}

/* Subpages: a shared blue-to-green palette, with calm reading surfaces. */
.site-page {
  --cm-page-gradient: linear-gradient(115deg,#d8eaf6 0%,#e6f3f1 48%,#d8eddf 100%);
  --cm-section-gradient: linear-gradient(120deg,#e6f0f8 0%,#eff6f4 48%,#e1f0e5 100%);
  --cm-deep-gradient: linear-gradient(118deg,#123d60 0%,#145364 45%,#216c50 100%);
}
.site-page .page-hero,
.site-page .academy-hero,
.site-page .legal-hero,
.site-page .product-hero,
.site-page .article-hero {
  background: radial-gradient(ellipse at 85% 15%,rgba(142,205,172,.36),transparent 58%),var(--cm-page-gradient);
}
.site-page .page-hero::before,
.site-page .academy-hero::before { content: none; }
.site-page .section.alt { background: var(--cm-section-gradient); }
.site-page .section.dark,
.site-page .comparison-showcase { background: var(--cm-deep-gradient); }
.site-page .section.dark .kicker { color: #c3eadc; }
.site-page .section.dark .section-head > p,
.site-page .section.dark .card p,
.site-page .section.dark .card li { color: #e0eeec; }
.site-page .section.dark .card {
  background: rgba(255,255,255,.08);
  border-color: rgba(223,245,239,.25);
}
.site-page .section.dark .field label,
.site-page .section.dark .form-note,
.site-page .section.dark form label { color: #e0eeec; }
.site-page .section.dark .form-note a { color: #fff; }
.site-page .hero-stat { background: linear-gradient(110deg,#c1d8e8,#bfdacb); }
.site-page .hero-stat > div { background: rgba(255,255,255,.84); }
.site-page .hero-stat strong { color: #176274; }
.site-page .cm-blog-hero {
  background: var(--cm-page-gradient);
  border-radius: 28px;
  padding: clamp(32px,5vw,64px);
  margin-top: 32px;
  margin-bottom: 44px;
}
@supports (background-clip:text) or (-webkit-background-clip:text) {
  .site-page .page-hero h1,
  .site-page .academy-hero h1,
  .site-page .legal-hero h1,
  .site-page .article-hero h1,
  .site-page .cm-blog-hero h1 {
    background: linear-gradient(110deg,#164866 5%,#176747 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}
@media (max-width:600px) {
  .site-page .cm-blog-hero { padding: 30px 24px; border-radius: 22px; margin-top: 20px; margin-bottom: 32px; }
}
@media (forced-colors:active) {
  .site-page .page-hero h1,.site-page .academy-hero h1,.site-page .legal-hero h1,
  .site-page .article-hero h1,.site-page .cm-blog-hero h1 { background: none; color: CanvasText; }
}
.site-page .section.dark form .btn { background: #fff; color: #164e53; border-color: #fff; }
.site-page .section.dark form .btn:hover { background: #e5f2ee; border-color: #e5f2ee; }

/* Home hero: more color, fewer competing elements. */
.wordpress-home .hero.hero-editorial {
  background: linear-gradient(112deg,#d5e7f3 0%,#deedea 48%,#bedbcc 100%);
}
.wordpress-home .hero.hero-editorial .hero-bg { display: none; }
.wordpress-home .hero.hero-editorial .hero-description { color: #405b61; }
.wordpress-home .hero.hero-editorial .hero-cta { align-items: center; margin-bottom: 0; }
.wordpress-home .hero.hero-editorial .hero-cta .btn-ghost {
  background: transparent; border-color: transparent; box-shadow: none;
  padding-inline: 10px; color: #234c50;
}
.wordpress-home .hero.hero-editorial .hero-cta .btn-ghost:hover {
  text-decoration: underline; text-underline-offset: 5px;
}
.wordpress-home .hero.hero-editorial .hero-trust {
  display: flex; gap: 28px; margin-top: 30px; padding-top: 0; border: 0;
}
.wordpress-home .hero.hero-editorial .hero-trust div { padding: 0; border: 0; }
.wordpress-home .hero.hero-editorial .hero-trust span {
  font: 400 11px/1.5 var(--cm-body); letter-spacing: 0; text-transform: none; color: #405b61;
}
.wordpress-home .hero.hero-editorial .hero-visual { height: 520px; }
.wordpress-home .hero.hero-editorial .hero-visual::after {
  background: linear-gradient(180deg,transparent 55%,rgba(8,31,34,.74) 100%);
}
.wordpress-home .hero.hero-editorial .hero-visual-card {
  left: 28px; right: 28px; bottom: 28px; padding: 0; border: 0;
  border-radius: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.wordpress-home .hero.hero-editorial .hero-visual-card strong { max-width: 17ch; font-size: 26px; }
@media (max-width:600px) {
  .wordpress-home .hero.hero-editorial { background: linear-gradient(150deg,#d5e7f3 0%,#deedea 47%,#bedbcc 100%); }
  .wordpress-home .hero.hero-editorial .hero-trust { margin-top: 22px; gap: 30px; }
  .wordpress-home .hero.hero-editorial .hero-cta { gap: 2px; }
  .wordpress-home .hero.hero-editorial .hero-visual { height: 400px; }
  .wordpress-home .hero.hero-editorial .hero-visual-card { left: 22px; right: 22px; bottom: 24px; gap: 16px; }
  .wordpress-home .hero.hero-editorial .hero-visual-card strong { font-size: 24px; }
}

/* Company pages: prominent facts, distinct regions and a balanced partner inquiry. */
.site-page .corporate-intro { padding-top: 0; }
.site-page .corporate-facts {
  position: relative; z-index: 1; margin: -24px 0 64px; padding: 36px 16px;
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0;
  border: 1px solid rgba(255,255,255,.4); border-radius: 24px;
  background: var(--cm-deep-gradient); box-shadow: 0 18px 40px rgba(18,61,96,.09);
}
.site-page .corporate-facts > div { background: transparent; padding: 6px 28px; border-right: 1px solid rgba(255,255,255,.23); }
.site-page .corporate-facts > div:last-child { border: 0; }
.site-page .corporate-facts strong { display: block; color: #fff; font: 500 clamp(54px,5.7vw,78px)/1.1 var(--cm-display); letter-spacing: -.055em; }
.site-page .corporate-facts strong.fact-origin { font-size: clamp(36px,4vw,54px); padding-block: 13px; }
.site-page .corporate-facts span { display: block; margin-top: 12px; color: #e1efed; font-size: 15px; line-height: 1.5; }
.site-page .corporate-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 48px; }
.site-page .corporate-heading > p { margin: 0; }
.site-page .company-grid { gap: 28px; }
.site-page .company-card { padding: clamp(28px,3.5vw,44px); border: 0; background: linear-gradient(140deg,#e3edf5,#f4f8fa); }
.site-page .company-card:nth-child(2) { background: linear-gradient(140deg,#deece3,#f4f8f2); }
.site-page .company-location { display: block; color: #3e6269; font-size: 12px; font-weight: 600; letter-spacing: .03em; margin-bottom: 24px; }
.site-page .company-card > img { width: 100%; height: 130px; padding: 22px; border-radius: 16px; background: #fff; object-position: left center; margin-bottom: 28px; }
.site-page .company-card h3 { max-width: 27ch; font-size: clamp(23px,2.3vw,30px); }
.site-page .company-card a { overflow-wrap: anywhere; }
.site-page .corporate-values .card { padding: 28px 0; border: 0; border-top: 1px solid rgba(255,255,255,.3); border-radius: 0; background: transparent; }
.site-page .corporate-values .grid-3 { column-gap: 40px; row-gap: 12px; }
.site-page .expertise-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.site-page .expertise-grid .card { padding: 32px; }
.site-page .region-grid .card,.site-page .partner-paths .card { padding: 32px; border: 0; background: linear-gradient(145deg,#dcecf6,#f0f6f7); }
.site-page .region-grid .card:nth-child(2),.site-page .partner-paths .card:nth-child(2) { background: linear-gradient(145deg,#d8eade,#f0f6eb); }
.site-page .region-grid .card:nth-child(3),.site-page .partner-paths .card:nth-child(3) { background: linear-gradient(145deg,#d6e8e7,#eef4f1); }
.site-page .region-grid h3,.site-page .partner-paths h3 { font-size: clamp(25px,2.5vw,32px); line-height: 1.2; margin-bottom: 24px; }
.site-page .market-directory { gap: 0 36px; padding: 12px 32px; border-radius: 24px; background: rgba(255,255,255,.8); }
.site-page .market-directory .card { border: 0; border-bottom: 1px solid #d4e1de; border-radius: 0; padding: 24px 0; background: transparent; }
.site-page .market-directory h3 { font-size: 19px; margin-bottom: 5px; }
.site-page .market-directory p { font-size: 14px; margin: 0; }
.site-page .partner-resources { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.site-page .partner-resources .card { border: 0; padding: 30px; background: rgba(255,255,255,.8); }
.site-page .partner-inquiry { scroll-margin-top: 108px; }
.site-page .partner-inquiry .split { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: clamp(40px,6vw,80px); }
.site-page .partner-inquiry h2 { font: 500 clamp(36px,3.8vw,52px)/1.13 var(--cm-display); letter-spacing: -.04em; margin: 0 0 24px; }
.site-page .partner-inquiry-copy > p { font-size: 16px; line-height: 1.75; color: #e0eeec; max-width: 44ch; }
.site-page .partner-brief { margin: 30px 0 24px; }
.site-page .partner-brief > div { border-top: 1px solid rgba(255,255,255,.24); padding: 18px 0; }
.site-page .partner-brief dt { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.site-page .partner-brief dd { margin: 0; font-size: 14px; line-height: 1.65; color: #dcece8; }
.site-page .partner-inquiry-copy .partner-next { font-size: 13px; }
.site-page .partner-form-card { padding: clamp(24px,3vw,40px); }
.site-page .partner-form-card > h3 { margin: 0 0 28px; font-size: 28px; }
@media(max-width:820px) {
  .site-page .corporate-heading { grid-template-columns: 1fr; gap: 24px; }
  .site-page .corporate-facts > div { padding-inline: 20px; }
  .site-page .partner-inquiry .split { grid-template-columns: 1fr; gap: 32px; }
  .site-page .partner-inquiry-copy > p { max-width: none; }
  .site-page .partner-brief { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
}
@media(max-width:600px) {
  .site-page .corporate-facts { margin-top: -16px; margin-bottom: 40px; grid-template-columns: 1fr; padding: 12px 24px; border-radius: 22px; }
  .site-page .corporate-facts > div { display: flex; align-items: center; gap: 24px; padding: 20px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.23); }
  .site-page .corporate-facts strong { min-width: 96px; font-size: 56px; }
  .site-page .corporate-facts strong.fact-origin { font-size: 30px; padding-block: 12px; }
  .site-page .corporate-facts span { margin: 0; font-size: 14px; }
  .site-page .company-card { padding: 26px; }
  .site-page .company-card > img { height: 108px; padding: 18px; }
  .site-page .expertise-grid,.site-page .partner-resources { grid-template-columns: 1fr; }
  .site-page .region-grid .card,.site-page .partner-paths .card { padding: 28px; }
  .site-page .market-directory { grid-template-columns: 1fr; padding: 4px 24px; }
  .site-page .market-directory .card:last-child { border-bottom: 0; }
  .site-page .partner-brief { display: block; }
  .site-page .partner-inquiry h2 { font-size: clamp(32px,8vw,42px); }
}

/* Larger, aligned hero facts and a steady mobile product rail. */
.wordpress-home .hero.hero-editorial .hero-trust {
  display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:440px;
  margin-top:34px;padding-top:24px;border-top:1px solid #305b5926;
}
.wordpress-home .hero.hero-editorial .hero-trust strong {
  font:600 clamp(28px,2.7vw,36px)/1.15 var(--cm-display);letter-spacing:-.035em;color:#244f50;
}
.wordpress-home .hero.hero-editorial .hero-trust span { margin-top:8px;font-size:13px; }
.wordpress-home .family-slider-nav { display:none; }
@media(max-width:600px){
  .wordpress-home .hero.hero-editorial .hero-trust { width:100%;max-width:none;margin-top:26px;padding-top:22px;gap:18px; }
  .wordpress-home .hero.hero-editorial .hero-trust strong { font-size:28px;white-space:nowrap; }
  .wordpress-home .hero.hero-editorial .hero-trust span { font-size:12px; }
  .wordpress-home .family-showcase .section-head { margin-bottom:28px; }
  .wordpress-home .home-family-grid {
    display:flex;align-items:stretch;gap:14px;overflow-x:auto;overflow-y:hidden;
    touch-action:pan-x pinch-zoom;overscroll-behavior:none;scroll-snap-type:x mandatory;
    scrollbar-width:none;padding:0 28px 0 0;scroll-padding:0;
  }
  .wordpress-home .home-family-grid::-webkit-scrollbar { display:none; }
  .wordpress-home .home-family-grid .home-family-card {
    flex:0 0 100%;min-width:0;min-height:0;padding:18px;border-width:1px;border-radius:22px;
    scroll-snap-align:start;scroll-snap-stop:always;transform:none!important;translate:none;
    opacity:1;transition:none;box-shadow:none;
  }
  .wordpress-home .home-family-card .family-image,
  .wordpress-home .home-family-card:nth-child(-n+2) .family-image { height:auto;aspect-ratio:1.12;margin:-10px -10px 20px;flex:none; }
  .wordpress-home .home-family-card small { display:none; }
  .wordpress-home .home-family-card h3 { margin:0 0 10px;font-size:23px;line-height:1.2; }
  .wordpress-home .home-family-card p { font-size:14px;line-height:1.6;margin:0 0 18px; }
  .wordpress-home .home-family-card strong { padding-top:12px;font-size:13px; }
  .wordpress-home .family-slider-nav:not([hidden]) { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px; }
  .wordpress-home .family-position { font:600 13px/1 var(--cm-body);font-variant-numeric:tabular-nums;color:#244f50; }
  .wordpress-home .family-position span { margin-left:6px;color:#718680;font-weight:400; }
  .wordpress-home .family-slider-nav>div { display:flex;gap:8px; }
  .wordpress-home .family-slider-nav button { display:grid;place-items:center;width:44px;height:44px;border:1px solid #b6cbc4;border-radius:50%;color:#244f50;background:#ffffff90;font-size:20px; }
  .wordpress-home .family-slider-nav button:disabled { opacity:.35;cursor:default; }
  .wordpress-home .family-slider-nav button:focus-visible { outline:2px solid #176a50;outline-offset:3px; }
}

/* Matching editorial image panels along the shared, wider content axis. */
.wordpress-home .cinema,.wordpress-home .brand-film {
  width:min(var(--cm-content),calc(100% - 2 * var(--cm-gutter)));margin-inline:auto;
}
.wordpress-home .cinema,.wordpress-home .brand-film-trigger {
  height:auto;min-height:0;aspect-ratio:21/9;border-radius:26px;overflow:hidden;
}
.wordpress-home .cinema { margin-block:0; }
.wordpress-home .brand-film { padding:28px 0 0;background:transparent; }
.wordpress-home .cinema>img,.wordpress-home .brand-film-trigger>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none; }
.wordpress-home .cinema::after,.wordpress-home .brand-film-shade { background:linear-gradient(90deg,rgba(4,20,30,.8),rgba(4,20,30,.2) 75%); }
.wordpress-home .cinema-copy,.wordpress-home .brand-film-copy {
  left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(32px,4vw,64px);max-width:none;
}
.wordpress-home .cinema-copy h2,.wordpress-home .brand-film-copy strong {
  max-width:14ch;font:600 clamp(34px,4vw,60px)/1.08 var(--cm-display);letter-spacing:-.045em;
}
.wordpress-home .cinema-copy .eyebrow,.wordpress-home .brand-film-copy small { margin-bottom:18px;color:#b4d9c7;font:500 11px/1.5 var(--cm-body);letter-spacing:.12em;text-transform:uppercase; }
.wordpress-home .cinema-copy p { max-width:45ch;margin-top:20px;color:#e0e9e7;font-size:15px;line-height:1.65; }
.wordpress-home .cinema .photo-credit { right:24px;bottom:12px;font-size:9px; }
@media(max-width:780px){
  .wordpress-home .cinema,.wordpress-home .brand-film-trigger { aspect-ratio:4/5;border-radius:22px; }
  .wordpress-home .cinema-copy,.wordpress-home .brand-film-copy { left:24px;right:24px;bottom:34px; }
  .wordpress-home .cinema-copy h2,.wordpress-home .brand-film-copy strong { font-size:clamp(30px,8vw,44px); }
  .wordpress-home .cinema-copy p { font-size:14px;line-height:1.6;margin-top:16px; }
  .wordpress-home .cinema-copy .eyebrow,.wordpress-home .brand-film-copy small { font-size:10px;margin-bottom:12px; }
  .wordpress-home .cinema::after,.wordpress-home .brand-film-shade { background:linear-gradient(180deg,rgba(4,20,30,.08),rgba(4,20,30,.9)); }
  .wordpress-home .brand-film { padding-top:20px; }
}
