:root {
  --white: #ffffff;
  --black: #000000;
  --theme-accent: #5a574f;
  --theme-border: #c2c2c2;
  --theme-primary: #41431b;
  --theme-light-one-hundred: #f8f3e1;
  --theme-brown-one-hundred: #e3dbbb;
  --theme-green-one-hundred: #aeb784;
  --theme-radius-big: 20px;
}

body {
  line-height: 1.6;
  color: var(--theme-accent);
  overflow-x: hidden;
}

h1 {
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -0.02rem;
}
@media screen and (max-width: 991px) {
  h1 {
    font-size: 44px;
  }
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 36px;
  }
}
@media screen and (max-width: 480px) {
  h1 {
    font-size: 32px;
  }
}

h2 {
  font-size: 44px;
  font-weight: 600;
  letter-spacing: -0.02rem;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 42px;
  }
}
@media screen and (max-width: 480px) {
  h2 {
    font-size: 38px;
  }
}

h3 {
  font-size: 36px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 34px;
  }
}
@media screen and (max-width: 480px) {
  h3 {
    font-size: 30px;
  }
}

h4 {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: 28px;
  }
}
@media screen and (max-width: 480px) {
  h4 {
    font-size: 26px;
  }
}

h5 {
  font-size: 26px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  h5 {
    font-size: 24px;
  }
}
@media screen and (max-width: 480px) {
  h5 {
    font-size: 22px;
  }
}

h6 {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  h6 {
    font-size: 17px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--black);
}

.lead {
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .lead {
    font-size: 1.15rem;
  }
}

b,
strong {
  font-weight: 700;
}

.container {
  max-width: 960px;
}

.font-dm,
.font-dm-italic {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}

.font-dm {
  font-style: normal;
}

.font-dm-italic {
  font-style: italic;
}

.inter-100,
.inter-200,
.inter-300,
.inter-400,
.inter-500,
.inter-600,
.inter-700,
.inter-800,
.inter-900,
body {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.fs-12 {
  font-size: 12px;
}

.inter-100 {
  font-weight: 100;
}

.inter-200 {
  font-weight: 200;
}

.inter-300 {
  font-weight: 300;
}

.inter-400 {
  font-weight: 400;
}

.inter-500 {
  font-weight: 500;
}

.inter-600 {
  font-weight: 600;
}

.inter-700 {
  font-weight: 700;
}

.inter-800 {
  font-weight: 800;
}

.inter-900 {
  font-weight: 900;
}

.text_color_black {
  color: var(--black);
}

.text_color_white, .pkg_price {
  color: var(--white);
}

.text_color_semi_white_on_green, .pkg_price span {
  color: #c4c792;
}

.form-check-input {
  width: 1.5em;
  height: 1.5em;
}

.form-check-input:checked {
  background-color: var(--theme-primary);
  border-color: var(--theme-primary);
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem rgba(52, 112, 72, 0.25);
}

.page_header {
  background-color: rgba(0, 0, 0, 0.25);
  padding: 16px 0;
  text-align: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.page_header a {
  text-decoration: none;
}
.page_header a img {
  width: 100px;
}

.btn-white {
  background-color: var(--white);
  color: var(--theme-primary);
}
.btn-white:hover {
  background-color: #f3f3f3;
  color: var(--theme-primary);
}

.btn-group-lg > .btn,
.btn-lg {
  font-weight: 600;
  --bs-btn-padding-y: 0.875rem;
  --bs-btn-padding-x: 2rem;
}

.btn-primary {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--theme-primary);
  --bs-btn-border-color: var(--theme-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #565826;
  --bs-btn-hover-border-color: #565826;
}

.main_banner {
  background: url(../images/banner.png) no-repeat center center/cover;
  padding: 160px 0 100px 0;
  color: var(--white);
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.375);
}
@media screen and (max-width: 991px) {
  .main_banner {
    padding: 120px 0 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .main_banner {
    padding: 110px 0 50px 0;
  }
}
@media screen and (max-width: 480px) {
  .main_banner {
    padding: 100px 0 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .main_banner h4 {
    font-size: 28px;
  }
}
@media screen and (max-width: 480px) {
  .main_banner h4 {
    font-size: 26px;
  }
}
.main_banner .container {
  max-width: 1140px;
}
.main_banner .container h1,
.main_banner .container h4,
.main_banner .container p {
  color: var(--white);
}

.section_padd {
  padding: 80px 0;
}
@media screen and (max-width: 480px) {
  .section_padd {
    padding: 40px 0;
  }
}

.page_section_one .hov_icon_1 {
  position: absolute;
  top: 100px;
  left: -100px;
}

.pre_title {
  margin-bottom: 1.75rem;
  color: var(--theme-accent);
  text-transform: uppercase;
  position: relative;
  font-size: 13px;
}
@media screen and (max-width: 480px) {
  .pre_title {
    font-size: 12px;
  }
}
.pre_title {
  font-weight: 600;
  letter-spacing: 0.05rem;
}
.pre_title:after {
  content: "";
  width: 60px;
  height: 2px;
  background-color: var(--theme-accent);
  position: absolute;
  left: 0;
  bottom: -10px;
}

.quote_box {
  background-color: var(--white);
  padding: 24px 24px 24px 28px;
  border-left: 4px solid var(--theme-border);
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.quote_box h4 {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: italic;
  color: var(--black);
  margin-bottom: 0.375rem;
}
.quote_box small {
  color: var(--theme-accent);
}

.quote_box_one {
  background-color: #f8f3e1;
  border-color: #d5c17a;
}

.notice_box {
  padding: 48px;
  border-radius: var(--theme-radius-big);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .notice_box {
    padding: 36px;
  }
}
@media screen and (max-width: 480px) {
  .notice_box {
    padding: 28px;
  }
}
.notice_box h4 {
  margin: 0;
}

.notice_box_green {
  background-color: var(--theme-primary);
  color: #c4c792;
}
.notice_box_green h4 {
  color: var(--white);
}

.page_section_two {
  background-color: var(--theme-primary);
  color: var(--white);
}
.page_section_two .hov_icon_1,
.page_section_two .hov_icon_2 {
  position: absolute;
}
.page_section_two .hov_icon_1 {
  top: 300px;
  left: -100px;
}
.page_section_two .hov_icon_2 {
  top: 50px;
  right: -150px;
}
.page_section_two .pre_title {
  color: var(--white);
}
.page_section_two .pre_title:after {
  background-color: var(--white);
}
.page_section_two h2 {
  color: var(--white);
}
.page_section_two .quote_box_two {
  text-align: center;
  padding: 24px;
  border-radius: 10px;
  background-color: #373814;
}
.page_section_two .quote_box_two h4 {
  color: var(--white);
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: italic;
  margin-bottom: 0.375rem;
}
.page_section_two .quote_box_two p {
  width: 700px;
  margin: 0 auto;
  max-width: 100%;
}
.page_section_two .quote_box_three {
  background-color: #565826;
  border-color: #727431;
  color: var(--white);
}
.page_section_two .quote_box_three h6 {
  color: var(--white);
}
.page_section_two .quote_box_three svg {
  color: #727431;
  width: 32px;
  height: 32px;
}
.page_section_two .hair_cycle_info_image_box {
  background-color: #565826;
  padding: 36px;
}
@media screen and (max-width: 767px) {
  .page_section_two .hair_cycle_info_image_box {
    padding: 24px;
  }
}
.page_section_two .hair_cycle_info_image_box {
  border-radius: 20px;
  text-align: center;
}
.page_section_two .hair_cycle_info_image_box h5,
.page_section_two .hair_cycle_info_image_box h6 {
  color: var(--white);
}
.page_section_two .hair_cycle_info_image_box .fig_box figcaption {
  font-weight: 500;
  text-align: center;
}

.notice_box_white {
  background-color: var(--white);
  color: var(--theme-primary);
}
.notice_box_white h4 {
  color: var(--theme-primary);
}

.page_section_three {
  background-color: #f8f3e1;
}
.page_section_three .hov_icon_1,
.page_section_three .hov_icon_2 {
  position: absolute;
}
.page_section_three .hov_icon_1 {
  top: 250px;
  left: -100px;
}
.page_section_three .hov_icon_2 {
  top: 50px;
  right: -150px;
}

.hair_card {
  background-color: var(--white);
  border-radius: 10px;
  padding: 24px;
  text-align: center;
  border: 1px solid var(--theme-border);
}
@media screen and (min-width: 768px) {
  .hair_card {
    height: 100%;
  }
}
.hair_card figure {
  width: 100px;
  height: 100px;
  margin: 0 auto 1.5rem;
}
.hair_card figure img,
.hair_card figure svg {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.quote_box_four {
  background-color: #f5ecca;
  border-color: #c9bb8c;
}
.quote_box_four svg {
  color: #c9bb8c;
  width: 42px;
  height: 42px;
}

.page_section_four .quote_box_mini {
  background-color: #f8f3e1;
  border-left: 3px solid #d5c17a;
  padding: 16px 16px 16px 36px;
  position: relative;
  font-size: 17px;
  font-weight: 500;
}
.page_section_four .quote_box_mini svg {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  fill: #e3dbbb;
  width: 24px;
  height: 24px;
}
.page_section_four .quote_box {
  background-color: #f8f3e1;
  padding: 24px 24px 24px 28px;
  border-left: 4px solid #d5c17a;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.page_section_four .quote_box svg {
  color: #aa9b5a;
  width: 32px;
  height: 32px;
}

.page_section_five {
  background-color: #f5f6f5;
}
.page_section_five .card {
  height: 100%;
}
.page_section_five .card ul {
  color: var(--theme-accent);
}
.page_section_five .pre_title:after {
  left: 50%;
  transform: translateX(-50%);
}
.page_section_five .hov_icon_1,
.page_section_five .hov_icon_2 {
  position: absolute;
}
.page_section_five .hov_icon_1 {
  top: 250px;
  left: -100px;
}
.page_section_five .hov_icon_2 {
  top: 50px;
  right: -150px;
}

.page_section_six .hov_icon_1,
.page_section_six .hov_icon_2 {
  position: absolute;
}
.page_section_six .hov_icon_1 {
  top: 100px;
  left: -180px;
}
.page_section_six .hov_icon_2 {
  top: 250px;
  right: -150px;
}
.page_section_six {
  background-color: var(--theme-primary);
  color: var(--white);
}
.page_section_six h2 {
  color: var(--white);
}
.page_section_six .pre_title {
  color: var(--white);
}
.page_section_six .pre_title:after {
  background-color: var(--white);
}
.page_section_six .quote_box {
  background-color: #656830;
  border-color: #989c5a;
}
.page_section_six .quote_box h4 {
  color: var(--white);
}

.timeline_one {
  position: relative;
  padding: 1.5rem 0;
  margin-bottom: 2.5rem;
}
.timeline_one:before {
  content: "";
  background-color: #21220e;
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 32px;
}
@media screen and (max-width: 480px) {
  .timeline_one:before {
    left: 29px;
  }
}
.timeline_one .timeline_row:not(:last-child) {
  margin-bottom: 2.5rem;
}
.timeline_one .timeline_row {
  display: flex;
  align-items: center;
  gap: 2rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .timeline_one .timeline_row {
    gap: 1rem;
  }
}
.timeline_one .timeline_row .tlcounter {
  background-color: #21220e;
  width: 64px;
  height: 64px;
  border-radius: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  .timeline_one .timeline_row .tlcounter {
    width: 58px;
    height: 58px;
    font-size: 17px;
  }
}
.timeline_one .timeline_row .tlcontent h6 {
  color: var(--white);
}
.timeline_one .timeline_row .tlcontent p {
  margin: 0;
}

.page_header.dark {
  background-color: var(--theme-primary);
}

.result_section_one {
  padding: 140px 0 80px 0;
}
@media screen and (max-width: 480px) {
  .result_section_one {
    padding: 100px 0 40px 0;
  }
}

.icon_28 svg {
  width: 28px;
  height: 28px;
  font-size: 28px;
}

.badge_light_one,
.badge_primary,
.ts_badge_one,
.ts_badge_two,
.ts_badge_three,
.product_badge,
.mini_series_badge {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  padding: 8px 16px;
  border-radius: 50px;
  line-height: 1.2;
}

.badge_light_one {
  background-color: #e9e2c9;
  color: #444238;
}

.badge_primary {
  background-color: var(--theme-primary);
  color: var(--white);
}

.stage_identifier_line {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.stage_identifier_line .stage_identifier_line_inner {
  background-color: var(--theme-border);
  width: 100%;
  height: 6px;
  border-radius: 10px;
  position: relative;
  margin-bottom: 0.5rem;
}
.stage_identifier_line .stage_identifier_line_inner .completed_area {
  background-color: var(--theme-primary);
  position: absolute;
  left: 0;
  top: 0;
  width: calc(50% - 8px);
  height: 100%;
  border-radius: 10px;
}
.stage_identifier_line .stage_identifier_line_inner .completed_area:after {
  content: "";
  background-color: var(--theme-primary);
  width: 16px;
  height: 16px;
  border-radius: 16px;
  border: 2px solid white;
  position: absolute;
  left: 100%;
  top: -4px;
}
.stage_identifier_line .stage_identifier_captions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  position: relative;
}
.stage_identifier_line .stage_identifier_captions span {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  position: absolute;
  top: 0;
}
.stage_identifier_line .stage_identifier_captions span:first-child {
  text-align: left;
  left: 0;
}
.stage_identifier_line .stage_identifier_captions span:nth-child(2) {
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
}
.stage_identifier_line .stage_identifier_captions span:last-child {
  text-align: right;
  right: 0;
}

.fs-11 {
  font-size: 11px;
}

.text_color_theme_accent {
  color: var(--theme-accent);
}

.result_section_two {
  background-color: var(--theme-primary);
}
.result_section_two .pre_title {
  color: var(--white);
}
.result_section_two .pre_title:after {
  background-color: var(--white);
}
.result_section_two h2 {
  color: var(--white);
}

.pattern_box {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.pattern_box:before {
  content: "";
  width: 200px;
  height: 200px;
  border-radius: 200px;
  background-color: #f8f3e1;
  position: absolute;
  right: -110px;
  top: 50%;
  transform: translateY(-50%);
}
.pattern_box .counter {
  font-size: 18px;
  font-weight: 700;
  color: var(--theme-accent);
}
.pattern_box .card_icon,
.pattern_box .w-100 {
  z-index: 1;
}

.res_pattren_accordion .accordion-item {
  border: 0;
  background-color: transparent;
}
.res_pattren_accordion .accordion-header {
  background-color: #f9f5e7;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  cursor: pointer;
}
.res_pattren_accordion .accordion-header .accordion-header-inner {
  font-size: 17px;
  font-weight: 600;
}
.res_pattren_accordion .accordion-header-inner[aria-expanded=true] .icon_28 {
  transform: rotate(180deg);
  transform-origin: center;
}
.res_pattren_accordion .accordion-collapse .accordion-body {
  padding: 1rem 0;
}

.quote_box_two {
  background-color: var(--white);
  border-color: #aeb784;
}

.radial_counter_one {
  background-color: #f9f4e4;
  color: #4a4944;
  width: 48px;
  height: 48px;
  border-radius: 50px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.result_section_three {
  background-color: var(--white);
}

.ts_coll_wrap {
  position: relative;
  padding: 20px 0;
}
@media screen and (min-width: 481px) {
  .ts_coll_wrap:before {
    content: "";
    background-color: var(--theme-border);
    width: 2px;
    height: 100%;
    position: absolute;
    left: 41px;
    top: 0;
  }
}
.ts_coll_wrap .ts_coll_row {
  position: relative;
  padding-left: 100px;
}
@media screen and (max-width: 480px) {
  .ts_coll_wrap .ts_coll_row {
    padding-left: 0;
  }
}
.ts_coll_wrap .ts_coll_row:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .ts_coll_wrap .ts_coll_row:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle {
  position: absolute;
  left: 0;
  top: 1rem;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle,
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle_inner {
  background-color: #f8f8f8;
  border: 1px solid var(--theme-border);
  width: 80px;
  height: 80px;
  border-radius: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  line-height: 1;
  color: #4a4944;
  text-transform: capitalize;
  font-family: "DM Serif Display", serif;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle_2 {
  background-color: #e9e2c9;
  border-color: #444238;
  color: #444238;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle_3 {
  background-color: #bec59d;
  border-color: #343728;
  color: #343728;
}
@media screen and (min-width: 481px) {
  .ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle_inner {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle_inner {
    width: 60px;
    height: 60px;
    font-size: 42px;
  }
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_coll_header_card {
  background-color: var(--white);
  border: 1px solid var(--theme-border);
  padding: 1rem;
  border-radius: 10px;
  position: relative;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_coll_header_card .ts_chev_icon {
  position: absolute;
  right: 1.5rem;
  top: 60px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
  .ts_coll_wrap .ts_coll_row .ts_coll_header .ts_coll_header_card .ts_chev_icon {
    top: 40px;
  }
}
.ts_coll_wrap .ts_coll_row .ts_coll_header .ts_coll_header_card .ts_chev_icon svg {
  font-size: 28px;
  width: 28px;
  height: 28px;
}
.ts_coll_wrap .ts_coll_row .ts_collapse_body {
  background-color: var(--white);
  border: 1px solid var(--theme-border);
  padding: 1rem;
  border-radius: 10px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-top: 0;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header_wrap[aria-expanded=true] .ts_coll_header .ts_coll_header_card {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ts_coll_wrap .ts_coll_row .ts_coll_header_wrap[aria-expanded=true] .ts_coll_header .ts_coll_header_card .ts_chev_icon {
  transform: rotate(180deg);
  transform-origin: center;
}
@media screen and (max-width: 480px) {
  .ts_coll_wrap .ts_coll_row .ts_coll_header .ts_caption_circle {
    display: none;
  }
}

.ts_badge_one {
  background-color: #f9f4e4;
  color: #4a4944;
}
.ts_badge_one svg {
  fill: #4a4944;
}

.ts_badge_two {
  background-color: #e9e2c9;
  color: #444238;
}
.ts_badge_two svg {
  fill: #444238;
}

.ts_badge_three {
  background-color: #bec59d;
  color: #343728;
}
.ts_badge_three svg {
  fill: #343728;
}

.ts_badge_one svg,
.ts_badge_two svg,
.ts_badge_three svg {
  font-size: 8px;
  width: 8px;
  height: 8px;
  margin-right: 0.25rem;
}

.result_section_four {
  background-color: #f8f3e1;
}

.product_card {
  border: 1px solid var(--theme-border);
  border-radius: 10px;
  background-color: var(--white);
  height: 100%;
}
.product_card .product_image_wrap {
  border-bottom: 1px solid var(--theme-border);
  padding: 1rem;
}
.product_card .product_image_wrap a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 180px;
  overflow: hidden;
}
.product_card .product_image_wrap img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.product_card .product_content_wrap {
  padding: 1rem;
}

.product_badge {
  padding: 8px 12px 8px 8px;
  background-color: #f9f4e4;
  color: #4a4944;
}
.product_badge span {
  width: 18px;
  height: 18px;
  border-radius: 18px;
  display: inline-block;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  background-color: #dfdbcb;
  color: #4a4944;
  margin-right: 2px;
}

.wide_button_one {
  width: 600px;
  max-width: 100%;
}

.mini_banner_one {
  background-color: #e3dbbb;
  border-radius: 10px;
  padding: 1rem;
  display: flex;
  align-items: center;
}
.mini_banner_one figure {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 1rem 0 0;
}

.mini_series_box {
  background-color: var(--theme-primary);
  border-radius: 20px;
  padding: 1.675rem;
  color: var(--white);
}
.mini_series_box h3 {
  color: var(--white);
}

.mini_series_badge {
  background-color: #676949;
  font-size: 13px;
  padding: 10px 16px;
}

@media screen and (max-width: 767px) {
  .s3protocol {
    padding-left: 26px;
    position: relative;
  }
}
.s3protocol .s3tl {
  position: relative;
  height: 16px;
}
.s3protocol .s3tl .s3tl_line_wrap {
  position: relative;
}
.s3protocol .s3tl .s3tl_line_wrap .s3tl_line_one,
.s3protocol .s3tl .s3tl_line_wrap .s3tl_line_two {
  position: absolute;
  left: 0;
  top: 0;
}
.s3protocol .s3tl .s3tl_line_wrap .s3tl_line_one {
  border: 2px solid var(--theme-primary);
  width: 81%;
}
.s3protocol .s3tl .s3tl_line_wrap .s3tl_line_two {
  border: 2px dashed var(--theme-border);
  width: 19%;
  left: 81%;
}
.s3protocol .s3tl .s3tl_dots_wrap {
  position: absolute;
  left: 0;
  top: -6px;
  width: 100%;
}
.s3protocol .s3tl .s3tl_dots_wrap span {
  background-color: var(--theme-primary);
  width: 16px;
  height: 16px;
  border-radius: 16px;
  display: inline-block;
  position: absolute;
  top: 0;
}
.s3protocol .s3tl .s3tl_dots_wrap span:nth-child(1) {
  left: 0;
}
.s3protocol .s3tl .s3tl_dots_wrap span:nth-child(2) {
  left: calc(20% + 0.35rem);
}
.s3protocol .s3tl .s3tl_dots_wrap span:nth-child(3) {
  left: calc(40% + 0.35rem);
}
.s3protocol .s3tl .s3tl_dots_wrap span:nth-child(4) {
  left: calc(60% + 0.35rem);
}
.s3protocol .s3tl .s3tl_dots_wrap span:nth-child(5) {
  left: calc(80% + 0.35rem);
}
@media screen and (max-width: 767px) {
  .s3protocol .s3tl {
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 100%;
  }
  .s3protocol .s3tl .s3tl_line_wrap {
    position: absolute;
    left: 9px;
    top: 0;
    height: 100%;
  }
  .s3protocol .s3tl .s3tl_line_wrap .s3tl_line_one {
    width: 2px;
    height: 83%;
  }
  .s3protocol .s3tl .s3tl_line_wrap .s3tl_line_two {
    width: 2px;
    height: 17%;
    top: 83%;
  }
  .s3protocol .s3tl .s3tl_dots_wrap {
    position: absolute;
    left: 0;
    top: 4px;
    width: 100%;
    height: 100%;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span {
    left: 3px;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span:nth-child(1) {
    top: 0;
    left: 3px;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span:nth-child(2) {
    top: calc(20% + 0.35rem);
    left: 3px;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span:nth-child(3) {
    top: calc(40% + 0.35rem);
    left: 3px;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span:nth-child(4) {
    top: calc(60% + 0.35rem);
    left: 3px;
  }
  .s3protocol .s3tl .s3tl_dots_wrap span:nth-child(5) {
    top: calc(80% + 0.35rem);
    left: 3px;
  }
}
.s3protocol .s3tl_cards_wrap {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 0.675rem;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .s3protocol .s3tl_cards_wrap {
    flex-wrap: wrap;
  }
}
.s3protocol .s3tl_cards_wrap .s3tl_card {
  background-color: var(--white);
  padding: 0.675rem;
  height: 100%;
  height: 110px;
  border-radius: 10px;
  border: 1px solid var(--theme-border);
  width: 100%;
}
.s3protocol .s3tl_cards_wrap .s3tl_card span {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--theme-accent);
}
.s3protocol .s3tl_cards_wrap .s3tl_card h6 {
  margin: 0.375rem 0 0 0;
}
.s3protocol .s3tl_cards_wrap .current {
  background-color: #f9f4e4;
  border: 2px solid var(--theme-primary);
}
.s3protocol .s3tl_card_detailed {
  background-color: var(--white);
  border: 1px solid var(--theme-border);
  border-radius: 10px;
  padding: 1rem;
}

#clinical_accordion.res_pattren_accordion .accordion-header {
  background-color: #e3dbbb;
}

.bg-theme-primary {
  background-color: var(--theme-primary);
}

.pkg_price {
  display: flex;
  align-items: center;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}
.pkg_price span {
  font-size: 16px;
  margin-left: 6px;
  font-weight: 400;
}

.pkg_box {
  background-color: #f8f3e1;
  border-radius: 10px;
  padding: 1rem;
  border: 1px solid var(--theme-border);
}
.pkg_box span {
  font-size: 11px;
  text-transform: uppercase;
}
.pkg_box hgroup {
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}
.pkg_box hgroup h6 {
  margin-bottom: 0.675rem;
}
.pkg_box hgroup h3 {
  margin-bottom: 0;
  font-weight: 700;
}
.pkg_box.popular {
  overflow: hidden;
  position: relative;
}
.pkg_box.popular .bookmark_icon {
  position: absolute;
  top: -2px;
  right: 1.5rem;
}
.pkg_box.popular .bookmark_icon svg {
  font-size: 36px;
  width: 36px;
  height: 36px;
}

.result_section_five {
  background-color: var(--white);
}

.choice_line {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.choice_line span {
  width: 20px;
  height: 1px;
  background-color: #c4c792;
}

.icon_36 svg {
  width: 36px;
  height: 36px;
  font-size: 36px;
}

.fs-16 {
  font-size: 16px;
}

.res_info_card {
  background-color: #f8f3e1;
  border: 1px solid #aa9b5a;
  padding: 1.675rem;
  border-radius: 20px;
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 480px) {
  .res_info_card {
    flex-direction: column;
    padding: 1.375rem;
    gap: 0;
  }
}

.ts_coll_header_wrap {
  cursor: pointer;
}

body.quiz {
  background-color: #f5f6f5;
}

.q_container {
  width: 640px;
  margin: 0 auto;
  max-width: calc(100% - 2rem);
}

/* Container for layout */
.qcard-container {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
}

/* Common card styles */
.qcard {
  background-color: var(--white);
  border-radius: 10px;
  border: 1px solid var(--theme-border);
  /* Initial state: invisible and 30px lower */
  opacity: 0;
  transform: translateY(30px);
  /* Animation shorthand: name, duration, timing, fill-mode */
  animation: slideUp 0.5s ease forwards;
  transition: all 0.3s ease;
}
.qcard h6 {
  margin-bottom: 2px;
  font-size: 16px;
}
.qcard .form-check {
  padding-left: 60px;
  margin: 0;
  position: relative;
}
.qcard .form-check label {
  display: block;
  padding: 0.875rem 70px 0.875rem 0.5rem;
  cursor: pointer;
}
.qcard .form-check .form-check-input {
  position: absolute;
  left: 50px;
  top: calc(50% - 16px);
}
.qcard .form-check .q_image_illus {
  width: 66px;
  height: 66px;
  margin: 0;
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qcard:hover {
  background-color: #e8ebda;
}

/* Keyframes for the slide-up effect */
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Staggered delays using nth-child */
.qcard:nth-child(1) {
  animation-delay: 0.1s;
}

.qcard:nth-child(2) {
  animation-delay: 0.2s;
}

.qcard:nth-child(3) {
  animation-delay: 0.3s;
}

.qcard:nth-child(4) {
  animation-delay: 0.4s;
}

.qsteps {
  margin-bottom: 1.5rem;
}
.qsteps .qsteps_upper {
  margin-bottom: 6px;
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
}
.qsteps .qsteps_upper span {
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  background-color: var(--theme-border);
}
.qsteps .qsteps_upper span.qstep_current {
  background-color: var(--theme-primary);
}
.qsteps .qsteps_upper span.qstep_next {
  background-color: #a7ceac;
}
.qsteps .qsteps_lower {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.qsteps .qsteps_lower p {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
}

.qcard:has(.form-check-input:checked[type=radio]) {
  border-color: var(--theme-primary);
}

.q_quote_box {
  background-color: #e7e9da;
  border-color: #aeb784;
}

/* HTML: <div class="loader"></div> */
.loader {
  width: 28px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side, #000 90%, #0000);
  background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
  background-size: 33.3333333333% 40%;
  animation: l3 1s infinite linear;
}

@keyframes l3 {
  20% {
    background-position: 0% 0%, 50% 50%, 100% 50%;
  }
  40% {
    background-position: 0% 100%, 50% 0%, 100% 50%;
  }
  60% {
    background-position: 0% 50%, 50% 100%, 100% 0%;
  }
  80% {
    background-position: 0% 50%, 50% 50%, 100% 100%;
  }
}
.loader_wrap {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 12px;
  font-weight: 500;
}

.breathing_textline_container .breathing_textline {
  opacity: 0;
  transform: translateY(20px); /* Moves it slightly down */
  animation: fadeInUp 0.6s ease-out forwards;
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0); /* Fades in and moves to original position */
  }
}
.breathing_textline_container {
  /* Staggered delays using nth-child */
}
.breathing_textline_container .breathing_textline:nth-child(1) {
  animation-delay: 0.1s;
}
.breathing_textline_container .breathing_textline:nth-child(2) {
  animation-delay: 0.2s;
}
.breathing_textline_container .breathing_textline:nth-child(3) {
  animation-delay: 0.3s;
}
.breathing_textline_container .breathing_textline:nth-child(4) {
  animation-delay: 0.4s;
}

/* HTML: <div class="loader"></div> */
.loader2 {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(farthest-side, #41431b 94%, rgba(0, 0, 0, 0)) top/4px 4px no-repeat, conic-gradient(rgba(0, 0, 0, 0) 30%, #41431b);
  -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 4px), #000 0);
  animation: l13 1s infinite linear;
}

@keyframes l13 {
  100% {
    transform: rotate(1turn);
  }
}
.status-circle {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: var(--theme-border); /* Initial color */
  border-radius: 50%;
  margin-right: 10px;
  animation: turnGreen 0.5s ease forwards;
  animation-delay: 1s;
  vertical-align: sub;
}

@keyframes turnGreen {
  from {
    background-color: var(--theme-border);
  }
  to {
    background-color: var(--theme-primary);
  }
}
.text-color-black {
  color: var(--black);
}

.form-control-lg {
  padding: 0.875rem 1.375rem;
}

.btn-full-width {
  width: 100%;
}

/* ============================================================
   NEVOTIN QUIZ ANIMATIONS (E4 timing, F1-F3 scoping fixes)
   ============================================================ */

@keyframes slideInFromRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideOutToLeft {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(-40px); }
}

/* Page entrance — E4: 320ms */
.quiz .q_container {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
/* Exit — E4: 250ms */
.quiz .q_container.exiting {
  animation: slideOutToLeft 250ms cubic-bezier(0.4, 0, 1, 1) both;
}

/* Question content stagger */
.quiz .q_container > div > .mb-4 h4 {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 0ms both;
}
.quiz .q_container > div > .mb-4 p {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 80ms both;
}
.quiz .q_container .qcard:nth-child(1) {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 140ms both;
}
.quiz .q_container .qcard:nth-child(2) {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 175ms both;
}
.quiz .q_container .qcard:nth-child(3) {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 210ms both;
}
.quiz .q_container .qcard:nth-child(4) {
  animation: slideInFromRight 320ms cubic-bezier(0.16, 1, 0.3, 1) 245ms both;
}

/* Answer tap feedback */
.qcard.selected {
  background-color: rgba(29, 122, 107, 0.08);
  border-color: #1D7A6B;
  transform: scale(0.98);
  transition: all 80ms ease;
}

/* F1 — Button interactions scoped to quiz only */
body.quiz .btn { transition: transform 120ms ease; }
body.quiz .btn:hover { transform: scale(1.02); }
body.quiz .btn:active { transform: scale(0.98); }

/* F3 — Hope slide animations scoped to quiz */
body.quiz .breathing_textline_container .breathing_textline {
  opacity: 0;
  transform: translateY(12px);
  animation: fadeInUp 400ms ease forwards;
}
/* F2 — Removed duplicate @keyframes fadeInUp (designer original at ~line 1562 used) */

/* E3 — Hope slide stagger (only 2 lines now) */
body.quiz .breathing_textline_container .breathing_textline:nth-child(1) {
  animation-delay: 0ms;
}
body.quiz .breathing_textline_container .breathing_textline:nth-child(2) {
  animation-delay: 400ms;
}

/* Crafting animation lines (quiz-10) — JS controls visibility via .active/.done */
body.quiz .crafting-lines .breathing_textline {
  opacity: 0;
  transform: none;
  animation: none !important;
  transition: opacity 300ms ease;
}
body.quiz .crafting-lines .breathing_textline.active {
  opacity: 1;
}
body.quiz .crafting-lines .breathing_textline.done {
  opacity: 0.3;
}

/* ============================================================
   NEVOTIN MOBILE TYPOGRAPHY SCALE (G1)
   ============================================================ */

@media (max-width: 768px) {
  body h1, .main_banner h1 { font-size: 28px !important; line-height: 1.25; font-weight: 700; }
  body h2 { font-size: 22px !important; line-height: 1.25; font-weight: 600; }
  body h3 { font-size: 20px !important; line-height: 1.3; font-weight: 600; }
  body h4 { font-size: 18px !important; line-height: 1.3; font-weight: 600; }
  body h5 { font-size: 16px !important; line-height: 1.3; font-weight: 600; }
  body h6 { font-size: 15px !important; line-height: 1.3; font-weight: 600; }
  body p { font-size: 15px !important; line-height: 1.55; }
  body p.lead { font-size: 16px !important; line-height: 1.55; }
  body .small, body small { font-size: 13px !important; line-height: 1.45; }
  body .fs-11, body .fs-12 { font-size: 11px !important; }
  body .btn { font-size: 16px !important; font-weight: 600; padding: 12px 24px; }
  body .btn-lg { font-size: 16px !important; padding: 14px 28px; }
  body .pre_title { font-size: 11px !important; letter-spacing: 0.08em; }
  body .badge_light_one { font-size: 11px !important; }

  /* Quiz question pages — tighter scale (overridden further in I1 block) */
  body.quiz .q_container h4 { font-size: 18px !important; }
  body.quiz .qcard h6 { font-size: 15px !important; }
  body.quiz .qcard .small { font-size: 12px !important; }

  /* Card padding reductions */
  body .qcard { padding: 12px 14px !important; }
  body .pkg_box { padding: 14px !important; }
}

@media (min-width: 769px) {
  body.quiz .q_container h4 { font-size: 30px !important; }
  body.quiz .qcard h6 { font-size: 19px !important; }
  body.quiz .q_container h6.breathing_textline { font-size: 26px !important; }
}

/* ============================================================
   G2 — Specific mobile fixes
   ============================================================ */

@media (max-width: 768px) {
  /* G2.1 — Results closing paragraph card */
  .res_info_card { padding: 16px 18px !important; }
  .res_info_card p { font-size: 14px !important; color: #1A1A18 !important; line-height: 1.5 !important; }
  .res_info_card .icon_36 { max-width: 24px !important; max-height: 24px !important; }
  .res_info_card .icon_36 svg { width: 24px !important; height: 24px !important; }

  /* G2.1b — Result section five — remove olive background bleed */
  .result_section_five { background-color: #FAFAF5 !important; padding: 24px 0 !important; }

  /* G2.2 — Stage bar captions */
  .stage_identifier_captions span { font-size: 12px !important; }

  /* G2.3 — Pricing fix */
  .pkg_price { display: flex; align-items: baseline; gap: 4px; font-size: 18px !important; font-weight: 600; }
  .pkg_price span { font-size: 13px !important; font-weight: 400; }

  /* G2.4 — Advertorial hero padding */
  .main_banner { padding-top: 24px !important; padding-bottom: 32px !important; }
}

/* S3 card collapse arrow indicator */
.ts_coll_header_card { position: relative; }
.ts_coll_header_card::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 200ms ease;
}
.ts_coll_header_wrap[aria-expanded="true"] .ts_coll_header_card::after {
  transform: translateY(-30%) rotate(-135deg);
}

/* Selectable pricing cards */
.pkg_box.pkg_selectable { cursor: pointer; transition: all 150ms ease; border: 2px solid transparent; }
.pkg_box.pkg_selectable:hover { border-color: #1D7A6B !important; }
.pkg_box.pkg_selectable.pkg_selected { border: 2px solid #1D7A6B !important; box-shadow: 0 0 0 3px rgba(29, 122, 107, 0.15) !important; opacity: 1 !important; }
.pkg_box.pkg_selectable:not(.pkg_selected) { opacity: 0.55 !important; border-color: var(--theme-border) !important; }

/* Prevent horizontal overflow from hovering icons */
html, body { overflow-x: hidden !important; max-width: 100vw !important; }
@media (max-width: 768px) {
  .hov_icon_1, .hov_icon_2 { display: none !important; }
}

/* Closing card — force dark readable text, small font, no olive background */
.result_section_five { background-color: #FAFAF5 !important; padding: 24px 0 !important; }
.res_info_card { background-color: #f5f3ec !important; }
.res_info_card p { color: #1A1A18 !important; font-size: 14px !important; line-height: 1.55 !important; }
.res_info_card .icon_36 { width: 24px !important; height: 24px !important; min-width: 24px !important; }
.res_info_card .icon_36 svg { width: 20px !important; height: 20px !important; }

/* ============================================================
   H1/H2 — Trust badges layout
   ============================================================ */

@media (max-width: 768px) {
  .results-trust-badges .col-6 { flex: 0 0 50% !important; max-width: 50% !important; }
  .results-trust-badges .card { padding: 10px 12px !important; }
  .results-trust-badges .icon_36 { width: 24px !important; height: 24px !important; margin-bottom: 8px !important; }
  .results-trust-badges .icon_36 svg { width: 20px !important; height: 20px !important; }
  .results-trust-badges h6 { font-size: 14px !important; }
  .results-trust-badges small { font-size: 11px !important; }
}
@media (min-width: 769px) {
  .results-trust-badges { margin-left: auto; margin-right: auto; justify-content: center; }
}

/* ============================================================
   H3 — S3 Protocol cards mobile
   ============================================================ */

@media (max-width: 768px) {
  /* S3 cards: compact, premium feel */
  .s3-protocol-card { padding: 0 !important; }
  .s3-protocol-card .ts_caption_circle { display: none !important; }
  .s3-protocol-card .ts_caption_circle_inner { width: 36px !important; height: 36px !important; font-size: 18px !important; }
  .s3-protocol-card .ts_coll_header_card { padding: 12px !important; }
  .s3-protocol-card h5 { font-size: 16px !important; margin-bottom: 4px !important; }
  .s3-protocol-card p.lead { font-size: 13px !important; line-height: 1.45 !important; }
  .ts_coll_wrap .ts_coll_row:not(:last-child) { margin-bottom: 10px !important; }
  .ts_coll_wrap .ts_coll_row { padding-left: 0 !important; }
  .ts_collapse_body { padding: 10px 12px !important; }
  .ts_collapse_body p { font-size: 13px !important; }

  /* === RESULTS PAGE: GLOBAL SPACING TIGHTENING === */

  /* Section padding: 40px is too much, reduce to 24px */
  .result_section_one,
  .result_section_two,
  .result_section_three,
  .result_section_four { padding: 24px 0 !important; }
  .result_section_one { padding-top: 64px !important; }

  /* Kill excessive Bootstrap margin classes on mobile */
  .result_section_one .mb-4,
  .result_section_two .mb-4,
  .result_section_three .mb-4,
  .result_section_four .mb-4 { margin-bottom: 12px !important; }

  .result_section_four .mb-5 { margin-bottom: 16px !important; }
  .result_section_four .mt-5 { margin-top: 16px !important; }
  .result_section_four .my-4 { margin-top: 12px !important; margin-bottom: 12px !important; }

  /* Quote boxes: tighten */
  .quote_box { padding: 14px !important; }
  .quote_box_two { padding: 12px 14px !important; }

  /* Product cards section */
  .product_card { margin-bottom: 12px !important; }
  .product_content_wrap { padding: 10px !important; }
  .product_content_wrap h5 { margin-top: 8px !important; }
  .product_content_wrap p.lead { font-size: 13px !important; margin-bottom: 4px !important; }
  .product_content_wrap p.m-0 { font-size: 13px !important; }

  /* Pricing section */
  .pkg_box { padding: 12px !important; }
  .pkg_box h3 { font-size: 28px !important; }
  .pkg_box h6 { font-size: 14px !important; }
  .pkg_box small { font-size: 12px !important; }

  /* Mini banner + signal series */
  .mini_banner_one { padding: 12px !important; gap: 10px !important; }
  .mini_series_box { padding: 14px !important; }
  .mini_series_box h3 { font-size: 18px !important; }
  .mini_series_box p.lead { font-size: 14px !important; }
  .mini_series_box ul li { font-size: 13px !important; }

  /* Accordion */
  .res_pattren_accordion .accordion-header-inner { font-size: 14px !important; padding: 10px !important; }
  .res_pattren_accordion .accordion-body { padding: 12px !important; }

  /* Cards general */
  .result_section_one .card { padding: 10px !important; }
  .result_section_one .gx-3 { --bs-gutter-x: 8px !important; }
}

/* ============================================================
   H4 — Product lineup cards mobile
   ============================================================ */

/* Product card images */
.product-lineup-card img { max-height: 220px !important; object-fit: contain; width: 100%; }
@media (max-width: 768px) {
  .product-lineup-card img { max-height: 180px !important; width: auto !important; display: block; margin: 0 auto; }
  .product-lineup-card { padding: 12px 14px !important; }
}

/* ============================================================
   H5 — 90-day cycle timeline mobile
   ============================================================ */

@media (max-width: 768px) {
  .timeline_one .timeline_row { padding: 10px 12px !important; }
  .timeline_one .tlcounter { font-size: 11px !important; letter-spacing: 0.08em; width: 44px !important; height: 44px !important; }
  .timeline_one h6 { font-size: 15px !important; }

  /* S3 protocol timeline cards: compact height, align with dots */
  .s3protocol .s3tl_cards_wrap .s3tl_card {
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 10px !important;
    margin-bottom: 6px !important;
  }
  .s3protocol .s3tl_cards_wrap .s3tl_card span { font-size: 10px !important; }
  .s3protocol .s3tl_cards_wrap .s3tl_card h6 { font-size: 13px !important; margin: 2px 0 0 0 !important; }
}

/* ============================================================
   I1 — Quiz layout: fit above fold on mobile
   ============================================================ */

@media (max-width: 768px) {
  /* Shrink fixed header */
  body.quiz .page_header { padding: 8px 16px !important; }
  body.quiz .page_header a img { width: 70px !important; }

  /* Slash section padding — fixed header is only ~40px now */
  body.quiz .result_section_one { padding: 56px 0 16px 0 !important; }

  /* Tighten quiz container */
  body.quiz .q_container { padding-top: 0 !important; }
  body.quiz .qsteps { margin-bottom: 8px !important; }
  body.quiz .qsteps .qsteps_lower { margin-bottom: 0 !important; }
  body.quiz .qsteps .qsteps_lower p { font-size: 10px !important; }

  /* Question area — minimal gap, hide subtext on mobile */
  body.quiz .q_container > div > .mb-4 { margin-bottom: 8px !important; }
  body.quiz .q_container h4 { font-size: 18px !important; line-height: 1.25 !important; margin-bottom: 2px !important; }
  body.quiz .q_container > div > .mb-4 > p { display: none !important; }

  /* Answer cards — compact */
  body.quiz .qcard { margin-bottom: 6px !important; padding: 8px 12px !important; }
  body.quiz .qcard h6 { font-size: 15px !important; margin-bottom: 1px !important; line-height: 1.3 !important; }
  body.quiz .qcard .small { font-size: 12px !important; line-height: 1.35 !important; }
  body.quiz .qcard .form-check { padding-top: 2px !important; padding-bottom: 2px !important; }
  body.quiz .qcard-container { margin-bottom: 0 !important; gap: 0 !important; }

  /* Radio button sizing */
  body.quiz .form-check-input { width: 18px !important; height: 18px !important; margin-top: 2px !important; }
}

/*# sourceMappingURL=style.css.map */