/*
 * Additive global refinements. Keep selectors scoped to the requested surface.
 * Native Kadence controls own layout where available; this file fills only the
 * responsive/header/footer gaps that require code.
 */

@media (min-width: 1025px) {
  /* Desktop footer: Kadence owns the widget and builder structure. These
   * rules only balance its published four-column row and lower utility band. */
  .site-footer .site-footer-row-container-inner > .site-container {
    max-width: 1440px;
    padding-inline: clamp(32px, 4vw, 64px);
  }

  .site-footer .site-top-footer-inner-wrap {
    column-gap: clamp(28px, 4vw, 64px);
    grid-template-columns: minmax(210px, 1.3fr) minmax(130px, 0.78fr) minmax(165px, 0.95fr) minmax(250px, 1.35fr);
  }

  .site-footer .site-top-footer-inner-wrap .footer-widget-area,
  .site-footer .site-bottom-footer-inner-wrap .footer-widget-area {
    margin: 0;
  }

  .site-footer .footer-mobile-only {
    display: none !important;
  }

  .site-footer .footer-brand-lockup {
    display: inline-flex;
    text-decoration: none;
  }

  #colophon.site-footer #footer-navigation.footer-navigation {
    display: block !important;
  }

  .site-footer #footer-navigation.footer-navigation::before {
    color: inherit;
    content: "Explore";
    display: block;
    font: 700 1.1rem/1.3 var(--global-heading-font-family, inherit);
    margin-bottom: 14px;
  }

  .site-footer #footer-navigation .footer-menu-container > ul.menu,
  .site-footer .footer-desktop-list,
  .site-footer .footer-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .site-footer #footer-navigation .footer-menu-container > ul.menu,
  .site-footer .footer-desktop-list {
    display: grid;
    gap: 8px;
  }

  .site-footer .footer-contact-list {
    display: grid;
    gap: 9px;
  }

  .site-footer .footer-contact-list li {
    align-items: flex-start;
    display: flex;
    gap: 9px;
  }

  .site-footer .footer-contact-list svg {
    flex: 0 0 auto;
    margin-top: 0.35em;
  }

  .site-footer .footer-address span {
    font-size: 0;
  }

  .site-footer .footer-address span::after {
    content: "Serving Electronic City, South Bengaluru and nearby areas.";
    font-size: 1rem;
  }

  .site-footer .site-bottom-footer-wrap {
    border-top: 1px solid rgb(198 161 91 / 28%);
    margin-top: clamp(32px, 4vw, 56px);
  }

  .site-footer .site-bottom-footer-inner-wrap {
    align-items: center;
    column-gap: clamp(20px, 3vw, 44px);
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding-block: 22px;
  }

  .site-footer .site-footer-bottom-section-1 {
    order: 3;
  }

  .site-footer .site-footer-bottom-section-2 {
    order: 2;
  }

  .site-footer .site-footer-bottom-section-3 {
    min-width: 0;
    order: 1;
  }

  .site-footer .footer-legal-heading {
    display: inline;
    font-size: 0.9375rem;
    margin: 0 10px 0 0;
  }

  .site-footer .footer-legal-links {
    display: inline;
    font-size: 0.875rem;
    line-height: 1.55;
    margin: 0;
  }

  .site-footer .footer-social-wrap {
    align-items: center;
    display: flex;
    gap: 10px;
  }

  .site-footer .footer-social-wrap .widget-title {
    font-size: 0.9375rem;
    margin: 0;
  }

  .site-footer .footer-social-inner-wrap {
    gap: 8px;
  }

  .site-footer .site-footer-bottom-section-1 p {
    margin: 0;
    white-space: nowrap;
  }
}

@media (max-width: 1024px) {
  .site-header-wrap,
  .site-header-wrap .site-header-row-container-inner {
    min-height: 68px;
  }

  #mobile-header,
  #mobile-header .site-header-inner-wrap,
  #mobile-header .site-main-header-wrap,
  #mobile-header .site-header-row-container-inner,
  #mobile-header .site-main-header-inner-wrap {
    min-height: 68px;
  }

  #mobile-header .site-main-header-inner-wrap {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #mobile-header .site-header-main-section-left,
  #mobile-header .site-header-item,
  #mobile-header .mobile-site-branding,
  #mobile-header .mobile-site-branding .brand {
    min-width: 0;
  }

  #mobile-header .mobile-site-branding .site-title-wrap {
    display: none;
  }

  #mobile-header .mobile-site-branding img {
    max-height: 42px;
    max-width: min(152px, 48vw);
    width: auto;
  }

  #mobile-header .site-header-main-section-right,
  #mobile-header .mobile-toggle-open-container,
  #mobile-header .menu-toggle-open {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }

  .home #inner-wrap > .content-area {
    margin-top: 0;
  }

  .home #inner-wrap .entry-content-wrap {
    padding-top: 0;
  }

  .site-header-wrap .site-branding img {
    height: auto;
    max-height: 42px;
    width: auto;
  }

  .mobile-navigation {
    background: rgb(20 40 68 / 94%);
    backdrop-filter: blur(10px);
  }

  /* Mobile drawer: retain Kadence's native menu/submenu controls while giving
   * the existing navigation a calmer, more deliberate hierarchy. */
  #mobile-drawer .drawer-overlay {
    background: rgb(3 12 28 / 44%);
  }

  #mobile-drawer .drawer-inner {
    background: rgb(18 38 66 / 94%);
    backdrop-filter: blur(12px);
    border-inline-start: 1px solid rgb(198 161 91 / 24%);
    box-shadow: -16px 0 36px rgb(3 12 28 / 24%);
  }

  #mobile-drawer .drawer-content {
    padding: 8px 20px 28px;
  }

  #mobile-drawer .site-header-item-mobile-navigation,
  #mobile-drawer .mobile-navigation,
  #mobile-drawer .mobile-menu-container,
  #mobile-drawer #mobile-menu {
    inline-size: 100%;
  }

  #mobile-drawer .mobile-navigation {
    background: transparent;
    backdrop-filter: none;
  }

  #mobile-drawer #mobile-menu > li {
    border: 0;
    margin: 0;
  }

  #mobile-drawer #mobile-menu > li > a,
  #mobile-drawer .drawer-nav-drop-wrap > a {
    align-items: center;
    color: rgb(255 253 249);
    display: flex;
    font-weight: 600;
    min-block-size: 44px;
    padding: 10px 2px;
  }

  #mobile-drawer .drawer-nav-drop-wrap {
    align-items: center;
    border-block-end: 1px solid rgb(198 161 91 / 24%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  #mobile-drawer .drawer-sub-toggle {
    align-items: center;
    color: rgb(220 183 104);
    display: inline-flex;
    justify-content: center;
    min-block-size: 44px;
    min-inline-size: 44px;
  }

  #mobile-drawer .sub-menu {
    border-inline-start: 1px solid rgb(198 161 91 / 28%);
    margin: 4px 0 8px 14px;
    padding: 2px 0 4px 16px;
  }

  #mobile-drawer .sub-menu a {
    color: rgb(231 233 236);
    display: flex;
    font-size: 0.9375rem;
    min-block-size: 40px;
    padding: 9px 0;
  }

  #mobile-drawer #mobile-menu > li > a[href*="/contact/"] {
    align-items: center;
    background: rgb(176 141 75);
    border-radius: 10px;
    color: rgb(255 253 249);
    justify-content: center;
    margin: 12px 0 14px;
    min-block-size: 48px;
    padding-inline: 16px;
  }

  #mobile-drawer .stay-floofy-drawer-social {
    align-items: center;
    border-block-start: 1px solid rgb(198 161 91 / 24%);
    gap: 8px;
    margin-block-start: 0;
    padding-block-start: 14px;
  }

  #mobile-drawer .stay-floofy-drawer-social a {
    align-items: center;
    border: 1px solid rgb(255 253 249 / 18%);
    border-radius: 999px;
    color: rgb(231 233 236);
    display: inline-flex;
    justify-content: center;
    min-block-size: 40px;
    min-inline-size: 40px;
  }

  .site-footer .footer-widget-area {
    margin-block: 12px;
  }

  /* Mobile footer: retain Kadence's published content, while making the
   * existing accordion pattern calmer and keeping the lower utilities in the
   * reading order used on small screens. */
  .site-footer .site-top-footer-wrap {
    padding-block: 34px 22px;
  }

  .site-footer .site-top-footer-inner-wrap,
  .site-footer .site-bottom-footer-inner-wrap {
    row-gap: 0;
  }

  .site-footer .site-top-footer-inner-wrap .footer-widget-area,
  .site-footer .site-bottom-footer-inner-wrap .footer-widget-area {
    margin: 0;
  }

  .site-footer .site-footer-top-section-1,
  .site-footer .site-footer-top-section-2,
  .site-footer .site-footer-top-section-3,
  .site-footer .site-footer-top-section-4 {
    padding-block: 0;
  }

  .site-footer .site-footer-top-section-1 {
    padding-block-end: 18px;
  }

  .site-footer .footer-desktop-only {
    display: none !important;
  }

  .site-footer .footer-mobile-only,
  .site-footer .sf-mobile-footer-explore {
    display: block !important;
  }

  .site-footer .footer-brand-lockup {
    display: inline-flex;
  }

  #colophon.site-footer .footer-brand-logo {
    height: auto;
    max-width: min(10rem, 46vw) !important;
    width: min(10rem, 46vw) !important;
  }

  .site-footer .site-footer-top-section-3 #footer-navigation {
    display: none !important;
  }

  .site-footer .footer-accordion {
    border-block-start: 1px solid rgb(198 161 91 / 28%);
    margin: 0;
    padding: 0;
  }

  .site-footer .footer-accordion-summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font: 700 1rem/1.3 var(--global-heading-font-family, inherit);
    justify-content: space-between;
    list-style: none;
    min-block-size: 52px;
    padding: 8px 0;
  }

  .site-footer .footer-accordion-summary::-webkit-details-marker {
    display: none;
  }

  .site-footer .footer-accordion-summary::after {
    color: rgb(220 183 104);
    content: "+";
    font: 400 1.45rem/1 var(--global-heading-font-family, inherit);
  }

  .site-footer .footer-accordion[open] .footer-accordion-summary::after {
    content: "−";
  }

  .site-footer .footer-accordion-list {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0 0 18px;
  }

  .site-footer .footer-accordion-list a {
    display: inline-flex;
    min-block-size: 28px;
  }

  .site-footer .site-footer-top-section-4 {
    border-block-end: 1px solid rgb(198 161 91 / 28%);
    padding-block: 18px 24px;
  }

  .site-footer .site-footer-top-section-4 h4 {
    margin: 0 0 12px;
  }

  .site-footer .footer-contact-list {
    gap: 9px;
    margin: 0;
  }

  .site-footer .footer-address span {
    font-size: 0;
  }

  .site-footer .footer-address span::after {
    content: "Serving Electronic City, South Bengaluru and nearby areas.";
    font-size: 1rem;
  }

  .site-footer .site-bottom-footer-wrap {
    margin-top: 0;
  }

  .site-footer .site-bottom-footer-inner-wrap {
    display: flex;
    flex-direction: column;
    padding-block: 18px 26px;
  }

  .site-footer .site-footer-bottom-section-1,
  .site-footer .site-footer-bottom-section-2,
  .site-footer .site-footer-bottom-section-3 {
    width: 100%;
  }

  .site-footer .site-footer-bottom-section-1 {
    order: 3;
    padding-block-start: 18px;
  }

  .site-footer .site-footer-bottom-section-2 {
    order: 1;
    padding-block: 18px;
  }

  .site-footer .site-footer-bottom-section-3 {
    order: 2;
  }

  .site-footer .footer-social-wrap {
    align-items: center;
    display: flex;
    gap: 12px;
  }

  .site-footer .footer-social-wrap .widget-title {
    font-size: 1rem;
    margin: 0;
    text-transform: none;
  }

  .site-footer .footer-social-inner-wrap {
    gap: 10px;
  }

  .site-footer .footer-social-inner-wrap a {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-block-size: 40px;
    min-inline-size: 40px;
  }

  .site-footer .site-footer-bottom-section-1 p {
    margin: 0;
  }
}

.site-footer .footer-bottom {
  border-top: 1px solid rgb(198 161 91 / 28%);
  margin-top: 18px;
  padding-top: 20px;
}

/* Gate 3 ownership consolidation: Kadence retains the Header/Footer shell;
 * the child theme supplies one repository-backed social navigation per active
 * surface. The former cloned footer/header social nodes are no longer used. */
.site-header-wrap .header-social-inner-wrap img,
.site-footer .sf-footer-social img {
  block-size: 20px;
  inline-size: 20px;
  object-fit: contain;
}

.site-footer .sf-footer-social a {
  align-items: center;
  border: 1px solid rgb(255 253 249 / 18%);
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  min-block-size: 40px;
  min-inline-size: 40px;
}

.site-footer .site-footer-bottom-section-2 {
  display: none;
}

/* Page 47 Hero migration: the former inline Hero picture positioning now has
 * a repository-backed owner. The narrow-mobile gradient is defined at the
 * final source position below to preserve the existing cascade. */
.home .cosmic-hero picture.cosmic-hero-picture {
  display: block;
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}

.home .sf-service-rail-hint { display: none; }

body.home #primary.content-area {
  margin-top: 0 !important;
}

body.home .entry-content-wrap {
  padding-top: 0 !important;
}

/* Final Header system: one flexible three-zone Kadence composition, with
 * interaction refinements contained to the published header and drawer. */
#masthead.site-header,
#masthead.site-header .site-header-wrap {
	background: rgb(18 38 66 / 94%) !important;
	position: sticky;
	top: 0;
	z-index: 130;
  transition: background-color 180ms ease, backdrop-filter 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.sf-header-scrolled #masthead.site-header,
body.sf-header-scrolled #masthead.site-header .site-header-wrap {
  background: rgb(18 38 66 / 88%) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-block-end: 1px solid rgb(220 183 104 / 18%);
  box-shadow: 0 8px 24px rgb(3 12 28 / 14%);
}

/* A short-lived state makes the fixed header recede very slightly while the
 * page is actively moving, then returns it to the settled readable state. */
body.sf-header-scrolling.sf-header-scrolled #masthead.site-header,
body.sf-header-scrolling.sf-header-scrolled #masthead.site-header .site-header-wrap {
  background: rgb(18 38 66 / 78%) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.site-header-wrap .main-navigation .primary-menu-container > ul > li > a {
  color: rgb(255 253 249) !important;
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .005em;
  position: relative;
}

.site-header-wrap .main-navigation .primary-menu-container > ul > li > a:hover,
.site-header-wrap .main-navigation .primary-menu-container > ul > li > a:focus-visible {
  color: rgb(220 183 104) !important;
}

.site-header-wrap .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.site-header-wrap .main-navigation .primary-menu-container > ul > li.current_page_item > a,
.site-header-wrap .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a {
  color: rgb(220 183 104) !important;
}

.site-header-wrap .main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
.site-header-wrap .main-navigation .primary-menu-container > ul > li.current_page_item > a::after,
.site-header-wrap .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after {
  background: currentColor;
  border-radius: 999px;
  bottom: .35rem;
  content: "";
  height: 2px;
  inset-inline: .75rem;
  position: absolute;
}

.site-header-wrap a:focus-visible,
.site-header-wrap button:focus-visible {
  outline: 2px solid rgb(220 183 104);
  outline-offset: 3px;
}

@media (min-width: 1025px) {
  .site-header-wrap .site-header-row-container-inner {
    max-width: var(--sf-shell-max);
    padding-inline: var(--sf-gutter);
  }

  .site-header-wrap .site-main-header-inner-wrap {
    align-items: center;
    display: flex;
    min-height: 80px;
  }

  .site-header-wrap .site-header-main-section-left { flex: 1 1 auto; }

  .site-header-wrap .site-header-main-section-right {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
  }

  .site-header-wrap .site-header-item-main-navigation { order: 1; }

  .site-header-wrap .site-header-item:has(.header-social-inner-wrap) { flex: 0 0 auto; min-inline-size: 0; order: 2; width: auto; }

  .site-header-wrap .site-header-item:has(.header-button-wrap) { flex: 0 0 auto; order: 3; }

  .site-header-wrap .site-branding img.custom-logo {
    max-height: 56px !important;
    width: clamp(14.5rem, 18vw, 18.5rem) !important;
  }

  /* Kadence's enabled title/tagline slot is the staging hostname seen next to
   * the approved custom logo. The logo link remains the sole Header brand. */
  .site-header-wrap .site-branding .site-title-wrap { display: none; }

  .site-header-wrap .main-navigation .primary-menu-container > ul {
    column-gap: clamp(.3rem, 1vw, .85rem);
  }

  .site-header-wrap .main-navigation .primary-menu-container > ul > li > a {
    min-block-size: 48px;
    padding-inline: .8rem;
  }

  .site-header-wrap .header-button-wrap { margin-inline-start: clamp(8px, 1vw, 16px); }

  .site-header-wrap .header-social-inner-wrap { align-items: center; display: flex; gap: 4px; margin-inline-start: clamp(8px, 1vw, 16px); }

  .site-header-wrap .header-social-inner-wrap .social-link-instagram { order: 1; }
  .site-header-wrap .header-social-inner-wrap .social-link-facebook { order: 2; }
  .site-header-wrap .header-social-inner-wrap .social-link-youtube { order: 3; }

  .site-header-wrap .header-social-inner-wrap .social-button {
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 20px;
    border: 0;
    box-shadow: none;
  }

  .site-header-wrap .header-social-inner-wrap .social-link-instagram { background-image: url('../icons/stay-floofy/brand/instagram-brand-paw.svg'); }
  .site-header-wrap .header-social-inner-wrap .social-link-facebook { background-image: url('../icons/stay-floofy/brand/facebook-brand-paw.svg'); }
  .site-header-wrap .header-social-inner-wrap .social-link-youtube { background-image: url('../icons/stay-floofy/brand/youtube-brand-paw.svg'); }

  .site-header-wrap .header-social-inner-wrap a {
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 20px;
    color: rgb(255 253 249);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
  }

  .site-header-wrap .header-social-inner-wrap a:hover,
  .site-header-wrap .header-social-inner-wrap a:focus-visible {
    color: rgb(220 183 104);
  }

  .site-header-wrap .header-social-inner-wrap svg {
    display: none;
  }

  .site-header-wrap .header-button-wrap .button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-block-size: 48px;
    padding-inline: 1.125rem;
    text-align: center;
  }
}

@media (max-width: 1024px) {
  #mobile-header .mobile-site-branding .site-title-wrap { display: none; }

  #mobile-header .mobile-site-branding img.custom-logo {
    max-height: 52px !important;
    max-width: min(200px, 58vw) !important;
    width: min(194px, 56vw) !important;
  }

  #mobile-header .menu-toggle-open,
  #mobile-header .mobile-toggle-open-container {
    color: rgb(255 253 249);
  }

  #mobile-drawer .drawer-overlay {
    background: rgb(3 12 28 / 36%);
  }

  #mobile-drawer .drawer-inner {
    background: rgb(18 38 66 / 76%);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    inline-size: min(90vw, 26rem);
    max-inline-size: min(90vw, 26rem);
  }

  #mobile-drawer .drawer-content {
    padding: 10px 20px 20px;
  }

  #mobile-drawer .drawer-nav-drop-wrap {
    border-block-end-color: rgb(198 161 91 / 20%);
  }

  #mobile-drawer .sub-menu {
    background: rgb(3 12 28 / 14%);
    border-inline-start-color: rgb(220 183 104 / 44%);
    border-radius: 0 8px 8px 0;
    margin: 3px 0 6px 12px;
    padding: 4px 0 4px 14px;
  }

  #mobile-drawer .sub-menu a {
    min-block-size: 42px;
    padding-block: 7px;
  }

  #mobile-drawer #mobile-menu > li > a[href*="/contact/"] {
    margin: 9px 0 10px;
    min-block-size: 46px;
  }

  #mobile-drawer .stay-floofy-drawer-social {
    border-block-start-color: rgb(220 183 104 / 34%);
    justify-content: center;
    padding-block-start: 11px;
  }

  #mobile-drawer .stay-floofy-drawer-social a {
    min-block-size: 42px;
    min-inline-size: 42px;
  }
}

/* Canonical inner-page banner. Route mapping supplies only an approved image
 * pair and documented focal/title-safe values; the original H1 stays semantic. */
body:not(.home) .hero-container.sf-page-title-replaced { display: none; }
.sf-inner-banner { block-size: 20rem; isolation: isolate; overflow: hidden; position: relative; }
.sf-inner-banner picture, .sf-inner-banner img { block-size: 100%; display: block; inline-size: 100%; }
.sf-inner-banner img { object-fit: cover; object-position: var(--sf-banner-focal, center); }
.sf-inner-banner-title { align-items: flex-start; display: flex; inset-inline: 0; justify-content: center; padding-inline: var(--sf-gutter); pointer-events: none; position: absolute; text-align: center; top: var(--sf-banner-title-y, 35%); z-index: 1; }
.sf-inner-banner-title h1 { color: var(--sf-navy); font: 700 2.25rem/1.15 var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif); letter-spacing: -.025em; margin: 0; max-inline-size: min(22ch, calc(100vw - (2 * var(--sf-gutter)))); text-align: center; }
section.entry-hero .entry-hero-container-inner:has(> .sf-inner-banner) { padding-block: 0 !important; }
@media (min-width: 768px) and (max-width: 1023px) { .sf-inner-banner { block-size: 17rem; } .sf-inner-banner img { object-position: var(--sf-banner-focal-tablet, var(--sf-banner-focal, center)); } .sf-inner-banner-title h1 { font-size: 2rem; } }
@media (max-width: 767px) { .sf-inner-banner { block-size: 12.5rem; } .sf-inner-banner img { object-position: var(--sf-banner-focal-mobile, var(--sf-banner-focal, center)); } .sf-inner-banner-title { top: var(--sf-banner-title-y-mobile, var(--sf-banner-title-y, 35%)); } .sf-inner-banner-title h1 { font-size: 1.75rem; } }

@media (prefers-reduced-motion: reduce) {
  #masthead.site-header,
  #masthead.site-header .site-header-wrap {
    transition: none;
  }
}

/* Homepage Trust — approved Direction 1a: one feature card, a supporting
 * card grid, and a quiet rescue-roots provenance transition. */
.home .cosmic-trust-strip .sf-trust-layout {
  display: grid;
  gap: clamp(1rem, 2vw, 1.75rem);
  grid-template-columns: minmax(17rem, 1.1fr) minmax(0, 1.65fr);
  margin: 0 auto;
  max-inline-size: var(--sf-content-max, 80rem);
  padding-inline: var(--sf-gutter, clamp(1.25rem, 4vw, 4rem));
}

.home .cosmic-trust-strip .sf-trust-lead-wrap,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
  min-inline-size: 0;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
  margin: 0 !important;
  max-inline-size: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  display: grid !important;
  gap: clamp(.875rem, 1.4vw, 1.25rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  inline-size: 100%;
  max-inline-size: none !important;
}

.home .cosmic-trust-strip .sf-trust-card {
  align-items: flex-start;
  background: var(--sf-surface, #fffdf9) !important;
  border: 1px solid rgb(18 38 66 / 11%);
  border-radius: var(--sf-radius-card, 1rem);
  box-shadow: 0 8px 22px rgb(18 38 66 / 5%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: clamp(11.5rem, 14vw, 13.75rem);
  padding: clamp(1.35rem, 2.25vw, 2rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  background: var(--sf-navy, #122642) !important;
  border-color: transparent;
  block-size: 100%;
  box-shadow: none;
  min-block-size: 100%;
  padding: clamp(2rem, 3.4vw, 3.25rem);
}

.home .cosmic-trust-strip .sf-trust-card .sf-trust-icon {
  --sf-icon-size: clamp(2.25rem, 3vw, 3.35rem);
  color: var(--sf-gold, #c7a870);
  margin: 0 0 1rem;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon {
  --sf-icon-size: clamp(3.25rem, 4.4vw, 4.75rem);
  margin-block-end: clamp(1.25rem, 2vw, 1.75rem);
}

.home .cosmic-trust-strip .sf-trust-card .trust-hook {
  color: var(--sf-navy, #122642) !important;
  font-size: clamp(1.15rem, 1.35vw, 1.35rem);
  line-height: 1.22;
  margin: 0 0 .65rem !important;
  max-inline-size: 17ch;
  text-align: start;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook {
  color: var(--sf-surface, #fffdf9) !important;
  font-size: clamp(1.75rem, 2.55vw, 2.5rem);
  line-height: 1.12;
  margin-block-end: 1rem !important;
  max-inline-size: 12ch;
}

.home .cosmic-trust-strip .sf-trust-card .trust-support {
  block-size: auto;
  color: rgb(18 38 66 / 76%) !important;
  display: block;
  font-size: clamp(.95rem, 1vw, 1.05rem);
  inset: auto;
  line-height: 1.55;
  margin: 0 !important;
  opacity: 1;
  padding: 0;
  pointer-events: auto;
  position: static;
  text-align: start;
  transform: none;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support {
  color: rgb(255 253 249 / 84%) !important;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  max-inline-size: 26ch;
}

.home .cosmic-trust-strip .sf-trust-card:is(:hover, :focus-within, [open]) > summary {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.home .cosmic-trust-strip .sf-trust-card:is(:hover, :focus-within, [open]) .trust-support {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.home .sf-trust-roots {
  background: var(--sf-page-canvas, #fffdf9);
  padding: 0 var(--sf-gutter, clamp(1.25rem, 4vw, 4rem)) clamp(3.5rem, 5vw, 5rem);
}

.home .sf-trust-roots__inner {
  border-top: 1px solid rgb(199 168 112 / 34%);
  margin: 0 auto;
  max-inline-size: var(--sf-content-max, 80rem);
  padding-top: clamp(1.5rem, 2.75vw, 2.25rem);
}

.home .sf-trust-roots .sf-eyebrow {
  color: var(--sf-gold, #c7a870);
  font-size: .75rem;
  letter-spacing: .12em;
  margin: 0 0 .65rem;
}

.home .sf-trust-roots h3 {
  color: var(--sf-navy, #122642);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
  margin: 0 0 .65rem;
}

.home .sf-trust-roots h3 + p {
  color: rgb(18 38 66 / 76%);
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.6;
  margin: 0;
  max-inline-size: 48rem;
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .home .cosmic-trust-strip .sf-trust-card:hover {
    box-shadow: 0 12px 26px rgb(18 38 66 / 9%);
    transform: translateY(-2px);
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card:hover {
    box-shadow: 0 12px 26px rgb(18 38 66 / 14%);
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .home .cosmic-trust-strip .sf-trust-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    min-block-size: clamp(14rem, 28vw, 17rem);
  }
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip .sf-trust-layout {
    display: block;
    padding-inline: var(--sf-gutter, 1.25rem);
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap {
    margin-block-end: 1rem;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    min-block-size: 15rem;
    padding: 1.75rem;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon {
    --sf-icon-size: 3.5rem;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    overflow-x: auto !important;
    padding-inline: var(--sf-gutter, 1.25rem) !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .875rem !important;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid::-webkit-scrollbar { display: none; }

  .home .cosmic-trust-strip .sf-trust-layout .sf-trust-card {
    flex: 0 0 min(76vw, 19rem);
    min-block-size: 12.5rem;
    padding: 1.35rem;
    scroll-snap-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-layout .sf-trust-card .sf-trust-icon {
    --sf-icon-size: 2.65rem;
    margin-block-end: .85rem;
  }

  .home .sf-trust-roots {
    padding-block-end: 3.25rem;
  }
}

/* Final Homepage Trust refinement v0.1.76. The rail takes its image from the
 * active Hero and uses only its tonal overlay for legibility—never a separate
 * glass/card surface. This is a Homepage-only composition. */
.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  background: transparent !important;
  border-color: transparent;
  box-shadow: none;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(n) {
  background: transparent !important;
}

.home .cosmic-trust-strip :is(.section-heading, .trust-hook, .trust-support) {
  color: var(--sf-surface, #fffdf9) !important;
  text-shadow: 0 1px .75rem rgb(4 14 28 / 76%);
}

.home .cosmic-trust-strip .sf-trust-icon {
  filter: drop-shadow(0 1px .45rem rgb(4 14 28 / 82%));
}

.home .cosmic-trust-strip .sf-trust-layout {
  padding-block: clamp(.25rem, 1vw, .75rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap {
  margin-block-end: clamp(.5rem, 1vw, .875rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  min-block-size: clamp(8rem, 11vw, 9.5rem);
  padding-block: clamp(1.25rem, 2vw, 1.75rem);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  min-block-size: clamp(10rem, 13vw, 12rem);
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip {
    background-image: linear-gradient(180deg, rgb(7 18 34 / 82%), rgb(7 18 34 / 88%)), var(--sf-trust-hero-image, none) !important;
    box-shadow: inset 0 1px rgb(255 253 249 / 10%);
    padding-block: 1.75rem 1.1rem !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    min-block-size: 0;
  }
}

/* Final universal footer layout. Kadence retains the published widgets and
 * menus; these rules establish the approved visual and responsive order. */
@media (min-width: 1025px) {
  .site-footer .site-top-footer-wrap { padding-block: clamp(34px, 3.5vw, 52px); }
  .site-footer .site-top-footer-inner-wrap {
    align-items: start;
    column-gap: clamp(24px, 3vw, 52px);
    grid-template-columns: minmax(180px, 1.05fr) minmax(230px, 1.25fr) minmax(135px, .72fr) minmax(175px, .9fr);
  }
	.site-footer .site-footer-top-section-1 { grid-column: 1; }
	.site-footer .site-footer-top-section-4 { grid-column: 2; }
	.site-footer .site-footer-top-section-2 { grid-column: 3; }
	.site-footer .site-footer-top-section-3 { grid-column: 4; }
	.site-footer .site-footer-top-section-1,
	.site-footer .site-footer-top-section-2,
	.site-footer .site-footer-top-section-3,
	.site-footer .site-footer-top-section-4 { grid-row: 1; }
  .site-footer .footer-brand-logo { max-width: 10.75rem; }
  .site-footer .sf-footer-social { align-items: center; gap: 7px; margin-top: 14px; }
  .site-footer .sf-footer-social a { border: 1px solid rgb(255 253 249 / 18%); border-radius: 999px; color: rgb(255 253 249); height: 40px; width: 40px; }
  .site-footer .site-top-footer-inner-wrap .widget-title,
  .site-footer .site-top-footer-inner-wrap h4,
  .site-footer #footer-navigation::before { color: rgb(220 183 104); font-size: 1rem; margin-bottom: 10px; }
  .site-footer .site-top-footer-inner-wrap li,
  .site-footer .site-top-footer-inner-wrap p,
  .site-footer .footer-contact-list { font-size: .94rem; line-height: 1.42; }
  .site-footer .footer-contact-list { gap: 6px; }
  .site-footer .footer-contact-list li { gap: 7px; }
  .site-footer #footer-navigation .footer-menu-container > ul.menu,
  .site-footer .footer-desktop-list { gap: 6px; }
  .site-footer .site-bottom-footer-wrap { margin-top: 22px; }
  .site-footer .site-bottom-footer-inner-wrap { padding-block: 13px; }
  .site-footer .site-footer-bottom-section-2 { display: none; }
}

@media (max-width: 1024px) {
  .site-footer .site-top-footer-wrap { padding-block: 18px 8px; }
  .site-footer .site-top-footer-inner-wrap { display: flex; flex-direction: column; }
  .site-footer .site-footer-top-section-1 { order: 1; padding-block-end: 6px; }
  .site-footer .site-footer-top-section-4 { order: 2; border-block-end: 0; padding-block: 8px 10px; }
  .site-footer .site-footer-top-section-2 { order: 3; }
  .site-footer .site-footer-top-section-3 { order: 4; }
  #colophon.site-footer .footer-brand-logo { max-width: min(8.5rem, 40vw) !important; width: min(8.5rem, 40vw) !important; }
  .site-footer .sf-footer-social { align-items: center; display: flex; gap: 8px; justify-content: center; margin-top: 8px; }
  .site-footer .sf-footer-social a { border: 1px solid rgb(255 253 249 / 18%); border-radius: 999px; min-block-size: 40px; min-inline-size: 40px; }
  .site-footer .footer-contact-list { gap: 4px; line-height: 1.32; }
  .site-footer .footer-contact-list li { gap: 6px; }
  .site-footer .footer-accordion-summary { min-block-size: 44px; padding-block: 5px; }
  .site-footer .footer-accordion-list { gap: 6px; padding-bottom: 10px; }
  .site-footer .site-bottom-footer-inner-wrap { padding-block: 7px 12px; }
  .site-footer .site-footer-bottom-section-2 { display: none; }
  .site-footer .site-footer-bottom-section-3 { order: 2; }
  .site-footer .site-footer-bottom-section-1 { order: 3; padding-block-start: 9px; }
}

/* Footer v0.1.24: retain the approved architecture while removing the
 * remaining excess space and making each contact item a stable icon/detail row. */
.site-footer .footer-contact-list {
  gap: 6px;
}

.site-footer .footer-contact-list li {
  align-items: start;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  list-style: none;
  margin: 0;
}

.site-footer .footer-contact-list svg {
  block-size: 16px;
  inline-size: 16px;
  margin: .22em 0 0;
}

.site-footer .footer-contact-list li > :last-child {
  min-inline-size: 0;
}

@media (min-width: 1025px) {
  .site-footer .site-top-footer-wrap {
    padding-block: clamp(28px, 3vw, 40px);
  }

  .site-footer .site-top-footer-inner-wrap {
    align-items: start;
    column-gap: clamp(24px, 3vw, 46px);
    grid-template-columns: minmax(190px, 1.05fr) minmax(225px, 1.2fr) minmax(140px, .72fr) minmax(175px, .9fr);
  }

  .site-footer .site-footer-top-section-1,
  .site-footer .site-footer-top-section-2,
  .site-footer .site-footer-top-section-3,
  .site-footer .site-footer-top-section-4 {
    align-self: start;
  }

  .site-footer .footer-brand-lockup {
    aspect-ratio: 1200 / 902;
    display: block;
    inline-size: clamp(11.75rem, 14vw, 13rem);
    overflow: hidden;
  }

  #colophon.site-footer .footer-brand-logo {
    display: block;
    max-inline-size: none !important;
    max-width: none !important;
    transform: translate(-7.45%, -7.45%);
    width: 117.5% !important;
  }

  .site-footer .sf-footer-social {
    gap: 6px;
    margin-top: 8px;
  }

  .site-footer .site-top-footer-inner-wrap li,
  .site-footer .site-top-footer-inner-wrap p,
  .site-footer .footer-contact-list {
    line-height: 1.38;
  }

  .site-footer .footer-contact-list li {
    column-gap: 12px;
  }

  .site-footer #footer-navigation .footer-menu-container > ul.menu,
  .site-footer .footer-desktop-list {
    gap: 5px;
  }

  .site-footer .site-bottom-footer-wrap {
    margin-top: 12px;
  }

  .site-footer .site-bottom-footer-inner-wrap {
    padding-block: 8px;
  }
}

@media (max-width: 1024px) {
  .site-footer .site-top-footer-wrap {
    padding-block: 14px 6px;
  }

  .site-footer .site-footer-top-section-1 {
    padding-block-end: 2px;
  }

  .site-footer .footer-brand-lockup {
    aspect-ratio: 1200 / 902;
    display: block;
    inline-size: min(9.5rem, 42vw);
    overflow: hidden;
  }

  #colophon.site-footer .footer-brand-logo {
    display: block;
    max-inline-size: none !important;
    max-width: none !important;
    transform: translate(-7.45%, -7.45%);
    width: 117.5% !important;
  }

  .site-footer .sf-footer-social {
    gap: 6px;
    margin-top: 5px;
  }

  .site-footer .site-footer-top-section-4 {
    padding-block: 6px 8px;
  }

  .site-footer .footer-contact-list {
    gap: 4px;
    line-height: 1.32;
  }

  .site-footer .footer-contact-list li {
    column-gap: 12px;
  }

  .site-footer .footer-accordion-summary {
    min-block-size: 44px;
    padding-block: 2px;
  }

  .site-footer .footer-accordion-list {
    gap: 5px;
    padding-block-end: 7px;
  }

  .site-footer .site-footer-top-section-3 .sf-mobile-footer-explore {
    display: block !important;
    visibility: visible;
  }

  .site-footer .site-bottom-footer-wrap {
    margin-top: 0;
  }

  .site-footer .site-bottom-footer-inner-wrap {
    padding-block: 6px 9px;
  }

  .site-footer .site-footer-bottom-section-1 {
    padding-block-start: 6px;
  }
}

/* Footer v0.1.26: keep the Follow row aligned with the content column and
 * remove inherited row spacing so accordion rhythm stays even. */
@media (max-width: 1024px) {
  .site-footer .sf-footer-social {
    justify-content: flex-start;
  }

  .site-footer .sf-footer-social a {
    background: transparent !important;
    block-size: 36px;
    inline-size: 36px;
    min-block-size: 36px;
    min-inline-size: 36px;
  }

  .site-footer .footer-bottom {
    margin-top: 0;
    padding-top: 0;
  }

  .site-footer .site-bottom-footer-inner-wrap,
  .site-footer .site-footer-bottom-section-3 {
    margin-block: 0;
    padding-block: 0;
    row-gap: 0;
  }

  .site-footer .site-top-footer-inner-wrap,
  .site-footer .site-top-footer-wrap {
    padding-block-end: 0;
  }
}

/* Global page foundation. This layer deliberately excludes the homepage and
 * global chrome: it replaces Kadence's generic boxed-page defaults with a
 * shared canvas, container and reading-width system for later section work. */
:root {
  --sf-page-canvas: #fdfcf9;
  --sf-surface: #fffdf9;
  --sf-navy: #102b46;
  --sf-gold: #d4af63;
  --sf-shell-max: 90rem;
  --sf-content-max: 90rem;
  --sf-wide-max: 90rem;
  --sf-narrative-max: 45rem;
  --sf-reading-max: 45rem;
  --sf-pricing-max: 73.75rem;
  --sf-gutter: 20px;
  --sf-page-title-height: 10rem;
  --sf-page-content-start: 48px;
  --sf-section-space: 64px;
  --sf-section-space-major: 88px;
  --sf-section-space-compact: 48px;
  --sf-grid-gap: 24px;
  --sf-heading-section-gap: 30px;
  --sf-heading-gap: 8px;
  --sf-heading-content-gap: 12px;
  --sf-block-gap: 32px;
  --sf-content-gap: 20px;
  --sf-card-gap: 20px;
  --sf-card-radius: 0.875rem;
  --sf-control-radius: 0.75rem;
  --sf-motion-duration: 180ms;
  --sf-motion-ease: cubic-bezier(.2, .7, .2, 1);
}

body:not(.home) {
  background: var(--sf-page-canvas);
}

body:not(.home) #inner-wrap {
  background: var(--sf-page-canvas);
}

/* 1280px grid container. Kadence's container remains in charge of markup;
 * this only standardizes its outer measure and responsive gutters. */
body:not(.home) .hero-container.site-container,
body:not(.home) .content-container.site-container {
  box-sizing: border-box;
  max-width: var(--sf-shell-max);
  padding-inline: var(--sf-gutter);
  width: min(100%, var(--sf-shell-max));
}

/* Ordinary templates that do not yet have a mapped banner retain the same
 * centred title hierarchy and controlled transition into their content. */
body:not(.home) .hero-container {
  min-height: var(--sf-page-title-height) !important;
}

body:not(.home) .entry-header.page-title {
  align-items: center;
  justify-content: center;
  min-height: inherit;
  text-align: center;
}

body:not(.home) .entry-header.page-title .entry-title,
body:not(.home) .entry-header.page-title h1 {
  color: var(--sf-navy);
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 0;
  max-inline-size: 22ch;
  text-align: center;
}

.sf-page-banner {
  --sf-banner-position: center center;
  --sf-banner-height: clamp(16rem, 32vw, 31rem);
  background-position: var(--sf-banner-position);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: var(--sf-banner-height);
  position: relative;
}

.sf-page-banner__content {
  align-items: center;
  display: flex;
  min-height: inherit;
  padding-block: var(--sf-section-space-compact);
}

/* Remove the generic whole-page card treatment. Purposeful nested blocks and
 * existing component cards retain their own surfaces. */
body:not(.home) .entry.content-bg {
  background: transparent;
  box-shadow: none;
}

/* The Homepage Hero remains full bleed; this only removes Kadence's generic
 * parent-page surface so its later sections can own their intended canvas. */
body.home .entry.content-bg {
  background: transparent;
  box-shadow: none;
}

body:not(.home).content-style-boxed .entry-content-wrap {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body:not(.home) .entry-content {
  color: var(--sf-navy);
}

body:not(.home) .entry-content > :is(p, ul, ol) {
  max-inline-size: var(--sf-narrative-max);
}

body:not(.home) .entry-content > p:first-child,
.sf-intro,
.section-subhead {
  color: var(--sf-navy);
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: clamp(1.0625rem, 1rem + .22vw, 1.1875rem);
  line-height: 1.6;
  max-inline-size: var(--sf-narrative-max);
}

.sf-eyebrow--inverse {
  color: var(--sf-surface);
}

body.sf-legal-page .entry-content {
  margin-inline: auto;
  max-inline-size: var(--sf-reading-max) !important;
  max-width: var(--sf-reading-max) !important;
}

body.sf-legal-page .entry-content > :is(p, ul, ol) {
  max-inline-size: var(--sf-reading-max);
}

body:not(.home) .entry-content :is(p, li) {
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: clamp(1rem, calc(.97rem + .15vw), 1.125rem);
  line-height: 1.65;
}

body:not(.home) .entry-content :is(h2, h3) {
  color: var(--sf-navy);
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  letter-spacing: -.025em;
}

body:not(.home) .entry-content h2 {
  font-size: clamp(1.625rem, calc(1.25rem + 1.3vw), 2.375rem);
  line-height: 1.16;
  margin-block: var(--sf-block-gap) var(--sf-heading-gap);
}

body:not(.home) .entry-content h3 {
  font-size: clamp(1.3125rem, calc(1.1rem + .65vw), 1.6875rem);
  line-height: 1.24;
  margin-block: clamp(1.5rem, 2.5vw, 2rem) .625rem;
}

body:not(.home) .entry-content :is(h2, h3):first-child {
  margin-block-start: 0;
}

body:not(.home) .entry-content > :is(h2, h3) + :is(p, ul, ol) {
  margin-block-start: 0;
}

body:not(.home) .entry-content > .wp-block-table {
  max-inline-size: min(100%, var(--sf-pricing-max));
}

body:not(.home) .entry-content > .wp-block-buttons {
  margin-block-start: var(--sf-heading-gap);
}

/* Reusable classes for upcoming section work. They are additive so existing
 * pages can adopt them one section at a time without structural migration. */
.sf-container {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: var(--sf-shell-max);
  padding-inline: var(--sf-gutter);
  width: min(100%, var(--sf-shell-max));
}

.sf-narrative { max-inline-size: var(--sf-narrative-max); }
.sf-reading { max-inline-size: var(--sf-reading-max); }
.sf-pricing-width { max-inline-size: var(--sf-pricing-max); }
.sf-section { padding-block: var(--sf-section-space); }
.sf-section--major { padding-block: var(--sf-section-space-major); }
.sf-section--compact { padding-block: var(--sf-section-space-compact); }
.sf-grid { display: grid; gap: var(--sf-grid-gap); }
.sf-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sf-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sf-media {
  border-radius: var(--sf-card-radius);
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  object-fit: cover;
  object-position: var(--sf-media-position, center);
}

.sf-media--landscape { aspect-ratio: 16 / 10; }
.sf-media--square { aspect-ratio: 1; }
.sf-media--portrait { aspect-ratio: 4 / 5; }

body:not(.home) .entry-content :is(.wp-block-button__link, .wp-element-button) {
  align-items: center;
  border-radius: var(--sf-control-radius);
  display: inline-flex;
  justify-content: center;
  min-block-size: 3rem;
  padding-inline: 1.25rem;
}

body:not(.home) .entry-content svg {
  block-size: auto;
  inline-size: 1em;
  max-inline-size: 100%;
}

.sf-icon {
  block-size: 1.25rem;
  color: currentColor;
  flex: 0 0 auto;
  inline-size: 1.25rem;
}

.sf-icon--gold { color: var(--sf-gold); }
.sf-icon--navy { color: var(--sf-navy); }
.sf-icon--ivory { color: var(--sf-surface); }

/* Stay Floofy SVG library: bounded mask presentation keeps approved outline
 * icons inside their intended optical box and prevents un-sized SVG growth. */
.sf-svg-icon {
  background-color: currentColor;
  block-size: var(--sf-icon-size, 1.5rem);
  display: inline-block;
  flex: 0 0 var(--sf-icon-size, 1.5rem);
  inline-size: var(--sf-icon-size, 1.5rem);
  mask: var(--sf-icon-mask) center / contain no-repeat;
  -webkit-mask: var(--sf-icon-mask) center / contain no-repeat;
}

.sf-quick-fact-icon { --sf-icon-size: 1.5rem; color: var(--sf-gold); }
.sf-trust-icon { --sf-icon-size: clamp(2.75rem, 4vw, 3.5rem); color: var(--sf-gold); }
.sf-service-icon { --sf-icon-size: clamp(2.75rem, 4vw, 3.5rem); color: var(--sf-gold); margin-block-end: .75rem; }

@media (hover: hover) and (pointer: fine) {
  .service-card:hover .sf-svg-icon {
    opacity: .9;
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .sf-svg-icon { transition: color var(--sf-motion-duration) var(--sf-motion-ease), opacity var(--sf-motion-duration) var(--sf-motion-ease), transform var(--sf-motion-duration) var(--sf-motion-ease); }
}

.sf-reveal,
.sf-hover-lift {
  transition: transform var(--sf-motion-duration) var(--sf-motion-ease), opacity var(--sf-motion-duration) var(--sf-motion-ease), box-shadow var(--sf-motion-duration) var(--sf-motion-ease);
}

@media (prefers-reduced-motion: no-preference) {
  .sf-reveal--pending {
    opacity: 0;
    transform: translateY(10px);
  }

  .sf-reveal {
    transition-duration: 400ms;
    transition-delay: var(--sf-reveal-delay, 0ms);
  }
}

@media (hover: hover) and (pointer: fine) {
  .sf-hover-lift:hover {
    box-shadow: 0 14px 30px rgb(18 38 66 / 9%);
    transform: translateY(-2px);
  }
}

@media (max-width: 1024px) {
  body:not(.home) .hero-container {
    min-height: clamp(7.5rem, 14vw, 9.375rem) !important;
  }

  .sf-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  body:not(.home) .hero-container {
    min-height: clamp(5.625rem, 28vw, 7.5rem) !important;
  }

  body:not(.home) .entry-header.page-title .entry-title,
  body:not(.home) .entry-header.page-title h1 {
    font-size: clamp(2rem, calc(1.6rem + 2vw), 2.25rem);
    max-inline-size: 14ch;
  }

  body:not(.home) #primary.content-area {
    margin-block: clamp(2.5rem, 10vw, 3.25rem);
  }

  .sf-grid--two,
  .sf-grid--four { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .sf-reveal,
  .sf-hover-lift { opacity: 1; transform: none; transition: none; }

  .sf-hover-lift:hover { transform: none; }
}

/* Global components first pass: scoped refinements for the shared Kadence
 * chrome and the reusable inner-page media component. These rules preserve
 * the published structure while making its responsive geometry predictable. */
#masthead.site-header,
#masthead.site-header .site-header-wrap {
  min-block-size: 0;
}

.site-header-wrap .main-navigation .sub-menu {
  background: rgb(18 38 66 / 98%);
  border: 1px solid rgb(220 183 104 / 20%);
  border-radius: .625rem;
  box-shadow: 0 .875rem 2rem rgb(3 12 28 / 18%);
  padding-block: .375rem;
}

.site-header-wrap .main-navigation .sub-menu a {
  color: rgb(255 253 249) !important;
  min-block-size: 2.75rem;
}

.site-header-wrap .main-navigation .sub-menu a:is(:hover, :focus-visible) {
  background: rgb(220 183 104 / 12%);
  color: rgb(220 183 104) !important;
}

@media (min-width: 1025px) {
  .site-header-wrap .site-main-header-inner-wrap {
    align-items: center;
    min-block-size: 78px;
  }

  .site-header-wrap .site-header-main-section-left,
  .site-header-wrap .site-header-item-main-navigation,
  .site-header-wrap .site-header-item:has(.header-button-wrap) {
    min-inline-size: 0;
  }

  .site-header-wrap .main-navigation .primary-menu-container > ul > li > a {
    min-block-size: 46px;
  }

  .site-footer .site-top-footer-wrap {
    padding-block: clamp(1.3rem, 2.1vw, 1.9rem);
  }

  .site-footer .site-top-footer-inner-wrap {
    column-gap: clamp(1.5rem, 3vw, 3rem);
    grid-template-columns: minmax(11.5rem, 1fr) minmax(14rem, 1.2fr) minmax(8.5rem, .72fr) minmax(10.5rem, .9fr);
  }

  .site-footer .site-top-footer-inner-wrap > * { min-inline-size: 0; }
  .site-footer .footer-contact-list { gap: .375rem; }
  .site-footer .site-bottom-footer-wrap { margin-top: .625rem; }
  .site-footer .site-bottom-footer-inner-wrap { padding-block: .5rem; }
}

@media (max-width: 1024px) {
  #mobile-header .site-header-row-container-inner,
  #mobile-header .site-main-header-inner-wrap { min-block-size: 68px; }

  #mobile-drawer .drawer-inner {
    inline-size: min(88vw, 24.5rem);
    max-inline-size: min(88vw, 24.5rem);
  }

  #mobile-drawer .drawer-content { padding: .5rem clamp(1.125rem, 5vw, 1.5rem) 1rem; }
  #mobile-drawer #mobile-menu > li > a { min-block-size: 44px; }
  #mobile-drawer .drawer-close { min-block-size: 44px; min-inline-size: 44px; }

  .site-footer .site-top-footer-wrap { padding-block: .875rem .375rem; }
  .site-footer .site-footer-top-section-4 { padding-block: .5rem .625rem; }
  .site-footer .footer-accordion-summary { min-block-size: 44px; }
  .site-footer .site-bottom-footer-inner-wrap { padding-block: .5rem .75rem; }
}

/* Footer v0.1.30: a desktop-only density pass. The published column order,
 * copy and mobile accordion structure remain owned by Kadence. */
.site-footer .site-top-footer-inner-wrap .widget-title,
.site-footer .site-top-footer-inner-wrap .footer-widget-area :is(h2, h3, h4),
.site-footer .footer-desktop-heading,
.site-footer .footer-legal-heading,
.site-footer .footer-accordion-summary {
  color: rgb(199 168 112) !important;
}

#colophon.site-footer #footer-navigation.footer-navigation::before {
  color: rgb(199 168 112) !important;
}

@media (min-width: 1025px) {
  .site-footer .site-top-footer-wrap {
    padding-block: clamp(1.25rem, 2vw, 1.75rem);
  }

  .site-footer .sf-footer-social {
    gap: 5px;
    margin-top: 4px;
  }

  .site-footer .sf-footer-social a {
    background: transparent;
    border-color: transparent;
    block-size: 34px;
    inline-size: 34px;
    min-block-size: 34px;
    min-inline-size: 34px;
  }

  .site-footer .site-top-footer-inner-wrap .widget-title,
  .site-footer .site-top-footer-inner-wrap h4,
  .site-footer #footer-navigation::before {
    margin-bottom: 8px;
  }

  .site-footer .site-bottom-footer-wrap {
    margin-top: 8px;
  }

  .site-footer .site-bottom-footer-inner-wrap {
    padding-block: 6px;
  }
}

/* Homepage Section 1 — Hero and the single, semantic Quick Facts bridge.
 * The page source owns the facts; these hooks keep the Hero independent from
 * the normal page container and make future approved SVG replacements safe. */
.home .cosmic-hero {
  --sf-hero-focus: center 50%;
  --sf-hero-copy-max: 39rem;
  --sf-hero-copy-inset: clamp(4.5rem, 7.3vw, 6.25rem);
  color: var(--sf-ivory, #fffdf9);
  isolation: isolate;
  margin-block: 0 !important;
  min-height: clamp(30.5rem, 42vw, 37.75rem) !important;
  overflow: hidden;
  padding-block: 0 !important;
  position: relative;
}

.home .cosmic-hero picture.cosmic-hero-picture,
.home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
  inset: 0;
}

@media (min-width: 1025px) {
  .home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
    transform: scale(1.09);
    transform-origin: 100% 60%;
  }
}

.home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
  animation: none !important;
  object-fit: cover;
  object-position: var(--sf-hero-focus);
}

.home .cosmic-hero .wp-block-cover__gradient-background {
  inset: 0;
  position: absolute;
}

.home .cosmic-hero .wp-block-cover__inner-container {
  align-self: flex-start;
  box-sizing: border-box;
  color: inherit;
  inline-size: 100%;
  margin-inline: auto;
  max-inline-size: calc(var(--sf-content-max) + 8rem);
  padding-block: var(--sf-hero-copy-inset) 1rem;
  padding-inline: var(--sf-gutter);
  position: relative;
  z-index: 1;
}

.home .cosmic-hero .hero-heading {
  color: var(--sf-ivory, #fffdf9);
  font-size: clamp(2.35rem, 3vw, 3.3rem);
  line-height: 1.08;
  margin-block: .7rem .9rem;
  max-inline-size: 27ch;
}

.home .cosmic-hero .sf-hero-line { display: contents; }

.home .cosmic-hero .hero-lead {
  font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
  line-height: 1.6;
  margin-block: 0 1.5rem;
  max-inline-size: var(--sf-hero-copy-max);
}

.home .cosmic-hero .hero-cta-row {
  margin-block: 0;
}


.home .cosmic-hero .hero-eyebrow { font-size: clamp(.85rem, .8rem + .18vw, 1rem); letter-spacing: .01em; line-height: 1.25; }
.home .cosmic-hero .hero-eyebrow .sf-eyebrow-stay { color: var(--sf-ivory, #fffdf9); font-weight: 800; }
.home .cosmic-hero .hero-eyebrow .sf-eyebrow-floofy { color: var(--sf-gold); font-weight: 800; }
.home .cosmic-hero .hero-eyebrow .sf-eyebrow-cosmic { color: var(--sf-ivory, #fffdf9); font-style: italic; font-weight: 600; }
.home .sf-passport-hero { margin-top: .75rem; max-width: calc(28.5rem + .75rem); text-align: center; }
.home .sf-passport-hero a { align-items: center; background: rgb(255 253 249 / 5%); border: 1px solid rgb(220 183 104 / 78%); border-radius: var(--sf-control-radius, 12px); color: var(--sf-ivory, #fffdf9); display: flex; justify-content: center; min-height: 3rem; padding-inline: 1.25rem; text-decoration: none; }
.home .sf-passport-hero small { color: rgb(255 253 249 / 74%); display: block; font-size: .8125rem; font-style: italic; margin-top: .42rem; }

/* The image remains static. These short, transform-only reveals give the
 * copy a calm arrival without delaying interaction or adding runtime JS. */
@media (prefers-reduced-motion: no-preference) {
  .home .cosmic-hero :is(.hero-eyebrow, .hero-heading, .hero-lead, .hero-cta-row) {
    animation: sf-hero-copy-in .42s cubic-bezier(.2, .65, .3, 1) both;
  }

  .home .cosmic-hero .hero-heading { animation-delay: .07s; }
  .home .cosmic-hero .hero-lead { animation-delay: .14s; }
  .home .cosmic-hero .hero-cta-row { animation-delay: .21s; }

  .home .cosmic-hero .wp-block-cover__gradient-background {
    animation: sf-hero-overlay-drift 16s ease-in-out infinite alternate;
    background-size: 112% 100% !important;
  }
}

@keyframes sf-hero-copy-in {
  from { opacity: 0; transform: translateY(.625rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sf-hero-overlay-drift {
  from { background-position: 0% 50%; }
  to { background-position: 7% 50%; }
}

/* The family image, rather than the copy, has a quiet native scroll-timeline
 * exit where supported. Browsers without it retain the composed static Hero. */
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .home .cosmic-hero picture.cosmic-hero-picture {
      animation: sf-hero-subject-exit linear both;
      animation-range: 0 42rem;
      animation-timeline: scroll(root block);
      will-change: transform;
    }
  }
}

@keyframes sf-hero-subject-exit {
  to { transform: translate3d(0, -48px, 0); }
}

.home :is(.cosmic-quick-facts-wrap, .cosmic-trust-strip) {
  margin-block: 0 !important;
}

.home .cosmic-quick-facts-wrap {
  background: #e5cfa8;
  inline-size: 100vw;
  margin-inline: calc(50% - 50vw) !important;
  max-inline-size: 100vw;
  margin-block-start: -.5rem !important;
  overflow: clip;
  position: relative;
  z-index: 2;
}

.home .cosmic-quick-facts {
  box-sizing: border-box;
  margin-inline: auto;
  max-inline-size: none;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: clamp(.4rem, .65vw, .6rem) var(--sf-gutter);
  scrollbar-width: none;
}

.home .cosmic-quick-facts::-webkit-scrollbar { display: none; }

.home .quick-facts-list {
  align-items: stretch;
  display: flex;
  gap: clamp(1rem, 2.1vw, 2rem);
  list-style: none;
  margin: 0;
  padding: 0;
  width: max-content;
}

.home .quick-fact {
  align-items: center;
  color: var(--sf-navy);
  display: grid;
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: clamp(.9375rem, .87rem + .2vw, 1.0625rem);
  font-weight: 600;
  gap: .625rem;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  line-height: 1.35;
  min-block-size: 2.25rem;
  padding-inline-end: clamp(1rem, 1.75vw, 1.75rem);
  position: relative;
  white-space: nowrap;
}

.home .quick-fact::after {
  background: rgb(18 38 66 / 15%);
  block-size: 1.5rem;
  content: "";
  inline-size: 1px;
  inset-inline-end: 0;
  position: absolute;
}

/* Fixed-size icon hooks: the approved SVG library can replace the dot without
 * changing the fact-card measure or reintroducing unconstrained SVG sizing. */
.home .quick-fact-icon {
  block-size: 1.75rem;
  display: grid;
  inline-size: 1.75rem;
  place-items: center;
}

.home .quick-fact-icon::before {
  background: var(--sf-gold);
  block-size: .375rem;
  border-radius: 999px;
  content: "";
  inline-size: .375rem;
}

.home .quick-fact-icon.sf-svg-icon::before { display: none; }
.home .quick-fact-icon.sf-svg-icon { --sf-icon-size: 1.75rem; filter: drop-shadow(0 1px 0 rgb(255 253 249 / 62%)); }

@keyframes sf-quick-facts-loop {
  to { transform: translate3d(var(--sf-quick-facts-loop-distance, -50%), 0, 0); }
}

@media (prefers-reduced-motion: no-preference) {
  .home .quick-facts-list.sf-quick-facts-list-ready {
    animation: sf-quick-facts-loop 42s linear infinite;
    will-change: transform;
  }

  .home .cosmic-quick-facts:hover .quick-facts-list,
  .home .cosmic-quick-facts:focus-within .quick-facts-list,
  .home .cosmic-quick-facts.sf-quick-facts-is-paused .quick-facts-list {
    animation-play-state: paused;
  }
}

@media (max-width: 1024px) {
  .home .cosmic-hero {
    --sf-hero-copy-inset: clamp(4rem, 7vw, 5.75rem);
    min-height: clamp(29rem, 59vw, 34.5rem) !important;
  }

  .home .quick-facts-list { gap: clamp(1rem, 2.4vw, 1.5rem); }
}

/* Kadence's mobile header changes its flow height at 783px. Keep the
 * full-bleed Hero directly beneath it without changing the frozen Header. */
@media (min-width: 783px) and (max-width: 1024px) {
  .home .cosmic-hero {
    inset-block-start: 14px;
    margin-block-end: 14px !important;
    margin-block-start: 0 !important;
  }
}

/* Homepage Trust visual refinement v0.1.74. This deliberately remains a
 * section-only dark-glass treatment; shared card and disclosure primitives
 * retain their existing defaults elsewhere. */
.home .cosmic-trust-strip {
  isolation: isolate;
  position: relative;
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .home .cosmic-trust-strip {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
}

.home .cosmic-trust-strip :is(.section-heading, .trust-hook) {
  color: var(--sf-surface, #fffdf9) !important;
}

.home .cosmic-trust-strip .section-heading .sf-eyebrow,
.home .cosmic-trust-strip .sf-trust-icon {
  color: var(--sf-gold, #c7a870) !important;
  opacity: 1 !important;
}

.home .cosmic-trust-strip .section-heading :is(p, .section-intro),
.home .cosmic-trust-strip .trust-support {
  color: rgb(255 253 249 / 90%) !important;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  background: rgb(16 39 68 / 68%) !important;
  border: 1px solid rgb(215 181 106 / 22%);
  box-shadow: none;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  min-block-size: 0;
}

.home .cosmic-trust-strip .sf-trust-disclosure {
  display: block;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .75rem;
  grid-template-columns: auto minmax(0, 1fr);
  list-style: none;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary::-webkit-details-marker {
  display: none;
}

.home .cosmic-trust-strip .sf-trust-disclosure .sf-trust-icon {
  --sf-icon-size: clamp(2.25rem, 3vw, 2.75rem);
  margin: 0;
}

.home .cosmic-trust-strip .sf-trust-disclosure .trust-hook {
  margin: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-disclosure .trust-support {
  margin: .9rem 0 0 !important;
  max-inline-size: none;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary:focus-visible {
  border-radius: .5rem;
  outline: 2px solid var(--sf-gold, #c7a870);
  outline-offset: .35rem;
}

@media (prefers-reduced-motion: no-preference) {
  .home .cosmic-trust-strip .sf-trust-card {
    animation: none;
  }
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip {
    background: rgb(9 25 47 / 92%) !important;
    padding-block: 2.25rem 1.25rem !important;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap {
    margin-block-end: 1rem;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    min-block-size: 0;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    padding: 0 var(--sf-gutter, 1.25rem) .4rem !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid::-webkit-scrollbar {
    display: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .75rem !important;
    grid-template-columns: none;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: 0 0 min(78vw, 19rem);
    padding: 1.15rem;
    scroll-snap-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary {
    gap: .7rem;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure .trust-support {
    font-size: .95rem;
  }

}

/* Final Homepage Trust refinement v0.1.76 cascade. Keep it after the
 * historical Trust presentation so this remains a local final override. */
.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  background: transparent !important;
  border-color: transparent;
  box-shadow: none;
}

.home .cosmic-trust-strip :is(.section-heading, .trust-hook, .trust-support) {
  color: var(--sf-surface, #fffdf9) !important;
  text-shadow: 0 1px .75rem rgb(4 14 28 / 76%);
}

.home .cosmic-trust-strip .sf-trust-icon {
  filter: drop-shadow(0 1px .45rem rgb(4 14 28 / 82%));
}

.home .cosmic-trust-strip .sf-trust-layout {
  padding-block: clamp(.25rem, 1vw, .75rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap {
  margin-block-end: clamp(.5rem, 1vw, .875rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  min-block-size: clamp(8rem, 11vw, 9.5rem);
  padding-block: clamp(1.25rem, 2vw, 1.75rem);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  min-block-size: clamp(10rem, 13vw, 12rem);
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip {
    background-image: linear-gradient(180deg, rgb(7 18 34 / 82%), rgb(7 18 34 / 88%)), var(--sf-trust-hero-image, none) !important;
    box-shadow: inset 0 1px rgb(255 253 249 / 10%);
    padding-block: 1.75rem 1.1rem !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    min-block-size: 0;
  }
}

/* Global motion, card and interaction system v0.1.71.
 * These are deliberately opt-in primitives. Page passes choose their own
 * composition while inheriting one restrained, accessible state language. */
:root {
  --sf-motion-fast: 140ms;
  --sf-motion-standard: 180ms;
  --sf-motion-slow: 240ms;
  --sf-motion-ease-standard: cubic-bezier(.2, .7, .2, 1);
  --sf-card-border: rgb(18 38 66 / 8%);
  --sf-card-shadow-hover: 0 .875rem 1.875rem rgb(18 38 66 / 9%);
  --sf-focus-ring: 0 0 0 .1875rem rgb(220 183 104 / 46%);
}

.sf-card {
  background: var(--sf-surface);
  border: 1px solid var(--sf-card-border);
  border-radius: var(--sf-card-radius);
  box-shadow: none;
  min-inline-size: 0;
  padding: clamp(1.25rem, 2.2vw, 2rem);
}

.sf-card--featured { border-color: rgb(220 183 104 / 36%); }

.sf-card--inverse {
  background: var(--sf-navy);
  border-color: transparent;
  color: var(--sf-surface);
}

.sf-card--interactive,
.sf-disclosure > summary,
.sf-rail {
  transition: border-color var(--sf-motion-standard) var(--sf-motion-ease-standard), box-shadow var(--sf-motion-standard) var(--sf-motion-ease-standard), outline-color var(--sf-motion-fast) ease, transform var(--sf-motion-standard) var(--sf-motion-ease-standard);
}

.sf-card--interactive:focus-within,
.sf-disclosure > summary:focus-visible,
.sf-rail:focus-visible {
  box-shadow: var(--sf-focus-ring);
  outline: 0;
}

@media (hover: hover) and (pointer: fine) {
  .sf-card--interactive:is(:hover, :focus-within) {
    border-color: rgb(220 183 104 / 40%);
    box-shadow: var(--sf-card-shadow-hover);
    transform: translateY(-2px);
  }
}

.sf-disclosure {
  border-block: 1px solid var(--sf-card-border);
}

.sf-disclosure > summary {
  align-items: center;
  color: var(--sf-navy);
  cursor: pointer;
  display: flex;
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-weight: 700;
  gap: .75rem;
  justify-content: space-between;
  list-style: none;
  min-block-size: 3rem;
  padding-block: .625rem;
}

.sf-disclosure > summary::-webkit-details-marker { display: none; }

.sf-disclosure > summary::after {
  border-block-end: 2px solid currentColor;
  border-inline-end: 2px solid currentColor;
  content: "";
  flex: 0 0 auto;
  inline-size: .5rem;
  block-size: .5rem;
  transform: rotate(45deg) translateY(-.125rem);
  transition: transform var(--sf-motion-standard) var(--sf-motion-ease-standard);
}

.sf-disclosure[open] > summary::after { transform: rotate(225deg) translate(-.0625rem, -.0625rem); }
.sf-disclosure > :not(summary) { margin-block-end: 1rem; }

.sf-rail {
  -webkit-overflow-scrolling: touch;
  display: block;
  max-inline-size: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-color: rgb(18 38 66 / 28%) transparent;
  scrollbar-width: thin;
}

.sf-rail__track {
  display: flex;
  gap: var(--sf-card-gap);
  min-inline-size: max-content;
  padding-block-end: .5rem;
}

.sf-rail__item {
  flex: 0 0 min(78vw, 20rem);
  min-inline-size: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.sf-rail__hint {
  color: rgb(18 38 66 / 64%);
  font-size: .8125rem;
  margin-block: .625rem 0;
}

.sf-reveal { transition: opacity var(--sf-motion-standard) var(--sf-motion-ease-standard), transform var(--sf-motion-standard) var(--sf-motion-ease-standard); }

@media (prefers-reduced-motion: reduce) {
  .sf-card--interactive,
  .sf-disclosure > summary,
  .sf-disclosure > summary::after,
  .sf-rail,
  .sf-reveal {
    scroll-behavior: auto;
    transition: none;
  }

  .sf-card--interactive:is(:hover, :focus-within) { transform: none; }
}

/* The verified mobile Footer uses all three native disclosures. A legacy
 * low-specificity hide rule otherwise leaves Services and Legal unavailable
 * while Explore remains visible. Keep this correction strictly in the Footer
 * and below Kadence's desktop breakpoint. */
@media (max-width: 1024px) {
  #colophon.site-footer .footer-mobile-only { display: block !important; }
}

@media (max-width: 767px) {
  .sf-trust-icon { --sf-icon-size: clamp(2.25rem, 10vw, 3rem); }
  .home .cosmic-hero {
    --sf-hero-focus: center 2%;
    --sf-hero-copy-inset: clamp(.65rem, 2.6vw, .875rem);
    min-height: clamp(29.75rem, 125vw, 32.25rem) !important;
  }

  .home .cosmic-hero .wp-block-cover__inner-container {
    align-self: flex-start;
    padding-block: var(--sf-hero-copy-inset) .4rem;
  }

  .home .cosmic-hero .wp-block-cover__gradient-background {
    background: linear-gradient(180deg, rgb(18 38 66 / 92%) 0%, rgb(18 38 66 / 80%) 44%, rgb(18 38 66 / 55%) 74%, rgb(18 38 66 / 18%) 100%) !important;
  }

  .home .cosmic-hero .hero-heading {
    font-size: clamp(1.56rem, 6vw, 1.78rem);
    line-height: 1;
    margin-block: .4rem .4rem;
    max-inline-size: none;
  }

  .home .cosmic-hero .sf-hero-line { display: block; }

  .home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
    transform: translate3d(0, -1.25rem, 0) scale(1.1);
    transform-origin: center bottom;
  }
  .home .cosmic-hero .hero-eyebrow { font-size: .8125rem; letter-spacing: 0; }
  .home .sf-passport-hero { max-width: 100%; }

  .home .cosmic-hero .hero-lead {
    font-size: .9375rem;
    max-inline-size: 31rem;
    line-height: 1.35;
    margin-block-end: .55rem;
  }

  .home .sf-passport-hero a { min-block-size: 2.75rem; }
  .home .sf-passport-hero { margin-top: .35rem; }
  .home .sf-passport-hero small { margin-top: .14rem; }

  .home .cosmic-quick-facts {
    padding-block: .4rem .45rem;
  }

  .home .quick-facts-list {
    gap: 1rem;
  }

  .home .quick-fact {
    font-size: 1rem;
    min-block-size: 2.25rem;
    padding-inline-end: 1rem;
  }

  .home .quick-fact::after { block-size: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-hero :is(.hero-eyebrow, .hero-heading, .hero-lead, .hero-cta-row, .wp-block-cover__gradient-background) {
    animation: none;
    transform: none;
  }

  .home .cosmic-hero picture.cosmic-hero-picture {
    animation: none !important;
    transform: none !important;
  }

  .home .quick-facts-list {
    animation: none !important;
    scroll-behavior: auto;
  }
}

/* Homepage Section 2 — Why Families Trust. Native details keeps the card
 * reveal accessible; this layer gives it a compact grid/rail presentation. */
.home .cosmic-trust-strip > :is(.wp-block-group__inner-container, .wp-block-group__inner-container > *) {
  max-inline-size: none;
}

.home .cosmic-trust-strip .section-heading {
  color: var(--sf-navy, #122642);
  font-size: clamp(1.9rem, 2.5vw, 2.45rem);
  line-height: 1.14;
  margin: 0 auto clamp(1.5rem, 2.6vw, 2.25rem) !important;
  max-inline-size: var(--sf-content-max, 80rem);
  padding-inline: var(--sf-gutter, clamp(1.25rem, 4vw, 4rem));
  text-align: center;
}

.home .cosmic-trust-strip .trust-grid.sf-trust-grid {
  margin: 0 auto !important;
  max-inline-size: var(--sf-content-max, 80rem) !important;
  overflow: visible !important;
  padding: 0 var(--sf-gutter, clamp(1.25rem, 4vw, 4rem)) !important;
}

.home .cosmic-trust-strip .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  display: grid !important;
  gap: clamp(1rem, 1.8vw, 1.5rem) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  inline-size: 100%;
  max-inline-size: none !important;
}

.home .cosmic-trust-strip .trust-grid.sf-trust-grid > .wp-block-group__inner-container > * {
  margin: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-card {
  background: var(--sf-surface, #fffdf9) !important;
  block-size: 100%;
  border: 1px solid rgb(18 38 66 / 12%);
  border-radius: var(--sf-radius-card, 1rem);
  box-shadow: 0 8px 22px rgb(18 38 66 / 5%);
  box-sizing: border-box;
  min-block-size: clamp(13.5rem, 19vw, 16.25rem);
  overflow: hidden;
  position: relative;
}

.home .cosmic-trust-strip .sf-trust-card > summary {
  align-content: center;
  block-size: 100%;
  box-sizing: border-box;
  cursor: pointer;
  display: grid;
  justify-items: center;
  list-style: none;
  min-block-size: inherit;
  padding: clamp(1.5rem, 2.6vw, 2.25rem);
  text-align: center;
}

.home .cosmic-trust-strip .sf-trust-card > summary::-webkit-details-marker { display: none; }

.home .cosmic-trust-strip .sf-trust-card .sf-trust-icon {
  --sf-icon-size: clamp(2.6rem, 3.5vw, 3.5rem);
  color: var(--sf-gold, #c7a870);
  margin-block-end: .9rem;
}

.home .cosmic-trust-strip .sf-trust-card .trust-hook {
  color: var(--sf-navy, #122642) !important;
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: clamp(1.15rem, 1.45vw, 1.4rem);
  line-height: 1.22;
  margin: 0 !important;
  max-inline-size: 15ch;
}

.home .cosmic-trust-strip .sf-trust-card .trust-hook-accent { color: inherit !important; }

.home .cosmic-trust-strip .sf-trust-card .trust-support {
  align-content: center;
  block-size: 100%;
  box-sizing: border-box;
  color: var(--sf-navy, #122642) !important;
  display: grid;
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: clamp(1rem, 1.1vw, 1.1rem);
  inset: 0;
  line-height: 1.55;
  margin: 0 !important;
  opacity: 0;
  padding: clamp(1.5rem, 2.8vw, 2.5rem);
  pointer-events: none;
  position: absolute;
  text-align: center;
  transform: translateY(.4rem);
}

.home .cosmic-trust-strip .sf-trust-card:is(:hover, :focus-within, [open]) > summary {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.4rem);
}

.home .cosmic-trust-strip .sf-trust-card:is(:hover, :focus-within, [open]) .trust-support {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.home .cosmic-trust-strip .sf-trust-card:focus-within {
  outline: 3px solid rgb(199 168 112 / 68%);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .home .cosmic-trust-strip .sf-trust-card,
  .home .cosmic-trust-strip .sf-trust-card > summary,
  .home .cosmic-trust-strip .sf-trust-card .trust-support {
    transition: border-color 220ms ease, box-shadow 220ms ease, opacity 180ms ease, transform 220ms ease;
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .home .cosmic-trust-strip .sf-trust-card:hover {
    border-color: rgb(199 168 112 / 58%);
    box-shadow: 0 14px 30px rgb(18 38 66 / 10%);
    transform: translateY(-2px);
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .home .cosmic-trust-strip .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip { padding-block: clamp(2.5rem, 11vw, 3.25rem) !important; }

  .home .cosmic-trust-strip .section-heading {
    font-size: clamp(1.7rem, 7.5vw, 2rem);
    margin-block-end: 1.25rem !important;
    text-align: start;
  }

  .home .cosmic-trust-strip .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    max-inline-size: none !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    padding-inline: var(--sf-gutter, 1.25rem) !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .875rem !important;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .trust-grid.sf-trust-grid::-webkit-scrollbar { display: none; }

  .home .cosmic-trust-strip .sf-trust-card {
    flex: 0 0 min(78vw, 20rem);
    min-block-size: 13rem;
    scroll-snap-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-card > summary {
    min-block-size: 13rem;
    padding: 1.5rem;
  }

  .home .cosmic-trust-strip .sf-trust-card .sf-trust-icon { --sf-icon-size: 2.8rem; }

  .home .cosmic-trust-strip .sf-trust-card > summary::after {
    align-items: center;
    background: rgb(199 168 112 / 14%);
    border-radius: 50%;
    color: var(--sf-gold, #c7a870);
    content: "+";
    display: inline-flex;
    font-size: 1.3rem;
    font-weight: 600;
    block-size: 2rem;
    inline-size: 2rem;
    justify-content: center;
    margin-block-start: .85rem;
  }

  .home .cosmic-trust-strip .sf-trust-card[open] > summary::after { content: "−"; }

  .home .cosmic-trust-strip .sf-trust-card .trust-support {
    font-size: 1rem;
    padding: 1.6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-trust-strip .sf-trust-card,
  .home .cosmic-trust-strip .sf-trust-card > summary,
  .home .cosmic-trust-strip .sf-trust-card .trust-support {
    transition: none;
    transform: none;
  }
}

/* Trust Direction 1a runtime override. The published Trust container is
 * intentionally minimal; global.js mounts this dedicated feature/grid markup
 * inside it. Keep these static card rules after legacy Trust styles. */
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  display: grid !important;
  gap: clamp(.875rem, 1.4vw, 1.25rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-inline-size: 0;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-card {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: clamp(11.5rem, 14vw, 13.75rem);
  overflow: visible;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-card .trust-support {
  block-size: auto;
  color: rgb(18 38 66 / 76%) !important;
  display: block;
  inset: auto;
  line-height: 1.55;
  opacity: 1;
  padding: 0;
  pointer-events: auto;
  position: static;
  text-align: start;
  transform: none;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-lead-wrap .sf-trust-card {
  min-block-size: 100%;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-lead-wrap .trust-support {
  color: rgb(255 253 249 / 84%) !important;
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .875rem !important;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: 0 0 min(76vw, 19rem);
    min-block-size: 12.5rem;
  }
}

/* Trust Direction 1a — final layout containment. This intentionally follows
 * legacy Trust presentation rules so the approved feature/grid composition
 * owns its dimensions and static content hierarchy. */
.home .cosmic-trust-strip .section-heading {
  margin-inline: auto !important;
  padding-inline: 0 !important;
  text-align: start;
}

.home .cosmic-trust-strip .sf-trust-layout {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: none;
  padding-inline: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
  box-sizing: border-box;
  inline-size: auto !important;
  margin: 0 !important;
  max-inline-size: none !important;
  min-inline-size: 0;
  padding: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  inline-size: 100%;
  max-inline-size: none !important;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-lead-wrap .sf-trust-card {
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(2rem, 3.2vw, 3rem);
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-lead-wrap .trust-hook {
  color: var(--sf-surface, #fffdf9) !important;
  display: block;
  opacity: 1;
  position: static;
  visibility: visible;
}

.home .sf-trust-roots {
  box-sizing: border-box;
  inline-size: 100vw;
  margin-inline: calc(50% - 50vw);
}

.home .sf-trust-roots__inner {
  inline-size: min(100%, var(--sf-content-max, 80rem));
  max-inline-size: none;
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip .section-heading {
    padding-inline: var(--sf-gutter, 1.25rem) !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout {
    padding-inline: var(--sf-gutter, 1.25rem) !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    padding-inline: var(--sf-gutter, 1.25rem) !important;
  }

  .home .sf-trust-roots__inner {
    padding-inline: var(--sf-gutter, 1.25rem);
  }
}

/* Homepage Trust + Our Roots — approved final component. */
.home .cosmic-trust-strip .sf-trust-layout {
  display: block;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap {
  margin-block-end: clamp(1rem, 1.8vw, 1.4rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  align-items: center;
  background: var(--sf-navy, #122642) !important;
  display: grid;
  gap: 0 clamp(1rem, 2.4vw, 2rem);
  grid-template-columns: clamp(3rem, 5vw, 4.5rem) minmax(0, 1fr);
  grid-template-rows: auto auto;
  justify-content: initial;
  min-block-size: clamp(10.5rem, 16vw, 12.5rem);
  padding: clamp(1.65rem, 3vw, 2.75rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook {
  align-self: end;
  grid-column: 2;
  grid-row: 1;
  margin-block-end: .45rem !important;
  max-inline-size: none;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support {
  align-self: start;
  grid-column: 2;
  grid-row: 2;
  max-inline-size: 52rem;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
  overflow: visible !important;
  scroll-snap-type: none;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  display: grid !important;
  gap: clamp(.75rem, 1.25vw, 1.1rem) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-inline-size: 0;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  box-shadow: none;
  min-block-size: clamp(13rem, 18vw, 15.5rem);
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(2),
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(3) {
  background: var(--sf-navy, #122642) !important;
  border-color: transparent;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(2) .trust-hook,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(3) .trust-hook {
  color: var(--sf-surface, #fffdf9) !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(2) .trust-support,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(3) .trust-support {
  color: rgb(255 253 249 / 82%) !important;
}

.home .sf-trust-roots {
  background: transparent;
  padding: clamp(.75rem, 1.5vw, 1.25rem) var(--sf-gutter, clamp(1.25rem, 4vw, 4rem)) clamp(2rem, 3.5vw, 3.5rem);
}

.home .sf-trust-roots__inner {
  background: #f5ead4;
  border: 1px solid rgb(199 168 112 / 28%);
  border-radius: var(--sf-radius-card, 1rem);
  box-sizing: border-box;
  max-inline-size: min(100%, 48rem);
  padding: clamp(1.75rem, 3.2vw, 2.75rem) clamp(2rem, 4vw, 3.5rem);
  position: relative;
  text-align: center;
}

.home .sf-trust-roots__content {
  margin-inline: auto;
  max-inline-size: 38rem;
}

.home .sf-trust-roots .sf-eyebrow,
.home .sf-trust-roots h3,
.home .sf-trust-roots h3 + p {
  text-align: center;
}

.home .sf-trust-roots h3 + p { max-inline-size: none; }

.home .sf-trust-roots__quote {
  color: rgb(199 168 112 / 62%);
  font-family: Georgia, serif;
  font-size: clamp(3.25rem, 6vw, 5rem);
  line-height: .7;
  position: absolute;
}

.home .sf-trust-roots__quote--open { inset: clamp(1rem, 2vw, 1.5rem) auto auto clamp(1rem, 2vw, 1.5rem); }
.home .sf-trust-roots__quote--close { inset: auto clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem) auto; }

@media (prefers-reduced-motion: no-preference) {
  .home .cosmic-trust-strip .sf-trust-card {
    animation: sf-trust-card-enter .4s cubic-bezier(.2, .65, .3, 1) both;
  }

  .home .cosmic-trust-strip .sf-trust-grid .sf-trust-card:nth-child(1) { animation-delay: .05s; }
  .home .cosmic-trust-strip .sf-trust-grid .sf-trust-card:nth-child(2) { animation-delay: .1s; }
  .home .cosmic-trust-strip .sf-trust-grid .sf-trust-card:nth-child(3) { animation-delay: .15s; }
  .home .cosmic-trust-strip .sf-trust-grid .sf-trust-card:nth-child(4) { animation-delay: .2s; }
}

@keyframes sf-trust-card-enter {
  from { opacity: 0; transform: translateY(.5rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip {
    padding-block: 2.75rem 1rem !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout {
    padding-inline: 0 !important;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    gap: 0 1rem;
    grid-template-columns: 3rem minmax(0, 1fr);
    min-block-size: 10rem;
    padding: 1.4rem;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon { --sf-icon-size: 2.6rem; }
  .home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook { font-size: 1.45rem; }
  .home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support { font-size: .95rem; }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: 0 !important;
    overflow: visible !important;
    padding-inline: 0 !important;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-inline-size: 0;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: initial;
    min-block-size: 13.5rem;
    padding: 1.15rem;
  }

  .home .cosmic-trust-strip .sf-trust-layout .sf-trust-card .sf-trust-icon {
    --sf-icon-size: 2.25rem;
    margin-block-end: .75rem;
  }

  .home .sf-trust-roots {
    padding-block: .75rem 2.25rem;
  }

  .home .sf-trust-roots__inner {
    padding: 1.75rem 1.5rem;
  }
}

/* Keep the Hero image static: the previous scroll-timeline translation exposed
 * an unstable neutral seam above the Quick Facts rail on staging. */
.home .cosmic-hero picture.cosmic-hero-picture {
  animation: none !important;
  transform: none !important;
  will-change: auto;
}

.home .cosmic-quick-facts-wrap { margin-block-start: 0 !important; }

@media (max-width: 767px) {
  .home .cosmic-hero {
    --sf-hero-focus: center 75%;
    min-height: clamp(28rem, 116vw, 30rem) !important;
  }

  .home .cosmic-hero picture.cosmic-hero-picture img.wp-block-cover__image-background {
    transform: none !important;
    transform-origin: center center;
  }
}

/* Canonical ordinary-page rhythm. It normalises generic Gutenberg/Kadence
 * blocks without changing bespoke Homepage, rail, footer or Hero geometry. */

body:not(.home) #primary.content-area {
  margin-block: var(--sf-page-content-start) var(--sf-section-space);
}

/* Direct page blocks are the shared legacy source of repeated 32px margins.
 * Keep their content-led height while using compact, predictable relationships. */
body:not(.home) .entry-content > :is(p, ul, ol, figure, .wp-block-table, .wp-block-group, .wp-block-buttons) {
  margin-block: 0 var(--sf-content-gap);
}

body:not(.home) .entry-content > h2 {
  margin-block: var(--sf-heading-section-gap) var(--sf-heading-content-gap);
}

body:not(.home) .entry-content > h3 {
  margin-block: clamp(1.25rem, 2vw, 1.5rem) .5rem;
}

body:not(.home) .entry-content > :is(h2, h3):first-child {
  margin-block-start: 0;
}

body:not(.home) .entry-content > :is(h2, h3) + :is(p, ul, ol, .wp-block-group, .wp-block-table) {
  margin-block-start: 0;
}

body:not(.home) .entry-content > :is(.wp-block-group, figure, .wp-block-table):not(.alignfull):not(.alignwide) {
  max-inline-size: min(100%, var(--sf-wide-max));
}

body:not(.home) .entry-content > .wp-block-table {
  overflow-x: auto;
}

/* A full-width visual shell may opt in to .sf-section-shell; its content
 * remains in the same responsive inner container. Never hide overflow to
 * conceal an incorrectly sized child. */
.sf-section-shell {
  inline-size: 100%;
  max-inline-size: none;
}

.sf-section-shell > .sf-container {
  margin-inline: auto;
}

body:not(.home) .entry-content,
body:not(.home) .entry-content :is(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-media-text, .wp-block-cover__inner-container) {
  min-inline-size: 0;
}

body:not(.home) .entry-content :is(img, picture, video, iframe, canvas) {
  block-size: auto;
  max-inline-size: 100%;
}

body:not(.home) .entry-content .wp-block-columns,
body:not(.home) .entry-content .wp-block-media-text {
  gap: var(--sf-grid-gap);
}

/* Content cards keep their own intrinsic height. Equal-height grid rows remain
 * possible through their local layout, rather than a global card min-height. */
body:not(.home) .entry-content .sf-card,
body:not(.home) .entry-content .service-card {
  min-block-size: 0;
}

/* The mobile Trust interaction is intentionally deferred to its dedicated
 * section pass. Keep the current verified grid as a configurable component,
 * rather than adding another global layout constraint around it. */
.home .cosmic-trust-strip .sf-trust-layout {
  --sf-trust-mobile-columns: 2;
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --sf-gutter: 24px;
    --sf-page-title-height: 8.5rem;
    --sf-page-content-start: 40px;
    --sf-section-space: 52px;
    --sf-section-space-major: 72px;
    --sf-section-space-compact: 40px;
    --sf-grid-gap: 20px;
    --sf-heading-section-gap: 26px;
    --sf-content-gap: 18px;
    --sf-card-gap: 18px;
  }

}

@media (max-width: 767px) {
  :root {
    --sf-page-title-height: 7.5rem;
    --sf-page-content-start: 32px;
    --sf-section-space: 42px;
    --sf-section-space-major: 56px;
    --sf-section-space-compact: 32px;
    --sf-grid-gap: 16px;
    --sf-heading-section-gap: 23px;
    --sf-content-gap: 16px;
    --sf-card-gap: 16px;
  }

  body:not(.home) .entry-content > h2 {
    margin-block: var(--sf-heading-section-gap) .75rem;
  }

  body:not(.home) .entry-content > h3 {
    margin-block: 1.25rem .5rem;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(var(--sf-trust-mobile-columns), minmax(0, 1fr));
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  :root { --sf-gutter: clamp(24px, 2.5vw, 32px); }
}

@media (min-width: 1280px) and (max-width: 1439px) {
  :root { --sf-gutter: 32px; }
}

@media (min-width: 1440px) {
  :root { --sf-gutter: 40px; }
}

/* WordPress uses the 32px admin bar from tablet upward. Earlier mobile
 * fallback rules used 46px through 1024px, creating a 14px Header/banner
 * overlap at the tablet boundary for logged-in staging review. */
@media (min-width: 783px) and (max-width: 1024px) {
  .admin-bar #masthead.site-header,
  .admin-bar #masthead.site-header-wrap,
  .admin-bar .site-header-wrap {
    top: 32px !important;
  }
}

/* Trust refinement cascade: this follows legacy Homepage Trust declarations
 * so the prototype stays local and does not alter the shared card system. */
.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  background: rgb(16 39 68 / 68%) !important;
  border-color: rgb(215 181 106 / 22%);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card .trust-hook {
  color: var(--sf-surface, #fffdf9) !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card .trust-support {
  color: rgb(255 253 249 / 90%) !important;
}

@media (prefers-reduced-motion: no-preference) {
  .home .cosmic-trust-strip .sf-trust-card { animation: none; }
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip {
    background: rgb(9 25 47 / 92%) !important;
    padding-block: 2.25rem 1.25rem !important;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap {
    margin-block-end: 1rem;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    min-block-size: 0;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    padding: 0 var(--sf-gutter, 1.25rem) .4rem !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid::-webkit-scrollbar {
    display: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .75rem !important;
    grid-template-columns: none;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: 0 0 min(78vw, 19rem);
    padding: 1.15rem;
    scroll-snap-align: start;
  }

}

/* Final Homepage Trust refinement v0.1.76 terminal cascade. */
.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  background: rgb(16 39 68 / 68%) !important;
  border-color: rgb(215 181 106 / 22%);
  box-shadow: none;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(n) {
  background: rgb(16 39 68 / 68%) !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(2),
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(3) {
  background: var(--sf-navy, #122642) !important;
  border-color: transparent;
}

.home .cosmic-trust-strip :is(.section-heading, .trust-hook, .trust-support) {
  color: var(--sf-surface, #fffdf9) !important;
  text-shadow: none;
}

.home .cosmic-trust-strip .sf-trust-icon {
  filter: none;
}

.home .cosmic-trust-strip .sf-trust-layout {
  padding-block: 0;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap {
  margin-block-end: clamp(1rem, 1.8vw, 1.4rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  min-block-size: clamp(10.5rem, 16vw, 12.5rem);
  padding-block: clamp(1.65rem, 3vw, 2.75rem);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  min-block-size: clamp(13rem, 18vw, 15.5rem);
}

@media (max-width: 768px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    min-block-size: 0;
  }
}

/* Homepage Hero Quick Facts rail v0.1.78. This is the only transparent rail
 * treatment: it overlays the Hero's lower edge without changing Trust. */
.home .cosmic-quick-facts-wrap {
  background: transparent !important;
  margin-block-start: clamp(-3.5rem, -4vw, -2.5rem) !important;
  overflow: visible;
  z-index: 3;
}

.home .cosmic-quick-facts {
  overflow-x: auto;
}

.home .quick-fact {
  color: var(--sf-surface, #fffdf9);
  text-shadow: 0 1px .7rem rgb(4 14 28 / 82%);
}

.home .quick-fact::after {
  background: rgb(255 253 249 / 36%);
  box-shadow: 0 1px .4rem rgb(4 14 28 / 55%);
}

.home .quick-fact-icon::before { background: var(--sf-gold, #c7a870); }
.home .quick-fact-icon.sf-svg-icon { filter: drop-shadow(0 1px .45rem rgb(4 14 28 / 82%)); }

@media (max-width: 768px) {
  .home .cosmic-quick-facts-wrap {
    margin-block-start: -2.75rem !important;
  }
}

/* Homepage rollout v0.1.80 — title alignment, Hero action icons and the
 * warm Trust/Roots chapter. This terminal cascade intentionally replaces the
 * earlier dark Hero-derived Trust prototype without touching the Header or
 * Hero Quick Facts rail. */
.home .entry-content .section-heading {
  font-size: clamp(2rem, 3.1vw, 3.25rem);
  margin-inline: auto !important;
  max-inline-size: 24ch;
  text-align: center !important;
}

.home .sf-passport-hero a {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
  justify-content: center;
}

.home .cosmic-trust-strip {
  background: var(--sf-page-canvas, #fffdf9) !important;
  background-image: none !important;
  border: 0;
  box-shadow: none;
  padding-block: clamp(3rem, 5vw, 5rem) clamp(1rem, 2vw, 1.75rem) !important;
}

.home .cosmic-trust-strip .section-heading,
.home .cosmic-trust-strip .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-card :is(.trust-hook, .trust-support) {
  color: var(--sf-navy, #122642) !important;
  text-shadow: none;
}

.home .cosmic-trust-strip .sf-trust-layout {
  display: block;
  margin-inline: auto;
  max-inline-size: min(100%, 88rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  align-items: center;
  background: #fffdf9 !important;
  border: 1px solid rgb(199 168 112 / 46%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-inline: auto;
  max-inline-size: 72rem;
  min-block-size: 0;
  padding: clamp(2rem, 4vw, 3.5rem);
  text-align: center;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon {
  --sf-icon-size: clamp(3rem, 4vw, 4.25rem);
  margin: 0 0 1rem;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook,
.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support {
  align-self: auto;
  grid-column: auto;
  grid-row: auto;
  margin-inline: auto;
  text-align: center;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook {
  font-size: clamp(1.8rem, 2.6vw, 2.55rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support {
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  max-inline-size: 46ch;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
  margin-block-start: clamp(1rem, 1.8vw, 1.4rem) !important;
  overflow: visible !important;
  padding: 0 !important;
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
  display: grid !important;
  gap: clamp(.875rem, 1.3vw, 1.25rem) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card,
.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(n) {
  background: #1d3c63 !important;
  border: 1px solid rgb(199 168 112 / 28%);
  color: var(--sf-surface, #fffdf9) !important;
  min-block-size: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:nth-child(even) {
  background: var(--sf-navy, #122642) !important;
}

.home .cosmic-trust-strip .sf-trust-layout .sf-trust-card :is(.trust-hook, .trust-support),
.home .cosmic-trust-strip .sf-trust-layout .sf-trust-card:nth-child(n) :is(.trust-hook, .trust-support) {
  color: var(--sf-surface, #fffdf9) !important;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary::after {
  color: var(--sf-gold, #c7a870);
}

.home .sf-trust-roots {
  background: var(--sf-page-canvas, #fffdf9);
  padding-block: clamp(.5rem, 1vw, 1rem) clamp(2.5rem, 4vw, 3.75rem);
}

.home .sf-trust-roots__inner {
  background: #f5ead4;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .home .entry-content .section-heading { font-size: clamp(1.85rem, 9vw, 2.5rem); }

  .home .cosmic-trust-strip { padding-block-start: 2.75rem !important; }

  .home .cosmic-trust-strip .sf-trust-layout { padding-inline: var(--sf-gutter, 1.25rem) !important; }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    padding: 1.75rem 1.35rem;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    overflow-x: auto !important;
    padding: 0 var(--sf-gutter, 1.25rem) .6rem !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid::-webkit-scrollbar { display: none; }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .875rem !important;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: 0 0 min(78vw, 19rem);
    scroll-snap-align: start;
  }

}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-trust-strip .sf-trust-card { transition: none; }
}

/* Homepage rollout v0.1.81 — correction pass. The rules below consolidate
 * the post-Hero heading rhythm, preserve the full-image Hero on compact
 * screens, and tighten the dedicated Trust/Roots chapter. */
.home .entry-content {
  --sf-home-eyebrow-title-gap: clamp(.25rem, .6vw, .5rem);
  --sf-home-title-support-gap: clamp(.6rem, 1vw, .9rem);
}

.home .entry-content :is(.trust-eyebrow, .sf-eyebrow) {
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: clamp(.72rem, .68rem + .22vw, .9rem);
  letter-spacing: .1em;
  line-height: 1.25;
  margin: 0 auto var(--sf-home-eyebrow-title-gap) !important;
  max-inline-size: 44rem;
  text-align: center !important;
  text-transform: uppercase;
}

.home .entry-content .section-heading,
.home .entry-content .final-cta-heading {
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: clamp(2rem, 2.35vw, 3.15rem);
  line-height: 1.12;
  margin: 0 auto var(--sf-home-title-support-gap) !important;
  max-inline-size: min(100%, 34ch);
  text-align: center !important;
}

.home .entry-content :is(.section-heading, .final-cta-heading) + p {
  margin-inline: auto;
  text-align: center;
}

@media (min-width: 1025px) {
  .home .entry-content .section-heading { max-inline-size: none; white-space: nowrap; }
}

.home .sf-passport-hero a {
  gap: clamp(.45rem, .75vw, .65rem);
}

.home .sf-passport-action-mark {
  block-size: clamp(1rem, 1.15vw, 1.2rem);
  flex: 0 0 auto;
  inline-size: clamp(1rem, 1.15vw, 1.2rem);
  object-fit: contain;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .home .cosmic-hero {
    --sf-hero-focus: center 50%;
    --sf-hero-copy-inset: clamp(2rem, 5vw, 3.5rem);
    min-height: clamp(38rem, 64vw, 44rem) !important;
  }
}

@media (max-width: 767px) {
  .home .entry-content .section-heading,
  .home .entry-content .final-cta-heading {
    font-size: clamp(1.9rem, 8.5vw, 2.5rem);
    max-inline-size: 19ch;
  }

  .home .cosmic-hero {
    --sf-hero-focus: center 50%;
    --sf-hero-copy-inset: clamp(1rem, 3.5vw, 1.35rem);
    min-height: clamp(37rem, 158vw, 43rem) !important;
  }

  .home .cosmic-hero .wp-block-cover__inner-container { padding-block-end: .75rem; }

  .home .sf-passport-action-mark {
    block-size: 1.1rem;
    inline-size: 1.1rem;
  }

  .home .cosmic-quick-facts-wrap { margin-block-start: -2.25rem !important; }
}

.home .cosmic-trust-strip {
  padding-block: clamp(2.5rem, 4vw, 4.25rem) clamp(1rem, 2vw, 1.75rem) !important;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  background: var(--sf-navy, #122642) !important;
  border-color: rgb(199 168 112 / 38%);
  min-block-size: 0;
  padding: clamp(1.75rem, 3vw, 2.6rem) clamp(1.5rem, 4vw, 3.5rem);
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card :is(.trust-hook, .trust-support) {
  color: var(--sf-surface, #fffdf9) !important;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support { max-inline-size: 50ch; }

.home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
  min-block-size: clamp(10.75rem, 13vw, 12.5rem);
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:is(:hover, :focus-within) {
    box-shadow: 0 .75rem 1.5rem rgb(10 27 48 / 18%);
    transform: translateY(-2px);
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card:is(:hover, :focus-within) .sf-trust-icon {
    color: #e0bd78;
  }
}

@media (max-width: 1024px) {
  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
    align-items: center;
    display: grid;
    gap: .2rem 1rem;
    grid-template-columns: clamp(2.6rem, 7vw, 3.25rem) minmax(0, 1fr);
    grid-template-rows: auto auto;
    max-inline-size: none;
    padding: clamp(1.25rem, 3vw, 1.75rem);
    text-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-icon {
    --sf-icon-size: clamp(2.4rem, 6vw, 3rem);
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap :is(.trust-hook, .trust-support) {
    margin-inline: 0;
    text-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-lead-wrap .trust-hook { font-size: clamp(1.45rem, 2.7vw, 1.8rem); }
  .home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support { font-size: clamp(.92rem, 1.8vw, 1rem); }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid {
    margin-inline: calc(var(--sf-gutter, 1.25rem) * -1) !important;
    overflow-x: auto !important;
    padding: 0 var(--sf-gutter, 1.25rem) .45rem !important;
    scroll-padding-inline: var(--sf-gutter, 1.25rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid::-webkit-scrollbar { display: none; }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid > .wp-block-group__inner-container {
    display: flex !important;
    gap: .875rem !important;
    min-inline-size: max-content;
  }

  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    flex: 0 0 min(54vw, 22rem);
    min-block-size: 0;
    padding: 1.1rem;
    scroll-snap-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary {
    align-items: center;
    display: grid;
    gap: .25rem .75rem;
    grid-template-columns: 2.4rem minmax(0, 1fr) auto;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary .sf-trust-icon {
    --sf-icon-size: 2.1rem;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary .trust-hook {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    text-align: start;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary::after {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure .trust-support {
    font-size: .94rem;
    margin-block: .75rem 0;
    text-align: start;
  }

  .home .cosmic-trust-strip .sf-rail__hint { display: none !important; }
}

@media (max-width: 767px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card { flex-basis: min(78vw, 19rem); }
}

.home .sf-trust-roots {
  padding-block: .25rem clamp(2rem, 3.5vw, 3rem);
}

.home .sf-trust-roots__inner { padding: clamp(1.25rem, 2.4vw, 1.8rem) clamp(1.5rem, 3vw, 2.5rem); }
.home .sf-trust-roots__quote { font-size: clamp(2.5rem, 4.5vw, 3.75rem); }

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-trust-strip .sf-trust-card:is(:hover, :focus-within) { box-shadow: none; transform: none; }
}

/* Homepage final Hero + Trust/Roots correction pass. */
.home .cosmic-hero .hero-lead {
  color: var(--sf-ivory, #fffdf9);
  font-size: clamp(.875rem, .84rem + .18vw, 1rem);
  font-style: italic;
  line-height: 1.5;
}

.home .cosmic-hero .cosmic-hero-picture,
.home .cosmic-hero .cosmic-hero-picture img {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-hero .cosmic-hero-picture img.wp-block-cover__image-background {
    transform: none !important;
    will-change: auto;
  }
}

.home .entry-content :is(.trust-eyebrow, .sf-eyebrow) {
  margin-block-start: clamp(2rem, 3vw, 3.5rem) !important;
  margin-block-end: clamp(.375rem, .55vw, .625rem) !important;
}

.home .sf-trust-roots .sf-eyebrow { margin-block-start: 0 !important; }
.home .sf-trust-roots { margin-block-start: clamp(1.5rem, 2vw, 2rem); }

.home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: clamp(1.75rem, 2.2vw, 2rem) clamp(1.5rem, 4vw, 3rem);
}

.home .sf-trust-lead-title-row {
  align-items: center;
  display: flex;
  gap: clamp(.875rem, 1.2vw, 1rem);
  justify-content: center;
}

.home .sf-trust-lead-title-row .sf-trust-icon {
  --sf-icon-size: clamp(2rem, 2.15vw, 2.125rem);
  margin: 0;
}

.home .sf-trust-lead-title-row .trust-hook {
  font-size: clamp(1.5rem, 1.85vw, 1.75rem) !important;
  margin: 0;
}

.home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support {
  font-size: clamp(1rem, 1.1vw, 1.125rem);
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

.home .cosmic-trust-strip .sf-trust-disclosure {
  display: block;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .75rem;
  grid-template-columns: 2.4rem minmax(0, 1fr) auto;
  min-block-size: 7rem;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary .sf-trust-icon {
  --sf-icon-size: 2.1rem;
  margin: 0;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary .trust-hook {
  margin: 0;
  text-align: start;
}

.home .cosmic-trust-strip .sf-trust-disclosure__summary::after {
  font-size: 1rem;
  margin: 0;
}

.home .cosmic-trust-strip .sf-trust-disclosure .trust-support {
  line-height: 1.5;
  margin: .55rem 0 0;
  overflow: hidden;
}

@media (min-width: 1025px) {
  .home .cosmic-trust-strip .sf-trust-layout .trust-grid.sf-trust-grid .sf-trust-card {
    min-block-size: 9.75rem;
    padding: 1.2rem 1.1rem;
  }

  .home .cosmic-trust-strip .sf-trust-disclosure__summary { min-block-size: 7.1rem; }
  .home .cosmic-trust-strip .sf-trust-disclosure .trust-support { transition: opacity 180ms ease, transform 180ms ease; }
  .home .cosmic-trust-strip .sf-trust-disclosure:not([open]) .trust-support { display: none; }
}

@media (max-width: 1024px) {
  .home .cosmic-trust-strip .sf-trust-lead-wrap .sf-trust-card { gap: .2rem 1rem; }
  .home .sf-trust-lead-title-row { display: contents; }
  .home .sf-trust-lead-title-row .sf-trust-icon { grid-column: 1; grid-row: 1 / span 2; }
  .home .sf-trust-lead-title-row .trust-hook { grid-column: 2; grid-row: 1; text-align: start; }
  .home .cosmic-trust-strip .sf-trust-lead-wrap .trust-support { grid-column: 2; grid-row: 2; text-align: start; }
  .home .cosmic-trust-strip .sf-trust-disclosure__summary { min-block-size: 5.5rem; }
  .home .cosmic-trust-strip .sf-trust-disclosure:not([open]) .trust-support { display: none; }
}

@media (max-width: 767px) {
  .home .cosmic-hero .hero-lead { line-height: 1.5; }
  .home .cosmic-hero .hero-heading { margin-block-end: 18px !important; }
  .home .cosmic-hero .hero-lead { margin-block-end: 26px !important; }
  .home .cosmic-hero .hero-cta-row { margin-block-end: 12px !important; }
  .home .sf-passport-hero { margin-top: 0 !important; }
  .home .sf-passport-hero small { margin-top: 8px !important; }
  .home .cosmic-trust-strip .sf-trust-disclosure__summary { min-block-size: 5.25rem; }
}

@media (min-width: 431px) and (max-width: 767px) {
  .home .cosmic-hero .hero-lead { margin-block-end: 28px !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .home .cosmic-hero .hero-lead { margin-block-end: 30px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-trust-strip .sf-trust-disclosure .trust-support { transition: none; }
}

/* Homepage Services — authoritative implementation. */
.home .cosmic-services {
  background: #0e2a47 !important;
  color: #f7f1e6;
  margin-block-start: 0;
  padding: 4.5rem 0 4.75rem !important;
}

.home .cosmic-services > .wp-block-group__inner-container {
  margin-inline: auto;
  max-inline-size: var(--sf-wide-max, 74rem);
  padding-inline: var(--sf-gutter, 1.5rem);
}

.home .cosmic-services .trust-eyebrow {
  color: #d4af63;
  margin-block-start: 0 !important;
}

.home .cosmic-services .section-heading {
  color: #f7f1e6;
  margin-inline: auto;
  max-inline-size: 47.5rem;
  white-space: normal;
}

.home .cosmic-services .services-grid {
  display: grid !important;
  gap: 1.75rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 !important;
  min-inline-size: 0;
  padding-block: 1.5rem;
}

.home .cosmic-services .service-card {
  background: #f6efe2;
  border: 1px solid #d8c39a;
  border-radius: 1.5rem;
  box-shadow: 0 12px 28px rgb(5 17 31 / 16%);
  color: #102b46;
  min-block-size: 16.875rem;
  min-inline-size: 0;
  padding: 1.75rem;
  transition: transform 320ms cubic-bezier(.2,.8,.2,1), box-shadow 320ms cubic-bezier(.2,.8,.2,1), border-color 320ms cubic-bezier(.2,.8,.2,1), background-color 320ms cubic-bezier(.2,.8,.2,1);
}

.home .cosmic-services .sf-service-disclosure { display: block; }

.home .cosmic-services .sf-service-disclosure__summary {
  align-items: start;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: .875rem 0;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  min-block-size: 12rem;
}

.home .cosmic-services .sf-service-disclosure__summary::-webkit-details-marker { display: none; }

.home .cosmic-services .sf-service-icon {
  --sf-icon-size: 3rem;
  background-color: currentColor;
  background-image: none;
  border: 0;
  color: #c69a43;
  grid-column: 1;
  margin: 0;
  padding: 0;
}

.home .cosmic-services .service-name {
  color: #102b46;
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
}

.home .cosmic-services .service-price {
  color: #c69a43;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.home .cosmic-services .sf-service-disclosure__summary::after {
  color: #c69a43;
  content: "⌄";
  align-self: center;
  background: rgb(198 154 67 / 6%);
  border: 1.5px solid #c69a43;
  border-radius: 999px;
  font-size: 1.125rem;
  grid-column: 2;
  grid-row: 1 / span 4;
  line-height: 1;
  min-block-size: 3rem;
  min-inline-size: 3rem;
  text-align: center;
  transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.home .cosmic-services .sf-service-disclosure[open] .sf-service-disclosure__summary::after { background: #c69a43; color: #102b46; transform: rotate(180deg) scale(1.04); }

.home .cosmic-services .service-desc {
  color: #3f556e;
  font-size: .9375rem;
  font-weight: 450;
  line-height: 1.5;
  margin: 0;
}

.home .cosmic-services .sf-service-disclosure > a {
  background: #c69a43;
  border-radius: 999px;
  color: #102b46;
  display: inline-flex;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 1.125rem;
  padding: .625rem 1rem;
  text-decoration: none;
}

.home .cosmic-services .sf-service-disclosure:not([open]) > :is(.service-desc, a) { display: none; }
.home .cosmic-services .sf-service-disclosure[open] > :is(.service-desc, a) { animation: sf-service-detail-reveal 220ms ease both; }

.home .cosmic-services :is(.sf-service-disclosure__summary, .sf-service-disclosure > a):focus-visible {
  outline: 2px solid #d4af63;
  outline-offset: 3px;
}

@keyframes sf-service-detail-reveal { from { opacity: 0; transform: translateY(.25rem); } to { opacity: 1; transform: translateY(0); } }

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .home .cosmic-services .service-card:has(.sf-service-disclosure:is(:hover, :focus-within, [open])) {
    background: #fff9ee;
    border: 2px solid #c69a43;
    box-shadow: 0 30px 64px rgb(4 16 30 / 32%);
    transform: translateY(-.625rem) scale(1.085);
    z-index: 4;
  }

  .home .cosmic-services .sf-service-disclosure:is(:hover, :focus-within, [open]) .sf-service-disclosure__summary::after { background: #c69a43; color: #102b46; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home .cosmic-services { padding-block: 3.5rem 3.75rem !important; }
  .home .cosmic-services .services-grid { gap: 1.375rem !important; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 1rem; }
  .home .cosmic-services .service-card { min-block-size: 15.625rem; padding: 1.625rem; }
  .home .cosmic-services .sf-service-icon { --sf-icon-size: 2.75rem; }
  .home .cosmic-services .service-name { font-size: 1.5rem; }
  .home .cosmic-services .service-price { font-size: 1rem; }
  .home .cosmic-services .service-card:has(.sf-service-disclosure[open]) { border: 2px solid #c69a43; box-shadow: 0 20px 42px rgb(4 16 30 / 24%); transform: scale(1.035); z-index: 2; }
}

@media (max-width: 767px) {
  .home .cosmic-services { padding-block: 3.25rem 3.5rem !important; }
  .home .cosmic-services > .wp-block-group__inner-container { padding-inline: 1.5rem; }
  .home .cosmic-services .services-grid {
    display: flex !important;
    gap: 1rem !important;
    margin-inline: -1.5rem !important;
    overflow-x: auto !important;
    padding: 0 1.5rem .25rem !important;
    scroll-padding-inline: 1.5rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .home .cosmic-services .services-grid::-webkit-scrollbar { display: none; }
  .home .cosmic-services .service-card {
    flex: 0 0 min(82vw, 20rem);
    min-block-size: 15.625rem;
    padding: 1.5rem;
    scroll-snap-align: start;
  }
  .home .cosmic-services .sf-service-icon { --sf-icon-size: 2.5rem; }
  .home .cosmic-services .service-name { font-size: 1.375rem; }
  .home .cosmic-services .service-price { font-size: 1rem; }
  .home .cosmic-services .service-desc { font-size: .875rem; }
  .home .cosmic-services .service-card:has(.sf-service-disclosure[open]) {
    border: 2px solid #c69a43;
    box-shadow: 0 18px 36px rgb(4 16 30 / 22%);
    transform: scale(1.02);
    z-index: 2;
  }
  .home .sf-service-rail-hint {
    color: rgb(247 241 230 / 72%);
    display: block;
    font-size: .8125rem;
    letter-spacing: .08em;
    margin: .875rem 1.5rem 0 auto;
    max-inline-size: max-content;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .cosmic-services .service-card,
  .home .cosmic-services .service-card:has(.sf-service-disclosure:is(:hover, :focus-within, [open])),
  .home .cosmic-services .sf-service-disclosure__summary::after { transform: none; transition: none; }
  .home .cosmic-services .sf-service-disclosure[open] > :is(.service-desc, a) { animation: none; }
}

/* Ordinary Website section-header system. Homepage Hero/chapters and the
 * dedicated inner-page banner are deliberate component exceptions. */
body:not(.home) .entry-content :is(.trust-eyebrow, .sf-eyebrow, .section-eyebrow) {
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  margin-block: 0 var(--sf-heading-gap) !important;
  text-align: center;
  text-transform: uppercase;
}

body:not(.home) .entry-content .section-heading {
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.15;
  margin-block: 0 !important;
  text-align: center;
}

body:not(.home) .entry-content .section-heading + :is(p, .wp-block-paragraph) {
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
  margin-block: var(--sf-heading-content-gap) var(--sf-heading-section-gap);
  margin-inline: auto;
  max-inline-size: 42.5rem;
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.home) .entry-content .section-heading { font-size: 2rem; line-height: 1.15; }
  body:not(.home) .entry-content .section-heading + :is(p, .wp-block-paragraph) { font-size: .9375rem; }
}

@media (max-width: 767px) {
  body:not(.home) .entry-content :is(.trust-eyebrow, .sf-eyebrow, .section-eyebrow) { font-size: .6875rem; }
  body:not(.home) .entry-content .section-heading { font-size: 1.75rem; letter-spacing: -.02em; line-height: 1.15; }
  body:not(.home) .entry-content .section-heading + :is(p, .wp-block-paragraph) { font-size: .875rem; }
}

/* Beat legacy Homepage heading specificity without touching Hero/banner systems. */
.home .entry-content .section-heading { font-size: 2.25rem !important; line-height: 1.15 !important; }
.home .entry-content :is(.trust-eyebrow, .sf-eyebrow, .section-eyebrow) { font-size: .75rem !important; line-height: 1.2 !important; }
.home .entry-content .section-heading + :is(p, .wp-block-paragraph) { font-size: 1rem !important; line-height: 1.55 !important; }

@media (min-width: 768px) and (max-width: 1023px) {
  .home .entry-content .section-heading { font-size: 2rem !important; line-height: 1.18 !important; }
  .home .entry-content .section-heading + :is(p, .wp-block-paragraph) { font-size: .9375rem !important; }
}

@media (max-width: 767px) {
  .home .entry-content .section-heading { font-size: 1.75rem !important; line-height: 1.15 !important; }
  .home .entry-content :is(.trust-eyebrow, .sf-eyebrow, .section-eyebrow) { font-size: .6875rem !important; line-height: 1.2 !important; }
  .home .entry-content .section-heading + :is(p, .wp-block-paragraph) { font-size: .875rem !important; line-height: 1.55 !important; }
}

/* Homepage width system. This replaces the competing Kadence 1280px inner
 * cap only for Homepage chapters; readable copy retains its local measure. */
.home .entry-content {
  --sf-gutter: 1.25rem;
  --sf-home-shell-max: 90rem;
}

.home .entry-content > :is(.cosmic-trust-strip, .cosmic-services, .cosmic-family, .cosmic-routine, .cosmic-gallery, .cosmic-testimonials, .cosmic-faq, .cosmic-final-cta-wrap) {
	margin-block: 0 !important;
  margin-inline: calc(50% - 50vw) !important;
  max-inline-size: 100vw !important;
  width: 100vw !important;
}

.home .entry-content > :is(.cosmic-trust-strip, .cosmic-services, .cosmic-family, .cosmic-routine, .cosmic-gallery, .cosmic-testimonials, .cosmic-faq, .cosmic-final-cta-wrap) > .wp-block-group__inner-container {
  box-sizing: border-box;
  margin-inline: auto;
  max-inline-size: calc(var(--sf-home-shell-max) + (2 * var(--sf-gutter))) !important;
  padding-inline: var(--sf-gutter) !important;
  width: 100% !important;
}

@media (min-width: 768px) { .home .entry-content { --sf-gutter: 1.5rem; } }
@media (min-width: 1280px) { .home .entry-content { --sf-gutter: 2rem; } }
@media (min-width: 1440px) { .home .entry-content { --sf-gutter: 2.5rem; } }

/* Homepage Daily Routine — authoritative child-theme journey. Page 47 keeps
 * the factual source list; global.js renders this six-stage route. */
.home .cosmic-routine { background: #0e2a47 !important; color: #f7f1e6; padding-block: 5rem 5.5rem !important; }
.home .cosmic-routine > .wp-block-group__inner-container { text-align: center; }
.home .cosmic-routine .trust-eyebrow { color: #d4af63; margin-block-start: 0 !important; }
.home .cosmic-routine .section-heading { color: #f7f1e6; margin-inline: auto; }
.home .cosmic-routine .section-subhead { color: rgb(247 241 230 / 78%); font: 400 1rem/1.55 Inter, sans-serif; margin: .75rem auto 0; max-inline-size: 45rem; }
.home .cosmic-routine .trust-list { margin: 3rem 0 0 !important; min-inline-size: 0; position: relative; }
.sf-routine-journey { display: grid; gap: 1.5rem; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; position: relative; }
.sf-routine-journey::before { background: rgb(212 175 99 / 35%); block-size: 1px; content: ""; inset-inline: calc(100% / 12); position: absolute; top: 1.75rem; }
.sf-routine-stage { align-items: center; block-size: auto; color: #f7f1e6; display: flex; flex-direction: column; justify-content: flex-start; min-block-size: 0; min-inline-size: 0; position: relative; text-align: center; z-index: 1; }
.sf-routine-node { align-items: center; background: #102b46; border: 1px solid rgb(212 175 99 / 55%); border-radius: 50%; block-size: 3.5rem; display: inline-flex; justify-content: center; transition: background-color 200ms cubic-bezier(.2,.7,.2,1), border-color 200ms cubic-bezier(.2,.7,.2,1), box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); inline-size: 3.5rem; }
.sf-routine-icon { --sf-icon-size: 1.375rem; color: #f7f1e6; }
.home .cosmic-routine .sf-routine-step { color: #d4af63; font: 700 .75rem/1.2 Inter, sans-serif; margin: .25rem 0 .625rem; }
.home .cosmic-routine .sf-routine-title { align-items: flex-start; block-size: 2.5rem; box-sizing: border-box; color: #f7f1e6; display: flex; font: 700 1.125rem/1.1 var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif); justify-content: center; margin: 0; min-block-size: 2.5rem; text-align: center; width: 100%; }
.home .cosmic-routine .sf-routine-detail { margin: 0 auto; max-inline-size: 100%; text-align: start; }
.home .cosmic-routine .sf-routine-detail-control { align-items: center; background: transparent; border: 0; color: #d4af63; cursor: pointer; display: inline-flex; flex: 0 0 2.75rem; justify-content: center; margin: 0; min-block-size: 2.75rem; min-inline-size: 2.75rem; padding: 0; transition: transform 180ms ease; }
.sf-routine-detail-control svg { block-size: 1rem; fill: none; inline-size: 1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform 180ms ease; }
.sf-routine-detail.is-open .sf-routine-detail-control svg { transform: rotate(180deg); }
.sf-routine-detail-control:focus-visible { outline: 2px solid #d4af63; outline-offset: 3px; }
.sf-routine-detail-panel { background: rgb(246 239 226 / 8%); border: 1px solid rgb(212 175 99 / 28%); border-radius: .875rem; color: #f7f1e6; margin-top: .5rem; max-inline-size: 100%; padding: 1rem; }
.sf-routine-detail.is-open .sf-routine-detail-panel { animation: sf-routine-detail-reveal 180ms cubic-bezier(.2,.7,.2,1) both; }
.sf-routine-detail-panel p { color: #f7f1e6; font: 400 .875rem/1.5 Inter, sans-serif; margin: 0; }
.sf-routine-rail-hint { display: none; }

@keyframes sf-routine-detail-reveal { from { opacity: 0; transform: translateY(.25rem); } to { opacity: 1; transform: translateY(0); } }


@media (min-width: 768px) and (max-width: 1023px) {
  .home .cosmic-routine { padding-block: 4rem 4.5rem !important; }
  .home .cosmic-routine .section-heading { font-size: 2rem; }
  .home .cosmic-routine .trust-list { margin-block-start: 2.5rem !important; margin-inline: calc(var(--sf-gutter) * -1) !important; overflow-x: auto; padding: 0 var(--sf-gutter) .5rem; scroll-padding-inline: var(--sf-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; text-align: start; }
  .home .cosmic-routine .trust-list::-webkit-scrollbar { display: none; }
  .sf-routine-journey { display: flex; gap: 1.125rem; min-inline-size: max-content; }
  .sf-routine-journey::before { inset-inline: 8.125rem; top: 1.75rem; width: calc(100% - 16.25rem); }
  .sf-routine-stage { align-items: center; flex: 0 0 16.25rem; text-align: center; }
  .home .cosmic-routine .sf-routine-step { margin: .25rem 0 .5rem; }
  .sf-routine-rail-hint { color: rgb(247 241 230 / 70%); display: block; font: 700 .6875rem/1 Inter, sans-serif; letter-spacing: .08em; margin: .625rem 0 0 auto; max-inline-size: max-content; }
}

@media (max-width: 767px) {
  .home .cosmic-routine { padding-block: 3.5rem 4rem !important; }
  .home .cosmic-routine .section-heading { font-size: 1.75rem; }
  .home .cosmic-routine .section-subhead { font-size: .875rem; }
  .home .cosmic-routine .trust-list { margin: 1.75rem calc(var(--sf-gutter) * -1) 0 !important; overflow-x: auto; padding: 0 var(--sf-gutter) .5rem; scroll-padding-inline: var(--sf-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; text-align: start; }
  .home .cosmic-routine .trust-list::-webkit-scrollbar { display: none; }
  .sf-routine-journey { display: flex; gap: 1.125rem; min-inline-size: max-content; }
  .sf-routine-journey::before { inset-inline: 7.5rem; top: 1.75rem; width: calc(100% - 15rem); }
  .sf-routine-stage { align-items: center; flex: 0 0 clamp(15rem, 78vw, 17.5rem); text-align: center; }
  .home .cosmic-routine .sf-routine-step { margin: .1875rem 0 .375rem; }
  .home .cosmic-routine .sf-routine-detail { max-inline-size: none; }
  .sf-routine-rail-hint { color: rgb(247 241 230 / 70%); display: block; font: 700 .6875rem/1 Inter, sans-serif; letter-spacing: .08em; margin: .625rem 0 0 auto; max-inline-size: max-content; }
}

@media (prefers-reduced-motion: reduce) { .sf-routine-detail-control, .sf-routine-detail-control svg { transition: none; } .sf-routine-detail.is-open .sf-routine-detail-panel { animation: none; } }

/* Homepage Gallery — single visual and motion owner. */
.home .cosmic-gallery { background:#fdfcf9; color:#102b46; padding-block:4rem 4.25rem; text-align:center; }
.home .cosmic-gallery .trust-eyebrow { color:#b08d4b; font-size:.75rem; letter-spacing:.14em; line-height:1.2; margin:0 0 .625rem; }
.home .cosmic-gallery .section-heading { color:#102b46; font-size:2.25rem; line-height:1.15; margin:0 auto; }
.home .cosmic-gallery .section-subhead { color:rgb(16 43 70 / 78%); font:400 1rem/1.55 Inter,sans-serif; margin:.75rem auto 0; max-inline-size:43.75rem; }
.home .cosmic-gallery .sf-gallery-rail { display:flex; gap:1rem; margin:2rem calc(var(--sf-gutter) * -1) 0; overflow-x:auto; padding-inline:var(--sf-gutter); scrollbar-width:none; }
.home .cosmic-gallery .sf-gallery-rail::-webkit-scrollbar { display:none; }
.sf-gallery-item { background:#d8cbb9; block-size:21.25rem; border-radius:1.125rem; flex:0 0 15rem; overflow:hidden; transition:flex-basis 320ms cubic-bezier(.2,.8,.2,1),box-shadow 320ms cubic-bezier(.2,.8,.2,1); }
.sf-gallery-item img { block-size:100%; display:block; inline-size:100%; object-fit:cover; object-position:center; }
.sf-gallery-item--2 { flex-basis:18.75rem; }.sf-gallery-item--3 { flex-basis:16.25rem; }.sf-gallery-item--4 { flex-basis:20rem; }.sf-gallery-item--5 { flex-basis:15.625rem; }.sf-gallery-item--6 { flex-basis:18.125rem; }
@media (min-width:1024px) { .home .cosmic-gallery .sf-gallery-rail { margin-inline:0; padding-inline:0; }.sf-gallery-item.is-selected { box-shadow:0 18px 40px rgb(5 17 31 / 18%); flex-basis:27.5rem; } }
@media (min-width:768px) and (max-width:1023px) { .home .cosmic-gallery { padding-block:3.25rem 3.5rem; }.home .cosmic-gallery .section-heading { font-size:2rem; }.home .cosmic-gallery .sf-gallery-rail { gap:.875rem; margin-top:1.75rem; }.sf-gallery-item { block-size:18.75rem; border-radius:1rem; flex-basis:15.625rem; }.home .cosmic-gallery::after { color:rgb(16 43 70 / 70%); content:'Swipe →'; display:block; font:700 .6875rem/1 Inter,sans-serif; letter-spacing:.08em; margin:.625rem var(--sf-gutter) 0 auto; max-inline-size:max-content; } }
@media (max-width:767px) { .home .cosmic-gallery { padding-block:2.5rem 2.875rem; }.home .cosmic-gallery .trust-eyebrow { font-size:.6875rem; }.home .cosmic-gallery .section-heading { font-size:1.75rem; }.home .cosmic-gallery .section-subhead { font-size:.875rem; }.home .cosmic-gallery .sf-gallery-rail { gap:.75rem; margin-top:1.5rem; scroll-snap-type:x mandatory; }.sf-gallery-item,.sf-gallery-item--2,.sf-gallery-item--3,.sf-gallery-item--4,.sf-gallery-item--5,.sf-gallery-item--6 { block-size:17.5rem; border-radius:1rem; flex-basis:clamp(15rem,74vw,18.75rem); scroll-snap-align:start; }.home .cosmic-gallery::after { color:rgb(16 43 70 / 70%); content:'Swipe →'; display:block; font:700 .6875rem/1 Inter,sans-serif; letter-spacing:.08em; margin:.625rem var(--sf-gutter) 0 auto; max-inline-size:max-content; } }
@media (prefers-reduced-motion:reduce) { .sf-gallery-item { transition:none; } }

/* Current shared fallbacks migrated from WPCode 256. */
.page-id-160 .gallery-placeholder { aspect-ratio: 16 / 9 !important; height: auto !important; }
.site-footer,
.site-footer .site-footer-wrap,
.site-footer .site-top-footer-wrap,
.site-footer .site-bottom-footer-wrap { background: #102b46; }
.site-footer { color: #fffdf9; }
.site-footer :is(a, p, li, strong) { color: inherit; }
.site-footer :is(h2, h3, h4, .widget-title, .footer-legal-heading, #footer-navigation::before) { color: #d4af63; }
.site-footer a:hover, .site-footer a:focus-visible { color: #d4af63; }
.cosmic-whatsapp-float { align-items: center; background: #fff; border-radius: 50%; bottom: max(16px, env(safe-area-inset-bottom)); box-shadow: 0 8px 24px rgb(5 17 31 / 20%); display: flex; height: 56px; justify-content: center; position: fixed; right: 16px; width: 56px; z-index: 90; }
.cosmic-whatsapp-float img { display: block; height: 32px; width: 32px; }
.cosmic-whatsapp-float:hover, .cosmic-whatsapp-float:focus-visible { box-shadow: 0 12px 28px rgb(5 17 31 / 28%); transform: translateY(-2px); }
body.hide-focus-outline :is(a, button, input, textarea, select, .wp-block-button__link):focus-visible { outline: 3px solid #b08d4b !important; outline-offset: 2px !important; }
.site-footer a:focus-visible, .cosmic-whatsapp-float:focus-visible { outline: 3px solid #f0e9dd !important; outline-offset: 2px !important; }
body.page:not(.home) .content-area { margin-top: clamp(2.5rem, 3.5vw, 3.5rem); }

/* Legal/support pages: former WPCode 267 + 273, now child-theme owned. */
body.sf-legal-page .entry-hero-container-inner { min-height: auto !important; padding-block: clamp(2rem, 4vw, 3.5rem) !important; }
body.sf-legal-page .entry-hero-container-inner .entry-header { margin: 0 !important; padding: 0 !important; }
body.sf-legal-page .entry-hero .entry-title { display: block !important; margin: 0 !important; opacity: 1 !important; visibility: visible !important; }
body.sf-legal-page #primary { margin-block: 0 !important; }
body.sf-legal-page .content-area { margin-top: 0 !important; padding-top: clamp(2rem, 4vw, 3.5rem); }
body.sf-legal-page :is(.site-main, .entry-content) { width: 100%; }
body.sf-legal-page .entry-content { margin-inline: auto; max-width: 760px; }
body.sf-legal-page .entry-content > * { max-width: 100%; }
body.sf-legal-page .entry-content > *:first-child { margin-top: 0; }
body.sf-legal-page .entry-content h2 { margin-top: 2rem; }
body.sf-legal-page .entry-content h3 { margin-top: 1.5rem; }

@media (max-width: 767px) { body.sf-legal-page .entry-hero-container-inner .entry-header { padding-block: 1.5rem !important; } body.sf-legal-page .content-area { padding-top: 1.5rem; } body.sf-legal-page .entry-content { max-width: 100%; } }
@media (prefers-reduced-motion: reduce) { .cosmic-whatsapp-float { animation: none !important; transition: none !important; } .cosmic-whatsapp-float:is(:hover, :focus-visible) { transform: none !important; } }
@media (min-width: 768px) { .cosmic-whatsapp-float { bottom: 20px; right: 20px; } }
@media (min-width: 1024px) { .cosmic-whatsapp-float { bottom: 24px; right: 24px; } }

/* Homepage Pawdashians — authoritative child-theme implementation. Page 47
 * remains the factual source; global.js rebuilds its legacy cards into this
 * repository-backed photo-first shell. */
.home .cosmic-family {
  background: #f6efe2 !important;
  color: #102b46;
  margin-inline: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding-block: 4rem 4.75rem !important;
  position: relative;
  width: 100vw !important;
}

.home .cosmic-family > .wp-block-group__inner-container {
  margin-inline: auto;
  width: 100% !important;
}

.home .cosmic-family .trust-eyebrow { color: #c69a43; margin-block-start: 0 !important; }
.home .cosmic-family .section-heading { color: #102b46; margin-inline: auto; }
.home .cosmic-family .section-subhead { color: #3f556e; margin-inline: auto; max-inline-size: 42.5rem; text-align: center; }

.home .cosmic-family .living-pawdashians-grid.sf-pawdashians-layout {
  display: block !important;
  margin: 2.25rem 0 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

.sf-pawdashians-memorial {
  display: grid;
  justify-items: center;
  margin: 2.5rem auto 3.5rem;
}

.sf-pawdashians-memorial-fragment { display: none; }

.sf-pawdashians-family-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-inline: auto;
  max-inline-size: var(--sf-home-shell-max);
}

.sf-pawdashian-card {
  aspect-ratio: 4 / 5;
  background: #102b46;
  border: 0;
  border-radius: 1.375rem;
  box-shadow: 0 10px 28px rgb(5 17 31 / 10%);
  isolation: isolate;
  min-inline-size: 0;
  overflow: hidden;
  position: relative;
  transition: box-shadow 240ms cubic-bezier(.2,.7,.2,1), transform 240ms cubic-bezier(.2,.7,.2,1);
}

.sf-pawdashians-memorial .sf-pawdashian-card { inline-size: 18.75rem; max-inline-size: 100%; }
.sf-pawdashian-card--memorial { border: 1.5px solid rgb(198 154 67 / 70%); }

.sf-pawdashian-front,
.sf-pawdashian-media,
.sf-pawdashian-reveal { inset: 0; position: absolute; }

.sf-pawdashian-front { z-index: 1; }

.sf-pawdashian-media {
  background: #102b46;
  overflow: hidden;
}

.sf-pawdashian-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.sf-pawdashian-front::after {
  background: linear-gradient(180deg, transparent 45%, rgb(7 18 34 / 18%) 62%, rgb(7 18 34 / 88%) 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.sf-pawdashian-overlay {
  bottom: 0;
  color: #f7f1e6;
  left: 0;
  padding: 1.125rem;
  position: absolute;
  right: 0;
  z-index: 1;
}

.sf-pawdashian-overlay h3 {
  color: #f7f1e6;
  font-family: var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.08;
  margin: 0;
}

.sf-pawdashian-overlay > p:not(.sf-pawdashian-date) {
  color: #d4af63;
  font-family: var(--global-body-font-family, Inter, sans-serif);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.3;
  margin: .3125rem 0 0;
}

.sf-pawdashian-date { color: #f7f1e6; font: 600 .75rem/1.3 Inter, sans-serif; margin: .3125rem 0 0; }

.sf-pawdashian-memorial-pill {
  background: rgb(246 239 226 / 92%);
  border-radius: 999px;
  color: #102b46;
  font: 700 .625rem/1 "Plus Jakarta Sans", sans-serif;
  left: .875rem;
  letter-spacing: .08em;
  margin: 0;
  padding: .375rem .5625rem;
  position: absolute;
  text-transform: uppercase;
  top: .875rem;
  z-index: 2;
}

.sf-pawdashian-reveal {
  align-items: flex-start;
  background: #102b46;
  color: #f7f1e6;
  display: flex;
  flex-direction: column;
  opacity: 0;
  padding: 1.375rem;
  pointer-events: none;
  transform: translateY(.5rem);
  transition: opacity 240ms cubic-bezier(.2,.7,.2,1), transform 240ms cubic-bezier(.2,.7,.2,1);
  z-index: 3;
}

.sf-pawdashian-reveal-copy {
  align-self: stretch;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-block-size: 0;
  padding-block-end: 3rem;
}
.sf-pawdashian-reveal p { color: #f7f1e6; font: 400 .875rem/1.5 Inter, sans-serif; margin: 0 0 .75rem; }
.sf-pawdashian-reveal p:last-child { margin-bottom: 0; }
.sf-pawdashian-reveal strong { color: #c69a43; font-weight: 700; }
.sf-pawdashian-instagram {
  align-items: center;
  color: #d4af63;
  display: inline-flex;
  font: 700 .8125rem/1.35 Inter, sans-serif;
  gap: .5rem;
  margin-top: auto;
  min-block-size: 2.75rem;
  text-decoration: none;
}
.sf-pawdashian-instagram-icon {
  block-size: 1.125rem;
  display: block;
  flex: 0 0 1.125rem;
  inline-size: 1.125rem;
  object-fit: contain;
}
.sf-pawdashian-instagram:focus-visible { outline: 2px solid #d4af63; outline-offset: 3px; }
.sf-pawdashian-instagram:hover { color: #f7f1e6; }

.sf-pawdashian-control {
  align-items: center;
  background: rgb(246 239 226 / 14%);
  border: 1px solid rgb(246 239 226 / 45%);
  border-radius: 50%;
  bottom: .875rem;
  color: #f7f1e6;
  cursor: pointer;
  display: inline-flex;
  font: 500 1.375rem/1 Inter, sans-serif;
  height: 2.75rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: .875rem;
  transition: background-color 240ms cubic-bezier(.2,.7,.2,1), border-color 240ms cubic-bezier(.2,.7,.2,1), color 240ms cubic-bezier(.2,.7,.2,1);
  width: 2.75rem;
  z-index: 4;
}

.sf-pawdashian-control:focus-visible { outline: 2px solid #c69a43; outline-offset: 3px; }
.sf-pawdashian-card.is-open { box-shadow: 0 16px 36px rgb(5 17 31 / 16%); transform: translateY(-2px) scale(1.01); }
.sf-pawdashian-card.is-open .sf-pawdashian-reveal { opacity: 1; pointer-events: auto; transform: translateY(0); }
.sf-pawdashian-card.is-open .sf-pawdashian-control { background: #c69a43; border-color: #c69a43; color: #102b46; }

@media (hover: hover) and (pointer: fine) {
  .sf-pawdashian-card:hover { box-shadow: 0 16px 36px rgb(5 17 31 / 16%); transform: translateY(-2px); }
}

.sf-pawdashians-rail-hint { display: none !important; }

@media (min-width: 1024px) and (max-width: 1279px) {
  .home .cosmic-family { padding-block: 3.5rem 3.75rem !important; }
  .sf-pawdashians-memorial { margin-block-end: 1.75rem; }
  .sf-pawdashians-family-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sf-pawdashians-family-grid > :nth-child(-n + 3) { grid-column: span 2; }
  .sf-pawdashians-family-grid > :nth-child(4) { grid-column: 2 / span 2; }
  .sf-pawdashians-family-grid > :nth-child(5) { grid-column: 4 / span 2; }
  .sf-pawdashian-overlay h3 { font-size: 1.3125rem; }
}

@media (min-width: 1024px) {
  .sf-pawdashians-memorial {
    align-items: center;
    column-gap: 2rem;
    grid-template-columns: minmax(13.75rem, 1fr) 20rem minmax(13.75rem, 1fr);
    justify-items: stretch;
    max-inline-size: none;
    width: min(68.75rem, calc(100vw - 4rem));
  }
  .sf-pawdashians-memorial .sf-pawdashian-card { inline-size: 20rem; justify-self: center; }
  .sf-pawdashians-memorial-fragment {
    color: #526579;
    display: flex;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.75rem;
    font-style: italic;
    font-weight: 400;
    gap: .5rem;
    letter-spacing: -.01em;
    line-height: 1.25;
    margin: 0;
  }
  .sf-pawdashians-memorial-fragment--left { justify-content: end; text-align: end; }
  .sf-pawdashians-memorial-fragment--right { justify-content: start; text-align: start; }
  .sf-pawdashians-memorial-star {
    align-self: center;
    color: #c69a43;
    display: inline-block;
    flex: 0 0 auto;
    font-size: 1.25rem;
    font-style: normal;
    line-height: 1;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home .cosmic-family { padding-block: 3.5rem 3.75rem !important; }
  .home .cosmic-family .living-pawdashians-grid.sf-pawdashians-layout { overflow: visible !important; }
  .sf-pawdashians-memorial { margin-block-end: 1.875rem; }
  .sf-pawdashians-family-grid {
    display: flex;
    gap: 1.125rem;
    margin-inline: calc(-1 * var(--sf-gutter, 1.5rem));
    overflow-x: auto;
    padding: .125rem var(--sf-gutter, 1.5rem) 0;
    scroll-padding-inline: var(--sf-gutter, 1.5rem);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .sf-pawdashians-family-grid::-webkit-scrollbar { display: none; }
  .sf-pawdashians-family-grid > .sf-pawdashian-card { flex: 0 0 16.25rem; scroll-snap-align: start; }
  .sf-pawdashian-overlay h3 { font-size: 1.3125rem; }
}

@media (max-width: 767px) {
  .home .cosmic-family { padding-block: 3rem 3.25rem !important; }
  .home .cosmic-family > .wp-block-group__inner-container { padding-inline: 1.5rem; }
  .home .cosmic-family .living-pawdashians-grid.sf-pawdashians-layout { margin-block-start: 1.5rem !important; }
  .sf-pawdashians-memorial { margin-block-end: 1.5rem; }
  .sf-pawdashians-memorial .sf-pawdashian-card { inline-size: min(78vw, 18.125rem); min-inline-size: 15.625rem; }
  .sf-pawdashians-family-grid {
    display: flex;
    gap: 1rem;
    margin-inline: -1.5rem;
    overflow-x: auto;
    padding: .125rem 1.5rem 0;
    scroll-padding-inline: 1.5rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .sf-pawdashians-family-grid::-webkit-scrollbar { display: none; }
  .sf-pawdashians-family-grid > .sf-pawdashian-card { flex: 0 0 clamp(15.625rem, 78vw, 18.125rem); scroll-snap-align: start; }
  .sf-pawdashian-overlay { padding: 1rem; }
  .sf-pawdashian-overlay h3 { font-size: 1.25rem; }
  .sf-pawdashian-overlay > p:not(.sf-pawdashian-date) { font-size: .75rem; }
  .sf-pawdashian-reveal { padding: 1.25rem; }
  .sf-pawdashian-reveal p { font-size: .8125rem; }
  .sf-pawdashian-control { bottom: 1rem; right: 1rem; }
  .sf-pawdashians-rail-hint {
    color: #3f556e;
    display: block !important;
    font: 600 .6875rem/1 Inter, sans-serif;
    letter-spacing: .08em;
    margin: .625rem 0 0 auto;
    max-inline-size: max-content;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sf-pawdashian-card,
  .sf-pawdashian-reveal,
  .sf-pawdashian-control { transform: none !important; transition: none !important; }
}

/* Current global CTA and social system. These selectors are the child-theme
 * owners for the recurring action pair, Passport state, and approved paw
 * social assets. */
:root { --sf-cta-radius: 12px; --sf-cta-height: 50px; --sf-cta-icon: 21px; }

.sf-cta-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.sf-cta-actions .sf-cta-action-wrap { flex: 0 1 14.25rem; }
/* Canonical paired Call/WhatsApp component. Section contrast is supplied by
 * scoped custom properties; geometry and interaction live here once. */
.sf-cta-actions .sf-cta-action {
	align-items: center;
	border: 1px solid var(--sf-cta-call-border, transparent);
	border-radius: var(--sf-cta-radius);
	box-sizing: border-box;
	display: inline-flex;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-block-size: var(--sf-cta-height);
	padding-inline: 22px;
}
.sf-cta-actions .sf-cta-action--whatsapp { background: #d4af63; color: #102b46; }
.sf-cta-actions .sf-cta-action--call { background: var(--sf-cta-call-background, transparent); color: var(--sf-cta-call-color, #102b46); }
.sf-cta-actions .sf-cta-action img { block-size: var(--sf-cta-icon); inline-size: var(--sf-cta-icon); }
.home .cosmic-hero .hero-cta-row { --sf-cta-call-background: rgb(255 253 249 / 10%); --sf-cta-call-border: rgb(255 253 249 / 34%); --sf-cta-call-color: #fffdf9; }
.sf-page-cta-actions { --sf-cta-call-background: transparent; --sf-cta-call-border: rgb(16 43 70 / 54%); --sf-cta-call-color: #102b46; margin-block: 1.25rem 2rem; }

.home .sf-passport-hero { max-inline-size: 28.5rem; }
.home .sf-passport-hero a {
  background: rgb(255 253 249 / 10%);
  border-color: rgb(255 253 249 / 42%);
  border-radius: var(--sf-cta-radius);
  box-sizing: border-box;
  font-weight: 600;
  gap: 8px;
  min-block-size: var(--sf-cta-height);
  padding-inline: 22px;
}
.home .sf-passport-action-mark { block-size: var(--sf-cta-icon); inline-size: var(--sf-cta-icon); }

.site-header-wrap .header-button-wrap .header-button {
  align-items: center;
  border-radius: var(--sf-cta-radius);
  box-sizing: border-box;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-block-size: 44px;
  padding-inline: 20px;
}

.site-footer .sf-footer-social a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}
.site-footer .sf-footer-social a { block-size: 40px; inline-size: 40px; min-block-size: 40px; min-inline-size: 40px; }
.site-footer .sf-footer-social img { block-size: 20px; inline-size: 20px; object-fit: contain; }

.home .quick-fact-icon.sf-svg-icon { --sf-icon-size: 2rem; block-size: 2rem; inline-size: 2rem; }

@media (max-width: 1024px) {
  :root { --sf-cta-height: 48px; }
  #mobile-drawer #mobile-menu > li > a[href*="/contact/"] { background: #d4af63; border-radius: var(--sf-cta-radius); color: #102b46; font-weight: 600; justify-content: center; margin-block: 12px; min-block-size: 48px; }
  #mobile-drawer .stay-floofy-drawer-social { align-items: center; border-block-start: 1px solid rgb(212 175 99 / 38%); display: flex; gap: 8px; justify-content: center; margin-top: 10px; padding-block: 12px 0; }
  #mobile-drawer .sf-mobile-drawer-social-item { border: 0; list-style: none; }
  #mobile-drawer .stay-floofy-drawer-social a { align-items: center; background: transparent; border: 0; border-radius: 50%; display: inline-flex; height: 44px; justify-content: center; padding: 0; width: 44px; }
  #mobile-drawer .stay-floofy-drawer-social img { block-size: 20px; inline-size: 20px; }
  .home .quick-fact-icon.sf-svg-icon { --sf-icon-size: 1.875rem; block-size: 1.875rem; inline-size: 1.875rem; }
}

@media (max-width: 767px) {
  .sf-cta-actions { gap: 10px; }
  .sf-cta-actions .sf-cta-action { padding-inline: 16px; }
  .home .sf-passport-hero a { padding-inline: 16px; }
}

/* Homepage closing sequence — authoritative Testimonials, FAQ and final CTA
 * owners. Page 47 retains only genuine copy and accessible semantic markup. */
.home .cosmic-testimonials { background: #102b46; color: #fffdf9; padding-block: clamp(3.5rem, 6vw, 5.25rem); text-align: center; }
.home .cosmic-testimonials .trust-eyebrow { color: #d4af63; }
.home .cosmic-testimonials .section-heading { color: #fffdf9; }
.home .cosmic-testimonials .section-subhead { color: rgb(255 253 249 / 78%); font: 400 1rem/1.55 Inter, sans-serif; margin: .75rem auto 0; max-inline-size: 44rem; }
.home .cosmic-testimonials .testimonial-scroll { margin: 2rem 0 0; overflow: hidden; overscroll-behavior: contain; scroll-snap-type: none; scrollbar-width: none; touch-action: pan-y; }
.home .cosmic-testimonials .testimonial-scroll::-webkit-scrollbar { display: none; }
.home .cosmic-testimonials .testimonial-scroll > :is(.wp-block-group__inner-container, .sf-testimonial-track) { display: flex !important; gap: 1.25rem; min-inline-size: max-content; padding: .25rem 0 .75rem; width: max-content !important; }
.home .cosmic-testimonials .testimonial-card { background: #fffdf9; border: 1px solid rgb(212 175 99 / 60%); border-radius: 1.25rem; box-shadow: 0 .75rem 1.75rem rgb(5 17 31 / 18%); box-sizing: border-box; color: #102b46; display: flex; flex: 0 0 calc((min(100vw - (2 * var(--sf-gutter)), 90rem) - 2.5rem) / 3); flex-direction: column; min-block-size: 22rem; padding: 1.5rem; scroll-snap-align: start; text-align: start; }
.home .cosmic-testimonials .testimonial-card > :is(.wp-block-group__inner-container, .sf-testimonial-card-content) { align-items: flex-start; display: flex; flex-direction: column; min-block-size: 100%; width: 100%; }
.home .cosmic-testimonials .testimonial-card::before { color: #d4af63; content: '\201C'; display: block; font: 700 3rem/.75 Georgia, serif; margin-block-end: .6rem; }
.home .cosmic-testimonials .sf-testimonial-avatar { aspect-ratio: 1; block-size: 4rem; border: 1px solid rgb(212 175 99 / 70%); border-radius: 50%; display: block; flex: 0 0 4rem; inline-size: 4rem; margin-block-end: 1rem; object-fit: cover; }
.home .cosmic-testimonials .testimonial-quote { color: #102b46; font: 400 .975rem/1.6 Inter, sans-serif; margin: 0; }
.home .cosmic-testimonials .testimonial-cite { color: rgb(16 43 70 / 72%); font: 700 .8125rem/1.35 Inter, sans-serif; margin: auto 0 0; padding-block-start: 1rem; }
.home .sf-testimonial-controls { align-items: center; display: flex; gap: .625rem; justify-content: center; margin-top: 1.25rem; }
.home .sf-testimonial-controls button { align-items: center; background: transparent; border: 1px solid rgb(255 253 249 / 45%); border-radius: 999px; color: #fffdf9; cursor: pointer; display: inline-flex; font: 700 .75rem/1 Inter, sans-serif; justify-content: center; min-block-size: 2.75rem; min-inline-size: 2.75rem; padding-inline: .875rem; }
.home .sf-testimonial-controls button:hover { background: rgb(255 253 249 / 12%); }
.home .sf-testimonial-controls button:focus-visible { outline: 3px solid #d4af63; outline-offset: 3px; }

.home .cosmic-faq { background: #fdfcf9; color: #102b46; padding-block: clamp(3.25rem, 5vw, 4.75rem); text-align: center; }
.home .cosmic-faq .trust-eyebrow { color: #b08d4b; }
.home .cosmic-faq .section-heading { color: #102b46; max-inline-size: 32rem; }
.home .cosmic-faq .section-subhead { color: rgb(16 43 70 / 75%); font: 400 1rem/1.55 Inter, sans-serif; margin: .75rem auto 0; }
.home .sf-faq-columns { column-gap: clamp(3.5rem, 5vw, 4.5rem); display: grid; grid-template-columns: repeat(2, minmax(0, 34rem)); justify-content: center; margin: 2rem auto 0; max-inline-size: 72rem; text-align: start; }
.home .sf-faq-column { display: grid; align-content: start; }
.home .sf-faq-item { border-block-end: 1px solid rgb(16 43 70 / 28%); }
.home .sf-faq-question { align-items: center; background: transparent; border: 0; color: #102b46; cursor: pointer; display: flex; font: 700 .9875rem/1.4 var(--global-heading-font-family, "Plus Jakarta Sans", sans-serif); gap: .75rem; justify-content: space-between; min-block-size: 3.5rem; padding: .875rem 0; text-align: start; width: 100%; }
.home .sf-faq-question::after { color: #b08d4b; content: '+'; flex: 0 0 auto; font: 400 1.75rem/1 Inter, sans-serif; transition: transform 180ms ease; }
.home .sf-faq-item.is-open .sf-faq-question::after { transform: rotate(45deg); }
.home .sf-faq-question:focus-visible { outline: 3px solid #b08d4b; outline-offset: 3px; }
.home .sf-faq-answer { color: rgb(16 43 70 / 84%); font: 400 .9375rem/1.6 Inter, sans-serif; padding: 0 2rem 1.25rem 0; }
.home .sf-faq-answer p { margin: 0; }
.home .sf-faq-answer a, .home .sf-faq-all-link { color: #102b46; font-weight: 700; text-decoration-color: #d4af63; text-underline-offset: .2em; }
.home .sf-faq-all-link { display: inline-block; margin-top: 1.75rem; }
.home .sf-faq-subsection-heading { display: none; }

.home .cosmic-final-cta-wrap { background: #e8d5a5; color: #102b46; min-block-size: 0; padding-block: clamp(4rem, 5vw, 4.5rem); text-align: center; }
.home .cosmic-final-cta-wrap > .wp-block-group__inner-container, .home .cosmic-final-cta, .home .cosmic-final-cta > .wp-block-group__inner-container { block-size: auto; min-block-size: 0; }
.home .cosmic-final-cta { margin-inline: auto; max-inline-size: 51.25rem; }
.home .cosmic-final-cta .final-cta-heading { color: #102b46; font-size: clamp(1.875rem, 3vw, 2.5rem); max-inline-size: 47.5rem; }
.home .cosmic-final-cta .final-cta-lead { color: rgb(16 43 70 / 82%); font: 400 1rem/1.55 Inter, sans-serif; margin: .875rem auto 0; max-inline-size: 38.75rem; }
.home .sf-final-cta-actions { --sf-cta-call-background: transparent; --sf-cta-call-border: rgb(16 43 70 / 54%); --sf-cta-call-color: #102b46; justify-content: center; margin-top: 1.75rem; }
.home .sf-final-cta-actions .sf-cta-action { width: 100%; }
.home .sf-final-cta-actions .sf-cta-action img { flex: 0 0 auto; }

@media (min-width: 768px) and (max-width: 1023px) {
  .home .cosmic-testimonials .testimonial-card { flex-basis: calc((100vw - (2 * var(--sf-gutter)) - 1.25rem) / 2); min-block-size: 21rem; }
  .home .sf-faq-columns { gap: 0; }
}

@media (max-width: 1023px) {
  .home .sf-faq-columns { display: block; }
  .home .sf-faq-column + .sf-faq-column { margin-top: 1.25rem; }
  .home .sf-faq-subsection-heading { color: #b08d4b; display: block; font: 700 .75rem/1.2 Inter, sans-serif; letter-spacing: .12em; margin: 0 0 .4rem; text-transform: uppercase; }
}

@media (max-width: 767px) {
  .home .cosmic-testimonials, .home .cosmic-faq { padding-block: 3rem; }
  .home .cosmic-testimonials .section-subhead, .home .cosmic-faq .section-subhead { font-size: .875rem; }
  .home .cosmic-testimonials .testimonial-scroll { margin-inline: calc(var(--sf-gutter) * -1); padding-inline: var(--sf-gutter); scroll-padding-inline: var(--sf-gutter); }
  .home .cosmic-testimonials .testimonial-card { flex-basis: calc(100vw - (2 * var(--sf-gutter))); min-block-size: 0; padding: 1.35rem; }
  .home .cosmic-testimonials .sf-testimonial-avatar { block-size: 3.75rem; flex-basis: 3.75rem; inline-size: 3.75rem; }
  .home .sf-faq-columns { margin-top: 1.5rem; }
  .home .sf-faq-question { font-size: .9rem; min-block-size: 3.25rem; padding-block: .75rem; }
  .home .sf-faq-answer { font-size: .875rem; padding-inline-end: .5rem; }
  .home .cosmic-final-cta-wrap { padding-block: 3.125rem; }
  .home .cosmic-final-cta .final-cta-heading { font-size: 1.875rem; }
  .home .cosmic-final-cta .final-cta-lead { font-size: .9375rem; }
  .home .sf-final-cta-actions { align-items: center; margin-inline: auto; max-inline-size: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home .sf-faq-question::after { transition: none; }
  .home .cosmic-testimonials .testimonial-scroll { scroll-behavior: auto; }
}

/* Default light Homepage surface. Warm Ivory remains reserved for cards and
 * intentionally premium/editorial modules rather than the page canvas. */
body.home, .home .site { background: #fdfcf9; }

/* Page 47 Hero migration: the final source-order equivalent of the former
 * inline narrow-mobile gradient, now served by the child theme. */
@media (max-width: 600px) {
  .home .cosmic-hero .wp-block-cover__gradient-background {
    background-image: linear-gradient(180deg, rgb(20 38 61 / 80%) 0%, rgb(20 38 61 / 42%) 38%, rgb(20 38 61 / 0%) 62%) !important;
  }
}
