/*! SWHS v2 — generated, do not edit.
 *  Source: design_v3/bricks/{01-tokens-bridge.css,02-base.css,03-components.css,04-gravity-forms.css}
 *  Rebuild with ./build-css.sh. Commented copy: swhs.dev.css
 *  Built 2026-10-05 00:07 UTC */
:root {

--ds-brand:        var(--primary);
  --ds-brand-deep:   var(--primary-d-1);
  --ds-brand-tint:   var(--primary-l-3);

--ds-cta:          var(--action);
  --ds-cta-hover:    var(--action-d-1);

--ds-ink:          var(--ink);
  --ds-ink-muted:    var(--ink-l-2);
  --ds-ink-inverse:  #FFFFFF;
  --ds-surface-0:    #FFFFFF;
  --ds-surface-1:    var(--surface);
  --ds-surface-2:    var(--primary-l-3);
  --ds-line:         var(--line);

--ds-success:      var(--success);
  --ds-success-tint: var(--success-l-4);
  --ds-warning:      var(--warning);
  --ds-warning-tint: var(--warning-l-4);
  --ds-danger:       var(--danger);
  --ds-danger-tint:  var(--danger-l-4);
  --ds-focus:        var(--focus);

--ds-fs-h1:    clamp(2.25rem, 1.50rem + 3.20vw, 3.50rem);
  --ds-fs-h2:    clamp(1.75rem, 1.30rem + 1.90vw, 2.50rem);
  --ds-fs-h3:    var(--text-xl);
  --ds-fs-h4:    var(--text-l);
  --ds-fs-lead:  var(--text-l);
  --ds-fs-body:  var(--text-m);
  --ds-fs-small: var(--text-xs);

--ds-s-1:  var(--space-4xs);
  --ds-s-2:  var(--space-3xs);
  --ds-s-3:  var(--space-2xs);
  --ds-s-4:  var(--space-xs);
  --ds-s-5:  var(--space-s);
  --ds-s-6:  var(--space-m);
  --ds-s-7:  var(--space-l);
  --ds-s-8:  var(--space-xl);
  --ds-s-9:  var(--space-2xl);
  --ds-s-10: var(--space-3xl);

--ds-section-y: clamp(3rem, 2rem + 5vw, 6rem);
  --ds-gutter:    clamp(1.25rem, .5rem + 3vw, 2.5rem);
  --ds-max:       76rem;

--ds-ls-h1:    -0.032em;
  --ds-ls-h2:    -0.026em;
  --ds-ls-h3:    -0.018em;
  --ds-ls-lead:  -0.011em;
  --ds-ls-body:   0em;
  --ds-ls-small:  0.005em;
  --ds-ls-4xl:   -0.035em;

--ds-wt-body:  450;
  --ds-wt-med:   600;
  --ds-wt-bold:  700;

--ds-tap:      56px;
  --ds-tap-lg:   64px;

--ds-icon-stroke:     2;
  --ds-icon-stroke-sm:  2.5;
  --ds-icon-stroke-md:  2.25;
  --ds-icon-stroke-lg:  1.75;

--ds-lh-tight: 1.05;
  --ds-lh-head:  1.15;
  --ds-lh-body:  1.60;
  --ds-measure:  65ch;

--ds-card-pad:    clamp(1.5rem, 1.15rem + 1.2vw, 2.25rem);
  --ds-radius:      16px;
  --ds-radius-sm:   12px;
  --ds-radius-pill: 999px;
  --ds-shadow-1: 0 1px 2px rgba(28,20,24,.04), 0 2px 8px rgba(28,20,24,.06);
  --ds-shadow-2: 0 2px 4px rgba(28,20,24,.05), 0 12px 28px rgba(28,20,24,.10);

--ds-speed: 150ms;

--ds-header-h: 80px;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/themes/swhsv2/fonts/figtree-var.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/themes/swhsv2/fonts/figtree-italic-var.woff2") format("woff2");
  font-weight: 400 800;
  font-style: italic;
  font-display: swap;
}

html { font-size: 100%; }

*, *::before, *::after { box-sizing: border-box; }

html {
  font-family: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
}

body {
  font-family:     "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                   "Helvetica Neue", Arial, sans-serif;
  font-weight:     var(--ds-wt-body);
  font-size:       var(--ds-fs-body);
  line-height:     var(--ds-lh-body);
  letter-spacing:  var(--ds-ls-body);
  color:           var(--ds-ink);
  background:      var(--ds-surface-1);
  -webkit-font-smoothing: antialiased;
  text-rendering:  optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 var(--ds-s-4);
  font-weight: var(--ds-wt-bold);
  text-wrap:   balance;
}
h1 { text-wrap: pretty; }
h3, h4, h5, h6 { font-weight: var(--ds-wt-med); }

.ds-track-h1   { letter-spacing: var(--ds-ls-h1); }
.ds-track-h2   { letter-spacing: var(--ds-ls-h2); }
.ds-track-h3   { letter-spacing: var(--ds-ls-h3); }
.ds-track-lead { letter-spacing: var(--ds-ls-lead); }
.ds-track-sm   { letter-spacing: var(--ds-ls-small); }

p { margin: 0 0 var(--ds-s-5); max-width: var(--ds-measure); }
p:last-child { margin-bottom: 0; }

a {
  color: var(--ds-brand-deep);
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: .09em;
}
a:hover { color: var(--ds-cta); }

img { max-width: 100%; height: auto; display: block; }

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
}

.lucide {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;

  min-width: 0;
  min-height: 0;
}

:focus-visible {
  outline: 3px solid var(--ds-focus);
  outline-offset: 3px;
  border-radius: 4px;
}

small, .ds-small {
  font-size: var(--ds-fs-small);
  letter-spacing: var(--ds-ls-small);
  font-weight: 500;
}

.lead {
  font-size: var(--ds-fs-lead);
  letter-spacing: var(--ds-ls-lead);
  color: var(--ds-ink-muted);
  max-width: var(--ds-measure);
}

.eyebrow {
  display: inline-block;
  font-size: var(--ds-fs-small);
  font-weight: var(--ds-wt-med);
  letter-spacing: .02em;
  color: var(--ds-brand-deep);
  margin-bottom: var(--ds-s-3);
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link, .skip {
  position: absolute; left: var(--ds-s-4); top: -100px; z-index: 200;
  display: flex; align-items: center;
  min-height: var(--ds-tap); padding: 0 var(--ds-s-5);
  background: var(--ds-surface-0); color: var(--ds-brand-deep);
  font-weight: var(--ds-wt-med); text-decoration: none;
  border: 2px solid var(--ds-brand); border-radius: var(--ds-radius-sm);
  transition: top var(--ds-speed) ease;
}
.skip-link:focus, .skip:focus { top: var(--ds-s-4); }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

.btn, .btn--block, .btn-row, .link-cta, .header__inner, .header__brand,
.nav__list, .nav__link, .nav__trigger, .nav__panel a, .header__actions,
.nav-toggle, .actionbar__item, .hero__bullets li, .rating,
.rating__stars, .proof__rating, .trust__item, .chips, .video__play,
.area, .crumbs ol, .crumbs li, .crumbs a, .notice, .field__err, .consent,
.faq summary, .footer__contact a, .footer__nav a, .colophon,
.colophon ul, .colophon a, .tbc {
  flex-direction: row;
}

.grid, .grid--2, .grid--3, .areas, .footer__grid, .testimonial__grid {
  align-items: stretch;
}

.range-cta, .faq, .hero__media, .section-head {
  display: block;
}

.section          { padding-block: var(--ds-section-y); }
.section--tint    { background: var(--ds-surface-2); }
.section--white   { background: var(--ds-surface-0); }
.section--brand   { background: var(--ds-brand); color: var(--ds-ink-inverse); }
.section--brand h2, .section--brand h3 { color: var(--ds-ink-inverse); }

.container {
  width: 100%; max-width: var(--ds-max);
  margin-inline: auto; padding-inline: var(--ds-gutter);
}

.grid { display: grid; gap: var(--ds-s-5); }
@media (min-width: 600px)  { .grid--2 { grid-template-columns: repeat(2,1fr); }
                             .grid--3 { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1000px) { .grid--3 { grid-template-columns: repeat(3,1fr); } }

.split { display: grid; gap: clamp(2rem, 1rem + 4vw, 4rem); align-items: center; }
@media (min-width: 900px) {
  .split { grid-template-columns: 1fr 1fr; }

  .split--reverse > :first-child { order: 2; }
}

.section-head { max-width: 48rem; margin-bottom: var(--ds-s-7); }

.section-head p:not(.eyebrow) {
  font-size: var(--ds-fs-lead);
  letter-spacing: var(--ds-ls-lead);
  color: var(--ds-ink-muted);
}
.section--brand .section-head p:not(.eyebrow) { color: rgba(255,255,255,.9); }
.section--brand .eyebrow        { color: #F3CBDA; }

.reassure, .colophon, .footer__nav a, .field .hint,
.testimonial__cite, .rating__text, .card__link {
  font-weight: 500;
  letter-spacing: var(--ds-ls-small);
}

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--ds-s-3);
  min-height: var(--ds-tap);
  padding: var(--ds-s-3) var(--ds-s-6);
  font-size: 1.25rem; font-weight: var(--ds-wt-med);
  line-height: 1.2; letter-spacing: var(--ds-ls-lead);
  text-decoration: none; text-align: center;
  border: 2px solid transparent; border-radius: var(--ds-radius-sm);
  cursor: pointer;
  transition: background-color var(--ds-speed) ease,
              border-color     var(--ds-speed) ease,
              color            var(--ds-speed) ease;
}
.btn svg { flex: none; }

.btn--primary          { background: var(--ds-cta); color: #fff; }
.btn--primary:hover    { background: var(--ds-cta-hover); color: #fff; }
.btn--secondary        { background: transparent; color: var(--ds-brand-deep); border-color: currentColor; }
.btn--secondary:hover  { background: var(--ds-brand-tint); color: var(--ds-brand-deep); }
.btn--onbrand          { background: #fff; color: var(--ds-brand-deep); }
.btn--onbrand:hover    { background: var(--ds-brand-tint); }
.btn--lg      { min-height: var(--ds-tap-lg); font-size: 1.375rem; padding-inline: var(--ds-s-7); }
.btn--block   { display: flex; width: 100%; }

.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn[aria-busy="true"] .btn__spin { display: inline-block; }
.btn__spin {
  display: none; width: 20px; height: 20px;
  border: 2.5px solid currentColor; border-right-color: transparent;
  border-radius: 50%; animation: ds-spin .7s linear infinite;
}
@keyframes ds-spin { to { transform: rotate(360deg); } }

.btn-row { display: flex; flex-wrap: wrap; gap: var(--ds-s-4); }
@media (max-width: 599px) {
  .btn     { display: flex; width: 100%; }
  .btn-row { flex-direction: column; }
}

.link-cta {
  display: inline-flex; align-items: center; gap: var(--ds-s-2);
  min-height: 48px; padding-right: var(--ds-s-2);
  font-weight: var(--ds-wt-med);
}

.link-cta svg {
  flex: none; width: 20px; height: 20px;
  fill: none; stroke: currentColor; stroke-width: var(--ds-icon-stroke-md);
}

.header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--ds-line);
}
.header__inner {
  display: flex; align-items: center; gap: var(--ds-s-4);
  min-height: var(--ds-header-h);
  padding-block: var(--ds-s-3);
}
.header__brand { display: flex; align-items: center; gap: var(--ds-s-3); text-decoration: none; flex: none; }
.header__logo  { width: clamp(108px, 11vw, 140px); height: auto; }
.header__which { width: 54px; height: auto; }

.nav { margin-left: auto; min-width: 0; }
.nav .brx-nav-nested-items { gap: 2px; flex-wrap: nowrap; }
.nav .brx-nav-nested-items > li { position: relative; }

.nav .brx-nav-nested-items > li > a:not(.btn),
.nav .brx-submenu-toggle {
  display: flex; align-items: center; gap: var(--ds-s-2); white-space: nowrap;
  min-height: 48px; padding: 0 var(--ds-s-2); margin: 0;
  font-family: inherit; font-size: 1rem; font-weight: 500; color: var(--ds-ink);
  background: none; border: 0; cursor: pointer;
  text-decoration: none; border-radius: var(--ds-radius-sm);
}

.nav .brxe-dropdown .brx-submenu-toggle { gap: var(--ds-s-2); }
.nav .brx-submenu-toggle.icon-right button { margin-left: 0; }
.nav .brx-submenu-toggle > a { color: inherit; font: inherit; text-decoration: none; }
.nav .brx-submenu-toggle > button { padding: 0; background: none; border: 0; color: inherit; cursor: pointer; }
.nav .brx-nav-nested-items > li > a:not(.btn):hover,
.nav .brx-submenu-toggle:hover,
.nav .brx-nav-nested-items > li > a:not(.btn)[aria-current="page"],
.nav .brxe-dropdown:has(a[aria-current="page"]) > .brx-submenu-toggle,
.nav .brxe-dropdown.open > .brx-submenu-toggle { background: var(--ds-surface-2); color: var(--ds-brand-deep); }

.nav .brx-submenu-toggle .icon svg,
.nav .brx-submenu-toggle button > svg {
  flex: none; width: 14px; height: 14px; fill: none; stroke: currentColor;
  stroke-width: var(--ds-icon-stroke-sm); transition: transform var(--ds-speed) ease;
}
.nav .brxe-dropdown.open > .brx-submenu-toggle .icon svg,
.nav .brxe-dropdown.open > .brx-submenu-toggle button > svg { transform: rotate(180deg); }

.nav .btn svg, .header__actions .btn svg { width: 20px; height: 20px; }

.nav .brx-dropdown-content {
  z-index: 120; min-width: 17rem;
  background: #fff; border: 1px solid var(--ds-line); border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow-2);
  padding: var(--ds-s-2);
  list-style: none; margin: 0;
}
.nav .brx-dropdown-content li { list-style: none; }
.nav .brx-dropdown-content a {
  display: flex; align-items: center; gap: var(--ds-s-3);
  min-height: 48px; padding: var(--ds-s-2) var(--ds-s-4);
  font-size: 1.0625rem; font-weight: 500; line-height: 1.3;
  color: var(--ds-ink); text-decoration: none; border-radius: var(--ds-radius-sm);
}
.nav .brx-dropdown-content a:hover, .nav .brx-dropdown-content a:focus-visible { background: var(--ds-surface-2); color: var(--ds-brand-deep); }

.nav .brx-dropdown-content a.nav__all {
  font-weight: 600; color: var(--ds-brand-deep);
  border-bottom: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-sm) var(--ds-radius-sm) 0 0;
  margin-bottom: var(--ds-s-2);
}
.nav .nav__all svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: var(--ds-icon-stroke-sm); margin-left: auto; }

.nav .nav__cta,
.nav .brx-nav-nested-items > li:has(> .nav__cta) { display: none; }

.header__actions { display: flex; align-items: center; gap: var(--ds-s-3); flex: none; }

.header__actions .btn { font-size: 1rem; min-height: 52px; padding-inline: var(--ds-s-4); white-space: nowrap; }

.nav > .brxe-toggle,
.nav .brx-nav-nested-items .brxe-toggle {
  display: none; align-items: center; gap: var(--ds-s-3);
  min-height: var(--ds-tap); padding: 0 var(--ds-s-4);
  background: var(--ds-surface-2); color: var(--ds-ink);
  border: 0; border-radius: var(--ds-radius-sm);
  font-family: inherit; font-size: 1.0625rem; font-weight: 600; cursor: pointer;
}
.nav .brxa-inner, .nav .brxa-inner::before, .nav .brxa-inner::after { background-color: currentColor; }
.nav .brxe-toggle svg { width: 22px; height: 22px; }

@media (max-width: 1199px) {
  .header__actions { display: none; }
  .nav > .brxe-toggle { display: inline-flex; }

.nav .brx-nav-nested-items > li:has(> .brxe-toggle) { display: none; }
  .nav.brx-open .brx-nav-nested-items > li:has(> .brxe-toggle) {
    display: block; order: -1; align-self: flex-end;
    border-bottom: 0; margin-bottom: var(--ds-s-4);
  }
  .nav.brx-open .brx-nav-nested-items .brxe-toggle { display: inline-flex; }

.nav.brx-open .brx-nav-nested-items { justify-content: flex-start; }

.nav .brx-nav-nested-items { display: none; }
  .nav.brx-open .brx-nav-nested-items { display: flex; }

  .nav.brx-open .brx-nav-nested-items {
    top: var(--ds-header-h); border-top: 1px solid var(--ds-line);
    align-items: stretch; gap: 0;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: var(--ds-s-5) var(--ds-gutter) var(--ds-s-9);
  }
  .nav.brx-open .brx-nav-nested-items > li { border-bottom: 1px solid var(--ds-line); }
  .nav.brx-open .brx-nav-nested-items > li > a:not(.btn),
  .nav.brx-open .brx-submenu-toggle {
    width: 100%; min-height: var(--ds-tap); padding: var(--ds-s-3) var(--ds-s-2);
    font-size: var(--ds-fs-body); font-weight: 600; border-radius: 0;
  }
  .nav.brx-open .brx-submenu-toggle { justify-content: space-between; }
  .nav.brx-open .brx-submenu-toggle .icon svg,
  .nav.brx-open .brx-submenu-toggle button > svg { width: 18px; height: 18px; }

.nav.brx-open .brx-dropdown-content {
    min-width: 0; border: 0; border-radius: 0; box-shadow: none;
    background: var(--ds-surface-1);
    padding: var(--ds-s-2) 0 var(--ds-s-4);
    margin-bottom: var(--ds-s-3);
  }
  .nav.brx-open .brx-dropdown-content a { min-height: var(--ds-tap); padding-left: var(--ds-s-5); font-size: var(--ds-fs-body); }

  .nav.brx-open .brx-dropdown-content a.nav__all { border-radius: 0; border-bottom: 1px solid var(--ds-line); }

  .nav.brx-open .brx-nav-nested-items > li:has(> .nav__cta) { display: block; border-bottom: 0; margin-bottom: var(--ds-s-3); }
  .nav.brx-open a.nav__cta { display: inline-flex; }
  .nav.brx-open li.nav__cta { display: grid; gap: var(--ds-s-3); border-bottom: 0; margin-bottom: var(--ds-s-3); }
  .nav .nav__cta.btn, .nav .nav__cta .btn { width: 100%; }

body:has(.nav.brx-open) .actionbar { display: none; }
}

.actionbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 110;
  display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
  background: var(--ds-line);
  border-top: 1px solid var(--ds-line);
  box-shadow: 0 -4px 16px rgba(28,20,24,.10);
  padding-bottom: env(safe-area-inset-bottom);
}
.actionbar__item {
  display: flex; align-items: center; justify-content: center; gap: var(--ds-s-3);
  min-height: var(--ds-tap); padding: var(--ds-s-3);
  font-size: 1.1875rem; font-weight: 600; text-decoration: none;
}
.actionbar__item--call { background: #fff; color: var(--ds-brand-deep); }
.actionbar__item--cta  { background: var(--ds-cta); color: #fff; }
@media (min-width: 900px) { .actionbar { display: none; } }

.hero { background: var(--ds-surface-0); border-bottom: 1px solid var(--ds-line); }
.hero .split { align-items: center; }

.hero__lead {
  font-size: var(--ds-fs-lead);
  letter-spacing: var(--ds-ls-lead);
  color: var(--ds-ink-muted);
  margin-bottom: var(--ds-s-5);
}

.hero__bullets { list-style: none; margin: 0 0 var(--ds-s-6); padding: 0; }
.hero__bullets li {
  display: flex; align-items: flex-start; gap: var(--ds-s-3);
  margin-bottom: var(--ds-s-3); font-weight: 500;
}
.hero__bullets svg { flex: none; width: 26px; height: 26px; fill: none; stroke: var(--ds-success); stroke-width: var(--ds-icon-stroke); margin-top: 1px; }

.hero__media { position: relative; }
.hero__img {
  width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: var(--ds-radius); box-shadow: var(--ds-shadow-2);
}

@media (min-width: 900px) { .hero__img { aspect-ratio: 4 / 5; } }

.hero__badge {
  position: absolute; left: var(--ds-s-5); bottom: var(--ds-s-5); right: 32%;
  background: rgba(255,255,255,.97);
  border-radius: var(--ds-radius-sm); box-shadow: var(--ds-shadow-2);
  padding: var(--ds-s-4) var(--ds-s-5);
  backdrop-filter: blur(2px);
}
.hero__badge strong { display: block; font-size: 1.5rem; line-height: 1.15; color: var(--ds-brand); margin-bottom: 2px; }
.hero__badge span   { display: block; font-size: 1rem; line-height: 1.4; color: var(--ds-ink-muted); }
@media (max-width: 899px) {
  .hero__badge {
    position: static; margin-top: var(--ds-s-4);
    background: var(--ds-surface-0);
    border: 1px solid var(--ds-line); box-shadow: var(--ds-shadow-1);
  }
}

.hero--tint { background: var(--ds-surface-2); border-bottom-color: transparent; }

@media (min-width: 900px) {
  .hero--tint .hero__media::before {
    content: ""; position: absolute; z-index: 0;
    left: 22%; right: -1.5rem; bottom: -1.5rem; height: 58%;
    background: var(--ds-brand); border-radius: var(--ds-radius);
  }
  .hero--tint .hero__img { position: relative; z-index: 1; }
}

.hero--tint .hero__badge        { background: var(--ds-brand); z-index: 2; }
.hero--tint .hero__badge strong { color: #fff; }
.hero--tint .hero__badge span   { color: rgba(255,255,255,.92); }
@media (max-width: 899px) {
  .hero--tint .hero__badge { border-color: var(--ds-brand); box-shadow: var(--ds-shadow-1); }
}

.hero--bold {
  background: linear-gradient(135deg, #1F0614 0%, #5E1038 48%, #8E2150 100%);
  border-bottom-color: transparent;
}
.hero--bold .eyebrow            { color: #F3CBDA; }
.hero--bold h1                  { color: #fff; }
.hero--bold .hero__lead         { color: rgba(255,255,255,.92); }
.hero--bold .rating__text,
.hero--bold .rating__text a     { color: #fff; }
.hero--bold .hero__bullets li   { color: #fff; }
.hero--bold .hero__bullets svg  { stroke: #7FD3C1; }
.hero--bold .reassure           { color: rgba(255,255,255,.82); }
.hero--bold .btn--secondary       { color: #fff; border-color: rgba(255,255,255,.65); }
.hero--bold .btn--secondary:hover { background: rgba(255,255,255,.14); color: #fff; }
.hero--bold .hero__badge        { background: rgba(255,255,255,.97); }
.hero--bold .hero__badge strong { color: var(--ds-brand); }
.hero--bold .hero__badge span   { color: var(--ds-ink-muted); }
@media (min-width: 900px) { .hero--bold .hero__media::before { display: none; } }

.rating { display: flex; align-items: center; gap: var(--ds-s-4); flex-wrap: wrap; margin-bottom: var(--ds-s-5); }
.rating__stars { display: flex; gap: 2px; }

.rating__stars svg { width: 24px; height: 24px; fill: #E8A33D; stroke: none; }
.rating__text { font-size: var(--ds-fs-small); font-weight: 500; }
.rating__text a { color: var(--ds-brand-deep); }

.reassure {
  font-size: var(--ds-fs-small);
  color: var(--ds-ink-muted);
  margin-top: var(--ds-s-4);
}

.proof {
  background: var(--ds-surface-0);
  border-block: 1px solid var(--ds-line);
  padding-block: var(--ds-s-6);
}
.proof__inner { display: grid; gap: var(--ds-s-5) var(--ds-s-7); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 700px)  { .proof__inner { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1050px) { .proof__inner { grid-template-columns: repeat(4, 1fr); align-items: start; } }
.proof p { margin: 0; font-size: var(--ds-fs-small); }

.proof__rating { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s-2); }
.proof__rating .rating__stars svg { width: 22px; height: 22px; }
.proof__meta { color: var(--ds-ink-muted); }
.proof__stat { color: var(--ds-ink-muted); }
.proof__stat strong {
  display: block; font-size: 1.75rem; line-height: 1.1;
  color: var(--ds-brand); letter-spacing: var(--ds-ls-h3);
  font-variant-numeric: tabular-nums;
}
.proof__badge { width: 88px; height: auto; justify-self: start; }
@media (min-width: 1050px) { .proof__badge { justify-self: start; } }

.trust { background: var(--ds-brand); color: #fff; padding-block: var(--ds-s-5); }
.trust__list { display: grid; gap: var(--ds-s-4) var(--ds-s-6); list-style: none; margin: 0; padding: 0; grid-template-columns: 1fr; }
@media (min-width: 600px)  { .trust__list { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1000px) { .trust__list { grid-template-columns: repeat(4,1fr); } }
.trust__item { display: flex; align-items: center; gap: var(--ds-s-3); margin: 0; font-size: var(--ds-fs-small); font-weight: 500; }
.trust__item svg { flex: none; width: 26px; height: 26px; fill: none; stroke: #F3CBDA; stroke-width: var(--ds-icon-stroke); }

.card {
  background: var(--ds-surface-0);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: var(--ds-card-pad);
  box-shadow: var(--ds-shadow-1);
  display: flex; flex-direction: column; align-items: stretch;
}

.card h3 { margin-bottom: var(--ds-s-3); color: var(--ds-brand); font-size: var(--ds-fs-h4); }
.card p  { color: var(--ds-ink-muted); }
.card__icon {
  width: 56px; height: 56px; margin-bottom: var(--ds-s-4);
  display: grid; place-items: center;
  background: var(--ds-brand-tint); border-radius: var(--ds-radius-sm);
}
.card__icon svg { width: 30px; height: 30px; fill: none; stroke: var(--ds-brand); stroke-width: var(--ds-icon-stroke-lg); }
.card__link { margin-top: auto; padding-top: var(--ds-s-5); font-weight: var(--ds-wt-med); }

.card--eco .card__icon     { background: var(--ds-success-tint); }
.card--eco .card__icon svg { stroke: var(--ds-success); }
.card--eco h3              { color: var(--ds-success); }

.card--step { position: relative; }
.card__num {
  font-size: 2.75rem; font-weight: var(--ds-wt-bold); line-height: 1;
  color: var(--ds-brand); opacity: .28; margin-bottom: var(--ds-s-3);
  font-variant-numeric: tabular-nums;
}

.card--product .card__media {
  aspect-ratio: 4 / 3;

  width: calc(100% + (var(--ds-card-pad) * 2));
  max-width: none;
  margin: calc(var(--ds-card-pad) * -1) calc(var(--ds-card-pad) * -1) var(--ds-s-5);
  background: var(--ds-surface-2);
  border-radius: var(--ds-radius) var(--ds-radius) 0 0;
  position: relative;
  overflow: hidden;

  display: grid; place-items: center; padding: var(--ds-s-4);
}

.card--product .card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: var(--ds-s-4);
  box-sizing: border-box;
  object-fit: contain;
}

.chips { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); list-style: none; margin: auto 0 0; padding: var(--ds-s-5) 0 0; }
.chips li {
  font-size: var(--ds-fs-small); font-weight: 600; letter-spacing: var(--ds-ls-small);
  color: var(--ds-brand-deep); background: var(--ds-brand-tint);
  padding: var(--ds-s-2) var(--ds-s-4); border-radius: var(--ds-radius-pill);
}

.range-cta { margin-top: var(--ds-s-7); text-align: center; }
.range-cta p { max-width: 34rem; margin: 0 auto var(--ds-s-4); font-size: var(--ds-fs-lead); letter-spacing: var(--ds-ls-lead); }
.range-cta .btn-row { justify-content: center; }

.feature-img {
  width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: var(--ds-radius); box-shadow: var(--ds-shadow-2);
}

.feature-img--wide { aspect-ratio: 16 / 9; }

.testimonial {
  background: var(--ds-surface-0); border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius); box-shadow: var(--ds-shadow-2); overflow: hidden;
}
.testimonial__grid { display: grid; }
@media (min-width: 900px) { .testimonial__grid { grid-template-columns: 1fr 1fr; } }
.testimonial__body { padding: clamp(1.5rem, 1rem + 3vw, 3rem); display: flex; flex-direction: column; justify-content: center; }
.testimonial__quote {
  font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
  font-weight: var(--ds-wt-med); line-height: 1.22; color: var(--ds-brand);
  letter-spacing: var(--ds-ls-h2); margin-bottom: var(--ds-s-5); text-wrap: balance;
}
.testimonial__cite { font-style: normal; font-size: var(--ds-fs-small); color: var(--ds-ink-muted); }
.testimonial__cite strong { display: block; font-size: var(--ds-fs-body); color: var(--ds-ink); font-weight: 600; }

.video { position: relative; display: block; min-height: 260px; }
.video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video__play {
  position: absolute; inset: 0;
  display: flex; align-items: flex-end; gap: var(--ds-s-4);
  padding: var(--ds-s-5); color: #fff; text-decoration: none; font-weight: 600;
  background: linear-gradient(to top, rgba(28,20,24,.78) 0%, rgba(28,20,24,.15) 55%, rgba(28,20,24,0) 100%);
}
.video__play:hover { color: #fff; }
.video__icon { flex: none; width: 60px; height: 60px; border-radius: 50%; background: var(--ds-cta); display: grid; place-items: center; }
.video__icon svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: var(--ds-icon-stroke); margin-left: 3px; }

.areas { display: grid; gap: var(--ds-s-4); grid-template-columns: 1fr; }
@media (min-width: 600px)  { .areas { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1000px) { .areas { grid-template-columns: repeat(4,1fr); } }
.area {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s-4);
  min-height: var(--ds-tap-lg); padding: var(--ds-s-4) var(--ds-s-5);
  background: #fff; border: 1px solid var(--ds-line); border-radius: var(--ds-radius-sm);
  font-size: 1.25rem; font-weight: 600; letter-spacing: var(--ds-ls-lead);
  color: var(--ds-ink); text-decoration: none;
  box-shadow: var(--ds-shadow-1);
  transition: border-color var(--ds-speed) ease, background-color var(--ds-speed) ease;
}
.area:hover { border-color: var(--ds-brand); background: var(--ds-brand-tint); color: var(--ds-brand-deep); }
.area svg { flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: var(--ds-icon-stroke-md); }

.crumbs { font-size: var(--ds-fs-small); font-weight: var(--ds-wt-med); margin-bottom: var(--ds-s-5); }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-s-2); list-style: none; margin: 0; padding: 0; }
.crumbs li { display: flex; align-items: center; gap: var(--ds-s-2); }
.crumbs a  { display: inline-flex; align-items: center; min-height: 44px; color: var(--ds-brand-deep); }
.crumbs [aria-current] { color: var(--ds-ink-muted); text-decoration: none; }
.crumbs svg { width: 14px; height: 14px; fill: none; stroke: var(--ds-line); stroke-width: var(--ds-icon-stroke-sm); flex: none; }

.pagehead {
  background: var(--ds-surface-0); border-bottom: 1px solid var(--ds-line);
  padding-block: var(--ds-s-7) var(--ds-s-8);
}
.pagehead__lead {
  font-size: var(--ds-fs-lead); letter-spacing: var(--ds-ls-lead);
  color: var(--ds-ink-muted); max-width: var(--ds-measure);
}

.notice {
  display: flex; gap: var(--ds-s-4); padding: var(--ds-s-5);
  border-radius: var(--ds-radius-sm); border-left: 5px solid;
  margin-bottom: var(--ds-s-5);
}
.notice svg { flex: none; width: 26px; height: 26px; fill: none; stroke-width: var(--ds-icon-stroke); margin-top: 2px; }
.notice h4  { margin-bottom: var(--ds-s-2); font-size: var(--ds-fs-body); font-weight: var(--ds-wt-med); }
.notice p   { font-size: var(--ds-fs-small); margin-bottom: 0; }
.notice--info        { background: var(--ds-brand-tint);   border-color: var(--ds-brand); color: var(--ds-ink); }
.notice--info    svg { stroke: var(--ds-brand); }
.notice--success     { background: var(--ds-success-tint); border-color: var(--ds-success); }
.notice--success svg { stroke: var(--ds-success); }
.notice--warning     { background: var(--ds-warning-tint); border-color: var(--ds-warning); }
.notice--warning svg { stroke: var(--ds-warning); }
.notice--danger      { background: var(--ds-danger-tint);  border-color: var(--ds-danger); }
.notice--danger  svg { stroke: var(--ds-danger); }

.field { margin-bottom: var(--ds-s-5); }
.field label { display: block; font-weight: var(--ds-wt-med); font-size: var(--ds-fs-small); margin-bottom: var(--ds-s-2); }
.field .hint { display: block; font-weight: var(--ds-wt-body); color: var(--ds-ink-muted); }
.field input, .field textarea, .field select {
  width: 100%; min-height: var(--ds-tap);
  padding: var(--ds-s-3) var(--ds-s-4);
  font-family: inherit; font-size: 1.1875rem; color: var(--ds-ink);
  background: var(--ds-surface-1);
  border: 2px solid var(--ds-line); border-radius: var(--ds-radius-sm);
  transition: border-color var(--ds-speed) ease;
}
.field textarea { min-height: 130px; resize: vertical; }
.field input:hover, .field textarea:hover { border-color: var(--ds-ink-muted); }
.field input:focus, .field textarea:focus { border-color: var(--ds-brand); background: #fff; }

.field-row { display: grid; gap: var(--ds-s-5); }
@media (min-width: 700px) { .field-row { grid-template-columns: 1fr 1fr; } }

.req { color: var(--ds-danger); font-weight: var(--ds-wt-bold); }

.field--error input, .field--error textarea { border-color: var(--ds-danger); background: var(--ds-danger-tint); }
.field__err {
  display: flex; align-items: center; gap: var(--ds-s-2); margin-top: var(--ds-s-2);
  font-size: var(--ds-fs-small); font-weight: var(--ds-wt-med); color: var(--ds-danger);
}
.field__err svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: var(--ds-icon-stroke-md); }

.consent { display: flex; gap: var(--ds-s-4); align-items: flex-start; margin-bottom: var(--ds-s-5); }
.consent input { width: 32px; height: 32px; flex: none; margin-top: 4px; accent-color: var(--ds-brand); }
.consent label { font-size: var(--ds-fs-small); color: var(--ds-ink-muted); font-weight: var(--ds-wt-body); }

.empty {
  text-align: center; padding: var(--ds-s-8) var(--ds-s-5);
  background: var(--ds-surface-0); border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
}
.empty__icon {
  width: 64px; height: 64px; margin: 0 auto var(--ds-s-5);
  display: grid; place-items: center;
  background: var(--ds-brand-tint); border-radius: 50%;
}
.empty__icon svg { width: 32px; height: 32px; fill: none; stroke: var(--ds-brand); stroke-width: var(--ds-icon-stroke-lg); }
.empty p { margin-inline: auto; color: var(--ds-ink-muted); }

.table-wrap {
  overflow-x: auto; border: 1px solid var(--ds-line); border-radius: var(--ds-radius);
  background: var(--ds-surface-0); box-shadow: var(--ds-shadow-1);
  margin-bottom: var(--ds-s-5);
}
table.data { width: 100%; min-width: 34rem; border-collapse: collapse; }
table.data th, table.data td {
  text-align: left; padding: var(--ds-s-4) var(--ds-s-5);
  border-bottom: 1px solid var(--ds-line); vertical-align: top;
}
table.data thead th {
  font-weight: var(--ds-wt-med); font-size: var(--ds-fs-small);
  color: var(--ds-brand); background: var(--ds-surface-2); letter-spacing: .01em;
}
table.data tbody tr:last-child td { border-bottom: 0; }
table.data td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
table.data .win   { color: var(--ds-success); font-weight: var(--ds-wt-med); }

.prose { max-width: var(--ds-measure); }
.prose > * + * { margin-top: var(--ds-s-5); }
.prose h2 { margin-top: var(--ds-s-8); }
.prose h3 { margin-top: var(--ds-s-7); }
.prose ul, .prose ol { padding-left: 1.35em; }
.prose li { margin-bottom: var(--ds-s-3); }
.prose blockquote {
  margin: var(--ds-s-6) 0; padding: var(--ds-s-5) var(--ds-s-6);
  border-left: 5px solid var(--ds-brand); background: var(--ds-surface-2);
  border-radius: 0 var(--ds-radius-sm) var(--ds-radius-sm) 0;
  font-size: var(--ds-fs-lead); letter-spacing: var(--ds-ls-lead);
}
.prose blockquote p { margin: 0; }
.prose figure { margin: var(--ds-s-6) 0; }
.prose figure img { border-radius: var(--ds-radius); box-shadow: var(--ds-shadow-1); }
.prose figcaption { margin-top: var(--ds-s-3); font-size: var(--ds-fs-small); color: var(--ds-ink-muted); }

.faq { max-width: 52rem; }
.faq details {
  background: #fff; border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-sm); margin-bottom: var(--ds-s-4);
  box-shadow: var(--ds-shadow-1);
}
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s-4);
  min-height: var(--ds-tap); padding: var(--ds-s-4) var(--ds-s-5);
  font-size: 1.25rem; font-weight: var(--ds-wt-med); letter-spacing: var(--ds-ls-lead);
  cursor: pointer; list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.75rem; font-weight: 400; color: var(--ds-brand); line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq__body { padding: 0 var(--ds-s-5) var(--ds-s-5); color: var(--ds-ink-muted); }

.faq .accordion-item {
  background: #fff; border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-sm); margin-bottom: var(--ds-s-4);
  box-shadow: var(--ds-shadow-1);
  overflow: hidden;
}

.faq .accordion-title-wrapper {
  display: flex; align-items: center;
  min-height: var(--ds-tap);
  padding: var(--ds-s-4) var(--ds-s-5);
  margin-bottom: 0;
}
.faq .accordion-title {
  flex: 1;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--ds-s-4);
}
.faq .accordion-title .title {
  font-size: 1.25rem;
  font-weight: var(--ds-wt-med);
  letter-spacing: var(--ds-ls-lead);
  line-height: 1.3;
  color: var(--ds-ink);
  margin: 0;
}

.faq .accordion-title .icon { font-size: 0; margin: 0; }
.faq .accordion-title::after {
  content: "+";
  flex: none;
  font-size: 1.75rem; font-weight: 400; line-height: 1;
  color: var(--ds-brand);
}
.faq .accordion-item.brx-open .accordion-title::after { content: "–"; }

.faq .accordion-content-wrapper {
  padding: 0 var(--ds-s-5) var(--ds-s-5);
  color: var(--ds-ink-muted);
}
.faq .accordion-content-wrapper > :last-child { margin-bottom: 0; }

.faq.brxe-accordion-nested > * {
  background: #fff; border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-sm); margin-bottom: var(--ds-s-4);
  box-shadow: var(--ds-shadow-1);
  overflow: hidden;
}
.faq.brxe-accordion-nested .accordion-title-wrapper {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s-4);
  min-height: var(--ds-tap);
  padding: var(--ds-s-4) var(--ds-s-5);
}
.faq.brxe-accordion-nested .accordion-title-wrapper :where(h2, h3, h4) {
  font-size: 1.25rem;
  font-weight: var(--ds-wt-med);
  letter-spacing: var(--ds-ls-lead);
  line-height: 1.35;
  color: var(--ds-ink);
}

.faq.brxe-accordion-nested .brx-icon-collapsed,
.faq.brxe-accordion-nested .brx-icon-expanded { display: none; }
.faq.brxe-accordion-nested .accordion-title-wrapper::after {
  content: "+"; font-size: 1.75rem; font-weight: 400; line-height: 1;
  color: var(--ds-brand); flex: none;
}
.faq.brxe-accordion-nested > .brx-open > .accordion-title-wrapper::after { content: "–"; }
.faq.brxe-accordion-nested .accordion-content-wrapper {
  padding: 0 var(--ds-s-5) var(--ds-s-5);
  color: var(--ds-ink-muted);
}

.band__inner { display: grid; gap: var(--ds-s-6); align-items: center; }
@media (min-width: 900px) { .band__inner { grid-template-columns: 1.35fr 1fr; } }
.band h2 { margin-bottom: var(--ds-s-3); }
.band p  { color: rgba(255,255,255,.92); }

.footer { background: var(--ds-brand-deep); color: #fff; padding-block: var(--ds-section-y); }
.footer a { color: #fff; }
.footer a:hover { color: #F3CBDA; }
.footer h2, .footer h3 { color: #fff; }

.footer__grid { display: grid; gap: var(--ds-s-8); }

.footer__grid > * { min-width: 0; }
@media (min-width: 900px) { .footer__grid { grid-template-columns: 1fr 1.1fr; } }

.footer__contact { list-style: none; margin: 0 0 var(--ds-s-6); padding: 0; }
.footer__contact li { margin-bottom: var(--ds-s-3); }
.footer__contact a {
  display: inline-flex; align-items: center; gap: var(--ds-s-3);
  min-height: 48px; font-size: 1.25rem; font-weight: 600;
  overflow-wrap: anywhere;
}
.footer__contact svg { flex: none; width: 24px; height: 24px; fill: none; stroke: #F3CBDA; stroke-width: var(--ds-icon-stroke); }

.footer__nav { list-style: none; margin: 0; padding: 0; column-gap: var(--ds-s-6); }
@media (min-width: 480px) { .footer__nav { columns: 2; } }
.footer__nav li { break-inside: avoid; margin-bottom: var(--ds-s-2); }
.footer__nav a { display: inline-flex; align-items: center; min-height: 46px; padding-right: var(--ds-s-3); font-size: var(--ds-fs-small); }

.form-card {
  display: block;
  background: #fff; color: var(--ds-ink);
  border-radius: var(--ds-radius);
  padding: clamp(1.5rem, 1rem + 2.5vw, 2.5rem);
  box-shadow: var(--ds-shadow-2);
}
.form-card h2  { color: var(--ds-brand); margin-bottom: var(--ds-s-3); }
.form-card > p { color: var(--ds-ink-muted); font-size: var(--ds-fs-small); }

.form-card a       { color: var(--ds-brand-deep); }
.form-card a:hover { color: var(--ds-cta); }

.colophon {
  border-top: 1px solid rgba(255,255,255,.24);
  margin-top: var(--ds-s-8); padding-top: var(--ds-s-5);
  display: flex; flex-wrap: wrap; gap: var(--ds-s-4) var(--ds-s-6);
  align-items: center; justify-content: space-between;
  font-size: var(--ds-fs-small);
}
.colophon ul { display: flex; flex-wrap: wrap; gap: var(--ds-s-5); list-style: none; margin: 0; padding: 0; }
.colophon a  { display: inline-flex; align-items: center; min-height: 44px; }

@media (min-width: 900px) {
  .split--form { grid-template-columns: 1fr .85fr; align-items: start; }
  .split--form > .form-card { position: sticky; top: calc(var(--ds-header-h) + var(--ds-s-5)); }
}

.contact-list { list-style: none; margin: 0 0 var(--ds-s-6); padding: 0; }
.contact-list li { display: flex; align-items: flex-start; gap: var(--ds-s-3); margin-bottom: var(--ds-s-4); }
.contact-list a { display: inline-flex; align-items: center; min-height: 48px; font-size: 1.25rem; font-weight: 600; color: var(--ds-brand-deep); overflow-wrap: anywhere; }
.contact-list svg { flex: none; width: 24px; height: 24px; margin-top: 12px; fill: none; stroke: var(--ds-brand); stroke-width: var(--ds-icon-stroke); }
.contact-list address { font-style: normal; padding-top: 10px; }
.contact-list small { display: block; color: var(--ds-ink-muted); font-size: var(--ds-fs-small); }

.brochure-cover { width: 100%; max-width: 420px; height: auto; justify-self: center; }

a.card--link { color: inherit; text-decoration: none; transition: box-shadow var(--ds-speed) ease, border-color var(--ds-speed) ease; }
a.card--link:hover { border-color: var(--ds-brand); box-shadow: var(--ds-shadow-2); }
a.card--link:hover .card__link { text-decoration-thickness: 2px; }
.card--link .card__link { color: var(--ds-brand-deep); text-decoration: underline; text-underline-offset: .2em; }

table.data.data--wide { min-width: 50rem; }
table.data.data--wide tbody th { width: 9rem; }

.brxe-section[id], .brxe-block[id] { scroll-margin-top: calc(var(--ds-header-h) + var(--ds-s-4)); }

.table-wrap--fit table.data { min-width: 0; }

.form-card h3 { color: var(--ds-brand); margin-bottom: var(--ds-s-3); }

.notice__icon { flex: none; width: auto; line-height: 0; }

table.data tbody tr:last-child th { border-bottom: 0; }

.table-wrap--wide table.data { min-width: 46rem; }

.section--tint .chips li { background: var(--ds-surface-0); }

@media (max-width: 599px) {
  .grid--gallery { grid-template-columns: repeat(2, 1fr); gap: var(--ds-s-3); }
}

.header__actions--lp { margin-left: auto; }

.footer--lp .colophon { margin-top: 0; border-top: 0; padding-top: 0; }

.band .link-cta { color: var(--ds-brand-tint); }
.band .link-cta:hover { color: #fff; }

.testimonial__img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }

.review p { color: var(--ds-ink); }
.review .testimonial__cite { margin-top: auto; padding-top: var(--ds-s-4); }

.legal table { width: 100%; border-collapse: collapse; font-size: var(--ds-fs-small); margin-bottom: var(--ds-s-6); }
.legal th, .legal td { text-align: left; vertical-align: top; padding: var(--ds-s-2) var(--ds-s-3) var(--ds-s-2) 0; border-bottom: 1px solid var(--ds-line); }
.legal th { color: var(--ds-brand); font-weight: var(--ds-wt-med); }
.legal { overflow-wrap: anywhere; }
.legal table { overflow-wrap: normal; }
.legal td:first-child { overflow-wrap: anywhere; }
.legal h4 { font-size: var(--ds-fs-body); margin-bottom: var(--ds-s-2); }

.badge-strip { display: grid; gap: var(--ds-s-4) var(--ds-s-3); grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; width: 100%; }
@media (min-width: 700px) { .badge-strip { gap: var(--ds-s-6) var(--ds-s-5); } }
.badge-strip__item { display: flex; flex-direction: column; align-items: center; gap: var(--ds-s-3); text-align: center; margin: 0; }
.badge-strip__item img { height: 64px; width: auto; max-width: 100%; object-fit: contain; }
@media (min-width: 700px) { .badge-strip__item img { height: 88px; } }
.badge-strip__item p { margin: 0; max-width: 22ch; font-size: .9375rem; line-height: 1.4; color: var(--ds-ink-muted); }
@media (min-width: 700px) { .badge-strip__item p { font-size: var(--ds-fs-small); } }
.badge-strip__item strong { display: block; color: var(--ds-ink); }

.form-card--cover { margin-top: var(--ds-s-8); overflow: visible; }
.form-card__cover { display: block; width: min(260px, 65%); height: auto; margin: calc(-1 * var(--ds-s-9) - var(--ds-s-5)) auto var(--ds-s-3); filter: drop-shadow(0 12px 18px rgba(28, 20, 24, .18)); }

@media (min-width: 900px) {
  .split--photo { grid-template-columns: 5fr 7fr; align-items: stretch; }
  .split--photo > .feature-img { aspect-ratio: auto; height: 100%; min-height: 0; object-fit: cover; object-position: right center; }
}

.photo-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-s-3); width: 100%; }
@media (min-width: 700px) { .photo-band { gap: var(--ds-s-5); } }
.photo-band img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--ds-radius); }
.photo-band-section { padding-block: var(--ds-s-7); }

.card--post { padding: 0; overflow: hidden; }
.card--post .card__media { aspect-ratio: 16 / 9; margin: 0; border-radius: 0; }
.card--post .card__media img { width: 100%; height: 100%; object-fit: cover; }
.card--post > :not(.card__media) { padding-inline: var(--ds-s-5); }
.card--post > :first-child:not(.card__media) { padding-top: var(--ds-s-5); }

.card--post .card__media + * { padding-top: var(--ds-s-5); }
.card--post > :last-child { padding-bottom: var(--ds-s-5); }

.post-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-s-2) var(--ds-s-3);
  margin: 0 0 var(--ds-s-3);
  font-size: var(--ds-fs-small); font-weight: 500; color: var(--ds-ink-muted);
}
.post-meta > * + *::before { content: "·"; margin-right: var(--ds-s-3); color: var(--ds-line); }
.post-meta time, .post-meta span { display: inline; }

.article { max-width: 44rem; }
.article > * + * { margin-top: var(--ds-s-6); }

.article__contents {
  width: 100%;
  background: var(--ds-surface-1); border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-sm); padding: var(--ds-s-5);
}
.article__contents h2 { font-size: var(--ds-fs-body); margin-bottom: var(--ds-s-3); }

.article__contents ol, .article__contents ul { margin: 0; padding-left: var(--ds-s-5); }
.article__contents li { margin-bottom: var(--ds-s-2); }
.article__contents a { color: var(--ds-brand-deep); }

.pagination { margin-top: var(--ds-s-7); }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: var(--ds-tap); min-height: var(--ds-tap); padding: 0 var(--ds-s-3);
  border: 1px solid var(--ds-line); border-radius: var(--ds-radius-sm);
  margin-right: var(--ds-s-2);
  font-weight: 500; color: var(--ds-ink); text-decoration: none;
}
.pagination .page-numbers:hover { background: var(--ds-surface-2); color: var(--ds-brand-deep); }
.pagination .page-numbers.current { background: var(--ds-brand); border-color: var(--ds-brand); color: #fff; }
.pagination .page-numbers.dots { border-color: transparent; }

.tbc {
  display: inline-flex; align-items: center; gap: var(--ds-s-2);
  font-size: .9375rem; font-weight: 600; letter-spacing: .02em;
  color: #7A5B00; background: #FFF3D1; border: 1px dashed #D9A800;
  padding: var(--ds-s-2) var(--ds-s-3); border-radius: var(--ds-radius-pill);
  margin-bottom: var(--ds-s-4);
}
.tbc-slot {
  border: 2px dashed var(--ds-line); border-radius: var(--ds-radius-sm);
  padding: var(--ds-s-5); text-align: center; color: var(--ds-ink-muted);
  font-size: var(--ds-fs-small); background: var(--ds-surface-1);
}
.tbc-figure { font-size: 2.5rem; font-weight: var(--ds-wt-bold); color: var(--ds-line); line-height: 1; margin-bottom: var(--ds-s-2); }

.tbc-slot--image { aspect-ratio: 3 / 2; display: grid; place-items: center; }

.gform_wrapper { margin: 0; }
.gform_wrapper form { margin: 0; }

.gform_wrapper .gform_heading { display: none; }
.gform_wrapper .gform_required_legend { display: none; }

.gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--ds-s-5);
  list-style: none; margin: 0; padding: 0;
}
.gform_wrapper .gfield { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 700px) {
  .gform_wrapper .gfield--width-half    { grid-column: span 6; }
  .gform_wrapper .gfield--width-third   { grid-column: span 4; }
  .gform_wrapper .gfield--width-quarter { grid-column: span 3; }
  .gform_wrapper .gfield--width-two-thirds   { grid-column: span 8; }
  .gform_wrapper .gfield--width-three-quarters { grid-column: span 9; }
}
.gform_wrapper .gfield--type-html { margin: 0; }
.gform_wrapper .gfield_visibility_hidden,
.gform_wrapper .gform_hidden { display: none; }

.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-honeypot {
  position: absolute !important;
  left: -9999px !important;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.gform_wrapper .gfield_label {
  display: block;
  font-size: var(--ds-fs-small);
  font-weight: var(--ds-wt-med);
  color: var(--ds-ink);
  margin-bottom: var(--ds-s-2);
  line-height: 1.4;
}
.gform_wrapper .gfield_required {
  color: var(--ds-danger);
  font-weight: var(--ds-wt-bold);
  margin-left: 2px;
}

.gform_wrapper .gfield_description {
  font-size: var(--ds-fs-small);
  font-weight: var(--ds-wt-body);
  color: var(--ds-ink-muted);
  padding: 0;
  margin-top: var(--ds-s-2);
}
.gform_wrapper .gfield_description.gfield_consent_description { margin-top: var(--ds-s-3); }

.gform_wrapper .ginput_container input[type="text"],
.gform_wrapper .ginput_container input[type="email"],
.gform_wrapper .ginput_container input[type="tel"],
.gform_wrapper .ginput_container input[type="url"],
.gform_wrapper .ginput_container input[type="number"],
.gform_wrapper .ginput_container input[type="password"],
.gform_wrapper .ginput_container input[type="date"],
.gform_wrapper .ginput_container select,
.gform_wrapper .ginput_container textarea {
  width: 100%;
  min-height: var(--ds-tap);
  padding: var(--ds-s-3) var(--ds-s-4);
  font-family: inherit;
  font-size: 1.1875rem;
  font-weight: var(--ds-wt-body);
  line-height: 1.4;
  color: var(--ds-ink);
  background: var(--ds-surface-1);
  border: 2px solid var(--ds-line);
  border-radius: var(--ds-radius-sm);
  transition: border-color var(--ds-speed) ease;
  appearance: none;
}

.gform_wrapper .ginput_container textarea {
  height: 180px;
  min-height: 130px;
  resize: vertical;
}
.gform_wrapper .ginput_container textarea.medium { height: 240px; }
.gform_wrapper .ginput_container textarea.large  { height: 320px; }
.gform_wrapper .ginput_container input:hover,
.gform_wrapper .ginput_container textarea:hover,
.gform_wrapper .ginput_container select:hover { border-color: var(--ds-ink-muted); }
.gform_wrapper .ginput_container input:focus,
.gform_wrapper .ginput_container textarea:focus,
.gform_wrapper .ginput_container select:focus {
  border-color: var(--ds-brand);
  background: var(--ds-surface-0);
}
.gform_wrapper .ginput_container input::placeholder,
.gform_wrapper .ginput_container textarea::placeholder { color: var(--ds-ink-muted); opacity: 1; }

.gform_wrapper .ginput_container select {
  padding-right: var(--ds-s-7);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235A4E53'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--ds-s-4) center;
  background-size: 24px 24px;
}

.gform_wrapper .ginput_complex label {
  display: block;
  font-size: var(--ds-fs-small);
  color: var(--ds-ink-muted);
  margin-top: var(--ds-s-2);
}
.gform_wrapper .ginput_complex { display: grid; gap: var(--ds-s-4); }
@media (min-width: 700px) { .gform_wrapper .ginput_complex.ginput_container_name { grid-template-columns: 1fr 1fr; } }

.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio { display: grid; gap: var(--ds-s-3); margin: 0; padding: 0; list-style: none; }
.gform_wrapper .gchoice { display: flex; align-items: flex-start; gap: var(--ds-s-4); min-height: 44px; }
.gform_wrapper .gchoice input[type="checkbox"],
.gform_wrapper .gchoice input[type="radio"],
.gform_wrapper .ginput_container_consent input[type="checkbox"] {
  width: 32px; height: 32px; flex: none; margin: 2px 0 0;
  accent-color: var(--ds-brand);
}
.gform_wrapper .gchoice label,
.gform_wrapper .ginput_container_consent label {
  font-size: var(--ds-fs-small);
  font-weight: var(--ds-wt-body);
  color: var(--ds-ink-muted);
  line-height: 1.5;
}
.gform_wrapper .ginput_container_consent { display: flex; align-items: flex-start; gap: var(--ds-s-4); }

.gform_wrapper .gfield_error .gfield_label { color: var(--ds-danger); }

.gform_wrapper .gfield_error .ginput_container input,
.gform_wrapper .gfield_error .ginput_container select,
.gform_wrapper .gfield_error .ginput_container textarea {
  border-color: var(--ds-danger);
  background: var(--ds-danger-tint);
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  display: flex; align-items: flex-start; gap: var(--ds-s-2);
  margin-top: var(--ds-s-2);
  font-size: var(--ds-fs-small);
  font-weight: var(--ds-wt-med);
  color: var(--ds-danger);
  background: none; border: 0; padding: 0;
}

.gform_wrapper .gfield_validation_message::before,
.gform_wrapper .validation_message::before {
  content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px;
  background: var(--ds-danger);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2zm0-4h-2v-4h2z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21zm12-3h-2v-2h2zm0-4h-2v-4h2z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.gform_wrapper .gform_validation_errors {
  display: flex; gap: var(--ds-s-4);
  padding: var(--ds-s-5);
  margin-bottom: var(--ds-s-6);
  background: var(--ds-danger-tint);
  border: 0; border-left: 5px solid var(--ds-danger);
  border-radius: var(--ds-radius-sm);
  box-shadow: none;
}
.gform_wrapper .gform_validation_errors > h2 {
  margin: 0; font-size: var(--ds-fs-body); font-weight: var(--ds-wt-med);
  color: var(--ds-danger); letter-spacing: 0;
}

.gform_wrapper .gform_footer { margin: var(--ds-s-6) 0 0; padding: 0; }
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%;
  min-height: var(--ds-tap-lg);
  padding: var(--ds-s-3) var(--ds-s-6);
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: var(--ds-wt-med);
  line-height: 1.2;
  letter-spacing: var(--ds-ls-lead);
  text-align: center;
  color: #fff;
  background: var(--ds-cta);
  border: 2px solid transparent;
  border-radius: var(--ds-radius-sm);
  cursor: pointer;
  transition: background-color var(--ds-speed) ease;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover { background: var(--ds-cta-hover); }
.gform_wrapper .gform_button:disabled { opacity: .55; cursor: not-allowed; }

.gform_wrapper .gform_ajax_spinner { width: 24px; height: 24px; margin-left: var(--ds-s-3); }

.gform_confirmation_message {
  display: flex; gap: var(--ds-s-4);
  padding: var(--ds-s-5);
  background: var(--ds-success-tint);
  border-left: 5px solid var(--ds-success);
  border-radius: var(--ds-radius-sm);
  font-size: var(--ds-fs-body);
  color: var(--ds-ink);
}

.form-card .gform_wrapper .gfield_label { color: var(--ds-ink); }
.form-card .gform_wrapper a { color: var(--ds-brand-deep); }
.form-card .gform_wrapper a:hover { color: var(--ds-cta); }

.gform_wrapper :focus-visible {
  outline: 3px solid var(--ds-focus);
  outline-offset: 3px;
  border-radius: 4px;
}

#gform_wrapper_1 .gfield_radio {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--ds-s-6);
  row-gap: var(--ds-s-3);
}

#gform_wrapper_1 .gfield_radio .gchoice {
  flex: 0 0 auto;
  align-items: center;
}

#gform_wrapper_1 .ginput_container textarea {
  height: 110px;
  min-height: 90px;
}
