/* Service page only: clearer typography and calmer visual rhythm. */
#body_wrap.page-id-98 #main_content {
  --atj-ink: #17231f;
  --atj-copy: #46534e;
  --atj-red: #b80032;
  --atj-cream: #f8f3e7;
  --atj-mist: #f3f6f4;
  --atj-line: rgba(23, 35, 31, .12);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans", Arial, sans-serif;
  color: var(--atj-ink);
}

#body_wrap.page-id-98 .l-topTitleArea {
  min-height: 250px;
}

#body_wrap.page-id-98 .l-topTitleArea__body {
  text-shadow: 0 2px 18px rgba(0, 0, 0, .46);
}

#body_wrap.page-id-98 .l-topTitleArea__body .c-pageTitle {
  font-size: clamp(2.25rem, 4vw, 3.6rem);
  font-weight: 750;
  letter-spacing: -.035em;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide {
  padding-top: clamp(58px, 7vw, 88px) !important;
  padding-bottom: clamp(58px, 7vw, 88px) !important;
}

#body_wrap.page-id-98 #main_content .swell-block-fullWide__inner.l-container {
  max-width: 1160px;
}

#body_wrap.page-id-98 #main_content h2.is-style-section_ttl {
  margin: 0 auto clamp(36px, 5vw, 58px);
  color: var(--atj-ink);
  font-size: clamp(2rem, 3.3vw, 3rem);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -.035em;
}

#body_wrap.page-id-98 #main_content h2.is-style-section_ttl > span:first-child {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--atj-red) !important;
  font-size: .78rem !important;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#body_wrap.page-id-98 #main_content h3 {
  color: var(--atj-ink);
  font-size: clamp(1.18rem, 1.7vw, 1.45rem);
  font-weight: 730;
  line-height: 1.35;
  letter-spacing: -.018em;
}

#body_wrap.page-id-98 #main_content p,
#body_wrap.page-id-98 #main_content li,
#body_wrap.page-id-98 #main_content .faq_a {
  color: var(--atj-copy);
  font-size: 1.03rem;
  line-height: 1.85;
}

/* Lead story */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:first-child {
  background: linear-gradient(145deg, #f8f2e4 0%, #fffaf0 100%) !important;
}

#body_wrap.page-id-98 #main_content .wp-block-media-text {
  gap: clamp(26px, 4vw, 54px);
  align-items: center;
}

#body_wrap.page-id-98 #main_content .wp-block-media-text__media img {
  width: 100%;
  height: clamp(390px, 46vw, 560px);
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 22px 54px rgba(34, 45, 40, .17);
}

#body_wrap.page-id-98 #main_content .wp-block-media-text__content {
  padding: 0;
}

#body_wrap.page-id-98 #main_content .wp-block-media-text__content .wp-block-group {
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(184, 0, 50, .12);
  border-radius: 22px;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 46px rgba(34, 45, 40, .09);
}

#body_wrap.page-id-98 #main_content .wp-block-media-text__content .has-large-font-size {
  margin-bottom: 22px;
  color: var(--atj-ink) !important;
  font-size: clamp(1.65rem, 2.5vw, 2.3rem) !important;
  font-weight: 730;
  line-height: 1.3;
  letter-spacing: -.03em;
}

/* Service feature cards */
#body_wrap.page-id-98 #main_content .swell-block-columns__inner {
  gap: 22px;
}

#body_wrap.page-id-98 #main_content .swell-block-columns.is-style-clmn-border .swell-block-column {
  padding: 30px 28px;
  border: 1px solid var(--atj-line) !important;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(34, 45, 40, .07);
  transition: transform .2s ease, box-shadow .2s ease;
}

#body_wrap.page-id-98 #main_content .swell-block-columns.is-style-clmn-border .swell-block-column:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(34, 45, 40, .11);
}

#body_wrap.page-id-98 #main_content .swell-block-box-menu__item {
  min-height: 86px;
  border-radius: 15px;
  background: var(--atj-mist);
}

#body_wrap.page-id-98 #main_content .swell-block-box-menu__figure {
  color: var(--atj-red) !important;
  font-size: 2.15rem;
}

/* Price section */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) {
  background: linear-gradient(135deg, #7f0928 0%, #b80032 100%) !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) h2,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) h3,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) p,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) li {
  color: #fff;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .swell-block-column {
  border-color: rgba(255, 255, 255, .25) !important;
  background: rgba(255, 255, 255, .1);
  box-shadow: none;
}

/* Tour flow */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(4) {
  background: var(--atj-cream) !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(4) .swell-block-column {
  position: relative;
  padding: 28px 24px;
  border: 1px solid var(--atj-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .75);
}

/* Voice */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(5) {
  background: #eef2f0 !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(5) .p-postList__item {
  overflow: hidden;
  border: 1px solid var(--atj-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(34, 45, 40, .07);
}

/* FAQ */
#body_wrap.page-id-98 #main_content .swell-block-faq .swell-block-faq__item {
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid var(--atj-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(34, 45, 40, .05);
}

#body_wrap.page-id-98 #main_content .swell-block-faq .faq_q {
  padding: 20px 22px 20px 72px;
  color: var(--atj-ink);
  font-size: 1.02rem;
  font-weight: 700;
}

#body_wrap.page-id-98 #main_content .swell-block-faq .faq_q::before {
  left: 18px;
}

/* Remove delayed-animation haze on this information page. */
#body_wrap.page-id-98 #main_content .animated,
#body_wrap.page-id-98 #main_content .hidden-animated,
#body_wrap.page-id-98 #main_content .o-anim-ready {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

@media (max-width: 781px) {

  #body_wrap.page-id-98 #main_content .swell-block-faq .faq_q {
    padding: 18px 18px 18px 64px;
  }

  #body_wrap.page-id-98 #main_content .swell-block-faq .faq_q::before {
    left: 16px;
  }

  #body_wrap.page-id-98 .l-topTitleArea {
    min-height: 180px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  #body_wrap.page-id-98 #main_content h2.is-style-section_ttl {
    margin-bottom: 34px;
    font-size: 2rem;
  }

  #body_wrap.page-id-98 #main_content p,
  #body_wrap.page-id-98 #main_content li,
  #body_wrap.page-id-98 #main_content .faq_a {
    font-size: .98rem;
    line-height: 1.78;
  }

  #body_wrap.page-id-98 #main_content .wp-block-media-text__media img {
    height: 300px;
    border-radius: 16px;
  }

  #body_wrap.page-id-98 #main_content .wp-block-media-text__content .wp-block-group {
    margin-top: -22px;
    padding: 26px 22px;
    border-radius: 16px;
  }

  #body_wrap.page-id-98 #main_content .swell-block-columns.is-style-clmn-border .swell-block-column {
    padding: 24px 22px;
    border-radius: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #body_wrap.page-id-98 #main_content * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* --- Refined UI pass ---------------------------------------------------- */
/* Compact feature cards: icon, title and copy read as one component. */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-column {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 20px;
  row-gap: 7px;
  align-items: start;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 68px;
  margin: 0;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__item {
  width: 68px;
  height: 68px;
  min-height: 68px;
  border-radius: 50%;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__inner {
  display: block;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__figure {
  font-size: 1.65rem;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) h3,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) p {
  grid-column: 2;
  margin: 0;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) h3::after {
  display: none;
}

/* The original SWELL column width variable can leave the desktop group
   visually anchored to the left. Own the desktop grid explicitly. */
@media (min-width: 960px) {
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-columns__inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 24px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-column {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    flex-basis: auto !important;
    margin: 0 !important;
    grid-template-rows: 132px minmax(0, 1fr);
    min-height: 430px;
    align-content: stretch;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu {
    grid-row: 1;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) h3 {
    grid-row: 1;
    align-self: start;
    min-height: 118px;
    padding-bottom: 18px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) p {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: start;
    margin-top: 8px;
  }

  /* The first feature in the second row has a four-line heading at common
     desktop widths. Give the whole row one shared heading track so its copy
     never overlaps and the shorter two headings keep the same baseline. */
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-column:nth-child(n + 4) {
    grid-template-rows: 158px minmax(0, 1fr);
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-column:nth-child(n + 4) h3 {
    min-height: 144px;
  }
}

/* Modern pricing cards; the old text graphics repeat the card headings. */
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) h2,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) h2 span {
  color: #fff !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-columns {
  gap: 26px;
  align-items: stretch;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column {
  overflow: hidden;
  padding: 0 32px 34px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 22px;
  background: #fff !important;
  box-shadow: 0 22px 52px rgba(55, 0, 17, .22);
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column:nth-child(2) {
  background: #fff8fa !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column > h3 {
  margin: 0 -32px 26px !important;
  padding: 18px 24px;
  border: 0;
  background: #27332f !important;
  color: #fff !important;
  text-align: center;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column:nth-child(2) > h3 {
  background: var(--atj-red) !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) figure {
  display: none;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column p,
#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column li {
  color: var(--atj-copy) !important;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .has-text-align-center strong {
  display: block;
  margin: 4px 0 22px;
  color: var(--atj-ink);
  font-size: clamp(2.15rem, 4vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.045em;
}

#body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-list {
  margin-top: 24px;
  padding: 18px 20px 18px 44px;
  border-radius: 13px;
  background: var(--atj-mist);
}

/* Keep the two desktop pricing cards directly comparable: descriptions may
   have different lengths, but their three benefit rows align at the bottom. */
@media (min-width: 901px) {
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column {
    display: flex;
    flex-direction: column;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-list {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    width: 100%;
    height: 270px;
    margin-top: auto;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-list > li {
    display: flex;
    align-items: center;
    min-height: 0;
    margin: 0;
  }
}

/* Four concise process cards on wider screens. */
@media (min-width: 960px) {
  #body_wrap.page-id-98 #main_content .swell-block-step {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  #body_wrap.page-id-98 #main_content .swell-block-step__item {
    min-height: 100%;
    margin: 0;
    padding: 28px 24px 25px;
    border: 1px solid var(--atj-line);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
  }

  #body_wrap.page-id-98 #main_content .swell-block-step__item::before,
  #body_wrap.page-id-98 #main_content .swell-block-step__item::after {
    display: none;
  }

  #body_wrap.page-id-98 #main_content .swell-block-step__number {
    position: static;
    width: 52px;
    height: 52px;
    margin: 0 0 20px;
  }

  #body_wrap.page-id-98 #main_content .swell-block-step__title,
  #body_wrap.page-id-98 #main_content .swell-block-step__body {
    margin-left: 0;
  }
}

/* Strong closing action instead of a detached white footer strip. */
#body_wrap.page-id-98 #main_content + .l-articleBottom,
#body_wrap.page-id-98 .l-articleBottom {
  margin-top: 0;
}

#body_wrap.page-id-98 .l-articleBottom .swell-block-fullWide,
#body_wrap.page-id-98 #content > .swell-block-fullWide {
  background: linear-gradient(135deg, #14251f 0%, #203b31 100%) !important;
}

#body_wrap.page-id-98 .l-articleBottom h2,
#body_wrap.page-id-98 .l-articleBottom p,
#body_wrap.page-id-98 #content > .swell-block-fullWide h2,
#body_wrap.page-id-98 #content > .swell-block-fullWide p {
  color: #fff !important;
}

#body_wrap.page-id-98 .l-articleBottom .swell-block-button__link,
#body_wrap.page-id-98 #content > .swell-block-fullWide .swell-block-button__link {
  min-width: 220px;
  padding: 16px 28px;
  border-radius: 999px;
  background: var(--atj-red);
  box-shadow: 0 12px 30px rgba(184, 0, 50, .3);
  font-weight: 750;
  letter-spacing: .02em;
}

@media (max-width: 781px) {
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-column {
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 16px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu,
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__item {
    width: 56px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__item {
    min-height: 56px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(2) .swell-block-box-menu__figure {
    font-size: 1.35rem;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-columns {
    gap: 18px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column {
    padding: 0 22px 26px;
    border-radius: 17px;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column > h3 {
    margin-right: -22px !important;
    margin-left: -22px !important;
  }
}

@media (max-width: 900px) {
  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-columns {
    display: block;
  }

  #body_wrap.page-id-98 #main_content > .l-mainContent__inner > .post_content > .swell-block-fullWide:nth-child(3) .wp-block-column + .wp-block-column {
    margin-top: 20px;
  }
}
