/**
 * Sheltra brand guide application layer.
 *
 * Loaded after the legacy component sheets so the live editorial snapshot can
 * keep its existing classes and block attributes while sharing one visual
 * language in the frontend and editor.
 */

:root,
.editor-styles-wrapper {
  --sheltra-forest: var(--wp--preset--color--forest);
  --sheltra-sage: var(--wp--preset--color--sage);
  --sheltra-warm-white: var(--wp--preset--color--warm-white);
  --sheltra-terracotta: var(--wp--preset--color--terracotta);
  --sheltra-terracotta-soft: color-mix(in srgb, var(--sheltra-terracotta) 24%, var(--sheltra-warm-white));
  --sheltra-sand: var(--wp--preset--color--sand);
  --sheltra-action: var(--wp--preset--color--action);
  --sheltra-action-hover: color-mix(in srgb, var(--sheltra-action) 84%, #000);
  --sheltra-muted: color-mix(in srgb, var(--sheltra-forest) 78%, var(--sheltra-warm-white));
  --sheltra-line: color-mix(in srgb, var(--sheltra-forest) 24%, transparent);
  --sheltra-line-strong: color-mix(in srgb, var(--sheltra-forest) 48%, transparent);
  --sheltra-shadow-sm: 0 8px 24px color-mix(in srgb, var(--sheltra-forest) 8%, transparent);
  --sheltra-shadow-md: 0 14px 36px color-mix(in srgb, var(--sheltra-forest) 10%, transparent);
  --sheltra-shadow-lg: 0 20px 52px color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  --sheltra-radius-sm: 10px;
  --sheltra-radius-md: 16px;
  --sheltra-radius-lg: 20px;
  --sheltra-radius-xl: 24px;
  --sheltra-font-ui: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sheltra-font-display: "Playfair Display", Georgia, serif;

  /* Backwards-compatible aliases used by published blocks. */
  --ink: var(--sheltra-forest);
  --ink-soft: var(--sheltra-muted);
  --sage: var(--sheltra-forest);
  --sage-dark: var(--sheltra-forest);
  --mint: var(--sheltra-sage);
  --mint-light: color-mix(in srgb, var(--sheltra-sage) 58%, var(--sheltra-warm-white));
  --cream: var(--sheltra-sand);
  --cream-light: var(--sheltra-warm-white);
  --paper: var(--sheltra-warm-white);
  --white: var(--sheltra-warm-white);
  --rose: var(--sheltra-terracotta);
  --sun: var(--sheltra-terracotta);
  --line: var(--sheltra-line);
  --line-strong: var(--sheltra-line-strong);
  --shadow-sm: var(--sheltra-shadow-sm);
  --shadow-md: var(--sheltra-shadow-md);
  --shadow-lg: var(--sheltra-shadow-lg);
  --radius-sm: var(--sheltra-radius-sm);
  --radius-md: var(--sheltra-radius-md);
  --radius-lg: var(--sheltra-radius-lg);
  --radius-xl: var(--sheltra-radius-xl);
  --serif: var(--sheltra-font-display);
  --sans: var(--sheltra-font-ui);
  --af-ink: var(--sheltra-forest);
  --af-sage: var(--sheltra-forest);
  --af-mint: var(--sheltra-sage);
  --af-cream: var(--sheltra-sand);
  --af-paper: var(--sheltra-warm-white);
  --af-white: var(--sheltra-warm-white);
  --af-rose: var(--sheltra-terracotta);
  --af-ink-06: color-mix(in srgb, var(--sheltra-forest) 6%, transparent);
  --af-ink-08: color-mix(in srgb, var(--sheltra-forest) 8%, transparent);
  --af-ink-12: color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  --af-ink-18: color-mix(in srgb, var(--sheltra-forest) 18%, transparent);
  --af-ink-72: var(--sheltra-muted);
  --af-shadow-sm: var(--sheltra-shadow-sm);
  --af-shadow-lg: var(--sheltra-shadow-lg);
  --af-radius-sm: var(--sheltra-radius-sm);
  --af-radius-md: var(--sheltra-radius-md);
  --af-radius-lg: var(--sheltra-radius-lg);
  --af-radius-xl: var(--sheltra-radius-xl);
}

html {
  background: var(--sheltra-warm-white);
}

@media (min-width: 768px) {
  html {
    scrollbar-gutter: stable;
  }
}

body,
button,
input,
select,
textarea,
.editor-styles-wrapper {
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
}

body,
.wp-site-blocks,
.editor-styles-wrapper {
  background-color: var(--sheltra-warm-white);
}

body {
  background-image: url("../img/paper-grain.svg");
  background-attachment: fixed;
}

.hero-picture {
  display: contents;
}

h1,
h2,
h3,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.section-title,
.af-about-hero-title,
.af-about-quote blockquote,
.af-pricing-intro-content h2,
.af-comparison-hero-intro h1,
.af-comparison-hero-visual-heading h2,
.sheltra-action-modal__message h2,
.sheltra-action-modal__form-panel h3 {
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.dashboard h1,
.dashboard h2,
.dashboard h3,
.software-shell h1,
.software-shell h2,
.software-shell h3,
.af-product-mock h1,
.af-product-mock h2,
.af-product-mock h3,
.sheltra-action-modal__form-panel h3 {
  font-family: var(--sheltra-font-ui);
  letter-spacing: -0.02em;
}

.highlight,
.serif,
.af-serif,
.af-pricing-intro-content h2 .serif,
.af-comparison-hero-intro h1 .serif {
  color: var(--sheltra-action);
  font-family: var(--sheltra-font-display);
  font-style: italic;
  font-weight: 600;
  letter-spacing: -0.025em;
}

p,
.section-lead,
.hero-copy p,
.af-page-hero p,
.af-pricing-intro-text {
  color: var(--sheltra-muted);
}

a {
  text-decoration-color: color-mix(in srgb, var(--sheltra-forest) 55%, transparent);
  text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--sheltra-action);
  outline-offset: 3px;
}

::selection {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
}

/* Navigation and global chrome. */
.announcement,
.sheltra-action-bar--above-navigation {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

.announcement strong,
.announcement a,
.sheltra-action-bar--above-navigation a {
  color: var(--sheltra-warm-white);
}

.announcement a,
.sheltra-action-bar--above-navigation a {
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.site-header {
  border-color: color-mix(in srgb, var(--sheltra-forest) 10%, transparent);
  background: color-mix(in srgb, var(--sheltra-warm-white) 94%, transparent);
  box-shadow: none;
}

.site-header.scrolled {
  border-color: var(--sheltra-line);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--sheltra-forest) 8%, transparent);
}

.nav-trigger,
.nav-direct,
.login-link,
.language-current,
.mobile-subnav-link {
  color: var(--sheltra-forest);
  font-weight: 700;
}

.nav-trigger,
.nav-direct {
  border-radius: var(--sheltra-radius-sm);
}

.nav-trigger:hover,
.nav-trigger:focus-visible,
.nav-direct:hover,
.nav-direct:focus-visible,
.nav-item[open] .nav-trigger,
.nav-direct.current-menu-item,
.nav-item.current-menu-ancestor .nav-trigger {
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
}

.mega-menu,
.language-menu,
.mobile-menu {
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-lg);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-lg);
}

.mega-feature,
.mega-menu-side {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

.mega-feature p,
.mega-menu-side p {
  color: var(--sheltra-sage);
}

.mega-icon,
.nav-phone-icon,
.language-option:hover,
.language-option:focus-visible {
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
}

.mobile-toggle,
.nav-actions .nav-phone {
  border-color: var(--sheltra-line-strong);
  border-radius: var(--sheltra-radius-sm);
  background: var(--sheltra-warm-white);
  box-shadow: none;
}

/* Keep the above-the-fold headline paintable immediately for stable LCP. */
.hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* Buttons and text actions. */
.button,
.wp-element-button,
.af-comparison-hero-actions .button,
.af-editor-comparison-hero .af-comparison-hero-actions > span,
.af-registration-submit,
.af-contact-submit,
.af-start-partner__submit,
.sheltra-action-form__submit,
.sheltra-action-bar__link,
.sheltra-action-bar__button,
.sheltra-help-center .help-search button {
  min-height: 48px;
  padding-inline: 22px;
  border: 1.5px solid var(--sheltra-action);
  border-radius: var(--sheltra-radius-sm);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  font-family: var(--sheltra-font-ui);
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.button:hover,
.wp-element-button:hover,
.af-comparison-hero-actions .button:hover,
.af-registration-submit:hover,
.af-contact-submit:hover,
.af-start-partner__submit:hover,
.sheltra-action-form__submit:hover:not(:disabled),
.sheltra-action-bar__link:hover,
.sheltra-action-bar__button:hover,
.sheltra-help-center .help-search button:hover {
  border-color: var(--sheltra-action-hover);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action-hover);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--sheltra-forest) 16%, transparent);
  transform: translateY(-1px);
}

.button:active,
.wp-element-button:active,
.af-registration-submit:active,
.af-contact-submit:active,
.af-start-partner__submit:active,
.sheltra-action-form__submit:active {
  box-shadow: none;
  transform: translateY(0);
}

.button-light,
.button-sage,
.af-comparison-hero-button--secondary,
.af-start-partner__secondary-action,
.af-registration-social,
.arkflow-consent-actions .button-light,
.sheltra-action-modal__close,
.sheltra-action-form__submit--secondary,
.sheltra-help-center .button-light {
  border-color: var(--sheltra-forest);
  color: var(--sheltra-forest);
  background: var(--sheltra-warm-white);
  box-shadow: none;
}

.button-light:hover,
.button-sage:hover,
.af-comparison-hero-button--secondary:hover,
.af-start-partner__secondary-action:hover,
.af-registration-social:hover,
.arkflow-consent-actions .button-light:hover,
.sheltra-action-modal__close:hover,
.sheltra-action-form__submit--secondary:hover:not(:disabled) {
  border-color: var(--sheltra-forest);
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  box-shadow: none;
}

/* Featured pricing surfaces keep their CTA on the accessible primary pair. */
.af-pricing-card--dark .button.button-light,
.af-price-card.org.has-offer .button.button-light {
  border-width: 1px;
  border-color: var(--sheltra-action);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
}

.af-pricing-card--dark .button.button-light:hover,
.af-pricing-card--dark .button.button-light:focus-visible,
.af-price-card.org.has-offer .button.button-light:hover,
.af-price-card.org.has-offer .button.button-light:focus-visible {
  border-color: var(--sheltra-action-hover);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action-hover);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--sheltra-forest) 16%, transparent);
}

/* Form submits persist the legacy `button-sage` class, but are primary CTAs. */
.button.button-sage.af-registration-submit,
.button.button-sage.af-contact-submit {
  border-color: var(--sheltra-action);
  border-radius: var(--sheltra-radius-sm);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
}

.button.button-sage.af-registration-submit:hover:not(:disabled),
.button.button-sage.af-contact-submit:hover:not(:disabled) {
  border-color: var(--sheltra-action-hover);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action-hover);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--sheltra-forest) 16%, transparent);
}

.button.button-sage.af-registration-submit:active:not(:disabled),
.button.button-sage.af-contact-submit:active:not(:disabled) {
  background: var(--sheltra-action-hover);
  box-shadow: none;
  transform: translateY(0);
}

.button.button-sage.af-registration-submit:disabled,
.button.button-sage.af-contact-submit:disabled,
.button[disabled],
.button[aria-disabled="true"],
.wp-element-button[disabled],
.af-registration-submit:disabled,
.af-contact-submit:disabled,
.af-start-partner__submit:disabled,
.sheltra-action-form__submit:disabled {
  border-color: color-mix(in srgb, var(--sheltra-forest) 36%, transparent);
  color: color-mix(in srgb, var(--sheltra-forest) 64%, transparent);
  background: var(--sheltra-sand);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.text-link,
.af-card-link,
.af-contact-light-direct a,
.af-faq-answer a,
.sheltra-help-center .help-text-link,
.sheltra-help-center .help-card-action,
.sheltra-help-center .help-breadcrumbs a {
  color: var(--sheltra-forest);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--sheltra-terracotta);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.22em;
}

/* Paper, sand and sage surfaces. */
.hero,
.home-photo-hero,
.af-page-hero,
.af-comparison-hero,
.af-about-hero,
.article-hero,
.sheltra-help-center .help-hero,
.sheltra-help-center .help-category-hero,
.sheltra-help-center .help-article-header {
  color: var(--sheltra-forest);
  background-color: var(--sheltra-sand);
  background-image: url("../img/paper-grain.svg");
  background-position: left top;
  background-repeat: repeat;
}

.af-comparison-hero,
.home-photo-hero,
.sheltra-help-center .help-hero {
  background-color: var(--sheltra-sage);
}

.section,
.product-section,
.af-solution-core-section,
.af-modular-section,
.af-form-section,
.af-registration-section,
.af-pricing-cards-section,
.af-price-containers-section,
.af-comparison-section,
.af-addons-section,
.af-about-values,
.af-about-team,
.article-body-section,
.sheltra-help-center .help-section,
.sheltra-help-center .help-category-content,
.sheltra-help-center .help-article-layout {
  color: var(--sheltra-forest);
  background-color: var(--sheltra-warm-white);
}

.faq,
.why,
.outcomes,
.af-bento-section,
.af-section-bg--pastel-mint,
.af-start-partner--bg-mint,
.af-pricing-cards-section,
.sheltra-help-center .help-section-categories {
  background-color: var(--sheltra-sage);
}

.cta-section,
.testphase,
.af-section-bg--pastel-cream,
.af-start-partner--bg-cream,
.af-about-history,
.sheltra-help-center .help-support-cta {
  background-color: var(--sheltra-sand);
}

.af-topic-board {
  border-color: var(--sheltra-line-strong);
  border-radius: var(--sheltra-radius-xl);
  background-color: var(--af-board-color, var(--sheltra-sand));
  background-image: var(--af-board-image, none), url("../img/paper-grain.svg");
  background-position: center, left top;
  background-repeat: no-repeat, repeat;
  background-size: cover, auto;
  box-shadow: var(--sheltra-shadow-md);
}

.af-topic-board::after {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  width: min(42vw, 520px);
  aspect-ratio: 3 / 2;
  background: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--sheltra-forest) 32%, transparent) 0 34%,
    color-mix(in srgb, var(--sheltra-terracotta) 54%, transparent) 34% 64%,
    color-mix(in srgb, var(--sheltra-forest) 26%, transparent) 64% 100%
  );
  content: "";
  pointer-events: none;
  -webkit-mask: url("../img/organic-lines.svg") right bottom / contain no-repeat;
  mask: url("../img/organic-lines.svg") right bottom / contain no-repeat;
}

.af-topic-board--has-image::after {
  content: none;
}

/* Homepage product overview: readable copy and a balanced central axis. */
.section.product-section > .section-inner > .product-intro {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 26px;
  text-align: center;
}

.section.product-section > .section-inner > .product-intro .section-head {
  width: min(100%, 980px);
  max-width: none;
  margin-inline: auto;
}

.section.product-section > .section-inner > .product-intro .section-kicker {
  justify-content: center;
  color: var(--sheltra-forest);
}

.section.product-section > .section-inner > .product-intro .section-lead {
  max-width: 800px;
  margin-inline: auto;
  color: var(--sheltra-muted);
  text-align: center;
}

.section.product-section > .section-inner > .product-intro .product-tabs {
  justify-content: center;
  margin-top: 0;
}

.journey-flow {
  align-items: start;
}

.journey .journey-flow .journey-step {
  box-sizing: border-box;
  display: block;
  min-width: 0;
  height: auto;
  padding: 0 14px 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.journey .journey-flow .journey-icon {
  width: 65px;
  height: 65px;
  margin: 0 auto 19px;
  border: 1px solid var(--sheltra-forest);
  border-radius: var(--sheltra-radius-md);
  background: var(--sheltra-warm-white);
  box-shadow: 5px 6px 0 var(--sheltra-sage);
  transform: rotate(-2deg);
}

.journey .journey-flow .journey-step:nth-child(even) .journey-icon {
  background: var(--sheltra-sage);
  transform: rotate(2deg);
}

.journey .journey-flow .journey-step h3 {
  width: 100%;
  margin: 0 0 7px;
  font-family: var(--sheltra-font-ui);
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

.journey .journey-flow .journey-step p {
  width: 100%;
  max-width: 240px;
  margin: 0 auto;
  color: var(--sheltra-muted);
  font-size: 0.78rem;
  line-height: 1.55;
  text-align: center;
}

/* Product system block: an editorial overview without card chrome. */
.af-product-system {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--sheltra-forest);
  background-color: var(--sheltra-warm-white);
  background-image: url("../img/paper-grain.svg");
  background-position: left top;
  background-repeat: repeat;
}

.af-product-system::before,
.af-product-system::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.af-product-system::before {
  top: clamp(-150px, -9vw, -80px);
  left: clamp(-90px, 6vw, 110px);
  width: clamp(210px, 24vw, 410px);
  aspect-ratio: 1;
  background: color-mix(in srgb, var(--sheltra-sage) 72%, transparent);
}

.af-product-system::after {
  right: clamp(-80px, 8vw, 150px);
  bottom: clamp(-150px, -8vw, -80px);
  width: clamp(190px, 20vw, 340px);
  aspect-ratio: 1;
  background: color-mix(in srgb, var(--sheltra-terracotta) 17%, transparent);
}

.af-product-system--plain::before,
.af-product-system--plain::after {
  content: none;
}

.af-product-system__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1400px);
  margin-inline: auto;
  padding-block: clamp(88px, 8vw, 138px);
}

.af-product-system__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  align-items: end;
  gap: clamp(46px, 8vw, 132px);
  row-gap: 22px;
  margin-bottom: clamp(44px, 5vw, 78px);
}

.af-product-system__eyebrow {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid var(--sheltra-line);
  border-radius: 999px;
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  font-family: var(--sheltra-font-ui);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.25;
  text-transform: uppercase;
}

.af-product-system__title {
  max-width: 750px;
  margin: 0;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-size: clamp(3.25rem, 6vw, 6rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.96;
  text-wrap: balance;
}

.af-product-system__title .serif {
  color: var(--sheltra-action);
  font-weight: 600;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.14em;
}

.af-product-system__lead {
  max-width: 430px;
  margin: 0 0 0.35rem;
  padding: 0.2rem 0 0.2rem clamp(20px, 2.2vw, 34px);
  border-left: 3px solid var(--sheltra-sage);
  color: var(--sheltra-muted);
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
  line-height: 1.62;
}

.af-product-system__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.af-product-system__item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-content: start;
  column-gap: 18px;
  min-width: 0;
  min-height: 205px;
  padding: clamp(26px, 2.5vw, 38px) clamp(26px, 3.2vw, 48px) clamp(34px, 3.5vw, 54px) 0;
}

.af-product-system__item:not(:nth-child(3n + 1)) {
  padding-left: clamp(26px, 3.2vw, 48px);
  border-left: 1px solid var(--sheltra-line);
}

.af-product-system__item:nth-child(n + 4) {
  border-top: 1px solid color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
}

.af-product-system__meta {
  display: contents;
}

.af-product-system__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
}

.af-product-system__item--sand .af-product-system__icon {
  background: var(--sheltra-sand);
}

.af-product-system__item--terracotta .af-product-system__icon {
  background: color-mix(in srgb, var(--sheltra-terracotta) 22%, var(--sheltra-warm-white));
}

.af-product-system__item--sage .af-product-system__icon {
  background: var(--sheltra-sage);
}

.af-product-system__icon svg {
  width: 23px;
  height: 23px;
  color: currentColor;
  stroke: currentColor;
}

.af-product-system__number {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: var(--sheltra-action);
  font-family: var(--sheltra-font-ui);
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
}

.af-product-system__copy {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}

.af-product-system__copy h3 {
  margin: 0.55rem 0 0.55rem;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: clamp(1rem, 1.3vw, 1.16rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.af-product-system__copy p {
  max-width: 35ch;
  margin: 0;
  color: var(--sheltra-muted);
  font-size: clamp(0.88rem, 1vw, 0.96rem);
  line-height: 1.58;
}

@media (min-width: 961px) {
  .af-product-system--columns-2 .af-product-system__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .af-product-system--columns-2 .af-product-system__item,
  .af-product-system--columns-2 .af-product-system__item:not(:nth-child(3n + 1)) {
    padding-right: clamp(26px, 3.2vw, 48px);
    padding-left: 0;
    border-left: 0;
  }

  .af-product-system--columns-2 .af-product-system__item:nth-child(even) {
    padding-left: clamp(26px, 3.2vw, 48px);
    border-left: 1px solid var(--sheltra-line);
  }

  .af-product-system--columns-2 .af-product-system__item:nth-child(-n + 2) {
    border-top: 0;
  }

  .af-product-system--columns-2 .af-product-system__item:nth-child(n + 3) {
    border-top: 1px solid color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  }

  .af-product-system--columns-4 .af-product-system__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .af-product-system--columns-4 .af-product-system__item,
  .af-product-system--columns-4 .af-product-system__item:not(:nth-child(3n + 1)) {
    padding-right: clamp(20px, 2.4vw, 36px);
    padding-left: 0;
    border-left: 0;
  }

  .af-product-system--columns-4 .af-product-system__item:not(:nth-child(4n + 1)) {
    padding-left: clamp(20px, 2.4vw, 36px);
    border-left: 1px solid var(--sheltra-line);
  }

  .af-product-system--columns-4 .af-product-system__item:nth-child(-n + 4) {
    border-top: 0;
  }

  .af-product-system--columns-4 .af-product-system__item:nth-child(n + 5) {
    border-top: 1px solid color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  }
}

@media (min-width: 701px) and (max-width: 960px) {
  .af-product-system__intro {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 30px;
    text-align: center;
  }

  .af-product-system__eyebrow {
    justify-self: center;
  }

  .af-product-system__title,
  .af-product-system__lead {
    margin-inline: auto;
  }

  .af-product-system__lead {
    padding: 22px 0 0;
    border-top: 3px solid var(--sheltra-sage);
    border-left: 0;
  }

  .af-product-system__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .af-product-system__item,
  .af-product-system__item:not(:nth-child(3n + 1)) {
    padding: 30px 34px 40px 0;
    border-left: 0;
  }

  .af-product-system__item:nth-child(even),
  .af-product-system__item:not(:nth-child(3n + 1)):nth-child(even) {
    padding-left: 34px;
    border-left: 1px solid var(--sheltra-line);
  }

  .af-product-system__item:nth-child(n + 3) {
    border-top: 1px solid color-mix(in srgb, var(--sheltra-forest) 12%, transparent);
  }
}

@media (max-width: 700px) {
  .af-product-system__inner {
    width: min(calc(100% - 36px), 1400px);
    padding-block: 72px;
  }

  .af-product-system__intro {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 26px;
    margin-bottom: 30px;
    text-align: center;
  }

  .af-product-system__eyebrow {
    justify-self: center;
  }

  .af-product-system__title {
    max-width: 11ch;
    margin-inline: auto;
    font-size: clamp(2.65rem, 14vw, 4.5rem);
  }

  .af-product-system__lead {
    margin-inline: auto;
    padding: 20px 0 0;
    border-top: 3px solid var(--sheltra-sage);
    border-left: 0;
  }

  .af-product-system__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-product-system__item,
  .af-product-system__item:not(:nth-child(3n + 1)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    justify-items: center;
    min-height: 0;
    padding: 34px 12px 38px;
    border-left: 0;
    text-align: center;
  }

  .af-product-system__item:nth-child(n + 2) {
    border-top: 1px solid var(--sheltra-line);
  }

  .af-product-system__icon {
    grid-column: 1;
    grid-row: 1;
  }

  .af-product-system__number {
    grid-column: 1;
    grid-row: 2;
    margin-top: 14px;
  }

  .af-product-system__copy {
    grid-column: 1;
    grid-row: 3;
  }

  .af-product-system__copy p {
    margin-inline: auto;
  }
}

/* Product process comparison: one shared frame for the before/after story. */
.af-process-comparison {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--sheltra-forest);
  background-color: var(--sheltra-sand);
  background-image: url("../img/paper-grain.svg");
  background-position: left top;
  background-repeat: repeat;
}

.af-process-comparison::before,
.af-process-comparison::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.af-process-comparison::before {
  top: clamp(-120px, -6vw, -64px);
  left: clamp(-120px, 2vw, 40px);
  width: clamp(210px, 22vw, 370px);
  aspect-ratio: 1;
  background: color-mix(in srgb, var(--sheltra-sage) 78%, transparent);
}

.af-process-comparison::after {
  right: clamp(-110px, 3vw, 70px);
  bottom: clamp(-130px, -7vw, -70px);
  width: clamp(190px, 20vw, 330px);
  aspect-ratio: 1;
  border: clamp(24px, 3vw, 48px) solid color-mix(in srgb, var(--sheltra-terracotta) 22%, transparent);
}

.af-process-comparison--plain::before,
.af-process-comparison--plain::after {
  content: none;
}

.af-process-comparison__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1320px);
  margin-inline: auto;
  padding-block: clamp(82px, 8vw, 132px);
}

.af-process-comparison__header {
  width: min(100%, 850px);
  margin: 0 auto clamp(38px, 5vw, 68px);
  text-align: center;
}

.af-process-comparison__eyebrow {
  display: inline-flex;
  margin: 0 0 18px;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.af-process-comparison__title {
  margin: 0;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-size: clamp(2.8rem, 5.5vw, 5.4rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.98;
  text-wrap: balance;
}

.af-process-comparison__lead {
  max-width: 670px;
  margin: 24px auto 0;
  color: var(--sheltra-forest);
  font-size: clamp(0.98rem, 1.3vw, 1.1rem);
  line-height: 1.62;
  text-wrap: pretty;
}

.af-process-comparison__visual {
  overflow: hidden;
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-xl);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-md);
}

.af-process-comparison__screens {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.af-process-comparison__screen--without,
.af-process-comparison__screen--with {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: clamp(390px, 39vw, 520px);
  align-items: center;
  justify-content: center;
  padding: clamp(32px, 4vw, 62px);
}

.af-process-comparison__screen--without {
  background: color-mix(in srgb, var(--sheltra-sand) 88%, var(--sheltra-warm-white));
}

.af-process-comparison__screen--with {
  border-left: 1px solid var(--sheltra-line);
  background: color-mix(in srgb, var(--sheltra-sage) 82%, var(--sheltra-warm-white));
}

.af-process-comparison__notifications {
  display: grid;
  width: min(100%, 430px);
  gap: 14px;
  margin-inline: auto;
}

.af-process-comparison__notice {
  position: relative;
  box-sizing: border-box;
  width: min(94%, 390px);
  padding: 16px 18px;
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-sm);
  color: var(--sheltra-forest);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-sm);
}

.af-process-comparison__notice:nth-child(odd) {
  justify-self: start;
  transform: rotate(-1deg);
}

.af-process-comparison__notice:nth-child(even) {
  justify-self: end;
  transform: rotate(1deg);
}

.af-process-comparison__notice small,
.af-process-comparison__notice strong,
.af-process-comparison__notice span {
  display: block;
}

.af-process-comparison__notice small {
  margin-bottom: 5px;
  color: var(--sheltra-action);
  font-family: var(--sheltra-font-ui);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.af-process-comparison__notice strong {
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.35;
}

.af-process-comparison__notice span {
  margin-top: 4px;
  color: var(--sheltra-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.af-process-comparison__profile {
  box-sizing: border-box;
  width: min(100%, 470px);
  padding: clamp(22px, 2.7vw, 34px);
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-lg);
  color: var(--sheltra-forest);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-sm);
}

.af-process-comparison__profile-header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--sheltra-line);
}

.af-process-comparison__profile-avatar {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  font-style: normal;
  font-weight: 700;
}

.af-process-comparison__profile-name,
.af-process-comparison__profile-meta {
  display: block;
  min-width: 0;
}

.af-process-comparison__profile-name {
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: clamp(1.08rem, 1.7vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.af-process-comparison__profile-meta {
  margin-top: 4px;
  color: var(--sheltra-muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.af-process-comparison__profile-status {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.af-process-comparison__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.af-process-comparison__metric {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-sm);
  background: color-mix(in srgb, var(--sheltra-sand) 64%, var(--sheltra-warm-white));
}

.af-process-comparison__metric small,
.af-process-comparison__metric strong,
.af-process-comparison__metric span {
  display: block;
}

.af-process-comparison__metric small,
.af-process-comparison__metric span {
  color: var(--sheltra-forest);
  font-size: 0.66rem;
  line-height: 1.35;
}

.af-process-comparison__metric strong {
  margin-block: 3px;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
}

.af-process-comparison__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: process-comparison-step;
}

.af-process-comparison__steps li {
  position: relative;
  min-width: 0;
  padding: 26px 8px 8px;
  color: var(--sheltra-muted);
  font-size: 0.7rem;
  line-height: 1.35;
  text-align: center;
  counter-increment: process-comparison-step;
}

.af-process-comparison__steps li::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
  content: counter(process-comparison-step);
  font-size: 0.62rem;
  font-weight: 700;
  transform: translateX(-50%);
}

.af-process-comparison__copy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--sheltra-line);
}

.af-process-comparison__copy--without,
.af-process-comparison__copy--with {
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(28px, 3.5vw, 48px);
}

.af-process-comparison__copy--without {
  background: var(--sheltra-terracotta-soft);
}

.af-process-comparison__copy--with {
  border-left: 1px solid var(--sheltra-line);
  background: color-mix(in srgb, var(--sheltra-sage) 82%, var(--sheltra-warm-white));
}

.af-process-comparison__badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 18px;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.af-process-comparison__copy--with .af-process-comparison__badge {
  background: var(--sheltra-forest);
}

.af-process-comparison__copy--without h3,
.af-process-comparison__copy--with h3 {
  margin: 0 0 10px;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-ui);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.af-process-comparison__copy--without p,
.af-process-comparison__copy--with p {
  max-width: 52ch;
  margin: 0;
  color: var(--sheltra-forest);
  line-height: 1.58;
}

@media (max-width: 780px) {
  .af-process-comparison__inner {
    width: min(calc(100% - 36px), 1320px);
    padding-block: 72px;
  }

  .af-process-comparison__screens,
  .af-process-comparison__copy-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-process-comparison__screen--without,
  .af-process-comparison__screen--with {
    min-height: 360px;
    padding: 34px 22px;
  }

  .af-process-comparison__screen--with,
  .af-process-comparison__copy--with {
    border-top: 1px solid var(--sheltra-line);
    border-left: 0;
  }

  .af-process-comparison__copy--without,
  .af-process-comparison__copy--with {
    text-align: center;
  }

  .af-process-comparison__copy--without p,
  .af-process-comparison__copy--with p {
    margin-inline: auto;
  }
}

@media (max-width: 480px) {
  .af-process-comparison__title {
    font-size: clamp(2.45rem, 13vw, 3.55rem);
  }

  .af-process-comparison__profile-header {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }

  .af-process-comparison__profile-status {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
  }

  .af-process-comparison__profile-avatar {
    justify-self: center;
  }

  .af-process-comparison__metrics,
  .af-process-comparison__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-process-comparison__metric {
    text-align: center;
  }
}

/* Ask Sheltra: editable WhatsApp story and connected answer. */
.af-ask-sheltra {
  position: relative;
  overflow: hidden;
  color: var(--sheltra-forest);
  background-color: var(--sheltra-warm-white);
  background-image: url("../img/paper-grain.svg");
  background-repeat: repeat;
}

.af-ask-sheltra--plain {
  background-image: none;
}

.af-ask-sheltra__inner {
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1240px);
  margin-inline: auto;
  padding-block: clamp(78px, 8vw, 126px);
}

.af-ask-sheltra__header {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.65fr);
  align-items: end;
  gap: clamp(38px, 7vw, 110px);
  margin-bottom: clamp(46px, 6vw, 78px);
}

.af-ask-sheltra__title {
  max-width: 14ch;
  margin: 0;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-size: clamp(2.8rem, 5vw, 5.3rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
}

.af-ask-sheltra__lead {
  max-width: 40ch;
  margin: 0 0 6px;
  padding-left: 22px;
  border-left: 3px solid var(--sheltra-sage);
  color: var(--sheltra-muted);
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
  line-height: 1.58;
  text-wrap: pretty;
}

.af-ask-sheltra__story {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.82fr);
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
}

.af-ask-sheltra__chat-stage {
  position: relative;
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 500px;
  align-items: center;
  justify-content: center;
  padding: 42px 34px 30px;
  isolation: isolate;
}

.af-ask-sheltra__chat-stage::before,
.af-ask-sheltra__chat-stage::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.af-ask-sheltra__chat-stage::before {
  inset: 5% 2% 1% 0;
  border-radius: 43% 57% 47% 53% / 51% 39% 61% 49%;
  background: color-mix(in srgb, var(--sheltra-sand) 88%, var(--sheltra-warm-white));
  transform: rotate(4deg);
}

.af-ask-sheltra__chat-stage::after {
  width: 150px;
  height: 150px;
  top: 0;
  right: 1%;
  border-radius: 46% 54% 58% 42%;
  background: color-mix(in srgb, var(--sheltra-sage) 82%, var(--sheltra-warm-white));
}

.af-ask-sheltra--plain .af-ask-sheltra__chat-stage::before,
.af-ask-sheltra--plain .af-ask-sheltra__chat-stage::after {
  display: none;
}

.af-ask-sheltra__chat {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  width: min(100%, 600px);
  min-width: 0;
  flex-direction: column;
}

.af-ask-sheltra__chat-header,
.af-ask-sheltra__answer {
  border: 1px solid var(--sheltra-line);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-sm);
}

.af-ask-sheltra__chat-header {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border-radius: 14px;
}

.af-ask-sheltra__chat-avatar {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--sheltra-sage);
  font-size: 0.85rem;
  font-weight: 800;
}

.af-ask-sheltra__chat-identity {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1.25;
}

.af-ask-sheltra__chat-brand {
  font-size: 0.9rem;
  font-weight: 800;
}

.af-ask-sheltra__chat-channel {
  color: var(--sheltra-muted);
  font-size: 0.72rem;
}

.af-ask-sheltra__chat-status {
  box-sizing: border-box;
  width: 11px;
  height: 11px;
  border: 3px solid color-mix(in srgb, var(--sheltra-forest) 14%, transparent);
  border-radius: 50%;
  background: var(--sheltra-forest);
}

.af-ask-sheltra__chat-text {
  align-self: flex-end;
  max-width: 68%;
  margin: 34px 0 20px;
  padding: 13px 16px;
  border: 1px solid var(--sheltra-line);
  border-radius: 16px 16px 4px 16px;
  background: var(--sheltra-sage);
  color: var(--sheltra-forest);
  font-size: 0.92rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.af-ask-sheltra__answer {
  box-sizing: border-box;
  width: calc(100% - 48px);
  padding: 22px;
  border-radius: 18px;
}

.af-ask-sheltra__answer-label {
  display: block;
  margin-bottom: 8px;
  color: var(--sheltra-forest);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.af-ask-sheltra__answer-headline {
  display: block;
  margin-bottom: 15px;
  font-size: 1rem;
  font-weight: 800;
}

.af-ask-sheltra__facts {
  display: grid;
  gap: 7px;
  margin: 0;
}

.af-ask-sheltra__fact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 14px;
  align-items: center;
  padding: 9px 11px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--sheltra-sage) 58%, var(--sheltra-warm-white));
  font-size: 0.78rem;
  line-height: 1.35;
}

.af-ask-sheltra__fact dt {
  color: var(--sheltra-muted);
}

.af-ask-sheltra__fact dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
  text-align: right;
}

.af-ask-sheltra__record-link {
  display: block;
  margin-top: 14px;
  font-size: 0.8rem;
  font-weight: 800;
}

.af-ask-sheltra__result {
  min-width: 0;
  padding: 22px 0;
}

.af-ask-sheltra__result-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px;
  padding: 8px 13px;
  border: 1px solid var(--sheltra-line);
  border-radius: 999px;
  color: var(--sheltra-forest);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.af-ask-sheltra__result-label > span:first-child,
.af-ask-sheltra__result-label svg {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: var(--sheltra-terracotta);
}

.af-ask-sheltra__result-headline {
  max-width: 12ch;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-size: clamp(2.65rem, 4.4vw, 4.7rem);
  font-variation-settings: "wght" 700;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
}

.af-ask-sheltra__result-headline span,
.af-ask-sheltra__result-headline em {
  display: block;
}

.af-ask-sheltra__result-headline em {
  position: relative;
  width: fit-content;
  color: var(--sheltra-action);
  font-style: italic;
}

.af-ask-sheltra__result-headline em::after {
  position: absolute;
  right: 0;
  bottom: -0.06em;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  opacity: 0.72;
  transform: rotate(-1deg);
}

.af-ask-sheltra__result-text {
  max-width: 46ch;
  margin: 24px 0 0;
  color: var(--sheltra-muted);
  line-height: 1.6;
  text-wrap: pretty;
}

.af-ask-sheltra__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.af-ask-sheltra__benefits li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--sheltra-line);
  border-radius: 999px;
  background: var(--sheltra-warm-white);
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.2;
}

.af-ask-sheltra__benefits li > span:first-child {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--sheltra-terracotta);
}

@media (max-width: 1024px) {
  .af-ask-sheltra__header,
  .af-ask-sheltra__story {
    gap: 42px;
  }

  .af-ask-sheltra__chat-stage {
    min-height: 460px;
    padding-inline: 14px;
  }
}

@media (max-width: 820px) {
  .af-ask-sheltra__inner {
    width: min(calc(100% - 36px), 1240px);
    padding-block: 72px;
  }

  .af-ask-sheltra__header,
  .af-ask-sheltra__story {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-ask-sheltra__header {
    gap: 28px;
    margin-bottom: 42px;
  }

  .af-ask-sheltra__lead {
    max-width: 52ch;
  }

  .af-ask-sheltra__chat-stage {
    min-height: 440px;
  }

  .af-ask-sheltra__result {
    width: min(100%, 620px);
    padding: 0;
  }
}

@media (max-width: 480px) {
  .af-ask-sheltra__inner {
    width: min(calc(100% - 28px), 1240px);
    padding-block: 60px;
  }

  .af-ask-sheltra__title {
    font-size: clamp(2.45rem, 12vw, 3.35rem);
  }

  .af-ask-sheltra__lead {
    padding-left: 16px;
  }

  .af-ask-sheltra__story {
    gap: 38px;
  }

  .af-ask-sheltra__chat-stage {
    min-height: 420px;
    padding: 28px 0 16px;
  }

  .af-ask-sheltra__chat-stage::after {
    width: 100px;
    height: 100px;
  }

  .af-ask-sheltra__chat-text {
    max-width: 88%;
    margin-top: 26px;
  }

  .af-ask-sheltra__answer {
    width: 100%;
    padding: 18px;
  }

  .af-ask-sheltra__fact {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }

  .af-ask-sheltra__result-headline {
    font-size: clamp(2.45rem, 13vw, 3.6rem);
  }
}

/* Keep the pricing introduction calm: the former overlapping rings competed
 * with the headline and inherited an unrelated generic hero shape. */
.af-page-hero.pricing {
  background-color: var(--sheltra-sand);
  background-image: url("../img/paper-grain.svg");
}

.af-page-hero.pricing::before,
.af-page-hero.pricing::after,
.af-page-hero.pricing .af-pricing-hero-inner::before {
  content: none;
}

.af-section-bg--dark,
.af-solution-feature-strip,
.cta-box,
.final-cta,
.af-price-card.org,
.af-price-card.has-offer,
.sheltra-help-center .help-quick-panel,
.sheltra-help-center .help-state {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

.af-section-bg--dark p,
.af-section-bg--dark .section-lead,
.cta-box p,
.final-cta p,
.af-price-card.org p,
.af-price-card.has-offer p,
.sheltra-help-center .help-quick-panel p,
.sheltra-help-center .help-state p {
  color: var(--sheltra-sage);
}

/* Cards and component frames. */
.bento-card,
.feature-card,
.solution-card,
.people-card,
.security-card,
.journey-step,
.af-card,
.af-price-card,
.af-plan-card,
.af-price-container-card,
.af-addon-card,
.af-addon-group,
.af-addon-option,
.af-addon-bundle,
.af-audience-price-card,
.af-board-topic-card,
.af-blog-card,
.af-featured-article,
.af-blog-quick-panel,
.af-contact-card,
.af-contact-mini-card,
.af-contact-quote,
.af-registration-card,
.af-registration-animal-card,
.af-registration-trustbar,
.af-start-partner__ticket,
.af-comparison-hero-card,
.af-comparison-hero-copycard,
.af-comparison-frame,
.af-about-timeline-card,
.af-about-value-card,
.af-about-team-member,
.af-cookie-card,
.module-panel,
.dashboard,
.software-shell,
.workflow-window,
.sheltra-help-center .help-category-card,
.sheltra-help-center .help-article-rows,
.sheltra-help-center .help-related-grid a,
.sheltra-help-center .help-callout,
.sheltra-help-center .help-feedback,
.sheltra-help-center .help-toc {
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-lg);
  color: var(--sheltra-forest);
  background-color: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-sm);
}

.bento-card:hover,
.feature-card:hover,
.solution-card:hover,
.af-card:hover,
.af-price-card:hover,
.af-addon-option:hover,
.af-blog-card:hover,
.sheltra-help-center .help-category-card:hover,
.sheltra-help-center .help-related-grid a:hover {
  border-color: var(--sheltra-line-strong);
  box-shadow: var(--sheltra-shadow-md);
  transform: translateY(-2px);
}

.bento-card:nth-child(2n),
.af-card:nth-child(2n),
.af-demo-what-card:nth-child(2n),
.af-price-card.start,
.af-price-card.rescue,
.sheltra-help-center .help-tone-2 {
  background-color: var(--sheltra-sand);
}

.af-price-card.plus,
.sheltra-help-center .help-tone-1,
.af-comparison-hero-copycard--right {
  border-color: var(--sheltra-forest);
  background-color: var(--sheltra-sage);
  box-shadow: var(--sheltra-shadow-md);
}

.card-icon,
.af-card-icon,
.feature-icon,
.people-icon,
.journey-icon,
.af-addon-icon,
.af-board-topic-card-icon,
.af-about-value-icon,
.sheltra-help-center .help-quick-icon,
.sheltra-help-center .help-category-icon {
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-sm);
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  box-shadow: none;
}

.arkflow-icon {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  overflow: visible;
  color: inherit;
  vertical-align: -0.16em;
}

.arkflow-icon path,
.arkflow-icon circle,
.arkflow-icon rect {
  vector-effect: non-scaling-stroke;
}

.mega-icon .arkflow-icon,
.card-icon .arkflow-icon,
.af-card-icon .arkflow-icon,
.feature-icon .arkflow-icon,
.people-icon .arkflow-icon,
.journey-icon .arkflow-icon,
.af-addon-icon .arkflow-icon,
.af-board-topic-card-icon .arkflow-icon,
.af-about-value-icon .arkflow-icon {
  width: 1.35em;
  height: 1.35em;
}

.eyebrow,
.section-kicker,
.af-contact-light-kicker,
.af-start-partner__eyebrow,
.af-start-partner__limit,
.af-about-timeline-tag,
.af-about-team-tag,
.af-article-tag,
.status,
.panel-badge,
.af-plan-badge,
.af-comparison-recommendation,
.sheltra-help-center .help-eyebrow,
.sheltra-help-center .help-popular-searches a {
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
  border-color: var(--sheltra-line);
  box-shadow: none;
}

.af-plan-offer-panel,
.af-start-partner--accent-coral .af-start-partner__ticket,
.af-comparison-hero-copycard--left {
  color: var(--sheltra-forest);
  background: var(--sheltra-terracotta-soft);
}

.af-comparison-hero-copycard--left p {
  color: var(--sheltra-forest);
}

.af-plan-offer-badge {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
}

.af-plan-offer-panel .af-plan-offer-limit {
  color: var(--sheltra-warm-white);
  border-color: color-mix(in srgb, var(--sheltra-warm-white) 70%, transparent);
}

.af-plan-offer-saving,
.af-plan-offer-price-note {
  color: var(--sheltra-forest);
  background: var(--sheltra-sand);
}

/* The pricing headlines are self-explanatory without redundant section labels. */
.af-price-containers-section > .section-inner > .section-kicker,
.af-addons-section > .section-inner > .section-kicker,
.af-comparison-section > .section-inner > .section-kicker {
  display: none;
}

.af-price-container-card .af-price-container-copy p {
  color: var(--sheltra-forest);
  opacity: 1;
}

.af-pricing-intro-inner,
.af-cta-light-box,
.af-contact-small-height__box,
.af-about-quote-inner {
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-xl);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-md);
}

.af-contact-small-height__box {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 16px;
  padding: clamp(22px, 3vw, 30px);
  text-align: center;
}

.af-contact-small-height__copy {
  text-align: center;
}

.af-contact-small-height__action.button {
  justify-self: center;
}

.af-pricing-intro-shape--peach,
.af-comparison-hero-shape--two,
.af-solution-blob-cream {
  background: var(--sheltra-terracotta);
  opacity: 0.35;
}

.af-pricing-intro-shape--lilac,
.af-comparison-hero-shape--one,
.af-solution-blob-mint {
  background: var(--sheltra-sage);
  opacity: 0.8;
}

.af-comparison-hero-visual::before {
  background: var(--sheltra-sage);
}

.af-comparison-hero-visual::after {
  background: var(--sheltra-terracotta);
  opacity: 0.35;
}

.af-comparison-hero-panel {
  background: var(--sheltra-sand);
}

.af-comparison-hero-copycard--right {
  background: var(--sheltra-sage);
}

.af-comparison-hero-panel--left .af-comparison-hero-label {
  background: var(--sheltra-action);
}

.af-comparison-hero-panel--right .af-comparison-hero-label {
  background: var(--sheltra-forest);
}

/* Tabs, filters, chips and disclosure controls remain pills. */
.module-tab,
.product-tab,
.af-addon-tab,
.af-blog-filter,
.af-comparison-control,
.af-pricing-billing-switch,
.af-pricing-intro-chips li,
.af-editor-pricing-intro .af-pricing-intro-chips > span,
.proof-list span,
.af-registration-points span,
.af-registration-trustbar span {
  border-color: var(--sheltra-line);
  color: var(--sheltra-forest);
  background: transparent;
  box-shadow: none;
}

.af-addon-tab {
  justify-content: center;
  padding-inline: 12px;
}

.module-tab:hover,
.module-tab.active,
.module-tab[aria-selected="true"],
.product-tab:hover,
.product-tab.active,
.product-tab[aria-selected="true"],
.af-addon-tab:hover,
.af-addon-tab.is-active,
.af-addon-tab[aria-selected="true"],
.af-blog-filter:hover,
.af-blog-filter.is-active,
.af-pricing-billing-switch button.active {
  border-color: var(--sheltra-forest);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

.faq-list,
.af-faq-list,
.af-faq-light-list {
  border-color: var(--sheltra-line-strong);
}

.faq-list details,
.faq-item,
.af-faq-item,
.af-faq-light-item {
  border-color: var(--sheltra-line);
}

.faq-list summary::after,
.faq-item summary::after,
.af-faq-item summary::after,
.af-faq-light-item summary::after {
  content: "";
  width: 36px;
  height: 36px;
  box-sizing: border-box;
  display: block;
  place-self: center;
  border: 1px solid var(--sheltra-forest);
  border-radius: 50%;
  border-color: var(--sheltra-forest);
  color: var(--sheltra-forest);
  background-color: var(--sheltra-sage);
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 12px 2px, 2px 12px;
  transform: none;
}

.faq-list details[open] summary::after,
.faq-item[open] summary::after,
.af-faq-item[open] summary::after,
.af-faq-light-item[open] summary::after {
  color: var(--sheltra-warm-white);
  background-color: var(--sheltra-forest);
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 12px 2px;
  transform: none;
}

.af-faq-light-item summary {
  grid-template-columns: minmax(0, 1fr) 36px;
}

.faq-item summary,
.af-faq-item summary {
  grid-template-columns: minmax(0, 1fr) 36px;
}

/* Forms and consent. */
.af-form,
.af-form-wrap,
.af-registration-card,
.af-contact-card,
.af-start-partner__ticket,
.arkflow-consent,
.sheltra-action-modal__dialog {
  border: 1px solid var(--sheltra-line);
  border-radius: var(--sheltra-radius-xl);
  color: var(--sheltra-forest);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-lg);
}

.af-form input,
.af-form textarea,
.af-form select,
.af-form-wrap input,
.af-form-wrap textarea,
.af-form-wrap select,
.af-registration-field input,
.af-registration-field select,
.af-registration-field textarea,
.af-contact-card .af-registration-field input,
.af-contact-card .af-registration-field select,
.af-contact-card .af-registration-field textarea,
.af-start-partner__field input,
.af-start-partner__field textarea,
.sheltra-action-modal__field input,
.sheltra-action-modal__field textarea,
.sheltra-action-modal__field select,
.sheltra-help-center .help-search,
.sheltra-help-center .help-search input {
  border-color: var(--sheltra-line-strong);
  border-radius: var(--sheltra-radius-sm);
  color: var(--sheltra-forest);
  background-color: var(--sheltra-warm-white);
  box-shadow: none;
}

.af-form input:focus,
.af-form textarea:focus,
.af-form select:focus,
.af-registration-field input:focus,
.af-registration-field select:focus,
.af-registration-field textarea:focus,
.af-contact-card .af-registration-field textarea:focus,
.af-start-partner__field input:focus,
.af-start-partner__field textarea:focus,
.sheltra-action-modal__field input:focus,
.sheltra-action-modal__field textarea:focus,
.sheltra-action-modal__field select:focus,
.sheltra-help-center .help-search:focus-within {
  border-color: var(--sheltra-forest);
  box-shadow: 0 0 0 3px var(--sheltra-terracotta);
  outline: 0;
}

.arkflow-consent {
  border-color: var(--sheltra-line-strong);
  background: color-mix(in srgb, var(--sheltra-warm-white) 98%, transparent);
  box-shadow: 0 0 0 100vmax color-mix(in srgb, var(--sheltra-forest) 38%, transparent), var(--sheltra-shadow-lg);
}

.arkflow-consent-option,
.af-cookie-card {
  border-color: var(--sheltra-line);
  border-radius: var(--sheltra-radius-sm);
  background: var(--sheltra-warm-white);
}

.arkflow-consent-option.is-required,
.arkflow-consent-option:has(input:checked) {
  background-color: var(--sheltra-sage);
}

.arkflow-consent-switch,
.arkflow-consent-option input:checked + .arkflow-consent-switch,
.arkflow-consent-state {
  border-color: var(--sheltra-forest);
  background: var(--sheltra-forest);
}

/* Product simulations use Inter and restrained frames. */
.dashboard,
.software-shell,
.workflow-window,
.af-product-mock,
.af-tab-device,
.af-solution-app-card,
.af-comparison-table {
  border-color: var(--sheltra-line-strong);
  border-radius: var(--sheltra-radius-lg);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-md);
  font-family: var(--sheltra-font-ui);
}

.dashboard-sidebar,
.software-side,
.af-solution-app-toolbar,
.af-tab-device-body {
  background: var(--sheltra-sage);
}

.status,
.row-state,
.panel-badge {
  color: var(--sheltra-forest);
  background: var(--sheltra-sage);
}

/* Help Center adopts the same tokens while preserving its information layout. */
.sheltra-help-center {
  --help-canvas: var(--sheltra-warm-white);
  --help-paper: var(--sheltra-warm-white);
  --help-cream: var(--sheltra-sand);
  --help-mint: var(--sheltra-sage);
  --help-mint-strong: color-mix(in srgb, var(--sheltra-sage) 84%, var(--sheltra-forest));
  --help-sand: var(--sheltra-sand);
  --help-slate: var(--sheltra-forest);
  --help-forest: var(--sheltra-forest);
  --help-green: var(--sheltra-forest);
  --help-coral: var(--sheltra-action);
  --help-text: var(--sheltra-forest);
  --help-muted: var(--sheltra-muted);
  --help-line: var(--sheltra-line);
  color: var(--sheltra-forest);
  background: var(--sheltra-warm-white);
}

.sheltra-help-center .help-hero-copy h1,
.sheltra-help-center .help-state h1,
.sheltra-help-center .help-category-title h1,
.sheltra-help-center .help-article-heading h1,
.sheltra-help-center .help-section-heading h2,
.sheltra-help-center .help-list-heading h2,
.sheltra-help-center .help-related h2,
.sheltra-help-center .help-article-prose h2,
.sheltra-help-center .help-article-prose h3 {
  color: var(--sheltra-forest);
  font-family: var(--sheltra-font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sheltra-help-center .help-quick-panel h2,
.sheltra-help-center .help-quick-panel p,
.sheltra-help-center .help-quick-panel .help-text-link {
  color: var(--sheltra-warm-white);
}

.sheltra-help-center .help-card-number,
.sheltra-help-center .help-row-number,
.sheltra-help-center .help-steps li > span,
.sheltra-help-center .help-support-avatar,
.sheltra-help-center .help-feedback button:hover {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

.sheltra-help-center .help-tone-0,
.sheltra-help-center .help-callout-rose {
  background: color-mix(in srgb, var(--sheltra-terracotta) 26%, var(--sheltra-warm-white));
}

/* Actions, popups and announcement previews. */
.sheltra-action-modal__backdrop {
  background: color-mix(in srgb, var(--sheltra-forest) 72%, transparent);
}

.sheltra-action-modal__dialog {
  overflow: hidden;
}

.sheltra-action-modal__message {
  border-color: var(--sheltra-line);
  background: var(--sheltra-sage);
}

.sheltra-action-modal--coral .sheltra-action-modal__message,
.sheltra-action-modal--rose .sheltra-action-modal__message {
  color: var(--sheltra-forest);
  background: var(--sheltra-terracotta-soft);
}

.sheltra-action-modal--coral .sheltra-action-modal__description,
.sheltra-action-modal--coral .sheltra-action-modal__eyebrow,
.sheltra-action-modal--rose .sheltra-action-modal__description,
.sheltra-action-modal--rose .sheltra-action-modal__eyebrow {
  color: var(--sheltra-forest);
}

.sheltra-action-bar--coral,
.sheltra-action-bar--rose {
  --sheltra-action-bar-background: var(--sheltra-action);
  --sheltra-action-bar-text: var(--sheltra-warm-white);
  --sheltra-action-bar-accent: var(--sheltra-warm-white);
  background: var(--sheltra-action);
}

.sheltra-action-modal--cream .sheltra-action-modal__message,
.sheltra-action-modal--yellow .sheltra-action-modal__message,
.sheltra-action-bar--cream,
.sheltra-action-bar--yellow {
  --sheltra-action-bar-background: var(--sheltra-sand);
  --sheltra-action-bar-text: var(--sheltra-forest);
  --sheltra-action-bar-accent: var(--sheltra-action);
  background: var(--sheltra-sand);
}

.sheltra-action-modal--mint .sheltra-action-modal__message,
.sheltra-action-bar--mint {
  --sheltra-action-bar-background: var(--sheltra-sage);
  --sheltra-action-bar-text: var(--sheltra-forest);
  --sheltra-action-bar-accent: var(--sheltra-action);
  background: var(--sheltra-sage);
}

.sheltra-action-modal__form-panel {
  background: var(--sheltra-warm-white);
}

.sheltra-action-modal__badge {
  border-color: var(--sheltra-forest);
  color: var(--sheltra-warm-white);
  background: var(--sheltra-action);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--sheltra-forest) 16%, transparent);
}

.sheltra-action-modal__eyebrow,
.sheltra-action-modal__form-eyebrow {
  color: var(--sheltra-action);
}

.sheltra-action-modal__benefit-icon,
.sheltra-action-modal__success-icon {
  color: var(--sheltra-forest);
  background: var(--sheltra-sand);
}

.sheltra-action-modal__close {
  border-radius: 50%;
}

/* Footer keeps the strongest brand contrast. */
footer,
.site-footer {
  color: var(--sheltra-warm-white);
  background: var(--sheltra-forest);
}

footer h2,
footer h3,
footer h4,
footer .brand,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
  color: var(--sheltra-warm-white);
  font-family: var(--sheltra-font-ui);
}

.footer-brand p,
.footer-col a,
.footer-bottom,
.footer-legal a,
.site-footer p,
.site-footer a {
  color: var(--sheltra-sage);
}

.footer-brand .footer-brand-logo-link {
  display: inline-flex;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--sheltra-warm-white) 32%, transparent);
  border-radius: var(--sheltra-radius-md);
  background: var(--sheltra-warm-white);
  box-shadow: var(--sheltra-shadow-sm);
}

.footer-brand .footer-brand-logo {
  display: block;
  width: clamp(112px, 10vw, 156px);
  height: auto;
  aspect-ratio: 296 / 300;
  object-fit: contain;
}

.footer-col a:hover,
.footer-col a:focus-visible,
.footer-legal a:hover,
.footer-legal a:focus-visible,
.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--sheltra-warm-white);
}

.footer-badge,
.footer-bottom {
  border-color: color-mix(in srgb, var(--sheltra-warm-white) 26%, transparent);
}

.site-footer.site-footer--compact {
  padding: 0;
}

.site-footer--compact .footer-inner {
  padding: 44px 0 26px;
}

.site-footer--compact .footer-top {
  display: block;
  padding-bottom: 0;
}

.site-footer--compact .footer-brand {
  display: grid;
  grid-template-columns: auto minmax(0, 420px);
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: start;
  column-gap: 28px;
  row-gap: 12px;
  max-width: 720px;
}

.site-footer--compact .footer-brand-logo-link {
  grid-row: 1 / span 2;
}

.site-footer--compact .footer-brand p,
.site-footer--compact .footer-brand-widgets {
  grid-column: 2;
  margin: 0;
}

.site-footer--compact .footer-badge {
  grid-column: 2;
  justify-self: start;
}

.site-footer--compact .footer-bottom {
  margin-top: 34px;
}

.site-footer--compact .footer-legal {
  flex-wrap: wrap;
}

/* Keep the home hero readable between the desktop and mobile layouts. */
.hero#top .photo-caption--bottom-right {
  top: 24px;
  right: 24px;
  bottom: auto;
  left: auto;
}

@media (min-width: 621px) and (max-width: 1080px) {
  .hero#top {
    min-height: auto;
  }

  .hero#top .hero-inner {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding-top: 60px;
  }

  .hero#top .hero-visual {
    width: min(650px, 100%);
    min-height: 580px;
    margin: 5px auto 0;
  }
}

/* Editor parity for custom block previews and controls. */
.editor-styles-wrapper,
.block-editor-block-list__layout {
  --wp--preset--font-family--ui: var(--sheltra-font-ui);
  --wp--preset--font-family--display: var(--sheltra-font-display);
}

.editor-styles-wrapper .button,
.editor-styles-wrapper [class*="__submit"],
.editor-styles-wrapper [class*="-button--primary"] {
  border-radius: var(--sheltra-radius-sm);
}

@media (max-width: 780px) {
  :root,
  .editor-styles-wrapper {
    --sheltra-radius-lg: 16px;
    --sheltra-radius-xl: 20px;
  }

  h1,
  h2,
  h3,
  .section-title,
  .af-about-hero-title {
    text-wrap: pretty;
  }

  .site-header,
  .mobile-menu {
    background: var(--sheltra-warm-white);
  }

  .button,
  .wp-element-button,
  .af-registration-submit,
  .af-contact-submit,
  .af-start-partner__submit {
    min-height: 50px;
  }
}

@media (max-width: 620px) {
  .af-registration-trustbar,
  .af-registration-trustbar span {
    justify-content: center;
    text-align: center;
  }

  .journey .journey-flow .journey-step:last-child {
    width: 100%;
    margin: 0;
    justify-self: stretch;
  }

  .footer-brand .footer-brand-logo {
    width: 128px;
  }

  .site-footer--compact .footer-brand {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 16px;
  }

  .site-footer--compact .footer-brand-logo-link,
  .site-footer--compact .footer-brand p,
  .site-footer--compact .footer-brand-widgets,
  .site-footer--compact .footer-badge {
    grid-column: 1;
    grid-row: auto;
  }

  .site-footer--compact .footer-bottom {
    margin-top: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
