/* ALMS STUDIO desktop responsiveness
 * Layout and mobile hero entrance motion; no DOM movement or runtime helpers.
 */

/* Homepage hero and the launch note beneath the Process heading. */
#main .framer-2n4d2d .alms-hero-mobile-copy {
  display: none;
}

#main .framer-2n4d2d .alms-hero-description-line {
  display: block;
  line-height: 1.5 !important;
  --framer-line-height: 150%;
}

#main .framer-2n4d2d .alms-hero-description-line + .alms-hero-description-line {
  margin-top: 8px;
}

#main .framer-2n4d2d span.alms-hero-description-line:first-child {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#main .framer-2n4d2d strong.alms-hero-description-line {
  color: #0f0f0f !important;
  font-weight: 700 !important;
  --framer-font-weight: 700;
  --framer-text-color: #0f0f0f;
}

#main .framer-2n4d2d .framer-uay p {
  font-size: 0.75rem !important;
  --framer-font-size: 0.75rem;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-transform: none !important;
  --framer-text-transform: none;
}

#main .framer-2n4d2d h1 {
  line-height: 1.05 !important;
  white-space: nowrap;
  --framer-line-height: 105%;
}

#main .framer-2n4d2d .alms-hero-benefit {
  display: inline-block;
  font-size: 1.1em !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

#main .framer-2n4d2d .alms-hero-time {
  color: #fff !important;
  display: inline-block;
  font-size: 1.2em !important;
  isolation: isolate;
  line-height: 1.1 !important;
  margin-block: 0;
  padding-inline: .04em;
  position: relative;
  --framer-text-color: #fff;
}

#main .framer-2n4d2d .alms-hero-time::before {
  background: #ff595c;
  content: "";
  inset: .08em -.07em -.12em;
  pointer-events: none;
  position: absolute;
  transform: rotate(-1.25deg);
  transform-origin: left center;
  z-index: -1;
}

@media (prefers-reduced-motion: no-preference) {
  #main .framer-2n4d2d .alms-hero-time::before {
    animation: alms-hero-coral-swipe 800ms cubic-bezier(.22, 1, .36, 1) 600ms both;
  }
}

@keyframes alms-hero-coral-swipe {
  from { transform: rotate(-1.25deg) scaleX(0); }
  to { transform: rotate(-1.25deg) scaleX(1); }
}

/* One CSS timeline replaces the hero's separate Framer mount entrances. */
@media (min-width: 810px) and (prefers-reduced-motion: no-preference) {
  #main .framer-2n4d2d .framer-w5fv37 {
    --alms-hero-enter-y: 30px;
    animation: alms-desktop-hero-enter 600ms cubic-bezier(.22, 1, .36, 1) both;
  }
  #main .framer-2n4d2d .framer-1ousfu6 {
    --alms-hero-enter-y: 2px;
    animation: alms-desktop-hero-enter 700ms cubic-bezier(.22, 1, .36, 1) both;
  }
  #main .framer-2n4d2d .framer-9f8txa-container {
    animation: alms-hero-slideshow-enter 800ms cubic-bezier(.44, 0, .56, 1) 400ms both;
  }
}
@keyframes alms-desktop-hero-enter {
  from { opacity: 0; transform: translateY(var(--alms-hero-enter-y)); }
  to { opacity: 1; transform: none; }
}
@keyframes alms-hero-slideshow-enter {
  from { opacity: 0; transform: perspective(1200px) translateY(60px) rotateX(6deg); }
  to { opacity: 1; transform: none; }
}

/* Older browsers keep the completed hero visible instead of replaying an entrance. */
html.alms-hero-settled #main .framer-2n4d2d :is(.framer-w5fv37, .framer-1ousfu6, .framer-9f8txa-container, .framer-uay p, .alms-hero-business, .alms-hero-time, .alms-hero-benefit, .framer-1ahzf2g, .framer-1ousfu6 > *, .framer-8hitp1) {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
html.alms-hero-settled #main .framer-2n4d2d .alms-hero-time::before {
  animation: none !important;
}

#main .framer-2n4d2d .alms-hero-business {
  display: block;
  font-size: 1.1em !important;
  font-family: "Raleway", "Raleway Placeholder", sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  --framer-font-family: "Raleway", "Raleway Placeholder", sans-serif;
  --framer-font-style: normal;
  --framer-font-weight: 600;
}

#main .framer-2n4d2d .alms-hero-tagline {
  display: block;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin-top: 18px;
  --framer-text-color: #0f0f0f;
}

#main .framer-2n4d2d .framer-1ousfu6 {
  flex-wrap: wrap !important;
  max-width: 720px;
  row-gap: 18px !important;
  width: 100% !important;
}

/* Match only the two homepage hero buttons, before and after hydration. */
#main .framer-2n4d2d .framer-1ousfu6 :is(.framer-c9vjyp-container, .framer-d3tlg4-container) {
  flex: 0 1 220px !important;
  max-width: 100% !important;
  width: 220px !important;
}

#main .framer-2n4d2d .framer-1ousfu6 a {
  box-sizing: border-box !important;
  height: 52px !important;
  justify-content: center !important;
  width: 100% !important;
}

#main .framer-fh7j9 .alms-process-timeline {
  color: #6f6f6f;
  font-family: Inter, "Inter Placeholder", sans-serif;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  margin: 0;
  max-width: 720px;
  text-align: center;
  width: 100%;
  --framer-font-family: Inter, "Inter Placeholder", sans-serif;
  --framer-font-size: 0.875rem;
  --framer-line-height: 150%;
  --framer-text-color: #6f6f6f;
}

@media (max-width: 809px) {
  #main .framer-2n4d2d {
    gap: 30px !important;
    padding-top: 32px !important;
  }

  #main .framer-2n4d2d .framer-pgwlfk {
    gap: 24px !important;
  }

  #main .framer-2n4d2d .framer-w5fv37 {
    gap: 18px !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #main .framer-2n4d2d .framer-1ousfu6 {
    row-gap: 12px !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #main .framer-2n4d2d .framer-1ousfu6 :is(.framer-c9vjyp-container, .framer-d3tlg4-container) {
    flex: 0 1 auto !important;
    width: 100% !important;
  }

  #main .framer-2n4d2d .alms-hero-desktop-copy {
    display: none;
  }

  #main .framer-2n4d2d .alms-hero-mobile-copy {
    display: inline;
  }

  #main .framer-2n4d2d .framer-uay p {
    letter-spacing: 0.06em !important;
  }

  #main .framer-2n4d2d h1 {
    font-size: clamp(30px, 8.6vw, 56px) !important;
    --framer-font-size: clamp(30px, 8.6vw, 56px) !important;
    overflow: visible !important;
  }

  #main .framer-2n4d2d .alms-hero-business {
    font-size: clamp(30px, 8.6vw, 56px) !important;
    letter-spacing: -.04em !important;
    line-height: 1.05 !important;
  }

  #main .framer-2n4d2d .alms-hero-time {
    font-size: clamp(30px, 9vw, 64px) !important;
    letter-spacing: -.035em !important;
  }

  #main .framer-2n4d2d .alms-hero-benefit {
    display: inline-block;
    font-size: clamp(30px, 8.6vw, 56px) !important;
    letter-spacing: -0.025em !important;
    line-height: 1.1 !important;
    margin-top: 0;
  }

  #main .framer-fh7j9 h2 {
    font-size: clamp(28px, 7.9vw, 44px) !important;
    line-height: 1.24 !important;
    --framer-font-size: clamp(28px, 7.9vw, 44px) !important;
    --framer-line-height: 124% !important;
  }

  #main .framer-2n4d2d .framer-1ahzf2g {
    max-width: 20rem;
  }

  #main .framer-2n4d2d .framer-1ahzf2g p {
    line-height: 1.5 !important;
    --framer-line-height: 150% !important;
  }
}

@media (max-width: 809px) and (prefers-reduced-motion: no-preference) {
  #main .framer-2n4d2d .framer-uay p,
  #main .framer-2n4d2d .alms-hero-business,
  #main .framer-2n4d2d .alms-hero-time,
  #main .framer-2n4d2d .alms-hero-benefit,
  #main .framer-2n4d2d .framer-1ahzf2g,
  #main .framer-2n4d2d .framer-1ousfu6 > *,
  #main .framer-2n4d2d .framer-8hitp1 {
    animation: alms-mobile-hero-enter 750ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  #main .framer-2n4d2d .alms-hero-business { animation-delay: 80ms; }
  #main .framer-2n4d2d .alms-hero-time { animation-delay: 180ms; }
  #main .framer-2n4d2d .alms-hero-benefit { animation-delay: 300ms; }
  #main .framer-2n4d2d .framer-1ahzf2g { animation-delay: 400ms; }
  #main .framer-2n4d2d .framer-1ousfu6 > * { animation-delay: 500ms; }
  #main .framer-2n4d2d .framer-1ousfu6 > :last-child { animation-delay: 600ms; }
  #main .framer-2n4d2d .framer-8hitp1 { animation-delay: 550ms; }
}

@keyframes alms-mobile-hero-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 359px) {
  #main .framer-2n4d2d h1 {
    font-size: 30px !important;
    --framer-font-size: 30px !important;
  }
}

/* Shared navigation: one discovery-call action, with room for all five links.
   Scope these rules to the header so page and footer offers retain their layout. */
nav.framer-aeY7U .framer-1cyw446-container {
  display: none !important;
}

nav.framer-aeY7U .framer-etmwj3-container a {
  background: #f9f9f9 !important;
  --border-color: rgba(15, 15, 15, 0.12) !important;
  box-shadow: none;
}

nav.framer-aeY7U .framer-etmwj3-container a p {
  --framer-text-color: #0f0f0f !important;
  --framer-font-size: 16px !important;
  --framer-line-height: 24px !important;
  white-space: nowrap;
}

nav.framer-aeY7U .framer-etmwj3-container a svg {
  color: #0f0f0f !important;
  fill: #0f0f0f !important;
}

nav.framer-aeY7U .framer-etmwj3-container a:hover {
  background: #d9d9d9 !important;
  --border-color: #d9d9d9 !important;
}

nav.framer-aeY7U a:focus-visible {
  outline: 2px solid #4a4742;
  outline-offset: 4px;
}

@media (min-width: 810px) {
  nav.framer-aeY7U.framer-v-5yngv5 {
    gap: 24px !important;
  }

  nav.framer-aeY7U.framer-v-5yngv5 [data-framer-name="Links"] {
    gap: 24px !important;
  }
}

/* Remove the complete featured/logo line, including its containing row. */
body.alms-home-signature #main .framer-qZAQL,
body.alms-home-signature #main [class$="-container"]:has(> .framer-qZAQL),
#main .framer-ci3c0v .framer-1figf3m-container {
  display: none !important;
}

/* Footer artwork is decorative only. Remove the large diamond background and
   its centered duplicate at every breakpoint; the tiny copyright accent uses
   a separate element and remains visible. */
footer .framer-194qs2o,
footer .framer-ra2d8p {
  display: none !important;
}

/* Keep the footer content visually connected to the FAQ instead of leaving
   an oversized empty panel between the last question and the footer links. */
footer .framer-1kgd6c6 {
  height: auto !important;
  min-height: 520px !important;
}

footer .alms-footer-enhanced {
  align-items: start;
  box-sizing: border-box;
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(120px, 0.7fr));
  margin: auto;
  max-width: 1400px;
  padding: 72px 20px 56px;
  position: relative;
  width: 100%;
  z-index: 2;
}

footer .alms-footer-brand {
  max-width: 360px;
}

footer .alms-footer-mark {
  display: inline-flex;
  margin-bottom: 28px;
}

footer .alms-footer-mark img {
  display: block;
  height: auto;
  max-width: 188px;
  width: 100%;
}

footer .alms-footer-brand p {
  color: #6f6f6f;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  max-width: 340px;
}

footer .alms-footer-cta {
  align-items: center;
  color: #0f0f0f;
  display: inline-flex;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  margin-top: 28px;
  text-decoration: none;
}

footer .alms-footer-cta span {
  font-size: 18px;
  line-height: 1;
  transition: transform 180ms ease;
}

footer .alms-footer-cta:hover span,
footer .alms-footer-cta:focus-visible span {
  transform: translate(3px, -3px);
}

footer .alms-footer-links {
  display: grid;
  gap: 32px;
  grid-column: span 3;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  padding-top: 4px;
}

footer .alms-footer-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

footer .alms-footer-column a,
footer .alms-footer-label {
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
}

footer .alms-footer-column a {
  color: #5f5f5f;
  text-decoration: none;
  transition: color 180ms ease;
}

footer .alms-footer-column a:hover,
footer .alms-footer-column a:focus-visible {
  color: #0f0f0f;
}

footer .alms-footer-label {
  color: #0f0f0f;
  font-weight: 600;
  margin-bottom: 4px;
}

footer .framer-96j8vg[hidden] {
  display: none !important;
}

@media (max-width: 809px) {
  footer .framer-1kgd6c6 {
    min-height: 0 !important;
  }

  footer .alms-footer-enhanced {
    gap: 42px;
    grid-template-columns: 1fr;
    padding: 56px 24px 44px;
  }

  footer .alms-footer-brand {
    max-width: 440px;
  }

  footer .alms-footer-links {
    gap: 28px 20px;
    grid-column: auto;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}

@media (min-width: 1200px) {
  /* The exported design includes a fixed decorative frame. It reads as
     clipping lines on wide monitors, so remove only that frame on desktop. */
  #main [data-framer-name="Side Borders"] {
    display: none !important;
  }

  /* Let the major homepage sections use the available desktop canvas. */
  #main .framer-2n4d2d,
  #main .framer-fh7j9,
  #main .framer-1n095u0,
  #main .framer-1sj51pn,
  #main .framer-1c37sxs,
  #main .framer-1f6bcpv,
  #main .framer-t3nz0v,
  #main .framer-g4eb11,
  #main .framer-14qxh6p,
  #main .framer-fknjoc {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Expand the multi-column content without disturbing intentionally narrow
     team and FAQ wrappers. Keep a stable 32px gutter on large displays. */
  #main .framer-fh7j9 > .framer-181uwlg,
  #main .framer-1n095u0 > .framer-i62vvz,
  #main .framer-1n095u0 > .framer-1vr71jl,
  #main .framer-1sj51pn > .framer-1hvy7wu,
  #main .framer-1sj51pn > .framer-yif0up {
    width: min(1400px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Keep the three Process cards at their designed proportions. The outer
     section can grow, but widening the fixed-height card grid makes its copy
     wrap outside the card on very wide screens. */
  #main .framer-fh7j9 > .framer-1e5vnrs {
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #main .framer-fh7j9 > .framer-1e5vnrs > .framer-1wz61lg {
    width: 100% !important;
    max-width: none !important;
  }

  /* Give the Benefits and Pricing sections a wider editorial canvas while
     keeping their cards in a controlled multi-column layout. */
  #main .framer-t3nz0v,
  #main .framer-g4eb11 {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Work Examples and Footer use the same full-bleed desktop shell as Hero;
     their internal artwork/text remains guttered by its existing wrappers. */
  #main .framer-14qxh6p,
  #main .framer-fknjoc {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Bring inner-page hero shells to the same edge-to-edge treatment as Home.
     Their child artwork/forms already use a controlled 40px desktop gutter. */
  #main [data-framer-name="Hero Section "]:not(.framer-2n4d2d) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Widen only the title/description row. The project artwork, redesign form,
     and booking embed keep their existing safe 40px/32px inner gutters. */
  #main [data-framer-name="Hero Section "]:not(.framer-2n4d2d) > [data-framer-name="Content Wrapper"] {
    width: min(1360px, calc(100% - 64px)) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #main .framer-t3nz0v .framer-1ei82m7,
  #main .framer-g4eb11 .framer-ci3c0v,
  #main .framer-g4eb11 .framer-nrlvzt {
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #main .framer-g4eb11 .framer-nrlvzt {
    width: 100% !important;
    max-width: none !important;
  }

  /* Portfolio artwork should reach the same desktop gutter as the other
     multi-column sections instead of stopping at the older 1336px cap. */
  #main .framer-1n095u0 > .framer-1vr71jl {
    width: min(1400px, calc(100% - 40px)) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Let FAQ copy breathe on desktop without changing its mobile variant. */
  #main .framer-1f6bcpv .framer-cKR92 {
    width: min(1080px, calc(100% - 64px)) !important;
  }

  /* Reduce the empty space before Benefits without changing document order. */
  #main .framer-10yyp42-container {
    transform: translateY(80px) !important;
  }
}


/* Keep every desktop Process card aligned and let longer copy grow the row.
   Descendant selectors cover both exported variant wrappers and hydrated cards. */
@media (min-width: 1200px) {
  body.alms-home-signature #main .framer-fh7j9 > .framer-1e5vnrs > .framer-1wz61lg {
    align-items: stretch !important;
    height: auto !important;
    grid-template-rows: minmax(420px, auto) !important;
  }

  body.alms-home-signature #main .framer-fh7j9 .framer-1wz61lg :is(.framer-nh38su-container, .framer-1dm1b2q-container, .framer-1hff48w-container) {
    align-self: stretch !important;
    display: flex;
    height: auto !important;
    min-height: 420px !important;
  }

  body.alms-home-signature #main .framer-fh7j9 .framer-1wz61lg :is(.framer-nh38su-container, .framer-1dm1b2q-container, .framer-1hff48w-container) > .framer-rGJ4P {
    flex: 1 1 auto;
    height: auto !important;
    min-height: 420px !important;
  }
}

/* Full-bleed footer shell and removal of the two original exported layers
   requested for cleanup: the old top nav strip and the white copyright bar. */
footer {
  background: #0d110f !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  width: 100vw !important;
}

/* Authored pages place their footer directly in the body. Fit its usable width
   so a browser scrollbar cannot create horizontal scrolling on these pages. */
body > footer.alms-authored-footer {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

footer .framer-1mjtghf {
  display: none !important;
}

footer .framer-1kgd6c6 {
  background: #0d110f !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

footer .alms-footer-enhanced {
  max-width: none !important;
  padding-left: max(24px, calc((100vw - 1400px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1400px) / 2)) !important;
  width: 100% !important;
}

@media (max-width: 809px) {
  footer .alms-footer-enhanced {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Pricing card presentation and hierarchy. */
#main .alms-collection-card {
  display: flex !important;
  flex-direction: column !important;
}

#main .framer-1a7cgyp.alms-collection-card {
  background-color: #ffffff !important;
}

#main .alms-collection-card > [data-framer-name="Content Wrapper"] {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  height: auto !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#main .alms-collection-card [data-framer-name="Title Wrapper"],
#main .alms-collection-card [data-framer-name="Title Wrapper"] h3 {
  display: block !important;
  opacity: 1 !important;
  overflow: visible !important;
  visibility: visible !important;
}

#main .alms-collection-card .alms-price-block {
  align-self: flex-start;
  margin-top: 0;
  padding-top: 0;
  text-align: left;
}

#main .alms-collection-card .alms-price-daily {
  align-items: baseline;
  display: flex;
  gap: 4px;
  white-space: nowrap;
}

#main .alms-collection-card .alms-price-about {
  color: #777777;
  font-size: 12px;
  font-weight: 400;
}

#main .alms-collection-card .alms-price-amount {
  color: #0f0f0f;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
}

#main .alms-collection-card .alms-price-unit {
  color: #0f0f0f;
  font-size: 13px;
  font-weight: 600;
}

#main .alms-care-card .alms-price-about,
#main .alms-care-card .alms-price-amount,
#main .alms-care-card .alms-price-unit,
#main .alms-care-card .alms-price-monthly,
#main .alms-care-card .alms-price-term {
  color: #ffffff;
}

#main .alms-collection-card a[href*="book-a-call"],
#main .alms-collection-card a[href*="book-a-call"] *,
#main .alms-secondary-card .alms-small-card-link,
#main .alms-secondary-card .alms-small-card-link * {
  color: #ffffff !important;
}

@media (min-width: 810px) {
  #main [data-framer-name="Pricing Grid"] > .alms-collection-card {
    height: 100% !important;
    min-height: 625px !important;
    overflow: visible !important;
  }

  #main .alms-care-card > [class$="-container"] {
    margin-top: 36px !important;
  }
}

@media (max-width: 809px) {
  #main .alms-collection-card .alms-price-amount {
    font-size: 24px;
  }
}

/* The enhanced footer uses the existing page canvas rather than a black panel. */
footer {
  background: #f9f9f9 !important;
  color: #0f0f0f !important;
  margin-top: 80px !important;
}

footer .framer-1kgd6c6 {
  background: #f9f9f9 !important;
  color: #0f0f0f !important;
  min-height: 0 !important;
}

footer .alms-footer-enhanced {
  background: #f9f9f9 !important;
  color: #0f0f0f !important;
  grid-template-columns: minmax(240px, 1.4fr) minmax(140px, .7fr) minmax(140px, .7fr) minmax(280px, 1.2fr) !important;
  gap: 56px clamp(32px, 4vw, 64px) !important;
  max-width: 1440px !important;
  padding: 80px 48px 56px !important;
}

footer .alms-footer-enhanced .alms-footer-column {
  gap: 16px;
  min-width: 0;
}

footer .alms-footer-enhanced .alms-footer-column a {
  font-size: 14px;
  line-height: 1.55;
}

footer .alms-footer-enhanced .alms-footer-action-column > .alms-footer-label {
  font-family: "Raleway", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 8px;
}

footer .alms-footer-enhanced .alms-footer-brand p {
  font-size: 15px;
  line-height: 1.7;
}

footer .alms-footer-brand p,
footer .alms-footer-column a,
footer .alms-footer-label,
footer .alms-footer-cta {
  color: #0f0f0f !important;
}

footer .alms-footer-cta {
  background: #0f0f0f !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
}

footer .alms-footer-cta:hover,
footer .alms-footer-cta:focus-visible {
  background: #4a4742 !important;
  color: #ffffff !important;
}

/* Keep the footer booking link legible and aligned with the site's primary CTAs. */
footer .alms-footer-enhanced .alms-footer-action-column > a.alms-footer-cta {
  align-self: flex-start;
  background: #0f0f0f !important;
  border-radius: 12px;
  box-shadow: rgba(255, 255, 255, 0.36) 0 2px 0 0 inset, rgba(0, 0, 0, 0.12) 0 4px 6px 0;
  color: #ffffff !important;
  box-sizing: border-box;
  gap: 12px;
  justify-content: center;
  min-height: 54px;
  max-width: 100%;
  padding: 16px 24px !important;
  transition: background-color 180ms ease, color 180ms ease;
  white-space: nowrap;
  width: max-content;
}

footer .alms-footer-enhanced .alms-footer-action-column > a.alms-footer-cta span {
  color: #ffffff !important;
}

footer .alms-footer-enhanced .alms-footer-action-column > a.alms-footer-cta:hover,
footer .alms-footer-enhanced .alms-footer-action-column > a.alms-footer-cta:focus-visible {
  background: #4a4742 !important;
  color: #ffffff !important;
}

footer .alms-footer-enhanced .alms-footer-bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  grid-column: 1 / -1;
  justify-content: center;
  text-align: center;
  width: 100%;
}

footer .alms-footer-enhanced .alms-footer-legal {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  footer .alms-footer-enhanced {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 48px 64px !important;
    padding: 64px 40px 48px !important;
  }
}

@media (max-width: 809px) {
  footer {
    margin-top: 56px !important;
  }

  footer .alms-footer-enhanced {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 24px !important;
    padding: 56px 24px 40px !important;
  }

  footer .alms-footer-enhanced .alms-footer-brand,
  footer .alms-footer-enhanced .alms-footer-action-column {
    grid-column: 1 / -1;
  }

  footer .alms-footer-enhanced .alms-footer-bottom {
    flex-direction: column;
  }
}

@media (min-width: 810px) {
  #main .alms-collection-card:not(.alms-care-card) [data-framer-name="Features Wrapper"] {
    padding-bottom: 36px !important;
  }
}


/* Keep the homepage benefit cards in the standard heading font. */
body.alms-home-signature #main [data-framer-name="Benefits Grid"] h3 {
  font-family: "Raleway", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  --framer-font-family: "Raleway", Arial, sans-serif;
  --framer-font-style: normal;
}

/* Match the original pricing CTA label scale without changing button geometry. */
#main .alms-collection-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"],
#main .alms-collection-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"] p,
#main .alms-secondary-card .alms-small-card-link [data-framer-component-type="RichTextContainer"],
#main .alms-secondary-card .alms-small-card-link [data-framer-component-type="RichTextContainer"] p {
  color: #ffffff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  text-align: center !important;
  white-space: nowrap !important;
}


/* Keep the original 42px CTA height while the label uses the restored 16px scale. */
#main .alms-collection-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"],
#main .alms-collection-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"] p,
#main .alms-secondary-card .alms-small-card-link [data-framer-component-type="RichTextContainer"],
#main .alms-secondary-card .alms-small-card-link [data-framer-component-type="RichTextContainer"] p {
  line-height: 14px !important;
}


/* Collection + Care uses black label text on its white original button. */
#main .alms-care-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"],
#main .alms-care-card a[href*="book-a-call"] [data-framer-component-type="RichTextContainer"] p {
  color: #0f0f0f !important;
}


/* Combined pricing line: daily amount first, monthly billing beside it, term beneath. */
#main .alms-collection-card .alms-price-daily {
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 4px;
  white-space: nowrap;
}

#main .alms-collection-card .alms-price-amount {
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}

#main .alms-collection-card .alms-price-unit,
#main .alms-collection-card .alms-price-monthly {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}

#main .alms-collection-card .alms-price-separator {
  color: currentColor;
  font-size: 13px;
  font-weight: 400;
}

#main .alms-collection-card .alms-price-term {
  margin-top: 5px;
}

@media (max-width: 809px) {
  #main .alms-collection-card .alms-price-daily {
    flex-wrap: wrap;
    white-space: normal;
  }

  #main .alms-collection-card .alms-price-amount {
    font-size: 30px;
  }
}


/* Monthly-first pricing format: only the monthly dollar amount is emphasized. */
#main .alms-collection-card .alms-price-daily {
  align-items: baseline;
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  white-space: nowrap;
}

#main .alms-collection-card .alms-price-monthly-amount {
  color: #0f0f0f;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}

#main .alms-collection-card .alms-price-monthly-unit,
#main .alms-collection-card .alms-price-investment {
  color: #0f0f0f;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}

#main .alms-care-card .alms-price-monthly-amount,
#main .alms-care-card .alms-price-monthly-unit,
#main .alms-care-card .alms-price-investment {
  color: #ffffff;
}

@media (max-width: 809px) {
  #main .alms-collection-card .alms-price-daily {
    flex-wrap: wrap;
    white-space: normal;
  }

  #main .alms-collection-card .alms-price-monthly-amount {
    font-size: 30px;
  }
}


/* Larger monthly price emphasis. */
#main .alms-collection-card .alms-price-monthly-amount {
  font-size: 48px;
  line-height: 0.95;
}

@media (max-width: 809px) {
  #main .alms-collection-card .alms-price-monthly-amount {
    font-size: 40px;
  }
}


/* Two-line pricing copy and italic agreement note above each CTA. */
#main .alms-collection-card .alms-price-daily {
  flex-wrap: wrap;
  row-gap: 3px;
  white-space: normal;
}

#main .alms-collection-card .alms-price-investment {
  flex-basis: 100%;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
}

#main .alms-collection-card .alms-price-note {
  align-self: flex-start;
  color: #6f6f6f;
  font-size: 12px;
  font-style: italic;
  line-height: 1.35;
  margin: 0 0 18px;
}

#main .alms-care-card .alms-price-note {
  color: #ffffff;
}

@media (max-width: 809px) {
  #main .alms-collection-card .alms-price-note {
    margin-bottom: 16px;
  }
}


/* Align the Care agreement note with the Hosting note above the shared CTA row. */
@media (min-width: 810px) {
  #main .alms-care-card .alms-price-note {
    position: relative;
    top: 36px;
  }
}


/* Reuse the website's existing script-like display treatment for the second phrase only. */
#main .alms-pricing-heading > span {
  font-family: "Playfair Display", "Playfair Display Placeholder", serif !important;
  font-style: italic !important;
}
body.alms-home-signature #main .alms-pricing-line-break { display: inline; }

/* Compact, level swipes preserve the two-line headings and full letter coverage. */
body.alms-home-signature #main .framer-fh7j9 h2 span:is([style*="font-style:italic"], [style*="font-style: italic"]),
body.alms-home-signature #main .alms-pricing-heading > span {
  color: #0f0f0f !important;
  --framer-text-color: #0f0f0f;
  display: inline-block;
  isolation: isolate;
  line-height: 1.1 !important;
  padding-inline: .04em;
  position: relative;
}
body.alms-home-signature #main .framer-fh7j9 h2 span:is([style*="font-style:italic"], [style*="font-style: italic"])::before,
body.alms-home-signature #main .alms-pricing-heading > span::before {
  background: #ff595c;
  content: "";
  inset: .08em -.07em -.12em;
  pointer-events: none;
  position: absolute;
  transform: scaleX(1);
  transform-origin: left center;
  z-index: -1;
}
body.alms-home-signature #main .alms-signature-motion:not(.alms-signature-visible) span { color: #0f0f0f !important; --framer-text-color: #0f0f0f; }
body.alms-home-signature #main .alms-signature-motion:not(.alms-signature-visible) span::before { transform: scaleX(0); }
@media (prefers-reduced-motion: no-preference) {
  body.alms-home-signature #main .alms-signature-motion.alms-signature-visible span::before { animation: alms-signature-swipe 700ms cubic-bezier(.22,1,.36,1) both; }
}
@keyframes alms-signature-swipe { from { transform: scaleX(0); } to { transform: scaleX(1); } }

#main .alms-pricing-footnote {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  width: 100%;
}

#main .alms-secondary-card .alms-secondary-price-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  width: 100%;
}

#main .alms-secondary-card .alms-secondary-price-row > [data-framer-name="Price"] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
}

#main .alms-secondary-card .alms-small-card-link {
  flex: 0 0 auto;
  max-width: 100%;
  padding-left: 12px !important;
  padding-right: 12px !important;
  width: auto !important;
}

@media (max-width: 809px) {
  #main .alms-secondary-card .alms-secondary-price-row {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  #main .alms-secondary-card .alms-secondary-price-row > [data-framer-name="Price"] {
    flex: 0 0 auto;
    width: 100% !important;
  }

  #main .alms-secondary-card .alms-small-card-link {
    align-self: flex-start;
  }
}

/* Keep the supplied Framer CTA markup, but scope its standalone layout to this replacement. */
.alms-team-cta-replacement {
  flex: none;
  margin-inline: auto;
  max-width: 1400px;
  width: min(100vw, 1400px);
}

.alms-team-cta-replacement .framer-gc2ehh {
  display: flex;
  flex: none;
  height: min-content;
  justify-content: center;
  margin: 0 auto;
  max-width: none;
  overflow: hidden;
  padding: 0 0 100px;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-lgyu58-container {
  flex: 1 1 auto;
  height: auto;
  min-width: 0;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-5HMaT.framer-ogtff {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: min-content;
  justify-content: space-between;
  max-width: none;
  min-height: 320px;
  overflow: hidden;
  padding: 56px 64px;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-tdimqt,
.alms-team-cta-replacement .framer-125fnmv {
  bottom: -237px;
  left: -20%;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  top: -237px;
  width: 140%;
  z-index: 0;
}

.alms-team-cta-replacement .framer-yfkw8z {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 32px;
  height: min-content;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-1dweeup {
  align-items: center;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 24px;
  height: min-content;
  justify-content: center;
  max-width: 600px;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-1nbkuoy,
.alms-team-cta-replacement .framer-sh6az1,
.alms-team-cta-replacement .framer-1ipeior {
  flex: none;
  height: auto;
  position: relative;
  width: 100%;
}

.alms-team-cta-replacement .framer-1nbkuoy { max-width: 360px; }
.alms-team-cta-replacement .framer-sh6az1 { max-width: 520px; }
.alms-team-cta-replacement .framer-1ipeior { max-width: 480px; }

.alms-team-cta-replacement .framer-2vr4hn-container {
  flex: none;
  height: auto;
  position: relative;
  width: auto;
}

@media (max-width: 809px) {
  .alms-team-cta-replacement .framer-gc2ehh { padding: 0 0 60px; }
  .alms-team-cta-replacement .framer-5HMaT.framer-ogtff {
    flex-direction: column;
    gap: 32px;
    min-height: 0;
    padding: 48px 24px;
  }
  .alms-team-cta-replacement .framer-yfkw8z { flex: none; gap: 28px; }
  .alms-team-cta-replacement .framer-sh6az1 { max-width: 100%; }
}

/* Full letter coverage, including italic overhangs; white ink follows the swipe. */
#main .framer-2n4d2d .alms-hero-time.alms-highlight-ready,
body.alms-home-signature #main .alms-signature-visible span.alms-highlight-ready,
body.alms-home-signature #main .framer-fh7j9 h2.alms-signature-visible span.alms-highlight-ready {
  color: #fff !important;
  --framer-text-color: #fff;
}
#main .framer-2n4d2d .framer-w5fv37,
#main .framer-2n4d2d .framer-pgwlfk,
#main .framer-fh7j9 [data-framer-name="Headline Wrapper"],
body.alms-home-signature #main [data-framer-name="Pricing"] :is([data-framer-name="Headline Wrapper"], [data-framer-name="Headline"], .alms-pricing-heading) {
  overflow: visible !important;
}
/* The middle CTA repeats the offers and footer. */
body.alms-home-signature #main [data-framer-name="Team Section"],
body.alms-home-signature #main .alms-team-cta-replacement {
  display: none !important;
}

